多语言在应用程序中一般有两种做法:
一、程序中提供给用户自己选择语言的机会;
二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言,这里在设置中需要设置的内容有两项:语言(Language)和区域格式(Region Format)。
第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:
1.本地化应用程序名称------InfoPlist.plist
2.本地化字符串-----Localizable.strings
3.本地化图片文件
4.本地化storyboard文件-----MainStoryboard.storyboard
1、应用程序本地化步骤:
(1)首先需要向项目中添加以上需要本地化的元素,也就是根据项目的需要向项目中添加以上文件,一般需要添加的是字符串文件和图片文件,其它两个项目中已经自动创建好了的。
- 添加字符串文件Localizable.strings(在Resource中选择Strings file)其中要注意的是,文件名称一定是Localizable
- 添加图片文件就比较简单啦--add file 就可以了
(2)接着分别对新加入的项目进行本地化
(3)添加语言,并选择需要本地化的内容
(4)这样基本的xoode操作就完成了。
2、下面需要的是对这些与本地化有关的文件进行编辑。
(1)首先是设置应用程序的名称,这个需要在InfoPlist.plist文件中添加
CFBundleDisplayName = "应用程序名称";
(2)接着是本地化字符串,在Localizable.strings文件中添加相应内容(都是一些key-value对)
如下:
- /* The number 5 */
- "LABEL_FIVE" = "Five";
- /* The number 4 */
- "LABEL_FOUR" = "Four";
- /* The number 1 */
- "LABEL_ONE" = "One";
- /* The number 3 */
- "LABEL_THREE" = "Three";
- /* The number 2 */
- "LABEL_TWO" = "Two";
(3)本地化图片文件
图片文件的本地化处理一般是在Finder中直接替换文件
(4)本地化storyboard文件
这部分的本地化就比较多样了,像这个demo是选择不同的国家国旗。
程序本地化中用到比较多的是这个方法
- NSString *NSLocalizedString(NSString *key, NSString *comment)
这部分的内容比较简单,附上一个小demo 下载地址