获取ios系统语言的方法:
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSArray* languagesArray = [defaults objectForKey:@"AppleLanguages"];
NSString* systemlanguage = [languagesArray objectAtIndex:0];
最后获得的systemlanguage即是当前系统的语言。( en:英文 zh-Hans:简体中文 zh-Hant:繁体中文)
languagesArray 为设置-通用-多语言里面的语言数组,顺序一致,所以index=0即是当前语言。
不过如果工程中许多地方需要适配多种语言,这个方法就不适合了。
ios中有专门的属性支持本地化:Localizable.strings
首先的工程中添加文件:Strings File (在ios-Resource里),将其名字改为Localizable.strings。
选中Localizable.strings,打开Utilities,选中show the File inspector 在Localization中添加你需要支持的语言(比如English和Chinese),这是你会发现Localizable.strings就包含了2个文件(English和Chinese)。
准备工作做完了,然后在需要设置双语的地方(比如要设置“Title”和“标题”)使用NSLocalizedString(@"Title", nil)。
NSLocalizedString 第一个参数是key, 第二个参数是注释(个人觉得没什么用,所以一般设为nil...谁知道有啥特别的用处可以告诉我下。)。
在Localizable.strings(English)中添加 “Tltle” = “Title”。
在Localizable.strings(Chinese)中添加 “Tltle” = “标题”。
其他地方类似设置~