- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我现在如何获得实际的系统语言?似乎他们在最后一个破折号之后加上了区域后缀。所以之前 cs
现在是 cs-DE
如果语言是捷克语并且区域设置是德语。但有些语言没有后缀,例如 GB 语言是 en-GB
但区域设置是德语。
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* language = [defs objectForKey:@"AppleLanguages"];
NSString* preferredLang = [language objectAtIndex:0];
NSLog(@"localeIdentifier: %@", preferredLang);
最佳答案
使用 NSLocale
类中的 componentsFromLocaleIdentifier
方法
你可以这样做:
NSString* localeID = [NSLocale currentLocale].localeIdentifier;
NSDictionary* components = [NSLocale componentsFromLocaleIdentifier:localeID];
NSString* languageID = components[NSLocaleLanguageCode];
编辑
如果应用当前翻译的语言不是设备的语言,以这种方式获取语言会产生一些问题。的确,components[NSLocaleLanguageCode]
将返回设备的语言。
要获取应用程序的当前语言,您应该使用 [[NSBundle mainBundle] preferredLocalizations].firstObject
。
要获取设备的区域,您仍然可以使用 components[NSLocaleCountryCode]
关于iOS9 AppleLanguages 与旧版 iOS 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32653220/
在 iOS7 中 [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] 给了我所有语言的数组。从 iOS8 开始
我计划在我的应用程序中执行此操作,即更改 userdefaults 中 appleLanguage 键的值。 How to force NSLocalizedString to use a speci
我正在尝试实现一个可以更改应用程序语言的功能。 我试着这样设置: let defaults = NSUserDefaults.standardUserDefaults() defaults.setOb
如果我覆盖/更改 NSUserDefaults 中的 AppleLanguages,当系统语言更改时,iOS 不会再更新列表。如果我保持列表不变,数组中的第一个对象将始终是系统语言,但是,如果我在索引
我现在如何获得实际的系统语言?似乎他们在最后一个破折号之后加上了区域后缀。所以之前 cs 现在是 cs-DE 如果语言是捷克语并且区域设置是德语。但有些语言没有后缀,例如 GB 语言是 en-GB 但
我的应用程序已翻译成多种语言,但现在我想将语言强制转换为荷兰语。我确实通过将 standardUserDefaults 中的 AppleLanguages 键设置为荷兰语来强制将语言设置为荷兰语。这适
我最近读了一篇关于本地化启动图像的文章,并且我让它发挥了作用。下一步是在应用程序中实现一个更改语言的选项。 一些帖子描述了以下方法: [[NSUserDefaults standardUser
我尝试通过编写以下代码将本地化设置为阿拉伯语: int main(int argc, char * argv[]) { @autoreleasepool { [[NSUserDefault
我需要在我的应用程序中设置默认语言。我在我的 main.m 中使用了设置 AppleLanguages 技术。但它在 iOS 7 下不起作用,但在 iOS 6 下起作用。对此有任何解决方法吗? [[N
[NSLocale PreferredLanguages] 和 [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages
我是一名优秀的程序员,十分优秀!