iOS 语言设置

本文介绍了在将 mPaaS 接入 iOS 客户端过程中设置语言的实现方法。

在接入 iOS 过程中,您可对 iOS 应用进行语言设置。

默认跟随系统语言

  1. 您可在工程中添加 Languages.bundle.zip 来设置当前 App 支持的语言。

  2. 在应用启动完成时,初始化多语言框架:

    //#import <mPaas/APLanguage.h>
    [APLanguageSetting sharedSetting];

获取 App 当前语言

您可通过以下方式获取 App 当前语言:

NSString *currentLanguage = [APLanguageSetting currentLanguage].name;

修改 App 当前语言

在工程的 Languages.bundle 中,您可查看当前 App 支持的语言,您可通过以下方式修改 App 当前语言:

[APLanguageSetting setCurrentLanguageWithName:@"en"];

文案支持多语言

  1. 添加多语言 bundle 文件。

    1. 根据当前 App 支持的语言,添加对应的 strings 文件。

    2. 设置多语言文件的路径:

      [[APLanguageBundleLoader sharedLoader] setCustomLanguagesBundlePath:@""];
  2. 实现 strings 文件。

    strings 文件的实现原则如下:

    • strings 文件中每一个文案格式如下,等号左侧标识文案的 key,等号右侧字符串标识文案在此语言下的展示内容:

      “BeeCityPicker : 城市选择”=“城市选择”

    • 对于同一文案,在所有 strings 文件中的 key 必须一致。key 的定义,建议以 bundle 名与文案中文内容拼接而成,如 “BeeCityPicker:城市选择”

  3. 设置文案。

    对需要支持多语言的文案,请勿写死,可使用 __Text 宏进行复制,如下所示:

     self.navigationItem.title = __TEXT(@"BeeCityPicker",@"BeeCityPicker:城市选择", @"城市选择");
    • @"BeeCityPicker":为文本在字符串表所在 bundle 名,通常为模块资源 bundle 名称。

    • @"BeeCityPicker : 城市选择":为文本在字符串表中的 key。

    • @"城市选择":为当在对应字符串表中找不到 key 对应的文本内容时,默认返回的内容。