【问题标题】:Xcode 6.1 - XLIFF file contains duplicated keysXcode 6.1 - XLIFF 文件包含重复的键
【发布时间】:2014-11-24 12:12:49
【问题描述】:

我没有错误地导出本地化 xliff 文件。我本地化了文件,导入回 Xcode 并运行了应用程序。一切都很好。

我再次导出了本地化 xliff 文件以进行第二轮本地化。我发现很多键是重复的,当然它们没有被翻译。为什么会这样?它是 Xcode 中的错误吗?如何解决?

可能有用的旁注:我有测试目标。

【问题讨论】:

    标签: localization xcode6 xliff


    【解决方案1】:

    前几天我注意到了这个问题,我认为这是由于翻译无法区分本地化,通常使用本地化你可以通过键入以下内容来偷懒:

    NSLocalizedString(@"Blue", nil);
    

    使用 nil 是有效的,但没有提供有关翻译上下文的信息,如果字符串更详细并且该字符串只会使用一次,那么 nil 应该没问题。在上面的示例中,尽管上下文可能具有多种含义(颜色、感觉等),但在编写本地化代码时,请确保如果多次使用它,请为代码添加注释,并且只要它与另一个本地化文本位相同翻译后的字符串应该合并

    例子

    1. 创建 2 个本地化项目

      NSLocalizedString(@"Blue", @"Colour");
      NSLocalizedString(@"Blue", @"Feeling");
      
    2. 创建 2 个本地化项目

      NSLocalizedString(@"Blue", nil);
      NSLocalizedString(@"Blue", nil);
      
    3. 创建 1 个本地化项目

      NSLocalizedString(@"Blue", @"Colour");
      NSLocalizedString(@"Blue", @"Colour");
      

    【讨论】:

      【解决方案2】:

      正如我所料,Export XLIFF 文件在测试目标中也包含本地化字符串。我现在使用的是 Xcode 6.2,但仍然无法从这个过程中排除测试目标。

      我必须使用文本编辑器(例如 TextEdit)打开文件并删除测试目标的所有本地化节点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多