Лучше всего использовать ключи xslt - примеры можно найти здесь: http://www.learn -xslt-tutorial.com / Working-with-Keys.cfm
С точки зрения вашего примера это выглядело бы как (я не скомпилировал его, так что, возможно, есть какая-то опечатка или ошибка):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:key name="keyDict" match="entry" use="key"/>
<xsl:param name="text_to_translate2" select="root/some_text"/>
<xsl:template match="/">
<html>
<head><title>Index.xsl</title></head>
<body>
<!-- Here is some text to be translated -->
<xsl:value-of select="key('keyDict','text_to_translate1')/value"/> <br/>
<xsl:value-of select="key('keyDict',$text_to_translate2)/value"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
И вам понадобятся xml со структурой:
<entry>
<key>text_to_transalte1</key>
<value>some text1</value>
</entry>
<entry>
...
</entry>
РЕДАКТИРОВАТЬ: Для значения по умолчанию просто добавьте в записи в XML:
<keyDict>
<entry>
<key>text_to_transalte1</key>
<value>some text1</value>
</entry>
<entry>
...
</entry>
<default><value>No translation found</value></default>
</keyDict>
Или, если вы хотите установить значение по умолчанию для каждого ключа, равное ключу (что я бы сказал, обычно), вы можете определить новый шаблон:
<xsl:template name="dictLookup">
<xsl:param name="key"/>
<xsl:variable name="result" select="key('keyDict',$key)/value"/>
<xsl:choose>
<xsl:when test="not($result)">
<xsl:value-of select="$key"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result"/>
<xsl:otherwise>
</xsl:choose>
</xsl:template>
и затем вызовите этот шаблон с параметром:
<xsl:call-template name="dictLookup">
<xsl:with-param name="key" value="some value"/>
</xsl:call-template>
Вы можете даже добавить другой параметр с именем default для вызова тамплета следующим образом:
<xsl:call-template name="dictLookup">
<xsl:with-param name="key" value="some value"/>
<xsl:with-param name="default" value="default value"/>
</xsl:call-template>
Я надеюсь, что это отвечает на ваш вопрос