IOS-App国际化配置

作者: 悟2023 | 来源:发表于2016-05-09 10:20 被阅读2352次

    一、通常我们设置App的名称是在工程中的Info.plist文件中修改如下图选项:

    这样,我们运行就可以看到App的名字就改变了,但是这种方法,如果改变了系统语言,App的名字不会随着系统语言的改变而改变,下面我们就来看下如何让App国际化。

    二、如何让App的名字国际化 ?

    第一:我们需要在Info.plist中添加一对Key、Type和Value

    key:Application has localized display name

    Type:Boolean

    Value:YES

    第二:在项目中新建一个 .strings的文件,InfoPlist.strings

    添加所支持的语言

    第三:在InfoPlist.strings中的对应语系文件中添加对应Code

    如:"CFBundleDisplayName"="项目名称(对应语言)";

    然后,运行App切换系统不同语言会显示对应语言的名称。

    三:如何让整个App中也随系统语言的改变改变呢 ?

    其实和改变App名称一样,只需要在自己对应的模块添加对应的 .strings文件,然后就是在对应的语系文件中添加对应Code即可。

    如:"ZQInternationViewController_NavTitle"="国际化";

    使用方法:

    #define ZQInternationString(key)

    NSLocalizedStringFromTable(key, @"ZQInternationString", nil)

    Demo下载地址:https://github.com/GHMaker/App-internationalization

    Xcode 8 权限提示语国际化配置

    配置权限国际化和配置应用程序名字国际化一样。具体Key值如下

    NSMicrophoneUsageDescription                  麦克风权限

    NSCameraUsageDescription                         相机权限

    NSPhotoLibraryUsageDescription                  相册权限

    NSBluetoothPeripheralUsageDescription       蓝牙权限

    NSSpeechRecognitionUsageDescription      语音转文字权限

    NSCalendarsUsageDescription                      日历权限

    NSLocationWhenInUseUsageDescription      定位权限

    NSLocationAlwaysUsageDescription            定位权限

    有小伙伴私下问如果使用 Xib 怎么完成国际化配置,其实本人平时不用 Xib所以之前这里也没有提到,下面介绍下如何使用 Xib实现国际化:

    第一步不介绍了和上面类似

    第二步在上图中对应的文件中写入代码

    在上图中如何写代码 ?别着急,看完下图你应该会明白,在这里我就不做过多描述了。。。

    图一:

    图二:

    相关文章

      网友评论

      • 云逸枫林:不错 正好用到,感谢! :kissing_heart:
      • 凯文Kevin21: 还没写完吧,xib 和 storyboard不要国际化了??
        凯文Kevin21:@JSMaker 纯代码的维护起来虽然简单,但效率低啊。我现在是XIB+纯代码结合一起搞。
        悟2023:@七秒小鱼人 表示作者从来不使用那个拖拽的鬼东西。

      本文标题:IOS-App国际化配置

      本文链接:https://www.haomeiwen.com/subject/toqerttx.html