gpt4 book ai didi

c# - xslt本地化

转载 作者:数据小太阳 更新时间:2023-10-29 01:43:36 24 4
gpt4 key购买 nike

我有以下 xml 文件:-

<?xml version="1.0" encoding="UTF-8"?> 
<directory>
<employee>
<name>Joe Smith</name>
<phone>4-0192</phone>
</employee>
<employee>
<name>Sally Jones</name>
<phone>4-2831</phone>
</employee>
</directory>

和下面的 xslt : -

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="directory">
<div>List of Employee<xsl:value-of select="@directory"/>
</div>
<br/>
<table>
<tr>
<td>Employee Name</td>
<td>Contact Details</td>
</tr>
<xsl:apply-templates select="employee"></xsl:apply-templates>
</table>

</xsl:template>

<xsl:template match="employee">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<td>
<xsl:value-of select="@phone"/>
</td>
</tr>
</xsl:template>

</xsl:stylesheet>

我想本地化 xslt 文本:员工列表、员工姓名和联系方式

如何本地化 xslt 文本?

最佳答案

我可以看到三种方法来做到这一点,哪一种是最好的(或者如果其中任何一种是替代方法)取决于您何时以及如何需要最终的 xml:

以编程方式构建 xsl

使用例如 XmlDocument 构建 xsl - 然后您可以使用常规字符串资源来填充标签,并可能使用您的应用程序的文化设置。

将翻译嵌入到 xsl 中

使用 <xsl:param> 告诉转换使用什么语言,然后放一个 <xsl:choose>在每个字符串:

<xsl:choose>
<xsl:when test="$language='en'">Contact Details</xsl:when>
<xsl:when test="$language='sv'">Kontaktuppgifter</xsl:when>
<xsl:otherwise>Unknown language <xsl:value-of select="$language"/></xsl:otherwise>
</xsl:choose>

在转换过程中查找翻译

将翻译放在自己的 xml 文档中 translation.xml :

<strings>
<string language="en" key="ContactDetails">Contact Details</string>
<string language="sv" key="ContactDetails">Kontaktuppgifter</string>
[...]
</strings>

然后加载它的内容:

<xsl:variable name="strings" select="document('translation.xml')/strings"/>

...并通过以下方式访问它们:

<xsl:value-of select="$strings/string[@key='ContactDetails' and @language=$language]"/>

关于c# - xslt本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com