2015-12-23 73 views
2

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

我认为你正在努力锻造一种语言吗?检查是否有帮助http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language。 –

回答

0

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

现在感觉很笨拙

1

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

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

然后更改应用程序语言和/或地区来模拟用户将看到谁拥有iPhone配置在一个区域或其他语言不是英语我们。

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

1

+0

对不起,但这不是我要问的。我可以得到这个工作,但我想要的字符串是在设置选项中未设置的语言。 – macgeezer