iOS如何实现国际化(本地化)

时间:2021-12-02 20:22:08
应用名称本地化: 添加 InfoPlist.strings 文件  InfoPlist.strings的inspector 打钩须要本地化的内容(不用添加CFBundleDisplayName也可以
分别本地化这些不同语言的CFBundleDisplayName-键配置应用显示长的名字 CFBundleName-配置应用短名字用来防止名称太长出现截断
CFBundleName(CFBundleDisplayName) = "name";

NSLocalizedString 第一个参数key是从Localizable.strings这个文件中读取对应的key-value值 第二个参数comment可以使nil,可以使空字符串,也可以是对key的注释 NSLocalizedString(@"key"@"comment"); 注意:使用NSLocalizedString的时候,文件名必须是Localizable.strings,如果文件名不对,就只能显示key的名称,而不是value。
如果不用Localizable.strings命名如取名为ceshi 则用localizedStringForKey方法可以从指定文件中提取本地化字符串 label.text=[[NSBundle mainBundle]localizedStringForKey:@"Yes"value:@"" table:@"ceshi"];


在Xcode6中存在模拟器调整语言对本地化没有作用的BUG,使用真机即正常 这时候可以在Xcode6中通过修改编译方案更改系统语言,即可在模拟器中调试本地化(我测试对应用名称无效) 1:编辑Scheme 2:只需调整Application Language即可调试本地化功能。