changeset 177:13f4de67fbb6

Added i18n support for multiple <appeared-in> inside <directive>.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 14 Nov 2011 13:14:48 +0000
parents 0883fc5aabc9
children 65431179fb8f
files xml/i18n.xml xsls/directive.xsls xslt/directive.xslt
diffstat 3 files changed, 38 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/xml/i18n.xml
+++ b/xml/i18n.xml
@@ -3,6 +3,7 @@
 <i18n>
 
 <text lang="en">
+<item id="and">and</item>
 <item id="author">written by</item>
 <item id="editor">edited by</item>
 <item id="translator">translated by</item>
@@ -10,13 +11,18 @@
 <item id="default">default</item>
 <item id="context">context</item>
 <item id="context.any">any</item>
+<item id="directive.version">This directive appeared in version</item>
+<item id="directive.versions">This directive appeared in versions</item>
 </text>
 
 <text lang="ru">
+<item id="and">и</item>
 <item id="syntax">синтаксис</item>
 <item id="default">умолчание</item>
 <item id="context">контекст</item>
 <item id="context.any">любой</item>
+<item id="directive.version">Эта директива появилась в версии</item>
+<item id="directive.versions">Эта директива появилась в версиях</item>
 </text>
 
 <text lang="ja">
--- a/xsls/directive.xsls
+++ b/xsls/directive.xsls
@@ -119,24 +119,39 @@ X:stylesheet {
 
     X:template = "appeared-in" {
         X:if "last() = 1" {
-            <p>This directive appeared in version !!;.</p>
+            <p>
+            !{document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item
+                       [@id='directive.version']}
+            X:text{ }
+            !!;.
+            </p>
         } else {
             X:choose {
                 X:when "position() = 1" {
                     X:text disable-output-escaping="yes" {
                         &lt;p&gt;
                     }
-                    This directive appeared in versions !!;
+                    !{document(concat($XML, '/i18n.xml'))
+                               /i18n/text[@lang = $LANG]/item
+                               [@id='directive.versions']}
+                    X:text{ }
+                    !!;
                     X:if "last() > 2" {
-                        X:text{, }
+                        X:text{,}
                     }
+                    X:text{ }
                 }
                 X:when "position() != last()" {
                     !!;
                     X:text{, }
                 }
                 X:otherwise {
-                    and !!;.
+                    !{document(concat($XML, '/i18n.xml'))
+                               /i18n/text[@lang = $LANG]/item
+                               [@id='and']}
+                    X:text{ }
+                    !!;.
                     X:text disable-output-escaping="yes" {
                         &lt;/p&gt;
                     }
--- a/xslt/directive.xslt
+++ b/xslt/directive.xslt
@@ -199,8 +199,14 @@
 
          <xsl:when test="last() = 1">
 
-            <p>This directive appeared in version
+            <p>
+
+               <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item                        [@id='directive.version']"/>
+
+               <xsl:text> </xsl:text>
+
                <xsl:apply-templates/>.
+
             </p>
          </xsl:when>
 
@@ -211,18 +217,21 @@
                   <xsl:text disable-output-escaping="yes">
                         &lt;p&gt;
                     </xsl:text>
-                    This directive appeared in versions
+                  <xsl:value-of select="document(concat($XML, '/i18n.xml'))                                /i18n/text[@lang = $LANG]/item                                [@id='directive.versions']"/>
+                  <xsl:text> </xsl:text>
                   <xsl:apply-templates/>
                   <xsl:if test="last() &gt; 2">
-                     <xsl:text>, </xsl:text>
+                     <xsl:text>,</xsl:text>
                   </xsl:if>
+                  <xsl:text> </xsl:text>
                </xsl:when>
                <xsl:when test="position() != last()">
                   <xsl:apply-templates/>
                   <xsl:text>, </xsl:text>
                </xsl:when>
                <xsl:otherwise>
-                    and
+                  <xsl:value-of select="document(concat($XML, '/i18n.xml'))                                /i18n/text[@lang = $LANG]/item                                [@id='and']"/>
+                  <xsl:text> </xsl:text>
                   <xsl:apply-templates/>.
                   <xsl:text disable-output-escaping="yes">
                         &lt;/p&gt;