我导出了本地化xliff文件,没有任何错误。我将文件本地化,导入回Xcode并运行应用程序。一切都很好。
我再次导出本地化xliff文件以进行第二轮本地化。当然,我发现许多密钥重复,并且它们没有被翻译。为什么会这样?这是Xcode中的错误吗?如何解决它?
Side Note可能会有所帮助:我有测试目标。
答案 0 :(得分:0)
前几天我注意到这个问题,我认为由于翻译无法区分本地化,通常使用本地化,你可以通过输入以下内容来解决这个问题:
NSLocalizedString(@"Blue", nil);
使用nil是有效的,但是没有提供关于翻译上下文的信息,如果字符串更详细并且该字符串仅使用一次则nil应该没问题。在上面的例子中,虽然上下文可能有多种含义(颜色,感觉等),所以在编写本地化代码时,请确保如果多次使用它,请为代码添加注释,只要它与另一个本地化的文本位相同翻译的字符串应该合并
实施例
创建2个本地化项目
NSLocalizedString(@"Blue", @"Colour");
NSLocalizedString(@"Blue", @"Feeling");
创建2个本地化项目
NSLocalizedString(@"Blue", nil);
NSLocalizedString(@"Blue", nil);
创建1个本地化项目
NSLocalizedString(@"Blue", @"Colour");
NSLocalizedString(@"Blue", @"Colour");
答案 1 :(得分:0)
正如我所料,Export XLIFF文件也包含测试目标中的本地化字符串。我现在正在使用Xcode 6.2,但仍无法从此过程中排除测试目标。
我必须使用文本编辑器(例如,TextEdit)打开文件,并删除测试目标的所有本地化节点。