forked from Mirrors/freeswitch
61 lines
2.4 KiB
HTML
61 lines
2.4 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
|
||
|
|
||
|
<xsl:template match="/">
|
||
|
<xsl:variable name="master_xml">
|
||
|
<xsl:copy-of select="document('phrase_en.xml')/*"/>
|
||
|
</xsl:variable>
|
||
|
<xsl:variable name="current_xml">
|
||
|
<xsl:copy-of select="*"/>
|
||
|
</xsl:variable>
|
||
|
<xsl:apply-templates select="$master_xml" mode="checkElements">
|
||
|
<xsl:with-param name="current_xml" select="$current_xml/*"/>
|
||
|
</xsl:apply-templates>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="en" mode="checkElements">
|
||
|
<xsl:param name="current_xml"/>
|
||
|
<xsl:copy>
|
||
|
<xsl:attribute name="translated-to" select="name($current_xml)"/>
|
||
|
<xsl:apply-templates select="@*|node()" mode="#current">
|
||
|
<xsl:with-param name="current_xml" select="$current_xml/*"/>
|
||
|
</xsl:apply-templates>
|
||
|
</xsl:copy>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="prompt" mode="checkElements">
|
||
|
<xsl:param name="current_xml"/>
|
||
|
<xsl:variable name="translation"
|
||
|
select="$current_xml[@filename=current()/@filename]/@phrase"/>
|
||
|
<xsl:copy>
|
||
|
<xsl:apply-templates select="@*" mode="#current"/>
|
||
|
<xsl:choose>
|
||
|
<xsl:when test="count($translation)=0">
|
||
|
<xsl:attribute name="translated" select="false()"/>
|
||
|
</xsl:when>
|
||
|
<xsl:when test="@phrase = $translation">
|
||
|
<xsl:attribute name="translated" select="false()"/>
|
||
|
</xsl:when>
|
||
|
<xsl:otherwise>
|
||
|
<xsl:attribute name="translated-to" select="$translation[1]"/>
|
||
|
</xsl:otherwise>
|
||
|
</xsl:choose>
|
||
|
<xsl:if test="count($translation) > 1">
|
||
|
<xsl:attribute name="more-then-one-translation" select="true()"/>
|
||
|
</xsl:if>
|
||
|
</xsl:copy>
|
||
|
</xsl:template>
|
||
|
|
||
|
<xsl:template match="@*|node()" mode="checkElements">
|
||
|
<xsl:param name="current_xml"/>
|
||
|
<xsl:copy>
|
||
|
<xsl:apply-templates select="@*|node()" mode="#current">
|
||
|
<xsl:with-param name="current_xml" select="$current_xml/*"/>
|
||
|
</xsl:apply-templates>
|
||
|
</xsl:copy>
|
||
|
</xsl:template>
|
||
|
|
||
|
</xsl:stylesheet>
|
||
|
|