Xcode导出为本地化xliff格式

时间:2016-11-17 20:02:39

标签: ios xcode localization xliff

当我点击Editor > Export for localization获取我的.xliff文件时,有一些格式错误,我无法弄清楚如何修复。

Xcode正在将\n转换为文字新行。

以下是Xcode生成的.xliff文件的示例,请注意<trans-unit>代码与<source>代码之间的差异。

enter image description here

有谁知道如何解决此问题以获得正确的输出?我需要将<source>标记作为包含\n个字符的一个字符串。我可以手动修复每个问题,但我有超过1000个字符串遇到此问题,我无法为每种语言修复1000个字符串。

如果您需要有关此问题的更多详细信息,请添加评论。

1 个答案:

答案 0 :(得分:1)

如果您的XLIFF文件看起来像许多XLIFF文件,我看到几乎所有行都以标记结尾,您可以搜索正则表达式([^>])\n并将其替换为\1\\n。或([^>])\r\n,如果您的文件由于某种原因包含Windows换行符。

这是一种可以为您完成工作的解决方法。最好的解决方案是摆脱硬编码的换行符。作为翻译,我无法猜测换行符应该在目标语言中的位置:它是在固定数量的字符之后,还是取决于目标语言文本的布局宽度,即取决于使用的字体?从英语到其他语言的翻译通常比原始字符串长一些,因此翻译者可能必须插入比英语字符串包含的更多的换行符。如果布局列中的空间有限,您应该创建一个方法来确定换行的位置,而不是将这个负担放到翻译器上:当您必须修复每种目标语言的布局时,它会回复给您。 p>