iOS 开发 初级:应用多语言化的方法
要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。
Step 1:为应用添加多语言版本
这个很简单,在project中info下有localizations,点击+添加所需要的版本,这时会弹出对话框显示要添加语言版本的内容。
这里面包含了storyboard,infoPlist.strings。如果要实现产品名称的多语言化,应包含infoPlist.strings。同时也可以看到我们可以直接在storyboard中实现比如按钮,图片的多语言。对于Localizable.strings,是针对文字的多语言,在下面会讲到。这个要手动添加。
Step 2:编程中的变化
要实现多语言,在编程中就不能直接用NSString 了,而是使用
NSLocalizedString(key, comment)
介绍一下基本用法:key是对应显示的NSString,comment则为注释。基本的原理就是有不同版本的Localizable.strings,相同的注释在不同语言版本中key不一样,这样显示的时候不同的语言界面显示的语言就不一样。
Step 3:获取Localizable.strings
打开Terminal终端:
然后将地址换到工程所在文件夹。基本方法是输入“cd ”然后将工程文件夹拉进其窗口。
然后输入 genstrings ./LocalizeMe/*.m 这里LocalizeMe是我这里例子的项目名称。要改成你项目的名称。 回车,然后打开工程文件夹,你就可以看到Localizable.strings文件,将其拉进Xcode项目中。
打开文件可以看到如下类似内容,Localizable.strings 包含你的项目中所有使用NSLocalizedString的内容。
这里的注释就是comment,而下面的“Three”=“Three”,左边的字符串就是Key。
Step 4:编辑Localizable.strings
如果你这时候还没有针对Localizable.strings这个文件进行多语言化也没关系。如下图:
点击这个文件,然后打开属性,可以看到右边有Localization选项,比如我要添加中文版,那就在Chinese上打钩,这样这个文件就会自动添加一个Chinese版本。
接下来就是点击这个Chinese版本进行编辑:
把每个对应的key的内容改成中文的就OK了。
现在运行程序,如果手机是中文的,那么显示的就是中文内容,如果是英文的,那就是英文内容。
Step 5:应用名称多语言化
这个很简单,在infoPlist.strings中输入
CFBundleDisplayName = "应用名";
就可以了。
以上就是最基本的实现多语言化的方法。要更进一步的话,还有数据类型多语言化,比如货币,时间等等, 这些内容有待深入研究!