4

我有一个应用程序,我希望能够获取某个键的本地化字符串,无论我当前在 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: "")

我希望在 ourWord 的值中得到“黑人”,但我总是得到“黑人”

我错过了一些明显的东西吗?

4

2 回答 2

1

本地化设置基于您在手机中设置的设置而不是位置应用。如果您的手机设置为显示西班牙语的应用程序语言,那么您将看到相应的字符串。要配置应用程序语言设置以便您可以对此进行测试,您需要编辑您的方案。

在 Xcode 7.1+ 中转到产品 > 方案 > 编辑方案

然后更改应用程序语言和/或区域,以模拟用户看到的内容,该用户将 iPhone 配置为美国英语以外的地区或语言。

(将其切换为西班牙语,然后再次在设备上调试应用程序以查看更新的本地化字符串)

1

于 2015-12-23T23:12:38.233 回答
0

实际上我的代码工作正常。我犯了一个愚蠢的错误,没有将“Localizable.strings”文件设置为本地化。

现在感觉好傻

于 2015-12-30T22:48:24.470 回答