【问题标题】:Remove an iOS app localization删除 iOS 应用本地化
【发布时间】:2011-10-07 20:48:42
【问题描述】:

Bombr 1.2 中,我添加了一个半途而废的法语本地化,随着时间的推移添加更多字符串来本地化我决定放弃法语本地化。在 Bombbr 1.2.1 中,我从 Xcode 项目中删除了对 fr.lproj/Localizable.strings 的 reference,但该文件仍然存在。现在 1.2.1 在应用商店中,它仍然说法语是受支持的语言。

会删除 fr.lproj 文件夹并重新提交正确显示支持的语言(这是我的预感),还是 iTunes Connect 可能不允许您放弃对语言的支持?

(为了好玩,我在高中学习了一年法语,但还不足以翻译我自己的应用。)

【问题讨论】:

  • 也许你能找到懂法语的人来帮助你支持这门语言?
  • 尝试查看定义本地化的 info.plist,我想 iTunesConnect 中的一些工作也应该完成,但在批准应用程序之前
  • 在 iTunes Connect 中添加新版本允许我添加本地化,​​但没有按钮可以直接删除。我已将 CFBundleLocalizations(又名 Localizations)添加到我的 Info.plist 中,不包括 fr 并且我已经删除了 fr.lproj 目录。上传后我们就知道了。
  • Vanya 您能否将您的评论重新发布为答案,以便我将其标记为已接受的答案?谢谢。
  • 尼克这是个好主意,但它在我的待办事项清单上却远远落后。 :( 另外我想知道 iTunes connect 如何查找支持的本地化。

标签: ios xcode cocoa-touch localization app-store-connect


【解决方案1】:

所以我提出了这个问题,但有一些特定的标准:

  • 我想删除基础开发语言(英文)
  • 我想保留本地化语言(法语)

以上答案均无效,我在 Stack Overflow 上找不到更好的答案。最终我找到了这个宝石:XCode: Remove localizations on build

我用英语开发,所以应用程序的整个基础都是英语本地化。然后我将它翻译成芬兰语进行第一次发布,但目的是只发布芬兰语内容而不是英语。

在最后的构建阶段设置一个小脚本可以很好地去除不需要的本地化:

#Remove english
rm -r "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/en.lproj"
# Remove base (iOS 9)
rm -r "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Base.lproj"

然后我遇到了一些运行时错误,因为一些 Storyboard 文件已本地化并位于 Base.lproj 文件夹中。我通过以下方式解决了这个问题:

  • 未本地化这些 Storyboard(未选中所有语言),然后“移至回收站”
  • 将故事板从垃圾箱拖回项目中。 (基本上将故事板从 Base.lproj 文件夹(脚本将删除)移动到项目文件夹。)

注意:这些故事板实际上都没有本地化(.strings 文件都是空的)。所有翻译都使用 NSLocalizedString 在代码中正确设置。

【讨论】:

    【解决方案2】:

    根据@vanya 给出的答案,从列表中选择您的项目并删除“本地化”部分下的语言。

    【讨论】:

    • Flimm,确保您在左侧菜单中选择了项目(而不是您的目标之一)。然后应该可以看到本地化列表。
    【解决方案3】:

    如果您想删除应用元数据本地化,iTunesConnect 上有一个删除菜单

    【讨论】:

    • Delete 按钮对我来说是禁用的 :-(
    • 删除按钮仅适用于非默认语言。
    【解决方案4】:

    要从 Xcode 中删除本地化(我在 Snow Leopard 上使用 4.2),请单击侧栏中的文件/文件夹“Localizable.strings”并打开文件检查器(键盘快捷键 cmd-opt-1 或查看 >实用程序 > 在菜单栏中显示文件检查器)。您将看到一个本地化窗格,其中列出了您的本地化。选择您要删除的,然后单击减号将其删除。

    【讨论】:

      【解决方案5】:

      尝试查看定义本地化的 info.plist,我想 iTunesConnect 中的一些工作也应该完成,但在批准应用程序之前

      【讨论】:

      • 做到了,感谢您指出要看的地方。 Info.plist 有一个关键的 CFBundleLocalizations Xcode 显示为 Localizations 是您列出国家代码的数组。我在 iTunes Connect 中没有做任何事情,但现在它可以在上传后正确读取二进制详细信息。
      猜你喜欢
      • 2017-11-22
      • 2014-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多