Xcode-Localizable.strings只能在英语中使用



我正在努力让我的localizable.strings正常工作,但我不知道怎么做。我的故事板也是可本地化的,并且可以工作:所有按钮和视图控制器都以两种语言正确显示。

但是我的NSLocalizedString是以编程方式加载的,只是以英文显示。我检查了Localizable.strings,它有两种语言:英语和巴西葡萄牙语(pt-BR),我没有发现任何问题。

我该怎么修?

提前感谢!

试着检查你是否使用了正确的语言和地区:

NSLog(@"Language: %@", [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0]);
NSLog(@"Region: %@", [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode]);

如果你只是在设备设置中更改区域,你必须关闭并重新启动你的应用程序!

编辑:我认为你的实际问题是,你使用"巴西葡萄牙语"作为本地化,你必须使用"葡萄牙语"。

UPDATE:在Xcode中,您可以在许多本地化之间进行选择,但在NSLocalizedString()等中生效的唯一选项是您可以在iPhone上的"设置"->"常规"->"国际"->"语言"中选择的语言

以下是目前的完整列表:

•阿拉伯语•加泰罗尼亚语•中文(简体)•中文(繁体)•克罗地亚语•捷克语•丹麦语•荷兰语•英语(美国)•英语(英国)•芬兰语•法语•德语•希腊语•希伯来语•匈牙利语•印尼语•意大利语•日语•韩语•马来语•挪威语•波兰语•葡萄牙语•葡萄牙语(葡萄牙)•罗马尼亚语•俄语•斯洛伐克语•西班牙语•瑞典语•泰语•土耳其语•乌克兰语•越南语

只更新@xapslock对Swift的应答。

NSLog("Language: " + NSBundle.mainBundle().preferredLocalizations[0]);
NSLog("Region: " + (NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String));

最新更新