バックエンド データ (XML 形式) が XSLT を使用して変換され、ページに出力される XHTML を生成する ASP.NET Web アプリがあります。
簡略化されたコード:
XmlDocument xmlDoc = MyRepository.RetrieveXmlData(keyValue);
XslCompiledTransform xsl = new XslCompiledTransform();
xsl.Load(pathToXsl, XsltSettings.TrustedXslt, null);
StringWriter stringWriter = new StringWriter();
xsl.Transform(xmlDoc, null, stringWriter);
myLiteral.Text = stringWriter.ToString();
現在、私の XSL ファイルには、XHTML マークアップ要素と、現在英語のテキスト ラベルが含まれています。例えば:
<p>Title:<br />
<xsl:value-of select="title"/>
</p>
<p>Description:<br />
<xsl:value-of select="desc"/>
</p>
テキスト ラベル (上記のタイトルと説明) をローカライズしてほしい。.NET リソース ファイル (.resx) を使用することを考えていましたが、変換時に resx 文字列リソースが XSLT にどのように取り込まれるのかわかりません。
XSLT ファイルのロケール固有のコピーを作成しないことを希望します。これは、多くの変換ロジックが重複することを意味するためです。
(注: XML データは既にローカライズされているため、変更する必要はありません)