【问题标题】:Obtaining localized strings for a particular language获取特定语言的本地化字符串
【发布时间】:2011-01-10 04:13:10
【问题描述】:
我正在尝试获取英语语言的本地化字符串(在 en.lproj/Localizable.strings 中),以在未找到用户首选语言的本地化字符串时用作默认值。
我想把那个默认值传递给这个方法:
[[NSBundle mainBundle] localizedStringForKey:key value:defaultValue table:nil]
但我还没有找到获得该值的简单方法。
我可以从字符串文件创建字典,但我想知道是否有更方便的方法?
【问题讨论】:
标签:
iphone
cocoa-touch
localization
【解决方案2】:
英语是您的开发区域(语言)吗?如果是这样,默认情况下,任何未翻译成用户首选语言的可本地化字符串都将回退到英语。这由您的应用程序 plist 中的 CFBundleDevelopmentRegion 键控制。来自official documentation,
CFBundleDevelopmentRegion
CFBundleDevelopmentRegion (String - iOS, Mac OS X) 指定包的本地区域。此键包含一个字符串值,该值通常对应于编写包的人的母语。如果无法找到用户首选区域或语言的资源,则使用此值指定的语言作为默认语言。
此键会自动添加到 Xcode 模板创建的 Info.plist 文件中。它的“友好”表示是本地化原生开发区域。