Xcode - 仅适用于英语的Localizable.strings

Gui*_*ate 3 xcode localization localizable.strings nslocalizedstring ios

我正在尝试使我的localizable.strings正常工作,但我无法弄清楚如何.我的故事板也是可本地化的,并且可以工作:所有按钮和视图控制器都以两种语言正确显示.

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

我该如何解决?

提前致谢!

xap*_*ock 8

试试这个来检查你是否使用了正确的语言和区域:

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

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

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

更新:在Xcode中,您可以选择多个本地化,但唯一生效的选项NSLocalizedString()是您可以在设置 - >常规 - >国际 - >语言中在iPhone上选择的语言

这里有完整的清单:

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

  • 我可以确认,虽然在为项目添加本地化时,"pt-BR"是一个选项,但它实际上并不适用于iOS,除非您使用"pt"代替! (3认同)
  • 谢谢!我没有找到"葡萄牙语"选项,只有区域,BR(巴西)或PT(葡萄牙).删除现有位置时出现该选项.现在一切正常,位置"英语"和"葡萄牙语". (2认同)