获取当前系统设置语言:
NSString *curLanguage = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0];
"en" : 代表英文
"zh-Hant" :代表繁体中文
"zh-Hans" :代表简体中文
整个App的国际化分三部分,本文以中文、英文为例说明。
1.App名称的国际化:
打开InfoPlist.strings文件,若不存在则手动创建Strings File类型的文件,在File inspector中找到Localization,添加国际化语言支持,在InfoPlist.strings下会出现对应的文件,在对应的文件中添加App对应语言的App名称:
Localizable.strings(Chinese) : CFBundleDisplayname = "短信";
Localizable.strings(English) : CFBundleDIsplayname = "Message";
最后,在"工程名-Info.plist"文件中添加选项Application has localized display name, 设置属性为Boolean, 将Value设置为YES.
2.App显示内容国际化:
创建名为Localizable.strings的Strings File类型文件,在Localization中添加语言支持,打开对应语言的文件添加:
格式:"key" = "value";
Localizable.strings(English) : "strID" = "ID";
Localizable.strings(Chinese) : "strID" = "帐号";
在代码中使用NSLocalizedString(@"strID", nil)读取;
3.App图片国际化
选择需要国际化的图片,在属性Localization栏中添加语言,针对对应的语言替换图片即可。
或者,将英文版的和中文版的图片分别起不同的名称,在程序中使用NSLocalizedString(@"key", nil)读取不同的文件。