我正在开发支持西班牙语和英语的应用程序的本地化。这些选项列在tableview中。单击英语我在NSUserDefaults.So中为“AppleLanguages”键设置值“en”可以用英语显示内容。
NSUserDefaults *nsdefault=[NSUserDefaults standardUserDefaults];
[nsdefault setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguages"];
[nsdefault synchronize];
同时我也尝试从IOS设备以编程方式获取语言,该设备使用代码手动设置为General>> International>>语言。
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
语言第一次给我正确设置的值。但是如果我从西班牙语或英语列表中更改我的选项并为键“AppleLanguages”设置值。它会覆盖我的设备设置语言的值。并且从那时起我在设置>>国际>>语言下没有得到正确的语言价值。
我希望每当我在弗朗西斯等设置中手动选择语言时,我应该能够获得新设置的语言。我甚至尝试按照苹果的链接。
任何帮助都将不胜感激。
答案 0 :(得分:0)
没有正确的方法可以做到这一点。你不应该这样做。
你应该只依赖系统设置。我给你一个不这样做的理由:所有系统调用都是用系统语言编写的。如果你在英语系统中强制使用一种语言,例如西班牙语,并且你在应用程序中显示一个地图,你会看到所有街道用英语,如果你请求反向地理编码或其他系统服务,也会发生相同的情况。