Xcode 现在以 XLIFF 格式导出本地化文件,这很棒。有时我仍然想处理老式的字符串文件,因为它们在早期版本的 Xcode 中很常见。是否有转换工具可以从单个 XLIFF 文档中提取单独的字符串文件?所有信息都包含在类似 XML 的 XLIFF 文档中,所以应该有一个提取例程?!
谢谢你的帮助!
Xcode 现在以 XLIFF 格式导出本地化文件,这很棒。有时我仍然想处理老式的字符串文件,因为它们在早期版本的 Xcode 中很常见。是否有转换工具可以从单个 XLIFF 文档中提取单独的字符串文件?所有信息都包含在类似 XML 的 XLIFF 文档中,所以应该有一个提取例程?!
谢谢你的帮助!
由于 XLIFF 是一种 XML 格式,您可以使用 XSLT 将 XLIFF 转换为 .strings 格式:
<xsl:output method="text"/>
<xsl:template match="//trans-unit">
/* <xsl:value-of select="note"></xsl:value-of> */
"<xsl:value-of select="@id"></xsl:value-of>" = "<xsl:value-of select="source"></xsl:value-of>"
</xsl:template>
这可能需要一些额外的微调,例如对于trans-unit
没有注释的元素和多行字符串,但对于您的 XLIFF 来说可能已经足够了。
您可以使用ibtool以 .strings 格式而不是 XLIFF 导出可本地化的文本。我不相信您可以直接进行 XLIFF -> .strings 转换,但您可以让 ibtool 从您的 .xib 或 .storyboard 文件生成 .strings 文件。
翻译 XLIFF 后,您可以导入这些翻译。此时 XCode 应该在相关的 .lproj 目录中为您创建单独的 .strings 文件。