我有一个 XSLT 样式表,可将 XML 数据转换为 XSL-FO(然后使用 Apache FOP 将其呈现为 PDF)。
现在,我需要将输出本地化为几种不同的语言。例如,XSLT 生成的表的列标题需要本地化。下面是 XSLT 的简化片段,它生成了一个带有列标题"Date"、"Name"和"Something"的表头:
...
<fo:table>
<fo:table-header>
<fo:table-row>
<fo:table-cell>
<fo:block>Date</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Name</fo:block>
</fo:table-cell>
<fo:table-cell>
</fo:block>Something</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
</fo:table-body>
<xsl:apply-templates select="item"/>
</fo:table-body>
</fo:table>
...
我们已经在系统的其他部分使用TMX文件进行国际化,所以这似乎是一种很自然的方式。这是一个 TMX 文件的简化示例,其中包含两种语言的几个字符串:
<tmx version="1.4b">
<body>
<tu tuid="DATE">
<tuv xml:lang="en"><seg>Date</seg></tuv>
<tuv xml:lang="sv"><seg>Datum</seg></tuv>
</tu>
<tu tuid="NAME">
<tuv xml:lang="en"><seg>Name</seg></tuv>
<tuv xml:lang="sv"><seg>Namn</seg></tuv>
</tu>
</body>
</tmx>
所以基本上我想用对 TMX 文件中的字符串的引用(使用tuid属性)替换 XSLT 中的硬编码列标题,以便相同的 XSLT 可以产生不同语言的输出。
但我似乎找不到任何关于如何将 TMX 文件与 XSLT 一起使用的资源。一些好的教程的例子或指针将不胜感激。