获取特定语言的本地化字符串

时间:2009-04-01 15:02:38

标签: iphone cocoa-touch localization

我正在尝试获取英语的本地化字符串(在en.lproj / Localizable.strings中),以便在找不到用户首选语言的本地化字符串时用作默认值。

我想将该默认值传递给此方法:

[[NSBundle mainBundle] localizedStringForKey:key value:defaultValue table:nil]

但我没有找到一种简单的方法来获得这个价值。 我可以从字符串文件创建一个字典,但我想知道是否有更方便的方法?

2 个答案:

答案 0 :(得分:1)

我认为Cocoa会自动使用英文字符串作为后备。

答案 1 :(得分:1)

英语是您的开发区域(语言)吗?如果是这样,默认情况下,任何尚未翻译为用户首选语言的可本地化字符串将回退到英语。这由应用程序plist中的CFBundleDevelopmentRegion键控制。来自official documentation

  

<强> CFBundleDevelopmentRegion

     

CFBundleDevelopmentRegion(String - iOS,Mac OS X)指定捆绑包的本机区域。此键包含一个字符串值,该值通常对应于编写该包的人的本地语言。如果无法为用户的首选区域或语言找到资源,则此值指定的语言将用作默认语言。

此密钥会自动添加到由Xcode的模板创建的Info.plist文件中。它的“友好”表示是本地化本地开发区域。