1

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

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

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

4

2 回答 2

0

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

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

于 2015-03-31T01:32:30.243 回答
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");
    
于 2015-03-18T11:22:50.223 回答