Oha*_*gev 22 locale local setting ios
我的应用程序中有一些功能应该基于运行它的设备的语言设置.
我想获得实际语言而不是某些国家/地区设置.例如,如果语言是英语,我不在乎它是美国,英国,澳大利亚等...
我对这个NSLocale对象很熟悉,但它似乎与Region Format设置有关,而不是语言设置(见下面的屏幕截图),所以当我尝试使用它来检索语言时,[locale displayNameForKey:NSLocaleIdentifier value:[locale localeIdentifier]我得到的东西English (United States)不是English; 另外,我认为我需要的是语言数据而不是区域格式(我是对的吗?).
任何人都可以指导我如何检索语言设置?

Vla*_*mir 51
存储的用户首选语言可以从区域设置中检索为数组,当前语言标识符是该数组中的第一个对象:
NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
如果你想要更易读的语言,那么使用displayNameForKey:value:NSLocale的方法:
NSString *langID = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *lang = [[NSLocale currentLocale] displayNameForKey:NSLocaleLanguageCode value:langID];
Run Code Online (Sandbox Code Playgroud)
试试这个:
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSArray* arrayLanguages = [userDefaults objectForKey:@"AppleLanguages"];
NSString* currentLanguage = [arrayLanguages objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34407 次 |
| 最近记录: |