我正在尝试获取英语的本地化字符串(在en.lproj / Localizable.strings中),以便在找不到用户首选语言的本地化字符串时用作默认值。
我想将该默认值传递给此方法:
[[NSBundle mainBundle] localizedStringForKey:key value:defaultValue table:nil]
但我没有找到一种简单的方法来获得这个价值。 我可以从字符串文件创建一个字典,但我想知道是否有更方便的方法?
答案 0 :(得分:1)
我认为Cocoa会自动使用英文字符串作为后备。
答案 1 :(得分:1)
英语是您的开发区域(语言)吗?如果是这样,默认情况下,任何尚未翻译为用户首选语言的可本地化字符串将回退到英语。这由应用程序plist中的CFBundleDevelopmentRegion
键控制。来自official documentation,
<强> CFBundleDevelopmentRegion 强>
CFBundleDevelopmentRegion(String - iOS,Mac OS X)指定捆绑包的本机区域。此键包含一个字符串值,该值通常对应于编写该包的人的本地语言。如果无法为用户的首选区域或语言找到资源,则此值指定的语言将用作默认语言。
此密钥会自动添加到由Xcode的模板创建的Info.plist文件中。它的“友好”表示是本地化本地开发区域。