我有一个应用程序,我希望能够获得某个键的本地化字符串,无论我目前在iPhone上的本地化是什么。
我在en.lproj本地化字符串文件中有以下内容
“黑色”=“黑色”;
在es.lproj本地化字符串文件中我有
“黑色”=“黑人”;
所以我想做的就是当我的手机在美国并相应设置时获取西班牙语字符串
我正在使用以下代码:
let bpath:String = NSBundle.mainBundle().pathForResource("es", ofType: "lproj")! as String
let bundle = NSBundle(path: bpath as String)
let thisWord="Black"
let ourWord=NSLocalizedString(thisWord, bundle: bundle!, comment: "")
我期待在我们的价值中得到“黑人”,但我总是得到“黑”
我错过了一些明显的东西吗?
答案 0 :(得分:1)
根据您在手机中设置的设置而不是位置,应用本地化设置。如果您的手机设置为显示西班牙语的应用程序语言,那么您将看到相应的字符串。要配置应用程序语言设置以便测试,您需要编辑Scheme。
在Xcode 7.1+转到产品>方案>编辑方案
然后更改应用程序语言和/或区域,以模拟用户将看到谁为美国以外的地区或语言配置了iPhone。
(将其切换为西班牙语,然后再次在设备上调试应用以查看更新的本地化字符串)。
答案 1 :(得分:0)
其实我的代码工作正常。我犯了一个愚蠢的错误,就是不设置" Localizable.strings"文件已本地化。
现在感到非常愚蠢