iOS 纯代码/xib中的国际化(多语言)实现与注意
2017-11-08 本文已影响1869人
真的真心瓜子
简介
多语言的文章在网上并不少,下面要讲的是xib、纯代码实现国际化的一些步骤和注意事项。
一、纯代码中的国际化
1、创建.strings文件2、选中Strings File
3、点击工程中的info---Localization---+
4、点击加号后选中想要添加的语言,其中Chinese(Simplified)是中文简体
5、左侧的String文件会随着选中某种语言增加相应的语言文件
6、选中左侧的文件,打开右边的编辑栏,点击Localization
7、勾上你需要的语言,base是默认英文和中文 8、到这里基本就配置完成了,要往文件写东西了,文件是以key = value的形式书写的 9、在代码中替换文字
10、运动代码,发现导航栏是显示了key:home而不是value:静林是真的瓜子。what?
小坑注意:
刚才创建String文件的时候,我们的命名是File,这里需要注意,最好用Localizable命名文件,如果你喜欢不走寻常路可以采纳下面第二种解决方法。
解决:
方法2)、将代码改为下图,File为文件名称,其他地方不变 11、再次运行代码,这就完成了
温馨提示:(保持文件独立性与多人开发)
12、同理,在English文件中写入英文 13、运行代码,成功~该效果必须要在手机设置的语言为English下才可以实现第二种解决方法用于多人开发的时候是非常有用的。第一种解决方法是系统默认的命名方式,也就是系统将根据语言加载相应的文件得到其对应的字符串文件,这个字符串可以通过系统将NSLocalizedString中的宏生成名为“Localizable.strings”的文件,第二种方法是用NSLocalizedStringFromTable这个宏来读取本地化字符串,传入文件名让系统识别,防止多人开发产生的文件冲突。
二、xib中的国际化
xib的国际化实现相对纯代码来说就麻烦一点了,它需要把一个一个xib生成Strings文件,并且去到Strings文件修改文字。
1、跟纯代码一样,要在工程的info---Localization---+添加需要的语言,
3、勾选需要的语言 4、文件的底部生成Strings文件
5、点击English文件,写入,图中只修改了teamInfo
6、在English的环境下,运行代码,其他文字不变,修改的teamInfo如图变成了所需要的
写到这里就结束了,如果之前已经写好的代码没有实现国际化呢,那现在就是苦力而非技术活了。写的不周全的地方,谢谢指出~