大家好,我是Assen!自个打滚学习iOS也半年之多了,现在想把自己平时的一些心得分享给大家(如果有地方描述粗略,还请大家指出改善)。 iOS国际化:听到这个词我们就可以想是为了苹果应用多语言支持的。现在就开始来实现它吧。 首页创建了一个叫iOS国际化的小项目,接下来就是设置多语言了,在Project的info里添加所需要支持的语言:
第一步、在info中添加所需要的语言(我们这边添加了英语和繁体中文),这边包括了故事板和控制页代码的多语言性。
第二步、先设置应用程序名称,创建一个.strings扩展名的文件,并将文件命名为InfoPlist.strings(注意:这边文件名确定下来后就不要随意修改)然后保存。
第三步、选中strings文件,打开右边栏,找到Localization,点击进行语言选择。需要的语言进行打钩即可。
第四步、我们可以开始对strings文件进行内容设置了,注意內容是"key" = "value"; 的格式,记得加分号。对应的语言文件
>Traditional:CFBundleDisplayName ="iOS多語言"; > English:CFBundleDisplayName ="Many Language";
运行模拟器之后就会根据模拟器的语言不同,应用程序名称跟着改变。
第五步、多语言: 按照上面的步骤我们新建一个strings文件命名为Localizable(Localizable. strings是系统默认名字)。一样首先勾选我们需要的语言添加进来,然后对不同的strings文件进行内容编写。(还是进行"key" = "value"; 的格式内容,记得加分号)。
分别对Traditional和English的内容文件进行编写。
第六步、 很关键的一步就是内容要怎么多语言呈现出来呢? 我们这边就需要用到iOS本地化中NSLocalizedString的使用。
很简单的一个实现,就是比较繁琐,每个你需要呈现多语言的地方进行添加即可:用到的一个代码就是:NSLocalizedString(@"�key",nil); 第一个参数key就是为了从Localizable.strings这个文件中读取对应的键值。第二个参数comment可以设置为nil,也可以设置对key的注释。
运行之后效果图:
总结:这篇文章就是对iOS国际化的设置进行了简单描述,过程中我们要搞清楚是通过iOS本地化中NSLocalizedString的设置来完成多语言。当你的strings文件不是系统默认自带的Localizable.strings时,你自定义一个strings文件。例如:People.strings,那么我们就得要NSLocalizedStringFromTable()来读取本地化字符串。
NSLocalizedStringFromTable(@"我要飞得更高",@"People", nil)。