【问题标题】: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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      CFBundleDevelopmentRegion

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

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

      【讨论】:

        猜你喜欢
        • 2013-09-21
        • 2018-07-10
        • 2011-09-25
        • 1970-01-01
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        • 2010-09-23
        • 1970-01-01
        相关资源
        最近更新 更多