iOS国际化问题

我们公司的App要进行国际化,只适配英文,原工程中有一个Localizable.strings的文件,我添加了Chinese和English后,分别在两个strings文件里都加了key和对应的适配文字,然后项目文件中要适配的文字显示地方都改成了NSLocalizableString()了,但是现在有个问题,运行后,模拟上器上切换语言,是分别能显示中英文的,但是真机上却不能切换,怎么都是显示中文,想问问大神们,这是怎么回事呢?

阅读 3k
1 个回答

真机你是在“通用”-“语言与地区”切换了中文和英文,然后重启机器打开APP的么?

你可以在Debug的时候看看:

获取本地设备的语言

 NSUserDefaults * def = [NSUserDefaults standardUserDefaults];  
 NSArray * arr = [def objectForKey:@"AppleLanguages"];  
 NSString * l = [arr objectAtIndex:0];  
 NSLog(@"%@",l);  

获取当前使用语言

 NSArray *languages = [NSLocale preferredLanguages];  
 NSString *currentLanguage = [languages objectAtIndex:0];  
 NSLog ( @"%@" , currentLanguage);  
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题