应用名称本地化/国际化

  • 应用名称本地化,是指同一个App的名称,在不同的语言环境下(也就是手机设备的语言设置)显示不同的名称。
  • 比如,微信在简体中文环境下App名称显示为“微信”,在英语环境下显示为“weChat”。
  • 下面就开始进行应用名称本地化。

1、配置准备

  • 1.1 创建 Info.plist

    • 选中Info.plist,按下键盘上的command + N,选择Strings File(iOS->Resource->Strings File)
      1213778-20180729213150914-911039565.png
  • 1.2 命名要求

    • 文件名字命名为InfoPlist,且必须是这个名字(因每个人电脑设置差异,此处本人电脑没有显示strings后缀名):
      1213778-20180729213202866-1297377418.png
  • 1.3 创建结果

    • 点击create后,Xcode左侧导航列表就会出现名为InfoPlist.strings的文件,如下图:
      1213778-20180729213214116-1180644701.png
  • 1.4 选择需要国际化的语言

    • 选中InfoPlist.strings,在Xcode的File inspection(Xcode右侧文件检查器)中点击Localize,目的是选择我们需要本地化的语言,如下图:
      1213778-20180729213223954-350432601.png
  • 注意:在点击Localize之前,一定要保证我们已经添加了需要本地化的语言,也就是上面配置需要国际化的语言那一步(步骤:project->Info->Localizations,然后点击"+",添加需要国际化/本地化的语言)。
  • 1.5 选择我们需要本地化的语言

    • 点击Localize后,会弹出一个对话框,展开对话框列表,发现下拉列表所展示的语言正是我们在上面配置的需要国际化的语言,选择我们需要本地化的语言,然后点击对话框的Localize按钮,如下图:
      1213778-20180729213237250-376420714.png
    • 注意:如果我们没有在 PROJECT 中配置需要国际化的语言(project->Info->Localizations,然后点击"+"),上图下拉列表中将只会出现"Base"和"English"选项,English语言是系统默认的语言,其他需要国际化的语言(例如中文简体、法语)必须通过上面的配置本地化语言那一步手动添加。
  • 1.6 配置结果

    • 然后我们发现Xcode右侧的File inspection变成了下图的样式:
      1213778-20180729213443818-248966266.png
    • 接下来,勾选French、Chinese(zh-Hans)、Chinese(zh-Hant)、Korean,如下图:
      1213778-20180729213458540-247938755.png
    • 此时,Xcode左侧的InfoPlist.stirings左侧多了一个箭头,点击箭头可以展开,如下图所示:
      1213778-20180729213512412-1907181036.png
    • 从上图可以看出,InfoPlist.strings文件下包含了English、French、Chinese(Simplified)、Chinese(Traditional)、Korean这五种语言的文件。
  • 原理:程序启动时,会根据操作系统设置的语言,自动加载InfoPlist.strings文件下对应的语言文件,然后显示应用程序的名字。

2、开始操作国际化

  • 接下来,我们分别用不同的语言给InfoPlist.strings下的文件设置对应的名字。
  • (1)在InfoPlist.strings(english)中加入如下代码:

// Localizable App Name是App在英语环境环境下显示的名称
CFBundleDisplayName = "Localizable App Name";
  • 1213778-20180729213940162-320713399.png
    备注:CFBundleDisplayName可以使用双引号,也可以不使用双引号!
  • (2)在InfoPlist.strings(French)中加入如下代码:

CFBundleDisplayName = "Le nom de la localisation de l'App";
  • 1213778-20180729213949425-863055021.png
  • (3)在InfoPlist.strings(Chinese(Simplified))中加入如下代码:

CFBundleDisplayName = "国际化App名称";
  • 1213778-20180729213956540-1412995084.png
  • (4)在InfoPlist.strings(Chinese(Traditional))中加入如下代码:

CFBundleDisplayName = "國際化App名稱";
  • 1213778-20180729214024381-1874308348.png
  • (5)在InfoPlist.strings(Korean)中加入如下代码:

  • 1213778-20180729214040207-1542779085.png
  • 1213778-20180729214033483-417331021.png

3、国际化结果

  • 3.1 修改模拟器语言环境为English。App名称如下图:

    1213778-20180729214111223-1215009551.png
  • 3.2 修改模拟器语言环境为Chinese(Simplified)。App名称如下图:

    1213778-20180729214114361-117244824.png
  • 3.3 修改模拟器语言环境为Chinese(Traditional)。App名称如下图:

    1213778-20180729214117797-733033353.png
  • 3.4 修改模拟器语言环境为Franch。App名称如下图:

    1213778-20180729214122858-1405645424.png
  • 3.5 修改模拟器语言环境为Korean。App名称如下图:

    1213778-20180729214126346-1983317173.png
  • 备注:过去本地化App名称,需要在Info.plist文件中增加一个名为“Application has localized display name”的BOOL类型的Key,并且需要将其值设置为YES(如下图)。目的是让App支持本地化App名称。但现在可以忽略这一步。
    1213778-20180729214130129-745552971.png

4、总结

  • 至此,本地化App名称已经演示完毕,其步骤就是:

    • 在Project的设置中通过点击"+"添加需要本地化的语言。
    • 然后在Xcode右侧的File inspection中点击Localize,选中需要本地化App名称的语言。
    • 最后在每个语言对应的文件中以key = value(CFBundleDisplayName = "App名称";);的形式设置App的名称。

转载于:https://www.cnblogs.com/CH520/p/9387748.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要让 uniapp 中的 `pages.json` 支持国际化,可以使用语言包来实现。具体步骤如下: 1. 创建语言包文件夹:在项目的根目录下创建一个名为 `lang` 的文件夹,用于存放语言包文件。 2. 创建语言包文件:在 `lang` 目录下创建一个名为 `zh-CN.json` 的文件,用于存放中文语言包。如果需要支持其他语言,可以创建其他的语言包文件,例如 `en-US.json`(英文)、`ja-JP.json`(日语)等。 3. 编辑语言包文件:打开 `zh-CN.json` 文件,添加以下内容: ```json { "navigationBarTitleText": { "home": "首页", "about": "关于我们" } } ``` 这里定义了两个键值对,分别对应首页和关于页面的标题。 4. 在 `pages.json` 中使用语言包:在 `pages.json` 中的 `navigationBarTitleText` 属性中,使用语言包中定义的键名,如下所示: ```json { "pages": [ { "path": "pages/home/home", "navigationBarTitleText": "{{ 'navigationBarTitleText.home' | lang }}" }, { "path": "pages/about/about", "navigationBarTitleText": "{{ 'navigationBarTitleText.about' | lang }}" } ] } ``` 这里使用了 `| lang` 过滤器来指定使用语言包中对应的文本。 5. 切换语言:为了让用户能够切换语言,可以在应用程序中增加一个语言切换的功能。在切换语言时,只需要切换语言包的文件名即可。在 uniapp 中,可以使用 `uni.setStorageSync` 方法将当前的语言包名称存储到本地存储中,然后在应用程序启动时从本地存储中读取语言包名称,加载对应的语言包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值