【问题标题】:iPhone: localization / internationalization default strings fileiPhone:本地化/国际化默认字符串文件
【发布时间】:2010-06-22 14:55:08
【问题描述】:

我目前支持两种语言:英语和西班牙语。因此,每种语言都有两个 main.strings 文件。一个在en.lproj,一个在es.lproj

我现在想要的是,如果使用除 enes 以外的区域设置的用户到达应用程序,例如,英语 main.strings 是默认文件。 defr

我知道我可以使用defaultString 参数为代码中的每个字符串手动设置:

NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment);

但我宁愿不再在那里输入它(并且必须在两个地方更改它),而是将 en main.strings 文件作为任何其他“不受支持”区域设置的默认值。

【问题讨论】:

    标签: iphone objective-c cocoa-touch localization internationalization


    【解决方案1】:

    我现在想要的是英语 main.strings 是默认文件,如果 区域设置不是 en 或 es 的用户 到达应用程序,例如德或 f.

    你试过了吗?我几乎可以肯定应用程序会在你不做任何事情的情况下退回到英语语言环境。除非您的应用程序明确支持当前语言环境,否则即使系统对话框也会以英文显示。

    【讨论】:

    • 啊。你完全正确。愚蠢的我没有彻底测试。我没有使用完全不同的语言,而是使用“es”进行测试,为此我已经创建了一个空字符串文件。
    • 回退取决于 [NSLocale preferredLanguages] 的顺序,而不是默认的英语。例如,如果你从中文切换到德文,第一个是德文,第二个是中文,所以如果应用程序支持中文,那么它会显示中文而不是英文
    【解决方案2】:

    如果你想避免这种冗长的语法,我在这里发布了另一个解决方案

    Localizing strings in iOS: default (fallback) language?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-09
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      相关资源
      最近更新 更多