Xcode 6.1.1导入本地化错误“缺少XLIFF id属性”

时间:2015-01-30 14:57:18

标签: ios xcode localization xliff

我最近使用Xcode的Export for localization工具导出了XLIFF文件。文件被翻译,然后我尝试导入它们,但我不断收到错误“缺少XLIFF id属性”。我想也许其中一个译者搞砸了文件,所以作为测试,我重新导出了XLIFF文件并尝试导入它们而不对它们进行任何更改,但仍然出现错误“缺少XLIFF id属性”。

这里有什么想法吗?

1 个答案:

答案 0 :(得分:3)

对我来说,这与这个问题有关:Xcode 6 localization. export .xliff file will cut the string when the string is like “this is sample \”text\“”

我的字符串文件如下所示:

"some english \"text\"" = "some english \"text\""

在XLIFF中导出,它看起来像这样:

<trans-unit id="">
    <target>some english \</target>
    <source>some english \</target>
    <note></note>
</trans-unit>

我的译员忠实地翻译了它:(模拟)

<trans-unit id="">
    <target>some english \</target>
    <source>xyz abcdefg \</source>
    <note></note>
</trans-unit>

尝试导入已翻译的XLIFF时,我收到了XLIFF id attribute missing错误。

为了解决这个问题,我进入了我的字符串文件并将条目更改为:

"some english 'text'" = "some english 'text'"

和xliff ...

<trans-unit id="some english 'text'">
    <target>some english 'text'</target>
    <source>xyz abcdefg</source>
    <note></note>
</trans-unit>

...然后导入,它起作用了。显然,此时该字符串的翻译是错误的,需要重做,但至少导入了其余文本。


编辑:

我一直在寻找解决方案。我发现使用引号正确导出,所以字符串:some english “text”生成xliff:

<trans-unit id="some english “text”">
    <source>some english “text”</source>
</trans-unit>

目前,这是我所知道的唯一方法。