【问题标题】:iPhone App Localization for Store适用于商店的 iPhone 应用本地化
【发布时间】:2011-05-23 19:11:44
【问题描述】:

我们已将我们的应用本地化为多种语言,并且一切都在我们的 Ad Hoc 构建中正确显示。

我们构建并发布了今天发布的 App Store 版本,但我们的国际用户都看不到本地化字符串。

更多信息:

  1. 在 iTunes Connect 中,在二进制详细信息下,语言显示为: 本地化:(“de”、“en”、“ja”、“pt”)
  2. Settings.app 字符串显示为已翻译,但应用程序本身内的所有字符串均未以英语以外的任何形式显示
  3. 我们已尝试在多部手机上从商店中删除并重新下载该应用,但无济于事
  4. 我们在 iTunes Connect 本身中没有任何本地化(在描述等方面)。
  5. 我们尝试使用的其他应用语言正确

我们想知道 #4 是否是问题所在——我们是否需要在 iTunes Connect 中创建本地化,以便我们的 App Store 应用也显示为正确本地化?

【问题讨论】:

    标签: iphone localization app-store-connect


    【解决方案1】:

    这是 WrightsCS 和 quixoto 的两种答案的混合体。

    在运行 GENSTRINGS 并生成您的 localizable.strings 之前,确保每个字符串都以 NSLocalizedString 为前缀。

    翻译完 localizable.strings 后,将它们分别放入相应的资源文件夹(en.lproj、fr.lproj、de.lproj 等)。您还必须确保 en.lproj 文件夹之外没有任何英文资源,因为这些资源可能在运行时优先。

    如果有人感兴趣,我这里有一个本地化知识库: http://kb.applingua.com

    【讨论】:

      【解决方案2】:

      只要 iPhone 本身使用正确的语言(通过 Settings.app),本地化就应该是正确的。 iTunes Connect 二进制详细信息会根据应用构建中包含的本地化文件显示应用支持的语言。

      就 iTunes Connect 中的本地化而言,这适用于 App Store,如果您想以不同的语言展示您的应用程序(在 App Store 中,而不是应用程序本身)。

      只要您的应用字符串包括(例如):

      cell.textLabel.text = NSLocalizedString("MyProducts","A Description of My Products");
      

      您的本地化文件包括:

      "MyProducts" = "My Products";
      

      您的项目包括:

      Localizable.strings
          -en.lproj
          -es.lproj
          -fr.lproj
      

      【讨论】:

      • 这就是我们的想法;我们有 ja.lproj 和 de.lproj,里面有 Localizable.strings,这些条目显示在 XCode 项目的 Localizable 部分下。我们应该在 Info.plist 或任何其他内容中指定任何其他内容,不是吗?或者由于这是一个应用程序更新,而我们之前的版本没有包含任何本地化,可能会出现问题?谢谢。
      • 更新不应该有任何问题,因为这就是更新应该包含的内容(理论上)。您不需要在 info.plist 中包含任何内容。另外,我看到你说“Localizable.strings inside”。如果您没有名为 Localizable.strings 的文件,那么在该文件中,有 en.lproj 文件。这可能是你的问题。
      【解决方案3】:

      这听起来像是您的 Distribution 构建存在某种构建问题。我的猜测是,您的项目根目录中有一个剩余的 Localizable.strings 文件(来自预本地化),可能仅在您的 Distribution 构建中。如果你有这个,NSLocalizedString 会更喜欢它而不是任何实际本地化的语言(这有点违反直觉)。

      您可以通过破解您提交的 .app 包并查看该文件的第一级层次结构来进行检查。

      由于意外的非干净构建,我在预本地化之前已经看到了这一点。

      【讨论】:

      • 这看起来完全是这样,在 Ad Hoc 和 App Store 之间的 CodeResources 上运行差异显示了一个差异:项目根目录中的流浪 Localizable.strings
      • :) 对不起,伙计。我只知道,因为我完全被这个烧伤了。现在你知道了,反正下次吧!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多