【问题标题】:How to add localized .strings files back to Xcode?如何将本地化的 .strings 文件添加回 Xcode?
【发布时间】:2011-11-23 17:18:28
【问题描述】:

我有一个已本地化为多种语言的 .strings 文件。我想将它添加到我的 Xcode 项目中。如何让 Xcode 正确引用文件?我试过了

  • 将 .strings 文件的英文版本(在 English.lproj 中找到)拖到 Xcode 并希望它会自动获取该文件的其他本地化版本 - 它不会。
  • 拖动 .strings 文件的所有 5 个本地化版本(可在 English.lproj、es.lproj 等中找到)假设 Xcode 将使用各种本地化版本创建单个文件引用——它会崩溃。
  • 将每个 .lproj 文件夹拖到 Xcode 中,希望 Xcode 会发现每个文件夹中的文件都是同一个文件,但已本地化——不
  • 将英文版的本地化 .strings 文件拖到 Xcode,然后添加一个已经存在的本地化 - Xcode 警告它将覆盖该文件,但没有提供使用现有文件的选项。

更新:向 Apple 提交了错误报告:#10181468。

【问题讨论】:

    标签: iphone xcode cocoa-touch localization


    【解决方案1】:

    从 Xcode 4.6 开始,最简单的方法是将本地化文件(.strings 文件,而不是它所在的文件夹)从 Finder 拖到 Xcode 项目树中。准确地拖到 .strings 组的顶部,而不是拖到组的底部或内部,因为后者会使 Xcode 崩溃。

    【讨论】:

    • 哇,这很有效,而且非常简单,但我不明白为什么。我在那个组中只有两个文件,所以这是一个非常小的改动。谢谢!
    • 为此 +1。使用它来解决在向我的项目中添加文件时 Xcode 崩溃的问题,谢谢!
    • 只想补充一点,如果 .strings 组在它下面的同一组中没有另一个对象,Xcode 仍然会崩溃。我的解决方法是在 .strings 组下添加一个临时组。
    【解决方案2】:

    添加原始文件(仅文件,而不是 .lproj 文件夹)然后使其可本地化,添加所需的所有语言,xcode 将创建 .lproj 文件夹并为每种语言复制原始文件。

    在您可以覆盖已翻译文件(如果文件名称或内容相同的文件)复制的每个文件之后。

    添加时不要忘记将原始文件的格式设置为UTF-16。

    【讨论】:

    • 这就是我最终要做的。我无法想象这是本地化文件应该返回 Xcode 的方式。向 Apple 提交 Radar。
    • 这在本地化文件受版本控制时不起作用。 XCode 尝试再次添加它们并失败:-(
    猜你喜欢
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2013-11-03
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多