本文主要是介绍关于iOS9 更新后,微博,微信 语言变成英语的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
iOS9 真是坑啊,好不容易熬到17号凌晨,等到了iOS9的推送更新,经过漫长的下载,更新完成后发现 微博变英文版了,并且微信,uber等许多应用都出现了问题。并且正好赶上自己的项目也在做本地化,所以仔细查找了下原因。(如果有补充可以直接回复,谢谢)
具体问题出在大家都使用了一个获取当前系统语言的判断
// 当前所在地信息NSString *identifier = [[NSLocalecurrentLocale] localeIdentifier];NSString *displayName = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifiervalue:identifier];NSLog(@"%@", displayName);// 当前所在地的使用语言NSLocale *currentLocale = [NSLocale currentLocale];NSLog(@"Language Code is %@", [currentLocale objectForKey:NSLocaleLanguageCode]);// 系统语言NSArray *arLanguages = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"AppleLanguages"];NSString *strLang = [arLanguages objectAtIndex:0];NSLog(@"LANG:%@",strLang);
输出语言 后发现:
在iOS7 、iOS8系统下输出:
{
en 英语
zh-Hans 简体中文
}
而在iOS7 、iOS8系统下输出:
{
en-zh 英语
zh-Hans-US 简体中文
}
而如果你在程序中使用了类似的代码,导致系统语言是汉语但是判断不匹配,从而出现了 英文版的问题。
if ([currentLanguage isEqualToString:@"zh-Hans"]) { // 使用汉语 。。。。}else{//使用英语
}
苹果这次 真坑了不少人啊! ….
这篇关于关于iOS9 更新后,微博,微信 语言变成英语的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!