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