removing RCS tags
[Samba.git] / docs / docbook / xslt / db2latex / common / l10n.xsl
bloba8b526fc609ab24eb4364c93d58f957e489035e8
1 <?xml version='1.0'?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 version='1.0'>
5 <!-- ********************************************************************
6 ********************************************************************
8 Derived from the official XSL DocBook Stylesheet distribution.
9 See http://nwalsh.com/docbook/xsl/ for copyright and other information.
11 This file contains localization templates (for internationalization)
12 ******************************************************************** -->
17 <xsl:param name="l10n.xml" select="document('../common/l10n.xml')"/>
18 <xsl:param name="l10n.gentext.language" select="''"/>
19 <xsl:param name="l10n.gentext.default.language" select="'en'"/>
20 <xsl:param name="l10n.gentext.use.xref.language" select="false()"/>
26 <xsl:template name="l10n.language">
27 <xsl:param name="target" select="."/>
28 <xsl:param name="xref-context" select="false()"/>
30 <xsl:variable name="language">
31 <xsl:choose>
32 <xsl:when test="$l10n.gentext.language != ''">
33 <xsl:value-of select="$l10n.gentext.language"/>
34 </xsl:when>
36 <xsl:when test="$xref-context or $l10n.gentext.use.xref.language">
37 <xsl:variable name="lang-attr"
38 select="($target/ancestor-or-self::*/@lang
39 |$target/ancestor-or-self::*/@xml:lang)[last()]"/>
40 <xsl:choose>
41 <xsl:when test="string($lang-attr) = ''">
42 <xsl:value-of select="$l10n.gentext.default.language"/>
43 </xsl:when>
44 <xsl:otherwise>
45 <xsl:value-of select="$lang-attr"/>
46 </xsl:otherwise>
47 </xsl:choose>
48 </xsl:when>
50 <xsl:otherwise>
51 <xsl:variable name="lang-attr"
52 select="(ancestor-or-self::*/@lang
53 |ancestor-or-self::*/@xml:lang)[last()]"/>
54 <xsl:choose>
55 <xsl:when test="string($lang-attr) = ''">
56 <xsl:value-of select="$l10n.gentext.default.language"/>
57 </xsl:when>
58 <xsl:otherwise>
59 <xsl:value-of select="$lang-attr"/>
60 </xsl:otherwise>
61 </xsl:choose>
62 </xsl:otherwise>
63 </xsl:choose>
64 </xsl:variable>
66 <xsl:choose>
67 <xsl:when test="contains($language,'-')">
68 <xsl:value-of select="substring-before($language,'-')"/>
69 <xsl:text>_</xsl:text>
70 <xsl:value-of select="substring-after($language,'-')"/>
71 </xsl:when>
72 <xsl:otherwise>
73 <xsl:value-of select="$language"/>
74 </xsl:otherwise>
75 </xsl:choose>
76 </xsl:template>
78 <xsl:template name="gentext.xref.text">
79 <xsl:param name="element.name" select="name(.)"/>
80 <xsl:param name="default"></xsl:param>
81 <xsl:param name="lang">
82 <xsl:call-template name="l10n.language"/>
83 </xsl:param>
85 <xsl:variable name="l10n.text">
86 <xsl:value-of select="($l10n.xml/internationalization/localization[@language=$lang]/xref[@element=$element.name])[1]/@text"/>
87 </xsl:variable>
89 <xsl:choose>
90 <xsl:when test="$l10n.text=''">
91 <xsl:choose>
92 <xsl:when test="$default=''">
93 <xsl:message>
94 <xsl:text>No "</xsl:text>
95 <xsl:value-of select="$lang"/>
96 <xsl:text>" cross reference text for "</xsl:text>
97 <xsl:value-of select="$element.name"/>
98 <xsl:text>" exists and no default specified.</xsl:text>
99 </xsl:message>
100 </xsl:when>
101 <xsl:otherwise>
102 <xsl:value-of select="$default"/>
103 </xsl:otherwise>
104 </xsl:choose>
105 </xsl:when>
106 <xsl:otherwise>
107 <xsl:value-of select="$l10n.text"/>
108 </xsl:otherwise>
109 </xsl:choose>
110 </xsl:template>
112 <xsl:template name="gentext">
113 <xsl:param name="key" select="local-name(.)"/>
114 <xsl:param name="lang">
115 <xsl:call-template name="l10n.language"/>
116 </xsl:param>
118 <xsl:variable name="l10n.gentext"
119 select="($l10n.xml/internationalization/localization[@language=$lang]/gentext[@key=$key])[1]"/>
121 <xsl:variable name="l10n.name">
122 <xsl:value-of select="$l10n.gentext/@text"/>
123 </xsl:variable>
125 <xsl:choose>
126 <xsl:when test="count($l10n.gentext)=0">
127 <xsl:message>
128 <xsl:text>No "</xsl:text>
129 <xsl:value-of select="$lang"/>
130 <xsl:text>" localization of "</xsl:text>
131 <xsl:value-of select="$key"/>
132 <xsl:text>" exists; using "en".</xsl:text>
133 </xsl:message>
135 <xsl:value-of select="($l10n.xml/internationalization/localization[@language='en']/gentext[@key=$key])[1]/@text"/>
136 </xsl:when>
137 <xsl:otherwise>
138 <xsl:value-of select="$l10n.name"/>
139 </xsl:otherwise>
140 </xsl:choose>
141 </xsl:template>
143 <xsl:template name="gentext.element.name">
144 <xsl:param name="element.name" select="name(.)"/>
145 <xsl:param name="lang">
146 <xsl:call-template name="l10n.language"/>
147 </xsl:param>
149 <xsl:call-template name="gentext">
150 <xsl:with-param name="key" select="$element.name"/>
151 <xsl:with-param name="lang" select="$lang"/>
152 </xsl:call-template>
153 </xsl:template>
155 <xsl:template name="gentext.space">
156 <xsl:text> </xsl:text>
157 </xsl:template>
159 <xsl:template name="gentext.edited.by">
160 <xsl:call-template name="gentext.element.name">
161 <xsl:with-param name="element.name">Editedby</xsl:with-param>
162 </xsl:call-template>
163 </xsl:template>
165 <xsl:template name="gentext.by">
166 <xsl:call-template name="gentext.element.name">
167 <xsl:with-param name="element.name">by</xsl:with-param>
168 </xsl:call-template>
169 </xsl:template>
171 <xsl:template name="gentext.dingbat">
172 <xsl:param name="dingbat">bullet</xsl:param>
173 <xsl:param name="lang">
174 <xsl:call-template name="l10n.language"/>
175 </xsl:param>
177 <xsl:variable name="l10n.dingbat">
178 <xsl:value-of select="($l10n.xml/internationalization/localization[@language=$lang]/dingbat[@key=$dingbat])[1]/@text"/>
179 </xsl:variable>
181 <xsl:choose>
182 <xsl:when test="$l10n.dingbat=''">
183 <xsl:message>
184 <xsl:text>No "</xsl:text>
185 <xsl:value-of select="$lang"/>
186 <xsl:text>" localization of dingbat </xsl:text>
187 <xsl:value-of select="$dingbat"/>
188 <xsl:text> exists; using "en".</xsl:text>
189 </xsl:message>
191 <xsl:value-of select="($l10n.xml/internationalization/localization[@language='en']/dingbat[@key=$dingbat])[1]/@text"/>
192 </xsl:when>
193 <xsl:otherwise>
194 <xsl:value-of select="$l10n.dingbat"/>
195 </xsl:otherwise>
196 </xsl:choose>
197 </xsl:template>
199 <xsl:template name="gentext.startquote">
200 <xsl:call-template name="gentext.dingbat">
201 <xsl:with-param name="dingbat">startquote</xsl:with-param>
202 </xsl:call-template>
203 </xsl:template>
205 <xsl:template name="gentext.endquote">
206 <xsl:call-template name="gentext.dingbat">
207 <xsl:with-param name="dingbat">endquote</xsl:with-param>
208 </xsl:call-template>
209 </xsl:template>
211 <xsl:template name="gentext.nestedstartquote">
212 <xsl:call-template name="gentext.dingbat">
213 <xsl:with-param name="dingbat">nestedstartquote</xsl:with-param>
214 </xsl:call-template>
215 </xsl:template>
217 <xsl:template name="gentext.nestedendquote">
218 <xsl:call-template name="gentext.dingbat">
219 <xsl:with-param name="dingbat">nestedendquote</xsl:with-param>
220 </xsl:call-template>
221 </xsl:template>
223 <xsl:template name="gentext.nav.prev">
224 <xsl:call-template name="gentext.element.name">
225 <xsl:with-param name="element.name">nav-prev</xsl:with-param>
226 </xsl:call-template>
227 </xsl:template>
229 <xsl:template name="gentext.nav.next">
230 <xsl:call-template name="gentext.element.name">
231 <xsl:with-param name="element.name">nav-next</xsl:with-param>
232 </xsl:call-template>
233 </xsl:template>
235 <xsl:template name="gentext.nav.home">
236 <xsl:call-template name="gentext.element.name">
237 <xsl:with-param name="element.name">nav-home</xsl:with-param>
238 </xsl:call-template>
239 </xsl:template>
241 <xsl:template name="gentext.nav.up">
242 <xsl:call-template name="gentext.element.name">
243 <xsl:with-param name="element.name">nav-up</xsl:with-param>
244 </xsl:call-template>
245 </xsl:template>
247 </xsl:stylesheet>