iOS系统下,可以通过如下方法获取当前语言:
方法一
// get the current language and country config
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
// get the current language code.(such as English is "en", Chinese is "zh" and so on)
NSDictionary* temp = [NSLocale componentsFromLocaleIdentifier:currentLanguage];
NSString * languageCode = [temp objectForKey:NSLocaleLanguageCode];
方法二
NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"currentlanguage = %@",currentLanguage);
方法一、二中的,languageCode和currentLanguage是同一样东西,返回的代码是遵循RFC-4646的字符串,可以通过containsString方法来比较。
列一下常用的language tag:
1.中文(zh),其中zh-Hant为繁体,zh-Hans为简体
2.英文(en)
3.德文(de)
4.法文(fr)
5.日文(ja)
参考连接:
RFC-4646:RFC 4646 - Tags for Identifying Languages
获取用户语言:http://www.tuicool.com/articles/m2uEfyN
苹果官方文档:NSLocale Class Reference