Xcode 6.1 - XLIFF文件包含重复的密钥

时间:2014-11-24 12:12:49

标签: localization xcode6 xliff

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

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

Side Note可能会有所帮助:我有测试目标。

2 个答案:

答案 0 :(得分:0)

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

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");
    

答案 1 :(得分:0)

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

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