技术的乐趣在于分享,欢迎多多交流,多多沟通。
全部博文(877)
分类: iOS平台
2015-10-10 14:17:27
一. 先说说以前怎么做国际化
1. 项目名称国际化
1.1 在工程项目种,单击InfoPlist.strings,查看右边的属性,在Localization栏添加语言。
1.2 添加完成后打开对应语言文件,分别添加
CFBundleDisplayName="China";
CFBundleDisplayName="中国";
运行,如果此时你的模拟器是中文,你会看到你的程序名称变成了 中国:
来到设置里把语言设置成 English。此时程序名称变成了:China
2、内容国际化
2.1新建Localization.strings文件
2.2 添加语言和1.1环节一样。
2.3 添加语言内容
添加"Key"="value"; 然后使用时用NSLocalizedString(@"key", @""); 读取内容.
二. 坑姐的ios6国际化
我想大家和我的问题一样,当使用国际化时,之前版本Xcode上新建Localizable.strings后,添加语言的“+”号不见了,在网上查了一下,原来Apple把这个“+”号换地方了。
首先新建一个名为Localizable.strings的资源文件
完成后选中该文件,在属性选择器中可以看到多了个按钮:
点击这个按钮后,出现国际化语言选择框,但只有一个English的选项:
点击Localize按钮,这时只支持英语。Xcode4.5之前的版本会在属性选择器里面有个“+”号用来添加其他语言支持,现在没了,其实是在别的地方。点击工程根目录,并选择PROJECT,然后选择INFO选项卡,底部我们就看到了Localizations:
点击“+”号选择一门语言添加上,我这里选的是Chinese,ok,完成了,再看Localizable.strings文件,就多了两个子文件,分别支持英文和汉语:
在属性选择器中也看到了English和Chinese:
这样,就完成了在Xcode4.5上国际化的设置和操作,基本使用和前面一样。
获取系统当前语言
NSString *identifier = [[NSLocale currentLocale] localeIdentifier]; // 比如Loacl是en_Zh NSString *displayName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:identifier]; // displayName = “中国”
附上官网地址:http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOSCh/chapters/InternationalizeYourApp/InternationalizeYourApp/InternationalizeYourApp.html