当我单击Editor > Export for localization以获得.xliff文件时,出现了一些格式错误,我无法弄清楚如何解决。

Xcode正在将\n转换为原义的新行。

这是Xcode生成的.xliff文件的示例,请注意<trans-unit>标签和<source>标签之间的区别。

ios - Xcode导出用于本地化xliff格式-LMLPHP

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

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

最佳答案

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

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

关于ios - Xcode导出用于本地化xliff格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40664029/

10-12 14:42