XMLデータをXSL-FOに変換するXSLTスタイルシートがあります(これはApache FOPを使用してPDFとしてレンダリングされます)。外部XML文書を使用してXSLT出力をローカライズ
今、出力をいくつかの異なる言語にローカライズする必要があります。たとえば、XSLTによって生成されたテーブルの列ヘッダーをローカライズする必要があります。ここでは、列のキャプションとテーブルヘッダーを生成するXSLTの単純化された抜粋です「日付」、「名前」と「何か」:
...
<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ファイル内の文字列を参照してXSLTでハードコーディングされた列ヘッダを交換したいと思います
<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>
:ここでは、2つの言語での文字列のカップルとTMXファイルの簡単な例を示します(属性、属性を使用して)、同じXSLTが異なる言語で出力を生成できるようになりました。
しかし、私はXSLTでTMXファイルを使用する方法に関するリソースを見つけることができないようです。いくつかの良いチュートリアルへの例や指針は非常に高く評価されます。
翻訳のためのXML形式のように聞こえる。どのように見えるかを例に挙げてもらえますか?私はあなたが行くときに必要なデータを取得するドキュメント関数を使用して外部ファイルとしてアクセスすることをお勧めします。 – grtjn
列見出しを生成するXSLTのスニペットを与えることはできますか? TMXファイルにデータを含めるために現在行っていることをどのように拡張するかを示す方が簡単かもしれません。また、可能であれば、関連するデータを含むTMXファイルのフラグメントが有用である。それは多くの人がよく知っている標準ではありません。 – Flynn1179
Flynn1179&grtjn、返信ありがとうございます。詳細については、編集済みの記事を参照してください。 – Rolf