App语言的国际化之跟随系统语言(一)

本将要国际化的内容是:
  • App国际化的配置
  • App名称国际化
  • 代码中字符串国际化

国际化语言的配置

在项目中打开如下图所示的功能:


App语言的国际化之跟随系统语言(一)_第1张图片
屏幕快照 2017-02-12 上午10.00.48.png

其中英语文默认语言,点击Locatlizations下的+直接选中要添加的语言类型。选中语言后弹出如下图型:


App语言的国际化之跟随系统语言(一)_第2张图片
屏幕快照 2017-02-12 上午10.04.43.png

同理,添加简体中文、繁体中文、韩语,最终结果如下图:
App语言的国际化之跟随系统语言(一)_第3张图片
屏幕快照 2017-02-12 上午10.07.25.png

(一)应用名称国际化

应用名称国际化,是指同一个App的名称,在不同的语言环境下)显示不同的名称,操作如下图:


App语言的国际化之跟随系统语言(一)_第4张图片
屏幕快照 2017-02-12 上午10.15.01.png

文件名字命名为InfoPlist,且必须是这个名字(因每个人电脑设置差异,此处本人电脑没有显示strings后缀名):

App语言的国际化之跟随系统语言(一)_第5张图片
屏幕快照 2017-02-12 上午10.17.14.png

选中InfoPlist.strings,在Xcode的File inspection(Xcode右侧文件检查器)中点击Localize,目的是选择我们需要本地化的语言


App语言的国际化之跟随系统语言(一)_第6张图片
屏幕快照 2017-02-12 上午10.19.17.png

在下图中勾选你要国际化的语言:


App语言的国际化之跟随系统语言(一)_第7张图片
屏幕快照 2017-02-12 上午10.20.50.png

此时,Xcode左侧的InfoPlist.stirings左侧多了一个箭头,点击箭头可以展开,如下图所示:
App语言的国际化之跟随系统语言(一)_第8张图片
屏幕快照 2017-02-12 上午10.22.25.png

原理:程序启动时,会根据操作系统设置的语言,自动加载InfoPlist.strings文件下对应的语言文件,然后显示应用程序的名字。
App语言的国际化之跟随系统语言(一)_第9张图片
屏幕快照 2017-02-12 上午10.25.00.png

备注:CFBundleDisplayName可以使用双引号,也可以不使用双引号!

接下来在不同语言的InfoPlist.strings中给CFBundleDisplayName赋值对应的语言,如下图:
App语言的国际化之跟随系统语言(一)_第10张图片
屏幕快照 2017-02-12 上午11.22.28.png
App语言的国际化之跟随系统语言(一)_第11张图片
屏幕快照 2017-02-12 上午11.28.57.png
App语言的国际化之跟随系统语言(一)_第12张图片
屏幕快照 2017-02-12 上午11.31.16.png
App语言的国际化之跟随系统语言(一)_第13张图片
屏幕快照 2017-02-12 上午11.48.57.png
App语言的国际化之跟随系统语言(一)_第14张图片
屏幕快照 2017-02-12 上午11.50.56.png

(二)代码中字符串的国际化

所谓字符串本地化,就是指App内的字符串在不同的语言环境下显示不同的内容。具体操作步骤如下:

App语言的国际化之跟随系统语言(一)_第15张图片
屏幕快照 2017-02-12 上午11.58.26.png
App语言的国际化之跟随系统语言(一)_第16张图片
屏幕快照 2017-02-12 上午11.59.05.png

如下图添加各种语言:

App语言的国际化之跟随系统语言(一)_第17张图片
屏幕快照 2017-02-12 下午12.01.16.png

在左侧的Localizable.strings的效果如下:

App语言的国际化之跟随系统语言(一)_第18张图片
屏幕快照 2017-02-12 下午12.02.49.png

然后我们只需要在Localizable.strings下对应的文件中,分别以Key-Value的形式,为代码中每一个需要本地化的字符串赋值。只展示中文和英文:

App语言的国际化之跟随系统语言(一)_第19张图片
屏幕快照 2017-02-12 下午12.10.41.png
App语言的国际化之跟随系统语言(一)_第20张图片
屏幕快照 2017-02-12 下午12.13.53.png

你可能感兴趣的:(App语言的国际化之跟随系统语言(一))