From af5be9bf244d234454082d7e5b8fa05dee6816ab Mon Sep 17 00:00:00 2001 From: Jirka Kosek Date: Wed, 14 Jul 2010 16:53:51 +0000 Subject: [PATCH] Refactored localization support. Language files are loaded on demand. Speedup is about 30%. --- xsl/common/autoidx-kosek.xsl | 8 +- xsl/common/l10n.dtd | 1 + xsl/common/l10n.xml | 195 ++++++++++++----------------------- xsl/common/l10n.xsl | 32 +++--- 4 files changed, 89 insertions(+), 147 deletions(-) diff --git a/xsl/common/autoidx-kosek.xsl b/xsl/common/autoidx-kosek.xsl index c293e2453..cabcbdf41 100644 --- a/xsl/common/autoidx-kosek.xsl +++ b/xsl/common/autoidx-kosek.xsl @@ -49,7 +49,7 @@ select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/> + select="document(concat($lang, '.xml'))/l:l10n/l:letters[1]"/> @@ -73,7 +73,7 @@ - + @@ -109,7 +109,7 @@ select="($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]"/> + select="document(concat($lang, '.xml'))/l:l10n/l:letters[1]"/> @@ -133,7 +133,7 @@ - + diff --git a/xsl/common/l10n.dtd b/xsl/common/l10n.dtd index 1d6f8361e..9bf2f66b7 100644 --- a/xsl/common/l10n.dtd +++ b/xsl/common/l10n.dtd @@ -23,6 +23,7 @@ %xmlns; CDATA #FIXED %uri; language CDATA #REQUIRED english-language-name CDATA #IMPLIED + href CDATA #IMPLIED > diff --git a/xsl/common/l10n.xml b/xsl/common/l10n.xml index 4cdeb6c93..67948cb84 100644 --- a/xsl/common/l10n.xml +++ b/xsl/common/l10n.xml @@ -1,131 +1,68 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> + -⁡ -&am; -&ar; -&az; -&bg; -&bn; -&bs; -&ca; -&cs; -&cy; -&da; -&de; -⪙ -&en; -&eo; -&es; -&et; -&eu; -&fa; -&fi; -&fr; -&ga; -≷ -&gu; -&he; -&hi; -&hr; -&hu; -&id; -⁢ -&ja; -&kn; -&ko; -&la; -&lit; -&lv; -&mn; -&nl; -&nn; -&nb; -∨ -&pa; -&pl; -&pt; -&pt_br; -&ro; -&ru; -&sk; -&sl; -&sq; -&sr; -&sr_Latn; -&sv; -&ta; -&th; -&tl; -&tr; -&uk; -&vi; -&xh; -&zh; -&zh_cn; -&zh_tw; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/xsl/common/l10n.xsl b/xsl/common/l10n.xsl index 1ade6a1e5..d2e45d587 100644 --- a/xsl/common/l10n.xsl +++ b/xsl/common/l10n.xsl @@ -19,9 +19,9 @@ - - - + + + @@ -113,12 +113,12 @@ - + + select="document(concat($l10n.xml/l:i18n/l:l10n[@language=$lang]/@href, '.xml'))/l:l10n/@english-language-name"/> @@ -221,12 +221,12 @@ - + + select="key('l10n-gentext', $key)[1]"/> @@ -252,7 +252,9 @@ - + + + @@ -292,12 +294,12 @@ - + + select="key('l10n-dingbat', $dingbat)[1]"/> @@ -314,8 +316,10 @@ exists; using "en". - - + + + + @@ -383,7 +387,7 @@ - + @@ -405,7 +409,7 @@ select="$local.localization.node/l:context[@name=$context]"/> + select="key('l10n-context', $context)[1]"/>