Swift - 关于项目国际化、本土化的一些问题

前几天有个朋友的项目需要做国际化,正好我之前的项目都没做过,心血来潮就试了一下,从中发现一些比较坑爹的地方,在这里记录一下,避免忘记。

1.  项目名需要国际化

既然要做国际化,那么项目名国际化是个不可避免的需求。步骤如下: 

1)在info.plist文件中,添加Bundle display name 键值


2)创建strings文件,这里说明一下,项目名国际化,strings文件名,必须是infoPlist.strings,否则不生效



这里需要说明一下,刚添加的时候, Resources下,显示的是 2 Files Localized,不要因为这个纠结


3)分别在各个语言的strings中,添加键值



至此,运行程序,当系统切换到不同语言的时候,项目名会做出相应改变


2. 本土化/本地化/项目内部国际化

项目内部国际化,需要重新创建一个stirngs文件,问什么呢? 如果依旧在infoPlist.strings中添加键值对,那么系统只会识别key,而不显示value。系统能够识别的内部语言国际化的的strings文件名,必须是Localizable.strings。不得不说,这也是个坑爹的地方。创建步骤依旧如上,同样在各个语言的strings文件中,添加键值对就行了。