Estoy intentando hacer una página en diferentes idiomas con xml/xsl. Quiero tener solo un xml y un xsl. En mi página Url tengo un parámetro pLanguage que creo que puedo usar para ver si he seleccionado inglés u holandés.Cómo hacer I18N con xsl y xml
he intentado con este código, pero no sé cómo lo pongo juntos:
Primero hago variables de todas las palabras que tiene a sido traducido así:
<xsl:variable name="lang.pageTitle" select="'This is the title in English'"/>
Para llegar la pageTitle en la plantilla ahora puedo usar
<xsl:value-of select="$lang.pageTitle"/>
pensé para reemplazar a la primera línea de código anterior utilizando una instrucción if-else para comprobar si mi idioma elegido es la norma eN NL o como Thi s:
<xsl:choose>
<xsl:when test="$choosenLanguage = ‘NL’">
<xsl:variable name="lang.pageTitle" select="Titel in het nederlands'"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="lang.pageTitle" select="'This is the title in English'"/>
</xsl:otherwise>
</xsl:choose>
Pero me sale el error: java.lang.IllegalArgumentException: No se puede analizar el argumento número lang.opdracht $
¿Por qué no utilizar el atributo 'xml: lang' y la función' lang ($ pLang) '? – DanMan
@DanMan, sí, esto es perfectamente posible. No estoy seguro de si este enfoque todavía se puede usar si tenemos diferentes cadenas en el mismo idioma pero con diferente enfoque, por ejemplo, texto para el usuario final y para el usuario intermedio. Si esto no puede hacerse usando '' xml: lang' y la función 'lang()', entonces la técnica en esta respuesta todavía sería aplicable. –