]> mj.ucw.cz Git - ucwmac.git/commitdiff
Locale: Use TeX language codes
authorMartin Mares <mj@ucw.cz>
Fri, 22 Jun 2018 11:01:08 +0000 (13:01 +0200)
committerMartin Mares <mj@ucw.cz>
Fri, 22 Jun 2018 11:01:08 +0000 (13:01 +0200)
Using language codes in macro names is tricky, because \newlanguage
uses \chardef, so we assign the code to a temporary counter first.

ucw-algo.tex
ucw-lang-cs.tex
ucwmac.tex

index 420e31f38e7ea0c30937adeccb70956f688d073b..32f3c30053d53f722af99cd67ce114d79538b097 100644 (file)
 %      \endalgo
 
 % Localized strings
-\localedef{en}{alg:alg}{Algorithm}
-\localedef{en}{alg:proc}{Procedure}
-\localedef{en}{alg:in}{Input}
-\localedef{en}{alg:out}{Output}
+\localedef{0}{alg:alg}{Algorithm}
+\localedef{0}{alg:proc}{Procedure}
+\localedef{0}{alg:in}{Input}
+\localedef{0}{alg:out}{Output}
 
 % Item indent
 \newdimen\algoindent
index 4132548591d1d9fed4afeabb594b920098993fbb..2ca25089e829031f3956b85bc84a14a0d917b330 100644 (file)
@@ -4,7 +4,7 @@
 
 \ucwdefmodule{lang-cs}
 
-\localedef{cs}{alg:alg}{Algoritmus}
-\localedef{cs}{alg:proc}{Procedura}
-\localedef{cs}{alg:in}{Vstup}
-\localedef{cs}{alg:out}{Výstup}
+\localedef{\czech}{alg:alg}{Algoritmus}
+\localedef{\czech}{alg:proc}{Procedura}
+\localedef{\czech}{alg:in}{Vstup}
+\localedef{\czech}{alg:out}{Výstup}
index 61b2103f4f384f4ec99aebb9e58343c90ae08c3f..a42fe489bbbd48d3da377c57ca003553532c6484 100644 (file)
        \directlua{kpse.init_prog("luatex", 600, "ljfour")}
 \fi
 
+%%% Temporary registers %%%
+
+\newcount\tmpcount
+\newdimen\tmpdimen
+
 %%% Auxiliary macros %%%
 
 % Prepend/append #2 to the definition of #1
 
 %%% Localization %%%
 
-% Current language
-\def\localelang{en}
-
 % Define a new localized string: \localedef{language}{identifier}{message}
-\def\localedef#1#2{\expandafter\def\csname loc:#1:#2\endcsname}
+% (we use \language codes to identify languages)
+\def\localedef#1#2{\tmpcount=#1\expandafter\def\csname loc:\the\tmpcount:#2\endcsname}
 
 % Expand a localized string in the current language: \localemsg{identifier}
 \def\localestr#1{%
-       \ifcsname loc:\localelang:#1\endcsname
-               \csname loc:\localelang:#1\endcsname
+       \ifcsname loc:\the\language:#1\endcsname
+               \csname loc:\the\language:#1\endcsname
        \else
-               \ucwwarn{Localized string #1 not defined in language \localelang}%
+               \ucwwarn{Localized string #1 not defined in language \the\language}%
                ???%
        \fi
 }