diff options
author | Karl Berry <karl@freefriends.org> | 2016-10-08 23:34:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-10-08 23:34:41 +0000 |
commit | 0e25a365d04f0f281f06e0b65397b61142501b12 (patch) | |
tree | fb35ddaf228cb6449f36fd8f07c2beb5f3362e64 /Master/texmf-dist/tex/generic/tracklang/tracklang.tex | |
parent | afce9e93f3a413b814c2b7f5a79dec2290624335 (diff) |
tracklang (8oct16)
git-svn-id: svn://tug.org/texlive/trunk@42235 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/tracklang/tracklang.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/tracklang/tracklang.tex | 3219 |
1 files changed, 1965 insertions, 1254 deletions
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang.tex index ab8bf8cc63d..f303b55c09b 100644 --- a/Master/texmf-dist/tex/generic/tracklang/tracklang.tex +++ b/Master/texmf-dist/tex/generic/tracklang/tracklang.tex @@ -7,7 +7,7 @@ %% tracklang.dtx (with options: `tracklang.tex,package') %% %% tracklang.dtx -%% Copyright 2015 Nicola Talbot +%% Copyright 2016 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -21,7 +21,7 @@ %% %% The Current Maintainer of this work is Nicola Talbot. %% -%% This work consists of the files tracklang.dtx and tracklang.ins and the derived files tracklang.sty, tracklang.tex. +%% This work consists of the files tracklang.dtx and tracklang.ins and the derived files tracklang.sty, tracklang.tex, tracklang-region-codes.tex, tracklang-scripts.sty, tracklang-scripts.tex. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -38,17 +38,62 @@ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} -\ifx \@tracklang@languages\undefined +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% load packages that use tracklang for localisation +%% do code now to initialise +%% Pass all options to tracklang: +\ifnum\catcode`\@=11\relax + \def\@tracklang@restore@at{}% \else + \expandafter\edef\csname @tracklang@restore@at\endcsname{% + \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax + }% + \catcode`\@=11\relax +\fi +\ifx\@tracklang@languages\undefined +\else + \@tracklang@restore@at \expandafter\endinput \fi +\expandafter\def\csname ver@tracklang.tex\endcsname{2016/10/08 v1.3.1 +(NLCT) Track Languages Generic Code} \long\def\@tracklang@ifundef#1#2#3{% - \expandafter\ifx\csname #1\endcsname\relax - #2% + \ifcsname#1\endcsname + \expandafter\ifx\csname #1\endcsname\relax + #2% + \else + #3% + \fi \else - #3% + \expandafter\ifx\csname #1\endcsname\relax + #2% + \else + #3% + \fi \fi } +\ifx\ifcsname\undefined + \long\def\@tracklang@ifundef#1#2#3{% + \expandafter\ifx\csname #1\endcsname\relax + #2% + \else + #3% + \fi + } +\fi +\ifx\@@input\undefined + \let\@tracklang@input\input +\else + \let\@tracklang@input\@@input +\fi \ifx\@nnil\undefined \def\@tracklang@nnil{\@nil} \else @@ -96,11 +141,20 @@ \else \let\@tracklang@namedef\@namedef \fi -\ifx\@nameuse\undefined - \def\@tracklang@nameuse#1{\csname#1\endcsname} +\def\@tracklang@enamedef#1{\expandafter\edef\csname#1\endcsname} +\def\@tracklang@nameuse#1{% + \@tracklang@ifundef{#1}{}{\csname#1\endcsname}% +} +\ifx\@onelevel@sanitize\undefined + \def\@tracklang@sanitize#1{% + \edef#1{\expandafter\@tracklang@strip@prefix\meaning#1}% + } + \def\@tracklang@strip@prefix#1>{} \else - \let\@tracklang@nameuse\@nameuse + \let\@tracklang@sanitize\@onelevel@sanitize \fi +\def\@tracklang@firstoftwo#1#2{#1} +\def\@tracklang@secondoftwo#1#2{#2} \ifx\PackageError\undefined \def\@tracklang@err#1#2{% \errehelp{#2}% @@ -108,22 +162,401 @@ \else \def\@tracklang@err#1#2{\PackageError{tracklang}{#1}{#2}} \fi +\newif\ifTrackLangShowWarnings +\TrackLangShowWarningstrue +\ifx\PackageWarning\undefined + \def\@tracklang@warn#1{% + \ifTrackLangShowWarnings + {% + \newlinechar=`\^^J + \def\MessageBreak{^^J}% + \message{^^Jtracklang Warning: #1 on line \the\inputlineno.^^J}% + }% + \fi + } +\else + \def\@tracklang@warn#1{% + \ifTrackLangShowWarnings + \PackageWarning{tracklang}{#1}% + \fi + } +\fi +\newif\ifTrackLangShowInfo +\TrackLangShowInfotrue +\ifx\PackageInfo\undefined + \def\@tracklang@info#1{% + \ifTrackLangShowInfo + {% + \newlinechar=`\^^J + \def\MessageBreak{^^J}% + \message{^^Jtracklang Info: #1 on line \the\inputlineno.^^J}% + }% + \fi + }% +\else + \def\@tracklang@info#1{% + \ifTrackLangShowInfo + \PackageInfo{tracklang}{#1}% + \fi + }% +\fi \ifx\IfFileExists\undefined \long\def\@tracklang@IfFileExists#1#2#3{% \openin0=#1 % \ifeof0\relax - \def\reserved@a{#3}% + \def\@tracklang@tmp{#3}% \else \closein0\relax \edef\@filef@und{#1 }% - \def\reserved@a{#2}% + \def\@tracklang@tmp{#2}% \fi - \reserved@a + \@tracklang@tmp } \else \let\@tracklang@IfFileExists\IfFileExists \fi +\def\@tracklang@checklocale{% + \ifx\TrackLangEnv\empty + \else + \ifx\TrackLangEnv\@tracklang@locale@posix + \def\TrackLangEnv{}% + \else + \ifx\TrackLangEnv\@tracklang@locale@c + \def\TrackLangEnv{}% + \else + \expandafter\@@tracklang@checklocale + \TrackLangEnv\empty\relax + \fi + \fi + \fi +} +\def\@@tracklang@checklocale#1#2\relax{% + \ifx#1/\relax + \def\TrackLangEnv{}% + \fi +} +\def\@tracklang@locale@posix{POSIX} +\def\@tracklang@locale@c{C} +\ifx\directlua\undefined + \ifx\shellescape\undefined + \ifx\pdfshellescape\undefined + \def\@tracklang@tryshellescape#1{% + \def\TrackLangQueryEnv{% + \@tracklang@warn{\string\TrackLangQueryEnv\space + non-operational as can't determine if the + shell escape has been enabled. (Consider using + eTeX or pdfTeX.)}% + \def\TrackLangEnv{}% + }% + \def\TrackLangQueryOtherEnv##1{% + \@tracklang@warn{\string\TrackLangQueryOtherEnv{##1}\space + non-operational as can't determine if the + shell escape has been enabled. (Consider using + eTeX or pdfTeX.)}% + \def\TrackLangEnv{}% + }% + }% + \else + \ifnum\pdfshellescape=0\relax + \def\@tracklang@tryshellescape#1{% + \def\TrackLangQueryEnv{% + \@tracklang@warn{\string\TrackLangQueryEnv\space + non-operational as shell escape has been disabled}% + \def\TrackLangEnv{}% + }% + \def\TrackLangQueryOtherEnv##1{% + \@tracklang@warn{\string\TrackLangQueryOtherEnv{##1}\space + non-operational as shell escape has been disabled}% + \def\TrackLangEnv{}% + }% + }% + \else + \def\@tracklang@tryshellescape#1{#1}% + \fi + \fi + \else + \ifnum\shellescape=0\relax + \def\@tracklang@tryshellescape#1{% + \def\TrackLangQueryEnv{% + \@tracklang@warn{\string\TrackLangQueryEnv\space + non-operational as shell escape has been disabled}% + \def\TrackLangEnv{}% + }% + \def\TrackLangQueryOtherEnv##1{% + \@tracklang@warn{\string\TrackLangQueryOtherEnv{##1}\space + non-operational as shell escape has been disabled}% + \def\TrackLangEnv{}% + }% + }% + \else + \def\@tracklang@tryshellescape#1{#1}% + \fi + \fi + \@tracklang@tryshellescape + {% + \def\TrackLangQueryEnv{% + \begingroup\endlinechar=-1\relax + \everyeof{\noexpand}% + \edef\x{\endgroup\def\noexpand\TrackLangEnv{% + \@tracklang@input|"kpsewhich --var-value LC_ALL" }}\x + \@tracklang@checklocale + \ifx\TrackLangEnv\empty + \begingroup\endlinechar=-1\relax + \everyeof{\noexpand}% + \edef\x{\endgroup\def\noexpand\TrackLangEnv{% + \@tracklang@input|"kpsewhich --var-value LANG" }}\x + \@tracklang@checklocale + \ifx\TrackLangEnv\empty + \ifx\TeXOSQueryLocale\undefined + \@tracklang@warn{Locale environment variables + unavailable (tried LC\string_ALL and LANG)}% + \else + \@tracklang@info{Using texosquery to find locale}% + \TeXOSQueryLocale\TrackLangEnv + \ifx\TrackLangEnv\empty + \@tracklang@warn{Locale can't be found + (tried querying LC\string_ALL and LANG variables and + tried using texosquery)}% + \fi + \fi + \fi + \fi + }% + \def\TrackLangQueryOtherEnv#1{% + \begingroup\endlinechar=-1\relax + \everyeof{\noexpand}% + \edef\x{\endgroup\def\noexpand\TrackLangEnv{% + \@tracklang@input|"kpsewhich --var-value LC_ALL" }}\x + \@tracklang@checklocale + \ifx\TrackLangEnv\empty + \begingroup\endlinechar=-1\relax + \everyeof{\noexpand}% + \edef\x{\endgroup\def\noexpand\TrackLangEnv{% + \@tracklang@input|"kpsewhich --var-value #1" }}\x + \@tracklang@checklocale + \ifx\TrackLangEnv\empty + \begingroup\endlinechar=-1\relax + \everyeof{\noexpand}% + \edef\x{\endgroup\def\noexpand\TrackLangEnv{% + \@tracklang@input|"kpsewhich --var-value LANG"}}\x + \@tracklang@checklocale + \ifx\TrackLangEnv\empty + \ifx\TeXOSQueryLocale\undefined + \@tracklang@warn{Locale environment variables unavailable + (tried LC\string_ALL, #1 and LANG)}% + \else + \@tracklang@info{Using texosquery to find locale}% + \TeXOSQueryLocale\TrackLangEnv + \ifx\TrackLangEnv\empty + \@tracklang@warn{Locale can't be found + (tried querying LC\string_ALL, #1 and LANG variables and + tried using texosquery)}% + \fi + \fi + \fi + \fi + \fi + }% + }% +\else + \def\TrackLangQueryEnv{% + \edef\TrackLangEnv{\directlua{ + l = os.getenv("LC_ALL") + if l == nil or l == "" or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l = os.getenv("LANG") + if l == nil or l == "" or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l=os.setlocale(nil) + if l == nil or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l = "" + end + end + end + tex.print(l)}}% + \ifx\TrackLangEnv\empty + \ifx\TeXOSQueryLocale\undefined + \@tracklang@warn{Locale can't be found through Lua + (tried querying LC\string_ALL and LANG variables and + os.setlocale(nil))}% + \else + \TeXOSQueryLocale\TrackLangEnv + \ifx\TrackLangEnv\empty + \@tracklang@warn{Locale can't be found through Lua + (tried querying LC\string_ALL and LANG variables and + os.setlocale(nil) and tried using texosquery)}% + \fi + \fi + \fi + } + \def\TrackLangQueryOtherEnv#1{% + \edef\TrackLangEnv{\directlua{ + l = os.getenv("LC_ALL") + if l == nil or l == "" or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l = os.getenv("#1") + if l == nil or l == "" or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l = os.getenv("LANG") + if l == nil or l == "" or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l=os.setlocale(nil) + if l == nil or l == "C" or l == "POSIX" + or string.find(l, "^/") then + l = "" + end + end + end + end + tex.print(l}}% + \ifx\TrackLangEnv\empty + \ifx\TeXOSQueryLocale\undefined + \@tracklang@warn{Locale can't be found through Lua + (tried querying LC\string_ALL, #1 and LANG variables and + os.setlocale(nil))}% + \else + \TeXOSQueryLocale\TrackLangEnv + \ifx\TrackLangEnv\empty + \@tracklang@warn{Locale can't be found through Lua + (tried querying LC\string_ALL, #1 and LANG variables and + os.setlocale(nil) and tried using texosquery)}% + \fi + \fi + \fi + } +\fi +\def\TrackLangParseFromEnv{% + \ifx\TrackLangEnv\undefined + \@tracklang@warn{\string\TrackLangParseFromEnv\space + non-operational as \string\TrackLangEnv\space hasn't been + defined}% + \def\TrackLangEnvLang{}% + \def\TrackLangEnvTerritory{}% + \def\TrackLangEnvCodeSet{}% + \def\TrackLangEnvModifier{}% + \else + \ifx\TrackLangEnv\empty + \@tracklang@warn{\string\TrackLangParseFromEnv\space + non-operational as \string\TrackLangEnv\space is empty}% + \def\TrackLangEnvLang{}% + \def\TrackLangEnvTerritory{}% + \def\TrackLangEnvCodeSet{}% + \def\TrackLangEnvModifier{}% + \else + \@tracklang@parse@locale{\TrackLangEnv}% + \let\TrackLangEnvLang\@TrackLangEnvLang + \let\TrackLangEnvTerritory\@TrackLangEnvTerritory + \let\TrackLangEnvCodeSet\@TrackLangEnvCodeSet + \let\TrackLangEnvModifier\@TrackLangEnvModifier + \fi + \fi +} +\def\@tracklang@parse@locale#1{% + \def\@TrackLangEnvLang{}% + \def\@TrackLangEnvSubLang{}% + \def\@TrackLangEnvFirstSubLang{}% + \def\@TrackLangEnvTerritory{}% + \def\@TrackLangEnvCodeSet{}% + \def\@TrackLangEnvVariant{}% + \def\@TrackLangEnvModifier{}% + \def\@TrackLangEnvScript{}% + \def\@TrackLangEnvAdditional{}% + \expandafter\ifx\expandafter\relax#1\relax + \else + \expandafter\@tracklang@parseenv + #1..\relax\@tracklang@end@parseenv\@tracklang@result + \ifx\@tracklang@result\empty + \else + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@result}% + \let\@TrackLangEnvLang\@tracklang@split@pre + \let\@TrackLangEnvTerritory\@tracklang@split@post + \fi + \fi +} +\def\@tracklang@split@underscoreorhyp#1{% + \@tracklang@split@underscore{#1}% + \ifx\@tracklang@split@post\empty + \@tracklang@split@hyphen{#1}% + \ifx\@tracklang@split@post\empty + \@tracklang@split@otherunderscore{#1}% + \fi + \fi +} +{ + \catcode`\_8\relax + \gdef\@tracklang@split@underscore#1{% + \@@tracklang@split@underscore#1__\relax\@tracklang@end@split@underscore + } + \gdef\@@tracklang@split@underscore#1_#2_#3\@tracklang@end@split@underscore{% + \def\@tracklang@split@pre{#1}% + \ifx\relax#3\relax + \def\@tracklang@split@post{#2}% + \else + \@tracklang@split@underscore@remainder#2_#3% + \fi + } + \gdef\@tracklang@split@underscore@remainder#1__\relax{% + \def\@tracklang@split@post{#1}% + } +} +{ + \catcode`\_12\relax + \gdef\@tracklang@split@otherunderscore#1{% + \@@tracklang@split@otherunderscore#1__\relax\@tracklang@end@split@underscore + } + \gdef\@@tracklang@split@otherunderscore#1_#2_#3\@tracklang@end@split@underscore{% + \def\@tracklang@split@pre{#1}% + \ifx\relax#3\relax + \def\@tracklang@split@post{#2}% + \else + \@tracklang@split@otherunderscore@remainder#2_#3% + \fi + } + \gdef\@tracklang@split@otherunderscore@remainder#1__\relax{% + \def\@tracklang@split@post{#1}% + } +} +{ + \catcode`\-12\relax + \gdef\@tracklang@split@hyphen#1{% + \@@tracklang@split@hyphen#1--\relax\@tracklang@end@split@hyphen + } + \gdef\@@tracklang@split@hyphen#1-#2-#3\@tracklang@end@split@hyphen{% + \def\@tracklang@split@pre{#1}% + \ifx\relax#3\relax + \def\@tracklang@split@post{#2}% + \else + \@tracklang@split@hyphen@remainder#2-#3% + \fi + } + \gdef\@tracklang@split@hyphen@remainder#1--\relax{% + \def\@tracklang@split@post{#1}% + } +} +\gdef\@tracklang@parseenv#1.#2.#3\@tracklang@end@parseenv#4{% + \def\@TrackLangEnvCodeSet{#2}% + \def#4{#1}% + \ifx\@TrackLangEnvCodeSet\empty + \tracklangparsemod#4% + \else + \tracklangparsemod\@TrackLangEnvCodeSet + \fi +} +{\catcode`\@=12\relax + \gdef\tracklangparsemod#1{ + \expandafter\tracklangparseenvatmod#1@@\relax\tracklangendparseenvatmod + \let#1\tracklangtmp + }% + \gdef\tracklangparseenvatmod#1@#2@#3\tracklangendparseenvatmod{% + \def\tracklangtmp{#1}% + \expandafter\def\csname @TrackLangEnvModifier\endcsname{#2}% + \csname @tracklang@sanitize\expandafter\endcsname + \csname @TrackLangEnvModifier\endcsname + } +} \def\@tracklang@languages{} \def\@tracklang@dialects{} \def\@tracklang@ifinlist#1#2#3#4{% @@ -158,22 +591,111 @@ \def\AddTrackedDialect#1#2{% \@tracklang@add{#1}{\@tracklang@dialects}% \@tracklang@add{#2}{\@tracklang@languages}% - \@tracklang@namedef{@tracklang@fromdialect@#1}{#2}% + \@tracklang@enamedef{@tracklang@fromdialect@#1}{#2}% \@tracklang@ifundef{@tracklang@todialect@#2}% - {\@tracklang@namedef{@tracklang@todialect@#2}{#1}}% + {\@tracklang@enamedef{@tracklang@todialect@#2}{#1}}% {% \def\@tracklang@lang{#1}% \expandafter\@tracklang@add\expandafter\@tracklang@lang \csname @tracklang@todialect@#2\endcsname }% + \edef\TrackLangLastTrackedDialect{#1}% } \def\AddTrackedLanguage#1{% \AddTrackedDialect{#1}{#1}% } +\def\@tracklang@known@langs{} +\def\TrackLangNewLanguage#1#2#3#4#5#6#7{% + \@tracklang@add{#1}{\@tracklang@known@langs}% + \edef\@tracklang@tmp{#2}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knownisolang@#2}{#1}% + \@tracklang@enamedef{@tracklang@knowniso@639@1@#1}{#2}% + \fi + \edef\@tracklang@tmp{#3}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knownisolang@#3}{#1}% + \@tracklang@enamedef{@tracklang@knowniso@639@2@#1}{#3}% + \fi + \edef\@tracklang@tmp{#4}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knowniso@639@2B@#1}{#4}% + \fi + \edef\@tracklang@tmp{#5}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knownisolang@#5}{#1}% + \@tracklang@enamedef{@tracklang@knowniso@639@3@#1}{#5}% + \fi + \edef\@tracklang@tmp{#6}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knowniso@3166@#1}{#6}% + \fi + \edef\@tracklang@tmp{#7}% + \ifx\@tracklang@tmp\empty + \else + \@tracklang@enamedef{@tracklang@knowniso@script@#1}{#7}% + \fi +} +\def\TrackLangIfKnownLang#1#2#3{% + \expandafter\@tracklang@ifinlist\expandafter{#1}{\@tracklang@known@langs}% + {#2}% + {#3}% +} +\def\TrackLangIfKnownIsoTwoLetterLang#1#2#3{% + \@tracklang@ifundef{@tracklang@knowniso@639@1@#1}% + {#3}% + {#2}% +} +\def\TrackLangGetKnownIsoTwoLetterLang#1{% + \@tracklang@nameuse{@tracklang@knowniso@639@1@#1}% +} +\def\TrackLangIfKnownIsoThreeLetterLang#1#2#3{% + \@tracklang@ifundef{@tracklang@knowniso@639@2@#1}% + {#3}% + {#2}% +} +\def\TrackLangGetKnownIsoThreeLetterLang#1{% + \@tracklang@nameuse{@tracklang@knowniso@639@2@#1}% +} +\def\TrackLangIfKnownIsoThreeLetterLangB#1#2#3{% + \@tracklang@ifundef{@tracklang@knowniso@639@2B@#1}% + {#3}% + {#2}% +} +\def\TrackLangGetKnownIsoThreeLetterLangB#1{% + \@tracklang@nameuse{@tracklang@knowniso@639@2B@#1}% +} +\def\TrackLangIfKnownLangFromIso#1#2#3{% + \@tracklang@ifundef{@tracklang@knownisolang@#1}% + {#3}% + {#2}% +} +\def\TrackLangGetKnownLangFromIso#1{% + \@tracklang@nameuse{@tracklang@knownisolang@#1}% +} +\def\TrackLangIfHasKnownCountry#1#2#3{% + \@tracklang@ifundef{@tracklang@knowniso@3166@#1}% + {#3}% + {#2}% +} +\def\TrackLangGetKnownCountry#1{% + \@tracklang@nameuse{@tracklang@knowniso@3166@#1}% +} +\def\TrackLangGetDefaultScript#1{% + \@tracklang@nameuse{@tracklang@knowniso@script@#1}% +} +\def\TrackLangIfHasDefaultScript#1#2#3{% + \@tracklang@ifundef{@tracklang@knowniso@script@#1}{#3}{#2}% +} \def\AddTrackedIsoLanguage#1#2#3{% - \@tracklang@namedef{@tracklang@#1@isofromlang@#3}{#2}% + \@tracklang@enamedef{@tracklang@#1@isofromlang@#3}{#2}% \@tracklang@ifundef{@tracklang@#1@isotolang@#2}% - {\@tracklang@namedef{@tracklang@#1@isotolang@#2}{#3}}% + {\@tracklang@enamedef{@tracklang@#1@isotolang@#2}{#3}}% {% \def\@tracklang@lang{#3}% \expandafter\@tracklang@add\expandafter\@tracklang@lang @@ -195,1226 +717,1195 @@ \def\TwoLetterIsoCountryCode{3166-1} \def\TwoLetterIsoLanguageCode{639-1} \def\ThreeLetterIsoLanguageCode{639-2} +\def\ThreeLetterExtIsoLanguageCode{639-3} +\def\SetTrackedDialectModifier#1#2{% + \@tracklang@enamedef{@tracklang@modifier@#1}{#2}% +} +\def\GetTrackedDialectModifier#1{% + \@tracklang@nameuse{@tracklang@modifier@#1}% +} +\def\IfHasTrackedDialectModifier#1#2#3{% + \@tracklang@ifundef{@tracklang@modifier@#1}{#3}{#2}% +} +\def\SetTrackedDialectScript#1#2{% + \@tracklang@enamedef{@tracklang@script@#1}{#2}% +} +\def\GetTrackedDialectScript#1{% + \@tracklang@nameuse{@tracklang@script@#1}% +} +\def\IfHasTrackedDialectScript#1#2#3{% + \@tracklang@ifundef{@tracklang@script@#1}{#3}{#2}% +} +\def\IfTrackedDialectIsScriptCs#1#2#3#4{% + \IfHasTrackedDialectScript{#1}% + {% + \expandafter\ifx\expandafter#2\csname @tracklang@script@#1\endcsname + #3% + \else + #4% + \fi + }% + {% + \TrackLangIfHasDefaultScript{\TrackedLanguageFromDialect{#1}}% + {% + \expandafter\ifx\expandafter + #2\csname @tracklang@knowniso@script@\TrackedLanguageFromDialect{#1}\endcsname + #3% + \else + #4% + \fi + }% + {#4}% + }% +} +\def\SetTrackedDialectVariant#1#2{% + \@tracklang@enamedef{@tracklang@variant@#1}{#2}% +} +\def\GetTrackedDialectVariant#1{% + \@tracklang@nameuse{@tracklang@variant@#1}% +} +\def\IfHasTrackedDialectVariant#1#2#3{% + \@tracklang@ifundef{@tracklang@variant@#1}{#3}{#2}% +} +\def\SetTrackedDialectSubLang#1#2{% + \@tracklang@enamedef{@tracklang@sublang@#1}{#2}% +} +\def\GetTrackedDialectSubLang#1{% + \@tracklang@nameuse{@tracklang@sublang@#1}% +} +\def\IfHasTrackedDialectSubLang#1#2#3{% + \@tracklang@ifundef{@tracklang@sublang@#1}{#3}{#2}% +} +\def\SetTrackedDialectAdditional#1#2{% + \@tracklang@enamedef{@tracklang@extra@#1}{#2}% +} +\def\GetTrackedDialectAdditional#1{% + \@tracklang@nameuse{@tracklang@extra@#1}% +} +\def\IfHasTrackedDialectAdditional#1#2#3{% + \@tracklang@ifundef{@tracklang@extra@#1}{#3}{#2}% +} +\def\GetTrackedLanguageTag#1{% + \IfTrackedLanguageHasIsoCode{639-1}{\TrackedLanguageFromDialect{#1}}% + {\TrackedIsoCodeFromLanguage{639-1}{\TrackedLanguageFromDialect{#1}}}% + {% + \IfTrackedLanguageHasIsoCode{639-2}{\TrackedLanguageFromDialect{#1}}% + {\TrackedIsoCodeFromLanguage{639-2}{\TrackedLanguageFromDialect{#1}}}% + {% + \IfTrackedLanguageHasIsoCode{639-3}{\TrackedLanguageFromDialect{#1}}% + {\TrackedIsoCodeFromLanguage{639-3}{\TrackedLanguageFromDialect{#1}}}% + {und}% undefined + }% + }% + \@tracklang@ifundef{@tracklang@sublang@#1}% + {}% + {-\csname @tracklang@sublang@#1\endcsname}% + \@tracklang@ifundef{@tracklang@script@#1}% + {}% + {-\csname @tracklang@script@#1\endcsname}% + \IfTrackedLanguageHasIsoCode{3166-1}{#1}% + {-\TrackedIsoCodeFromLanguage{3166-1}{#1}}% + {}% + \@tracklang@ifundef{@tracklang@variant@#1}% + {}% + {-\csname @tracklang@variant@#1\endcsname}% + \@tracklang@ifundef{@tracklang@extra@#1}% + {}% + {-\csname @tracklang@extra@#1\endcsname}% +} +\def\SetCurrentTrackedDialect#1{% + \edef\CurrentTrackedDialect{\GetTrackedDialectFromMapping{#1}}% + \IfTrackedDialect{\CurrentTrackedDialect}% + {}% + {% + \IfTrackedLanguage{#1}% + {% + \edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}% + \@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{% + \let\CurrentTrackedDialect\@tracklang@dialect + }% + }% + {}% + }% + \IfTrackedDialect{\CurrentTrackedDialect}% + {% + \edef\CurrentTrackedLanguage{% + \TrackedLanguageFromDialect{\CurrentTrackedDialect}}% + \edef\CurrentTrackedDialectModifier{% + \GetTrackedDialectModifier{\CurrentTrackedDialect}}% + \edef\CurrentTrackedDialectVariant{% + \GetTrackedDialectVariant{\CurrentTrackedDialect}}% + \IfHasTrackedDialectScript{\CurrentTrackedDialect}% + {% + \edef\CurrentTrackedDialectScript{% + \GetTrackedDialectScript{\CurrentTrackedDialect}}% + }% + {% + \edef\CurrentTrackedDialectScript{% + \TrackLangGetDefaultScript\CurrentTrackedLanguage}% + }% + \edef\CurrentTrackedDialectSubLang{% + \GetTrackedDialectSubLang{\CurrentTrackedDialect}}% + \edef\CurrentTrackedDialectAdditional{% + \GetTrackedDialectAdditional{\CurrentTrackedDialect}}% + \edef\CurrentTrackedLanguageTag{% + \GetTrackedLanguageTag{\CurrentTrackedDialect}}% + \IfTrackedLanguageHasIsoCode{3166-1}{\CurrentTrackedDialect}% + {% + \edef\CurrentTrackedRegion{% + \TrackedIsoCodeFromLanguage{3166-1}{\CurrentTrackedDialect}}% + }% + {\def\CurrentTrackedRegion{}}% + \IfTrackedLanguageHasIsoCode{639-1}{\CurrentTrackedLanguage}% + {% + \edef\CurrentTrackedIsoCode{% + \TrackedIsoCodeFromLanguage{639-1}{\CurrentTrackedLanguage}}% + }% + {% + \IfTrackedLanguageHasIsoCode{639-2}{\CurrentTrackedLanguage}% + {% + \edef\CurrentTrackedIsoCode{% + \TrackedIsoCodeFromLanguage{639-2}{\CurrentTrackedLanguage}}% + }% + {% + \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}% + {% + \edef\CurrentTrackedIsoCode{% + \TrackedIsoCodeFromLanguage{639-3}{\CurrentTrackedLanguage}}% + }% + {% + \def\CurrentTrackedIsoCode{}% + }% + }% + }% + }% + {% + \@tracklang@warn{Unknown dialect label `#1' passed to + \string\SetCurrentTrackedDialect}% + \edef\CurrentTrackedLanguage{\languagename}% + \def\CurrentTrackedDialectModifier{}% + \def\CurrentTrackedDialectVariant{}% + \def\CurrentTrackedDialectScript{}% + \def\CurrentTrackedDialectSubLang{}% + \def\CurrentTrackedDialectAdditional{}% + \def\CurrentTrackedIsoCode{}% + \def\CurrentTrackedRegion{}% + \def\CurrentTrackedLanguageTag{und}% + }% +} +\def\AddTrackedLanguageIsoCodes#1{% + \@tracklang@ifundef{@tracklang@knowniso@639@1@#1}% + {}% + {% + \AddTrackedIsoLanguage\TwoLetterIsoLanguageCode + {\csname @tracklang@knowniso@639@1@#1\endcsname}{#1}% + }% + \@tracklang@ifundef{@tracklang@knowniso@639@2@#1}% + {}% + {% + \AddTrackedIsoLanguage\ThreeLetterIsoLanguageCode + {\csname @tracklang@knowniso@639@2@#1\endcsname}{#1}% + \@tracklang@ifundef{@tracklang@knowniso@639@2B@#1}% + {}% + {% + \AddTrackedIsoLanguage{\ThreeLetterIsoLanguageCode-T}% + {\csname @tracklang@knowniso@639@2@#1\endcsname}{#1}% + \AddTrackedIsoLanguage{\ThreeLetterIsoLanguageCode-B}% + {\csname @tracklang@knowniso@639@2B@#1\endcsname}{#1}% + }% + }% + \@tracklang@ifundef{@tracklang@knowniso@639@3@#1}% + {}% + {% + \AddTrackedIsoLanguage\ThreeLetterExtIsoLanguageCode + {\csname @tracklang@knowniso@639@3@#1\endcsname}{#1}% + }% +} +\def\AddTrackedCountryIsoCode#1{% + \@tracklang@ifundef{@tracklang@knowniso@3166@#1}% + {}% + {% + \AddTrackedIsoLanguage{3166-1}% + {\csname @tracklang@knowniso@3166@#1\endcsname}{#1}% + }% +} \def\TrackPredefinedDialect#1{% \@tracklang@ifundef{@tracklang@add@#1}% {% - \@tracklang@err{Dialect `#1' is not predefined}{}% + \@tracklang@err{Dialect or language `#1' is not predefined}{}% }% {\@tracklang@nameuse{@tracklang@add@#1}}% } +\def\@tracklang@hassecondchar#1#2\@end@tracklang@hassecondchar#3#4{% + \ifx\relax#2\relax + #4% + \else + #3% + \fi +} +\def\@tracklang@hasthirdchar#1#2#3\@end@tracklang@hasthirdchar#4#5{% + \ifx\relax#3\relax + #5% + \else + #4% + \fi +} +\def\@tracklang@hasfourthchar#1#2#3#4\@end@tracklang@hasfourthchar#5#6{% + \ifx\relax#4\relax + #6% + \else + #5% + \fi +} +\def\@tracklang@hasfifthchar#1#2#3#4#5\@end@tracklang@hasfifthchar#6#7{% + \ifx\relax#5\relax + #7% + \else + #6% + \fi +} +\def\@tracklang@hasninthchar#1#2#3#4#5#6#7#8#9\@end@tracklang@hasninthchar{% + \ifx\relax#9\relax + \expandafter\@tracklang@secondoftwo + \else + \expandafter\@tracklang@firstoftwo + \fi +} +\def\@tracklang@ifalpha#1#2#3{% + \ifx\relax#1\relax + #3% + \else + \ifnum\lccode`#1<`a\relax + #3% + \else + \ifnum\lccode`#1>`z\relax + #3% + \else + #2% + \fi + \fi + \fi +} +\def\@tracklang@ifdigit#1#2#3{% + \ifx\relax#1\relax + #3% + \else + \ifnum`#1<`0\relax + #3% + \else + \ifnum`#1>`9\relax + #3% + \else + #2% + \fi + \fi + \fi +} +\def\@tracklang@ifalldigits#1{% + \expandafter\ifx\relax#1\relax + \expandafter\@tracklang@secondoftwo + \else + \expandafter\@@tracklang@ifalldigits#1\@tracklang@nnil + \fi +} +\def\@@tracklang@ifalldigits#1{% + \ifx#1\@tracklang@nnil + \def\@tracklang@next{\expandafter\@tracklang@firstoftwo}% + \else + \@tracklang@ifdigit{#1}% + {% + \let\@tracklang@next\@@tracklang@ifalldigits + }% + {% + \def\@tracklang@next##1\@tracklang@nnil{% + \expandafter\@tracklang@secondoftwo}% + }% + \fi + \@tracklang@next +} +\def\@tracklang@ifalphanumeric#1#2#3{% + \@tracklang@ifalpha{#1}% + {#2}% + {% + \@tracklang@ifdigit{#1}{#2}{#3}% + }% +} +\def\TrackLangIfAlphaNumericChar#1#2#3{% + \expandafter\ifx\expandafter\relax#1\relax + #3% + \else + \expandafter\@tracklang@hassecondchar#1\relax\relax + \@end@tracklang@hassecondchar + {#3}% + {\expandafter\@tracklang@ifalphanumeric#1{#2}{#3}}% + \fi +} +\def\TrackLangIfLanguageTag#1#2#3{% + \expandafter\@tracklang@hasthirdchar#1\relax\relax\relax + \@end@tracklang@hasthirdchar + {% + \expandafter\@tracklang@hasfourthchar#1\relax\@end@tracklang@hasfourthchar + {#3}% + {% + \expandafter\@tracklang@iflanguage@iii@tag#1{#2}{#3}% + }% + }% + {% + \expandafter\@tracklang@hassecondchar#1\relax\relax + \@end@tracklang@hassecondchar + {% + \expandafter\@tracklang@iflanguage@ii@tag#1{#2}{#3}% + }% + {#3}% + }% +} +\def\@tracklang@iflanguage@ii@tag#1#2#3#4{% + \ifnum\lccode`#1=`#1\relax + \ifnum\lccode`#2=`#2\relax + #3% + \else + #4% + \fi + \else + #4% + \fi +} +\def\@tracklang@iflanguage@iii@tag#1#2#3#4#5{% + \ifnum\lccode`#1=`#1\relax + \ifnum\lccode`#2=`#2\relax + \ifnum\lccode`#3=`#3\relax + #4% + \else + #5% + \fi + \else + #5% + \fi + \else + #5% + \fi +} +\def\TrackLangIfRegionTag#1#2#3{% + \expandafter\@tracklang@hasthirdchar#1\relax\relax\relax + \@end@tracklang@hasthirdchar + {% + \expandafter\@tracklang@hasfourthchar#1\relax\@end@tracklang@hasfourthchar + {% + #3% + }% + {% + \@tracklang@ifalldigits{#1}{#2}{#3}% + }% + }% + {% + \expandafter\@tracklang@hassecondchar#1\relax\relax + \@end@tracklang@hassecondchar + {% + \expandafter\@tracklang@ifregion@ii@tag#1{#2}{#3}% + }% + {#3}% + }% +} +\def\@tracklang@ifregion@ii@tag#1#2#3#4{% + \ifnum\uccode`#1=`#1\relax + \ifnum\uccode`#2=`#2\relax + #3% + \else + #4% + \fi + \else + #4% + \fi +} +\def\@tracklang@ifregion@iii@tag#1#2#3#4#5{% + \ifnum\uccode`#1=`#1\relax + \ifnum\uccode`#2=`#2\relax + \ifnum\uccode`#3=`#3\relax + #4% + \else + #5% + \fi + \else + #5% + \fi + \else + #5% + \fi +} +\def\TrackLangIfScriptTag#1#2#3{% + \expandafter\@tracklang@hasfifthchar#1\relax\relax\relax\relax\relax + \@end@tracklang@hasfifthchar + {#3}% + {% + \expandafter\@tracklang@hasfourthchar#1\relax\relax\relax\relax + \@end@tracklang@hasfourthchar + {% + \expandafter\@tracklang@ifscripttag#1{#2}{#3}% + }% + {#3}% + }% +} +\def\@tracklang@ifscripttag#1#2#3#4#5#6{% + \ifnum\uccode`#1=`#1\relax + \ifnum\lccode`#2=`#2\relax + \ifnum\lccode`#3=`#3\relax + \ifnum\lccode`#4=`#4\relax + #5% + \else + #6% + \fi + \else + #6% + \fi + \else + #6% + \fi + \else + #6% + \fi +} +\def\TrackLangIfVariantTag#1#2#3{% + \expandafter\@tracklang@hasfifthchar#1\relax\relax\relax\relax\relax + \@end@tracklang@hasfifthchar + {% + \expandafter\@tracklang@hasninthchar#1\relax\relax\relax\relax\relax + \relax\relax\relax\relax + \@end@tracklang@hasninthchar + {#3}% + {#2}% + }% + {% + \expandafter\@tracklang@hasfourthchar#1\relax\relax\relax\relax + \@end@tracklang@hasfourthchar + {% + \expandafter\@tracklang@ifvariant@iv@tag#1{#2}{#3}% + }% + {#3}% + }% +} +\def\@tracklang@ifvariant@iv@tag#1#2#3#4#5#6{% + \@tracklang@ifdigit{#1}% + {#5} + {#6}% +} +\def\@tracklang@parse@extlang{% + \TrackLangIfLanguageTag{\@tracklang@split@pre} + {% + \ifx\@TrackLangEnvSubLang\empty + \let\@TrackLangEnvSubLang\@tracklang@split@pre + \let\@TrackLangEnvFirstSubLang\@TrackLangEnvSubLang + \else + \edef\@TrackLangEnvSubLang{\@TrackLangEnvSubLang-\@tracklang@split@pre}% + \fi + \ifx\@tracklang@split@post\empty + \else + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@split@post}% + \ifx\@tracklang@split@pre\empty + \else + \@tracklang@parse@extlang + \fi + \fi + }% + {}% +} +\def\@tracklang@parse@variant{% + \TrackLangIfVariantTag{\@tracklang@split@pre} + {% + \ifx\@TrackLangEnvVariant\empty + \let\@TrackLangEnvVariant\@tracklang@split@pre + \else + \edef\@TrackLangEnvVariant{\@TrackLangEnvVariant + -\@tracklang@split@pre}% + \fi + \ifx\@tracklang@split@post\empty + \else + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@split@post}% + \ifx\@tracklang@split@pre\empty + \else + \@tracklang@parse@variant + \fi + \fi + }% + {}% +} +\def\TrackLanguageTag#1{% + \edef\@tracklang@tag{#1}% + \ifx\@tracklang@tag\empty + \@tracklang@warn{Empty tag in \string\TrackLanguageTag}% + \else + \expandafter\@TrackLanguageTag\expandafter{\@tracklang@tag}% + \fi +} +\def\@TrackLanguageTag#1{% + \@tracklang@ifundef{@tracklang@add@#1}% + {% + \@tracklang@parselangtag{#1}% + \@tracklang@track@locale + }% + {% + \@tracklang@nameuse{@tracklang@add@#1}% + }% +} +\def\@tracklang@parselangtag#1{% + \def\@TrackLangEnvLang{}% + \def\@TrackLangEnvSubLang{}% + \def\@TrackLangEnvFirstSubLang{}% + \def\@TrackLangEnvTerritory{}% + \def\@TrackLangEnvCodeSet{}% + \def\@TrackLangEnvVariant{}% + \def\@TrackLangEnvModifier{}% + \def\@TrackLangEnvScript{}% + \def\@TrackLangEnvAdditional{}% + \@tracklang@split@underscoreorhyp{#1}% + \let\@TrackLangEnvLang\@tracklang@split@pre + \ifx\@tracklang@split@post\empty + \else + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@split@post}% + \@tracklang@parse@extlang + \TrackLangIfScriptTag{\@tracklang@split@pre}% + {% + \let\@TrackLangEnvScript\@tracklang@split@pre + \ifx\@tracklang@split@post\empty + \else + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@split@post}% + \fi + }% + {}% + \TrackLangIfRegionTag{\@tracklang@split@pre}% + {% + \expandafter\@tracklang@hasthirdchar\@tracklang@split@pre + \relax\relax\relax + \@end@tracklang@hasthirdchar + {% + \ifx\TrackLangIfKnownNumericRegion\undefined + \@tracklang@input tracklang-region-codes.tex + \fi + \TrackLangIfKnownNumericRegion{\@tracklang@split@pre}% + {% + \edef\@TrackLangEnvTerritory{% + \TrackLangNumericToAlphaIIRegion{\@tracklang@split@pre}% + }% + }% + {% + \let\@TrackLangEnvTerritory\@tracklang@split@pre + \@tracklang@warn{Unrecognised numeric region code + `\@tracklang@split@pre'}% + }% + }% + {% + \let\@TrackLangEnvTerritory\@tracklang@split@pre + }% + \expandafter\@tracklang@split@underscoreorhyp\expandafter + {\@tracklang@split@post}% + }% + {}% + \@tracklang@parse@variant + \let\@TrackLangEnvAdditional\@tracklang@split@post + \fi +}% +\def\GetTrackedDialectFromLanguageTag#1#2{% + \def#2{}% + \@tracklang@parselangtag{#1}% + \edef\@tracklang@dialect{% + \@TrackLangEnvLang + \@TrackLangEnvSubLang + \@TrackLangEnvScript + \@TrackLangEnvTerritory + \@TrackLangEnvModifier + \@TrackLangEnvVariant}% + \IfTrackedDialect{\@tracklang@dialect}% + {% + \let#2\@tracklang@dialect + }% + {% + \edef\@tracklang@lang{\TrackLangGetKnownLangFromIso\@TrackLangEnvLang}% + \edef\@tracklang@defscript{\TrackLangGetDefaultScript\@tracklang@lang}% + \edef\@tracklang@dialects{\TrackedDialectsFromLanguage\@tracklang@lang}% + \@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{% + \edef\@tracklang@tmp{% + \TrackedIsoCodeFromLanguage{3166-1}{\@tracklang@dialect}}% + \ifx\@tracklang@tmp\@TrackLangEnvTerritory + \edef\@tracklang@tmp{% + \GetTrackedDialectSubLang{\@tracklang@dialect}}% + \ifx\@tracklang@tmp\@TrackLangEnvSubLang + \edef\@tracklang@tmp{% + \GetTrackedDialectVariant{\@tracklang@dialect}}% + \ifx\@tracklang@tmp\@TrackLangEnvVariant + \edef\@tracklang@tmp{% + \GetTrackedDialectScript{\@tracklang@dialect}}% + \ifx\@tracklang@tmp\@TrackLangEnvScript + \let#2\@tracklang@dialect + \else + \ifx\@TrackLangEnvScript\empty + \ifx\@tracklang@tmp\@tracklang@defscript + \let#2\@tracklang@dialect + \fi + \fi + \fi + \fi + \fi + \fi + }% + }% +} +\def\TrackLangFromEnv{% + \def\TrackLangEnvLang{}% + \def\TrackLangEnvTerritory{}% + \def\TrackLangEnvCodeSet{}% + \def\TrackLangEnvModifier{}% + \ifx\TrackLangEnv\undefined + \TrackLangQueryEnv + \fi + \ifx\TrackLangEnv\empty + \@tracklang@warn{\string\TrackLangFromEnv\space + non-operational as \string\TrackLangEnv\space is empty}% + \else + \ifx\TrackLangEnv\undefined + \@tracklang@warn{\string\TrackLangFromEnv\space + non-operational as \string\TrackLangEnv\space hasn't been + defined}% + \else + \@tracklang@parse@track@locale{\TrackLangEnv}% + \let\TrackLangEnvLang\@TrackLangEnvLang + \let\TrackLangEnvTerritory\@TrackLangEnvTerritory + \let\TrackLangEnvCodeSet\@TrackLangEnvCodeSet + \let\TrackLangEnvModifier\@TrackLangEnvModifier + \fi + \fi +} +\def\TrackLocale#1{% + \@tracklang@ifundef{@tracklang@add@#1}% + {% + \@tracklang@parse@track@locale{#1}% + }% + {% + \@tracklang@nameuse{@tracklang@add@#1}% + }% +} +\def\@tracklang@parse@track@locale#1{% + \@tracklang@parse@locale{#1}% + \@tracklang@track@locale +} +\def\@tracklang@track@locale{% + \TrackLangIfKnownLangFromIso{\@TrackLangEnvLang} + {% + \edef\@tracklang@lang{\TrackLangGetKnownLangFromIso\@TrackLangEnvLang}% + \let\@tracklang@dialect\@TrackLangEnvLang + \ifx\@TrackLangEnvSubLang\empty + \else + \edef\@tracklang@dialect{\@tracklang@dialect-\@TrackLangEnvSubLang}% + \fi + \ifx\@TrackLangEnvScript\empty + \else + \edef\@tracklang@dialect{\@tracklang@dialect-\@TrackLangEnvScript}% + \fi + \ifx\@TrackLangEnvTerritory\empty + \else + \edef\@tracklang@dialect{\@tracklang@dialect-\@TrackLangEnvTerritory}% + \fi + \ifx\@TrackLangEnvModifier\empty + \else + \edef\@tracklang@dialect{\@tracklang@dialect-\@TrackLangEnvModifier}% + \fi + \ifx\@TrackLangEnvVariant\empty + \else + \edef\@tracklang@dialect{\@tracklang@dialect-\@TrackLangEnvVariant}% + \fi + \@tracklang@ifundef{@tracklang@add@\@tracklang@dialect}% + {% + \edef\@tracklang@dialect{% + \@TrackLangEnvLang + \@TrackLangEnvSubLang + \@TrackLangEnvScript + \@TrackLangEnvTerritory + \@TrackLangEnvModifier + \@TrackLangEnvVariant}% + \AddTrackedDialect{\@tracklang@dialect}{\@tracklang@lang}% + \AddTrackedLanguageIsoCodes{\@tracklang@lang}% + \ifx\@TrackLangEnvFirstSubLang\empty + \else + \expandafter\AddTrackedIsoLanguage + \expandafter\ThreeLetterExtIsoLanguageCode + \expandafter{\@TrackLangEnvFirstSubLang}% + {\@tracklang@dialect}% + \fi + }% + {% + \csname @tracklang@add@\@tracklang@dialect\endcsname + }% + }% + {% + \@tracklang@warn{Unknown language code `\@TrackLangEnvLang'}% + \edef\@tracklang@dialect{% + \@TrackLangEnvLang + \@TrackLangEnvSubLang + \@TrackLangEnvScript + \@TrackLangEnvTerritory + \@TrackLangEnvModifier + \@TrackLangEnvVariant}% + \AddTrackedDialect{\@tracklang@dialect}{\@TrackLangEnvLang}% + \expandafter\@tracklang@hasthirdchar + \@TrackLangEnvLang\relax\relax\relax\@end@tracklang@hasthirdchar + {% + \AddTrackedIsoLanguage{639-2}{\@TrackLangEnvLang}{\@tracklang@lang}% + }% + {% + \AddTrackedIsoLanguage{639-1}{\@TrackLangEnvLang}{\@tracklang@lang}% + }% + }% + \ifx\@TrackLangEnvTerritory\empty + \else + \AddTrackedIsoLanguage{3166-1}{\@TrackLangEnvTerritory}% + {\@tracklang@dialect}% + \fi + \ifx\@TrackLangEnvModifier\empty + \else + \SetTrackedDialectModifier{\@tracklang@dialect}{\@TrackLangEnvModifier}% + \fi + \ifx\@TrackLangEnvVariant\empty + \else + \SetTrackedDialectVariant{\@tracklang@dialect}{\@TrackLangEnvVariant}% + \fi + \ifx\@TrackLangEnvScript\empty + \else + \SetTrackedDialectScript{\@tracklang@dialect}{\@TrackLangEnvScript}% + \fi + \ifx\@TrackLangEnvSubLang\empty + \else + \SetTrackedDialectSubLang{\@tracklang@dialect}{\@TrackLangEnvSubLang}% + \fi + \ifx\@TrackLangEnvAdditional\empty + \else + \SetTrackedDialectAdditional{\@tracklang@dialect}{\@TrackLangEnvAdditional}% + \fi +} \ifx\@tracklang@declareoption\undefined \def\@tracklang@declareoption#1{} \fi -\def\@tracklang@add@acadian{% - \AddTrackedDialect{acadian}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% -} -\@tracklang@declareoption{acadian} -\def\@tracklang@add@afrikaans{% - \AddTrackedLanguage{afrikaans}% - \AddTrackedIsoLanguage{639-1}{af}{afrikaans}% - \AddTrackedIsoLanguage{639-2}{afr}{afrikaans}% -} -\@tracklang@declareoption{afrikaans} -\def\@tracklang@add@albanian{% - \AddTrackedLanguage{albanian}% - \AddTrackedIsoLanguage{639-1}{sq}{albanian}% - \AddTrackedIsoLanguage{639-2-B}{alb}{albanian}% - \AddTrackedIsoLanguage{639-2-T}{sqi}{albanian}% - \AddTrackedIsoLanguage{639-2}{sqi}{albanian}% -} -\@tracklang@declareoption{albanian} -\def\@tracklang@add@amharic{% - \AddTrackedLanguage{amharic}% - \AddTrackedIsoLanguage{639-1}{am}{amharic}% - \AddTrackedIsoLanguage{639-2}{amh}{amharic}% -} -\@tracklang@declareoption{amharic} -\def\@tracklang@add@anglosaxon{% - \AddTrackedLanguage{anglosaxon}% - \AddTrackedIsoLanguage{639-2}{ang}{anglosaxon}% -} -\@tracklang@declareoption{anglosaxon} -\def\@tracklang@add@apache{% - \AddTrackedLanguage{apache}% - \AddTrackedIsoLanguage{639-2}{apa}{apache}% -} -\@tracklang@declareoption{apache} -\def\@tracklang@add@arabic{% - \AddTrackedLanguage{arabic}% - \AddTrackedIsoLanguage{639-1}{ar}{arabic}% - \AddTrackedIsoLanguage{639-2}{ara}{arabic}% -} -\@tracklang@declareoption{arabic} -\def\@tracklang@add@armenian{% - \AddTrackedLanguage{armenian}% - \AddTrackedIsoLanguage{639-1}{hy}{armenian}% - \AddTrackedIsoLanguage{639-2-B}{arm}{armenian}% - \AddTrackedIsoLanguage{639-2-T}{hye}{armenian}% - \AddTrackedIsoLanguage{639-2}{hye}{armenian}% -} -\@tracklang@declareoption{armenian} -\def\@tracklang@add@asturian{% - \AddTrackedLanguage{asturian}% - \AddTrackedIsoLanguage{639-2}{ast}{asturian}% -} -\@tracklang@declareoption{asturian} -\def\@tracklang@add@american{% - \AddTrackedDialect{american}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{US}{american}% -} -\@tracklang@declareoption{american} -\def\@tracklang@add@australian{% - \AddTrackedDialect{australian}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{AU}{australian}% -} -\@tracklang@declareoption{australian} -\def\@tracklang@add@austrian{% - \AddTrackedDialect{austrian}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% - \AddTrackedIsoLanguage{3166-1}{AT}{austrian}% -} -\@tracklang@declareoption{austrian} -\def\@tracklang@add@naustrian{% - \AddTrackedDialect{naustrian}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% - \AddTrackedIsoLanguage{3166-1}{AT}{naustrian}% -} -\@tracklang@declareoption{naustrian} -\def\@tracklang@add@bahasa{% - \AddTrackedDialect{bahasa}{bahasai}% - \AddTrackedIsoLanguage{639-1}{id}{bahasai}% - \AddTrackedIsoLanguage{639-2}{ind}{bahasai}% - \AddTrackedIsoLanguage{3166-1}{IN}{bahasa}% -} -\@tracklang@declareoption{bahasa} -\def\@tracklang@add@bahasai{% - \AddTrackedDialect{bahasai}{bahasai}% - \AddTrackedIsoLanguage{639-1}{id}{bahasai}% - \AddTrackedIsoLanguage{639-2}{ind}{bahasai}% - \AddTrackedIsoLanguage{3166-1}{IN}{bahasai}% -} -\@tracklang@declareoption{bahasai} -\def\@tracklang@add@bahasam{% - \AddTrackedLanguage{bahasam}% - \AddTrackedIsoLanguage{639-1}{ms}{bahasam}% - \AddTrackedIsoLanguage{639-2-B}{may}{bahasam}% - \AddTrackedIsoLanguage{639-2-T}{msa}{bahasam}% - \AddTrackedIsoLanguage{639-2}{msa}{bahasam}% - \AddTrackedIsoLanguage{3166-1}{MY}{bahasam}% -} -\@tracklang@declareoption{bahasam} -\def\@tracklang@add@basque{% - \AddTrackedLanguage{basque}% - \AddTrackedIsoLanguage{639-1}{eu}{basque}% - \AddTrackedIsoLanguage{639-2-B}{baq}{basque}% - \AddTrackedIsoLanguage{639-2-T}{eus}{basque}% - \AddTrackedIsoLanguage{639-2}{eus}{basque}% -} -\@tracklang@declareoption{basque} -\def\@tracklang@add@bengali{% - \AddTrackedLanguage{bengali}% - \AddTrackedIsoLanguage{639-1}{bn}{bengali}% - \AddTrackedIsoLanguage{639-2}{ben}{bengali}% -} -\@tracklang@declareoption{bengali} -\def\@tracklang@add@brazil{% - \AddTrackedDialect{brazil}{portuges}% - \AddTrackedIsoLanguage{639-1}{pt}{portuges}% - \AddTrackedIsoLanguage{639-2}{por}{portuges}% - \AddTrackedIsoLanguage{3166-1}{BR}{brazil}% -} -\@tracklang@declareoption{brazil} -\def\@tracklang@add@brazilian{% - \AddTrackedDialect{brazilian}{portuges}% - \AddTrackedIsoLanguage{639-1}{pt}{portuges}% - \AddTrackedIsoLanguage{639-2}{por}{portuges}% - \AddTrackedIsoLanguage{3166-1}{BR}{brazilian}% -} -\@tracklang@declareoption{brazilian} -\def\@tracklang@add@breton{% - \AddTrackedLanguage{breton}% - \AddTrackedIsoLanguage{639-1}{br}{breton}% - \AddTrackedIsoLanguage{639-2}{bre}{breton}% - \AddTrackedIsoLanguage{3166-1}{FR}{breton}% -} -\@tracklang@declareoption{breton} -\def\@tracklang@add@british{% - \AddTrackedDialect{british}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{GB}{british}% -} -\@tracklang@declareoption{british} -\def\@tracklang@add@bulgarian{% - \AddTrackedLanguage{bulgarian}% - \AddTrackedIsoLanguage{639-1}{bg}{bulgarian}% - \AddTrackedIsoLanguage{639-2}{bul}{bulgarian}% -} -\@tracklang@declareoption{bulgarian} -\def\@tracklang@add@canadian{% - \AddTrackedDialect{canadian}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{CA}{canadian}% -} -\@tracklang@declareoption{canadian} -\def\@tracklang@add@canadien{% - \AddTrackedDialect{canadien}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{CA}{canadien}% -} -\@tracklang@declareoption{canadien} -\def\@tracklang@add@catalan{% - \AddTrackedLanguage{catalan}% - \AddTrackedIsoLanguage{639-1}{ca}{catalan}% - \AddTrackedIsoLanguage{639-2}{cat}{catalan}% -} -\@tracklang@declareoption{catalan} -\def\@tracklang@add@coptic{% - \AddTrackedLanguage{coptic}% - \AddTrackedIsoLanguage{639-2}{cop}{coptic}% -} -\@tracklang@declareoption{coptic} -\def\@tracklang@add@croatian{% - \AddTrackedLanguage{croatian}% - \AddTrackedIsoLanguage{639-1}{hr}{croatian}% - \AddTrackedIsoLanguage{639-2}{hrv}{croatian}% -} -\@tracklang@declareoption{croatian} -\def\@tracklang@add@croatia{% - \AddTrackedDialect{croatia}{croatian}% - \AddTrackedIsoLanguage{639-1}{hr}{croatian}% - \AddTrackedIsoLanguage{639-2}{hrv}{croatian}% - \AddTrackedIsoLanguage{3166-1}{HR}{croatia}% -} -\@tracklang@declareoption{croatia} -\def\@tracklang@add@istriacountycroatian{% - \AddTrackedDialect{istriacountycroatian}{croatian}% - \AddTrackedIsoLanguage{639-1}{hr}{croatian}% - \AddTrackedIsoLanguage{639-2}{hrv}{croatian}% - \AddTrackedIsoLanguage{3166-1}{HR}{istriacountycroatian}% -} -\@tracklang@declareoption{istriacountycroatian} -\def\@tracklang@add@istriacountyitalian{% - \AddTrackedDialect{istriacountyitalian}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{HR}{istriacountyitalian}% -} -\@tracklang@declareoption{istriacountyitalian} -\def\@tracklang@add@czech{% - \AddTrackedLanguage{czech}% - \AddTrackedIsoLanguage{639-1}{cs}{czech}% - \AddTrackedIsoLanguage{639-2-B}{cze}{czech}% - \AddTrackedIsoLanguage{639-2-T}{ces}{czech}% - \AddTrackedIsoLanguage{639-2}{ces}{czech}% -} -\@tracklang@declareoption{czech} -\def\@tracklang@add@danish{% - \AddTrackedLanguage{danish}% - \AddTrackedIsoLanguage{639-1}{da}{danish}% - \AddTrackedIsoLanguage{639-2}{dan}{danish}% -} -\@tracklang@declareoption{danish} -\def\@tracklang@add@divehi{% - \AddTrackedLanguage{divehi}% - \AddTrackedIsoLanguage{639-1}{dv}{divehi}% - \AddTrackedIsoLanguage{639-2}{div}{divehi}% -} -\@tracklang@declareoption{divehi} -\def\@tracklang@add@dutch{% - \AddTrackedLanguage{dutch}% - \AddTrackedIsoLanguage{639-1}{nl}{dutch}% - \AddTrackedIsoLanguage{639-2-B}{dut}{dutch}% - \AddTrackedIsoLanguage{639-2-T}{nld}{dutch}% - \AddTrackedIsoLanguage{639-2}{nld}{dutch}% -} -\@tracklang@declareoption{dutch} -\def\@tracklang@add@netherlands{% - \AddTrackedDialect{netherlands}{dutch}% - \AddTrackedIsoLanguage{639-1}{nl}{dutch}% - \AddTrackedIsoLanguage{639-2-B}{dut}{dutch}% - \AddTrackedIsoLanguage{639-2-T}{nld}{dutch}% - \AddTrackedIsoLanguage{639-2}{nld}{dutch}% - \AddTrackedIsoLanguage{3166-1}{NL}{netherlands}% -} -\@tracklang@declareoption{netherlands} -\def\@tracklang@add@english{% - \AddTrackedLanguage{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% -} -\@tracklang@declareoption{english} -\def\@tracklang@add@esperanto{% - \AddTrackedLanguage{esperanto}% - \AddTrackedIsoLanguage{639-1}{eo}{esperanto}% - \AddTrackedIsoLanguage{639-2}{epo}{esperanto}% -} -\@tracklang@declareoption{esperanto} -\def\@tracklang@add@estonian{% - \AddTrackedLanguage{estonian}% - \AddTrackedIsoLanguage{639-1}{et}{estonian}% - \AddTrackedIsoLanguage{639-2}{est}{estonian}% -} -\@tracklang@declareoption{estonian} -\def\@tracklang@add@farsi{% - \AddTrackedLanguage{farsi}% - \AddTrackedIsoLanguage{639-1}{fa}{farsi}% - \AddTrackedIsoLanguage{639-2-B}{per}{farsi}% - \AddTrackedIsoLanguage{639-2-T}{fas}{farsi}% - \AddTrackedIsoLanguage{639-2}{fas}{farsi}% -} -\@tracklang@declareoption{farsi} -\def\@tracklang@add@persian{% - \AddTrackedDialect{persian}{farsi}% - \AddTrackedIsoLanguage{639-1}{fa}{farsi}% - \AddTrackedIsoLanguage{639-2-B}{per}{farsi}% - \AddTrackedIsoLanguage{639-2-T}{fas}{farsi}% - \AddTrackedIsoLanguage{639-2}{fas}{farsi}% -} -\@tracklang@declareoption{persian} -\def\@tracklang@add@finnish{% - \AddTrackedLanguage{finnish}% - \AddTrackedIsoLanguage{639-1}{fi}{finnish}% - \AddTrackedIsoLanguage{639-2}{fin}{finnish}% -} -\@tracklang@declareoption{finnish} -\def\@tracklang@add@flemish{% - \AddTrackedDialect{flemish}{dutch}% - \AddTrackedIsoLanguage{639-1}{nl}{dutch}% - \AddTrackedIsoLanguage{639-2-B}{dut}{dutch}% - \AddTrackedIsoLanguage{639-2-T}{nld}{dutch}% - \AddTrackedIsoLanguage{639-2}{nld}{dutch}% - \AddTrackedIsoLanguage{3166-1}{BE}{flemish}% -} -\@tracklang@declareoption{flemish} -\def\@tracklang@add@francais{% - \AddTrackedDialect{francais}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% -} -\@tracklang@declareoption{francais} -\def\@tracklang@add@frenchb{% - \AddTrackedDialect{frenchb}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% -} -\@tracklang@declareoption{frenchb} -\def\@tracklang@add@french{% - \AddTrackedLanguage{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% -} -\@tracklang@declareoption{french} -\def\@tracklang@add@france{% - \AddTrackedDialect{france}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{FR}{france}% -} -\@tracklang@declareoption{france} -\def\@tracklang@add@belgique{% - \AddTrackedDialect{belgique}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{BE}{belgique}% -} -\@tracklang@declareoption{belgique} -\def\@tracklang@add@belgiangerman{% - \AddTrackedDialect{belgiangerman}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% - \AddTrackedIsoLanguage{3166-1}{BE}{belgiangerman}% -} -\@tracklang@declareoption{belgiangerman} -\def\@tracklang@add@friulan{% - \AddTrackedLanguage{friulan}% - \AddTrackedIsoLanguage{639-2}{fur}{friulan}% - \AddTrackedIsoLanguage{3166-1}{IT}{friulan}% -} -\@tracklang@declareoption{friulan} -\def\@tracklang@add@friulian{% - \AddTrackedDialect{friulian}{friulan}% - \AddTrackedIsoLanguage{639-2}{fur}{friulan}% - \AddTrackedIsoLanguage{3166-1}{IT}{friulan}% -} -\@tracklang@declareoption{friulian} -\def\@tracklang@add@friulano{% - \AddTrackedDialect{friulano}{friulan}% - \AddTrackedIsoLanguage{639-2}{fur}{friulan}% - \AddTrackedIsoLanguage{3166-1}{IT}{friulan}% -} -\@tracklang@declareoption{friulano} -\def\@tracklang@add@galician{% - \AddTrackedLanguage{galician}% - \AddTrackedIsoLanguage{639-1}{gl}{galician}% - \AddTrackedIsoLanguage{639-2}{glg}{galician}% -} -\@tracklang@declareoption{galician} -\def\@tracklang@add@galicien{% - \AddTrackedDialect{galicien}{galician}% - \AddTrackedIsoLanguage{639-1}{gl}{galician}% - \AddTrackedIsoLanguage{639-2}{glg}{galician}% -} -\@tracklang@declareoption{galicien} -\def\@tracklang@add@german{% - \AddTrackedLanguage{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% -} -\@tracklang@declareoption{german} -\def\@tracklang@add@deutsch{% - \AddTrackedDialect{deutsch}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% -} -\@tracklang@declareoption{deutsch} -\def\@tracklang@add@ngerman{% - \AddTrackedDialect{ngerman}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% -} -\@tracklang@declareoption{ngerman} -\def\@tracklang@add@ngermanDE{% - \AddTrackedDialect{ngerman}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% - \AddTrackedIsoLanguage{3166-1}{DE}{germany}% -} -\@tracklang@declareoption{ngermanDE} -\def\@tracklang@add@greek{% - \AddTrackedLanguage{greek}% - \AddTrackedIsoLanguage{639-1}{el}{greek}% - \AddTrackedIsoLanguage{639-2-B}{gre}{greek}% - \AddTrackedIsoLanguage{639-2-T}{ell}{greek}% - \AddTrackedIsoLanguage{639-2}{ell}{greek}% -} -\@tracklang@declareoption{greek} -\def\@tracklang@add@hebrew{% - \AddTrackedLanguage{hebrew}% - \AddTrackedIsoLanguage{639-1}{he}{hebrew}% - \AddTrackedIsoLanguage{639-2}{heb}{hebrew}% -} -\@tracklang@declareoption{hebrew} -\def\@tracklang@add@hindi{% - \AddTrackedLanguage{hindi}% - \AddTrackedIsoLanguage{639-1}{hi}{hindi}% - \AddTrackedIsoLanguage{639-2}{hin}{hindi}% -} -\@tracklang@declareoption{hindi} -\def\@tracklang@add@hungarian{% - \AddTrackedDialect{hungarian}{magyar}% - \AddTrackedIsoLanguage{639-1}{hu}{magyar}% - \AddTrackedIsoLanguage{639-2}{hun}{magyar}% - \AddTrackedIsoLanguage{3166-1}{HU}{hungarian}% -} -\@tracklang@declareoption{hungarian} -\def\@tracklang@add@magyar{% - \AddTrackedLanguage{magyar}% - \AddTrackedIsoLanguage{639-1}{hu}{magyar}% - \AddTrackedIsoLanguage{639-2}{hun}{magyar}% -} -\@tracklang@declareoption{magyar} -\def\@tracklang@add@icelandic{% - \AddTrackedLanguage{icelandic}% - \AddTrackedIsoLanguage{639-1}{is}{icelandic}% - \AddTrackedIsoLanguage{639-2-B}{ice}{icelandic}% - \AddTrackedIsoLanguage{639-2-T}{isl}{icelandic}% - \AddTrackedIsoLanguage{639-2}{isl}{icelandic}% -} -\@tracklang@declareoption{icelandic} -\def\@tracklang@add@indon{% - \AddTrackedDialect{indon}{bahasai}% - \AddTrackedIsoLanguage{639-1}{id}{bahasai}% - \AddTrackedIsoLanguage{639-2}{ind}{bahasai}% - \AddTrackedIsoLanguage{3166-1}{IN}{indon}% -} -\@tracklang@declareoption{indon} -\def\@tracklang@add@indonesian{% - \AddTrackedDialect{indonesian}{bahasai}% - \AddTrackedIsoLanguage{639-1}{id}{bahasai}% - \AddTrackedIsoLanguage{639-2}{ind}{bahasai}% - \AddTrackedIsoLanguage{3166-1}{IN}{indonesian}% -} -\@tracklang@declareoption{indonesian} -\def\@tracklang@add@interlingua{% - \AddTrackedLanguage{interlingua}% - \AddTrackedIsoLanguage{639-1}{ia}{interlingua}% - \AddTrackedIsoLanguage{639-2}{ina}{interlingua}% -} -\@tracklang@declareoption{interlingua} -\def\@tracklang@add@irish{% - \AddTrackedLanguage{irish}% - \AddTrackedIsoLanguage{639-1}{ga}{irish}% - \AddTrackedIsoLanguage{639-2}{gle}{irish}% -} -\@tracklang@declareoption{irish} -\def\@tracklang@add@gaeilge{% - \AddTrackedDialect{gaeilge}{irish}% - \AddTrackedIsoLanguage{639-1}{ga}{irish}% - \AddTrackedIsoLanguage{639-2}{gle}{irish}% -} -\@tracklang@declareoption{gaeilge} -\def\@tracklang@add@IEirish{% - \AddTrackedDialect{IEirish}{irish}% - \AddTrackedIsoLanguage{639-1}{ga}{irish}% - \AddTrackedIsoLanguage{639-2}{gle}{irish}% - \AddTrackedIsoLanguage{3166-1}{IE}{IEirish}% -} -\@tracklang@declareoption{IEirish} -\def\@tracklang@add@GBirish{% - \AddTrackedDialect{GBirish}{irish}% - \AddTrackedIsoLanguage{639-1}{ga}{irish}% - \AddTrackedIsoLanguage{639-2}{gle}{irish}% - \AddTrackedIsoLanguage{3166-1}{GB}{GBirish}% -} -\@tracklang@declareoption{GBirish} -\@tracklang@declareoption{IEenglish} -\def\@tracklang@add@IEenglish{% - \AddTrackedDialect{IEenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{IE}{IEenglish}% -} -\@tracklang@declareoption{IEenglish} -\def\@tracklang@add@italian{% - \AddTrackedLanguage{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% -} -\@tracklang@declareoption{italian} -\def\@tracklang@add@italy{% - \AddTrackedDialect{italy}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{IT}{italy}% -} -\@tracklang@declareoption{italy} -\def\@tracklang@add@vatican{% - \AddTrackedDialect{vatican}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{VA}{vatican}% -} -\@tracklang@declareoption{vatican} -\def\@tracklang@add@sanmarino{% - \AddTrackedDialect{sanmarino}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{SM}{sanmarino}% -} -\@tracklang@declareoption{sanmarino} -\def\@tracklang@add@sloveneistriaitalian{% - \AddTrackedDialect{sloveneistriaitalian}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{SI}{sloveneistriaitalian}% -} -\@tracklang@declareoption{sloveneistriaitalian} -\def\@tracklang@add@jerseyenglish{% - \AddTrackedDialect{jerseyenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{JE}{jerseyenglish}% -} -\@tracklang@declareoption{jerseyenglish} -\def\@tracklang@add@jerseyfrench{% - \AddTrackedDialect{jerseyfrench}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{JE}{jerseyfrench}% -} -\@tracklang@declareoption{jerseyfrench} -\def\@tracklang@add@guernseyenglish{% - \AddTrackedDialect{guernseyenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{GG}{guernseyenglish}% -} -\@tracklang@declareoption{guernseyenglish} -\def\@tracklang@add@guernseyfrench{% - \AddTrackedDialect{guernseyfrench}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{GG}{guernseyfrench}% -} -\@tracklang@declareoption{guernseyfrench} -\def\@tracklang@add@kannada{% - \AddTrackedLanguage{kannada}% - \AddTrackedIsoLanguage{639-1}{kn}{kannada}% - \AddTrackedIsoLanguage{639-2}{kan}{kannada}% -} -\@tracklang@declareoption{kannada} -\def\@tracklang@add@lao{% - \AddTrackedLanguage{lao}% - \AddTrackedIsoLanguage{639-1}{lo}{lao}% - \AddTrackedIsoLanguage{639-2}{lao}{lao}% -} -\@tracklang@declareoption{lao} -\def\@tracklang@add@latin{% - \AddTrackedLanguage{latin}% - \AddTrackedIsoLanguage{639-1}{la}{latin}% - \AddTrackedIsoLanguage{639-2}{lat}{latin}% -} -\@tracklang@declareoption{latin} -\def\@tracklang@add@latein{% - \AddTrackedDialect{latein}{latin}% - \AddTrackedIsoLanguage{639-1}{la}{latin}% - \AddTrackedIsoLanguage{639-2}{lat}{latin}% -} -\@tracklang@declareoption{latein} -\def\@tracklang@add@latvian{% - \AddTrackedLanguage{latvian}% - \AddTrackedIsoLanguage{639-1}{lv}{latvian}% - \AddTrackedIsoLanguage{639-2}{lav}{latvian}% -} -\@tracklang@declareoption{latvian} -\def\@tracklang@add@lithuanian{% - \AddTrackedLanguage{lithuanian}% - \AddTrackedIsoLanguage{639-1}{lt}{lithuanian}% - \AddTrackedIsoLanguage{639-2}{lit}{lithuanian}% -} -\@tracklang@declareoption{lithuanian} -\def\@tracklang@add@lsorbian{% - \AddTrackedLanguage{lsorbian}% - \AddTrackedIsoLanguage{639-2}{dsb}{lsorbian}% - \AddTrackedIsoLanguage{3166-1}{DE}{lsorbian}% -} -\@tracklang@declareoption{lsorbian} -\def\@tracklang@add@lowersorbian{% - \AddTrackedDialect{lowersorbian}{lsorbian}% - \AddTrackedIsoLanguage{639-2}{dsb}{lsorbian}% - \AddTrackedIsoLanguage{3166-1}{DE}{lowersorbian}% -} -\@tracklang@declareoption{lowersorbian} -\def\@tracklang@add@malay{% - \AddTrackedDialect{malay}{bahasam}% - \AddTrackedIsoLanguage{639-1}{ms}{bahasam}% - \AddTrackedIsoLanguage{639-2-B}{may}{bahasam}% - \AddTrackedIsoLanguage{639-2-T}{msa}{bahasam}% - \AddTrackedIsoLanguage{639-2}{msa}{bahasam}% - \AddTrackedIsoLanguage{3166-1}{MY}{malay}% -} -\@tracklang@declareoption{malay} -\def\@tracklang@add@meyalu{% - \AddTrackedDialect{meyalu}{bahasam}% - \AddTrackedIsoLanguage{639-1}{ms}{bahasam}% - \AddTrackedIsoLanguage{639-2-B}{may}{bahasam}% - \AddTrackedIsoLanguage{639-2-T}{msa}{bahasam}% - \AddTrackedIsoLanguage{639-2}{msa}{bahasam}% - \AddTrackedIsoLanguage{3166-1}{MY}{meyalu}% -} -\@tracklang@declareoption{meyalu} -\def\@tracklang@add@maltese{% - \AddTrackedLanguage{maltese}% - \AddTrackedIsoLanguage{639-1}{mt}{maltese}% - \AddTrackedIsoLanguage{639-2}{mlt}{maltese}% -} -\@tracklang@declareoption{maltese} -\def\@tracklang@add@maltamaltese{% - \AddTrackedDialect{maltamaltese}{maltese}% - \AddTrackedIsoLanguage{639-1}{mt}{maltese}% - \AddTrackedIsoLanguage{639-2}{mlt}{maltese}% - \AddTrackedIsoLanguage{3166-1}{MT}{maltamaltese}% -} -\@tracklang@declareoption{maltamaltese} -\def\@tracklang@add@maltaenglish{% - \AddTrackedDialect{maltaenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{MT}{maltaenglish}% -} -\@tracklang@declareoption{maltaenglish} -\def\@tracklang@add@malayalam{% - \AddTrackedLanguage{malayalam}% - \AddTrackedIsoLanguage{639-1}{ml}{malayalam}% - \AddTrackedIsoLanguage{639-2}{mal}{malayalam}% -} -\@tracklang@declareoption{malayalam} -\def\@tracklang@add@marathi{% - \AddTrackedLanguage{marathi}% - \AddTrackedIsoLanguage{639-1}{mr}{marathi}% - \AddTrackedIsoLanguage{639-2}{mar}{marathi}% -} -\@tracklang@declareoption{marathi} -\def\@tracklang@add@newzealand{% - \AddTrackedDialect{newzealand}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{NZ}{newzealand}% -} -\@tracklang@declareoption{newzealand} -\def\@tracklang@add@isleofmanenglish{% - \AddTrackedDialect{isleofmanenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{IM}{isleofmanenglish}% -} -\@tracklang@declareoption{isleofmanenglish} -\def\@tracklang@add@manx{% - \AddTrackedLanguage{manx}% - \AddTrackedIsoLanguage{639-1}{gv}{manx}% - \AddTrackedIsoLanguage{639-2}{glv}{manx}% - \AddTrackedIsoLanguage{3166-1}{IM}{manx}% -} -\@tracklang@declareoption{manx} -\def\@tracklang@add@nko{% - \AddTrackedLanguage{nko}% - \AddTrackedIsoLanguage{639-2}{nqo}{nko}% -} -\@tracklang@declareoption{nko} -\def\@tracklang@add@nynorsk{% - \AddTrackedDialect{nynorsk}{norsk}% - \AddTrackedIsoLanguage{639-1}{nn}{norsk}% - \AddTrackedIsoLanguage{639-2}{nno}{norsk}% - \AddTrackedIsoLanguage{3166-1}{NO}{nynorsk}% -} -\@tracklang@declareoption{nynorsk} -\def\@tracklang@add@norwegian{% - \AddTrackedDialect{norwegian}{norsk}% - \AddTrackedIsoLanguage{639-1}{nn}{norsk}% - \AddTrackedIsoLanguage{639-2}{nno}{norsk}% - \AddTrackedIsoLanguage{3166-1}{NO}{norwegian}% -} -\@tracklang@declareoption{norwegian} -\def\@tracklang@add@norsk{% - \AddTrackedLanguage{norsk}% - \AddTrackedIsoLanguage{639-1}{nn}{norsk}% - \AddTrackedIsoLanguage{639-2}{nno}{norsk}% - \AddTrackedIsoLanguage{3166-1}{NO}{norsk}% -} -\@tracklang@declareoption{norsk} -\def\@tracklang@add@occitan{% - \AddTrackedLanguage{occitan}% - \AddTrackedIsoLanguage{639-1}{oc}{occitan}% - \AddTrackedIsoLanguage{639-2}{oci}{occitan}% -} -\@tracklang@declareoption{occitan} -\def\@tracklang@add@piedmontese{% - \AddTrackedLanguage{piedmontese}% - \AddTrackedIsoLanguage{3166-1}{IT}{piedmontese}% -} -\@tracklang@declareoption{piedmontese} -\def\@tracklang@add@piemonteis{% - \AddTrackedDialect{piemonteis}{piedmontese}% - \AddTrackedIsoLanguage{3166-1}{IT}{piemonteis}% -} -\@tracklang@declareoption{piemonteis} -\def\@tracklang@add@polish{% - \AddTrackedLanguage{polish}% - \AddTrackedIsoLanguage{639-1}{pl}{polish}% - \AddTrackedIsoLanguage{639-2}{pol}{polish}% -} -\@tracklang@declareoption{polish} -\def\@tracklang@add@polutonikogreek{% - \AddTrackedDialect{polutonikogreek}{greek}% - \AddTrackedIsoLanguage{639-1}{el}{greek}% - \AddTrackedIsoLanguage{639-2-B}{gre}{greek}% - \AddTrackedIsoLanguage{639-2-T}{ell}{greek}% - \AddTrackedIsoLanguage{639-2}{ell}{greek}% -} -\@tracklang@declareoption{polutonikogreek} -\def\@tracklang@add@polutoniko{% - \AddTrackedDialect{polutoniko}{greek}% - \AddTrackedIsoLanguage{639-1}{el}{greek}% - \AddTrackedIsoLanguage{639-2-B}{gre}{greek}% - \AddTrackedIsoLanguage{639-2-T}{ell}{greek}% - \AddTrackedIsoLanguage{639-2}{ell}{greek}% -} -\@tracklang@declareoption{polutoniko} -\def\@tracklang@add@portuguese{% - \AddTrackedDialect{portuguese}{portuges}% - \AddTrackedIsoLanguage{639-1}{pt}{portuges}% - \AddTrackedIsoLanguage{639-2}{por}{portuges}% -} -\@tracklang@declareoption{portuguese} -\def\@tracklang@add@portuges{% - \AddTrackedLanguage{portuges}% - \AddTrackedIsoLanguage{639-1}{pt}{portuges}% - \AddTrackedIsoLanguage{639-2}{por}{portuges}% -} -\@tracklang@declareoption{portuges} -\def\@tracklang@add@portugal{% - \AddTrackedDialect{portgual}{portuges}% - \AddTrackedIsoLanguage{639-1}{pt}{portuges}% - \AddTrackedIsoLanguage{639-2}{por}{portuges}% - \AddTrackedIsoLanguage{3166-1}{PT}{portugal}% -} -\@tracklang@declareoption{portugal} -\def\@tracklang@add@romanian{% - \AddTrackedLanguage{romanian}% - \AddTrackedIsoLanguage{639-1}{ro}{romanian}% - \AddTrackedIsoLanguage{639-2-B}{rum}{romanian}% - \AddTrackedIsoLanguage{639-2-T}{ron}{romanian}% - \AddTrackedIsoLanguage{639-2}{ron}{romanian}% -} -\@tracklang@declareoption{romanian} -\def\@tracklang@add@romansh{% - \AddTrackedLanguage{romansh}% - \AddTrackedIsoLanguage{639-1}{rm}{romansh}% - \AddTrackedIsoLanguage{639-2}{roh}{romansh}% -} -\@tracklang@declareoption{romansh} -\def\@tracklang@add@romansch{% - \AddTrackedDialect{romansch}{romansh}% - \AddTrackedIsoLanguage{639-1}{rm}{romansh}% - \AddTrackedIsoLanguage{639-2}{roh}{romansh}% -} -\@tracklang@declareoption{romansch} -\def\@tracklang@add@rumantsch{% - \AddTrackedDialect{rumantsch}{romansh}% - \AddTrackedIsoLanguage{639-1}{rm}{romansh}% - \AddTrackedIsoLanguage{639-2}{roh}{romansh}% -} -\@tracklang@declareoption{rumantsch} -\def\@tracklang@add@romanche{% - \AddTrackedDialect{romanche}{romansh}% - \AddTrackedIsoLanguage{639-1}{rm}{romansh}% - \AddTrackedIsoLanguage{639-2}{roh}{romansh}% -} -\@tracklang@declareoption{romanche} -\def\@tracklang@add@russian{% - \AddTrackedLanguage{russian}% - \AddTrackedIsoLanguage{639-1}{ru}{russian}% - \AddTrackedIsoLanguage{639-2}{rus}{russian}% -} -\@tracklang@declareoption{russian} -\def\@tracklang@add@russianb{% - \AddTrackedDialect{russianb}{russian}% - \AddTrackedIsoLanguage{639-1}{ru}{russian}% - \AddTrackedIsoLanguage{639-2}{rus}{russian}% -} -\@tracklang@declareoption{russianb} -\def\@tracklang@add@samin{% - \AddTrackedLanguage{samin}% - \AddTrackedIsoLanguage{639-1}{se}{samin}% - \AddTrackedIsoLanguage{639-2}{sme}{samin}% -} -\@tracklang@declareoption{samin} -\def\@tracklang@add@sanskrit{% - \AddTrackedLanguage{sanskrit}% - \AddTrackedIsoLanguage{639-1}{sa}{sanskrit}% - \AddTrackedIsoLanguage{639-2}{san}{sanskrit}% -} -\@tracklang@declareoption{sanskrit} -\def\@tracklang@add@scottish{% - \AddTrackedLanguage{scottish}% - \AddTrackedIsoLanguage{639-1}{gd}{scottish}% - \AddTrackedIsoLanguage{639-2}{gla}{scottish}% -} -\@tracklang@declareoption{scottish} -\def\@tracklang@add@gaelic{% - \AddTrackedDialect{gaelic}{scottish}% - \AddTrackedIsoLanguage{639-1}{gd}{scottish}% - \AddTrackedIsoLanguage{639-2}{gla}{scottish}% -} -\@tracklang@declareoption{gaelic} -\def\@tracklang@add@serbian{% - \AddTrackedLanguage{serbian}% - \AddTrackedIsoLanguage{639-1}{sr}{serbian}% - \AddTrackedIsoLanguage{639-2}{srp}{serbian}% -} -\@tracklang@declareoption{serbian} -\def\@tracklang@add@slovak{% - \AddTrackedLanguage{slovak}% - \AddTrackedIsoLanguage{639-1}{sk}{slovak}% - \AddTrackedIsoLanguage{639-2-B}{slo}{slovak}% - \AddTrackedIsoLanguage{639-2-T}{slk}{slovak}% - \AddTrackedIsoLanguage{639-2}{slk}{slovak}% -} -\@tracklang@declareoption{slovak} -\def\@tracklang@add@slovene{% - \AddTrackedLanguage{slovene}% - \AddTrackedIsoLanguage{639-1}{sl}{slovene}% - \AddTrackedIsoLanguage{639-2}{slv}{slovene}% -} -\@tracklang@declareoption{slovene} -\def\@tracklang@add@slovenian{% - \AddTrackedDialect{slovenian}{slovene}% - \AddTrackedIsoLanguage{639-1}{sl}{slovene}% - \AddTrackedIsoLanguage{639-2}{slv}{slovene}% -} -\@tracklang@declareoption{slovenian} -\def\@tracklang@add@slovenia{% - \AddTrackedDialect{slovenia}{slovene}% - \AddTrackedIsoLanguage{639-1}{sl}{slovene}% - \AddTrackedIsoLanguage{639-2}{slv}{slovene}% - \AddTrackedIsoLanguage{3166-1}{SI}{slovenia}% -} -\@tracklang@declareoption{slovenia} -\def\@tracklang@add@sloveneistriaslovenian{% - \AddTrackedDialect{sloveneistriaslovenian}{slovenian}% - \AddTrackedIsoLanguage{639-1}{sl}{slovene}% - \AddTrackedIsoLanguage{639-2}{slv}{slovene}% - \AddTrackedIsoLanguage{3166-1}{SI}{sloveneistriaslovenian}% -} -\@tracklang@declareoption{sloveneistriaslovenian} -\def\@tracklang@add@spanish{% - \AddTrackedLanguage{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% -} -\@tracklang@declareoption{spanish} -\def\@tracklang@add@spainspanish{% - \AddTrackedDialect{spainspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{ES}{spainspanish}% -} -\@tracklang@declareoption{spainspanish} -\def\@tracklang@add@argentinespanish{% - \AddTrackedDialect{argentinespanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{AR}{argentinespanish}% -} -\@tracklang@declareoption{argentinespanish} -\def\@tracklang@add@bolivianspanish{% - \AddTrackedDialect{bolivianspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{BO}{bolivianspanish}% -} -\@tracklang@declareoption{bolivianspanish} -\def\@tracklang@add@chilianspanish{% - \AddTrackedDialect{chilianspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{CL}{chilianspanish}% -} -\@tracklang@declareoption{chilianspanish} -\def\@tracklang@add@columbianspanish{% - \AddTrackedDialect{columbianspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{CO}{columbianspanish}% -} -\@tracklang@declareoption{columbianspanish} -\def\@tracklang@add@costaricanspanish{% - \AddTrackedDialect{costaricanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{CR}{costaricanspanish}% -} -\@tracklang@declareoption{costaricanspanish} -\def\@tracklang@add@cubanspanish{% - \AddTrackedDialect{cubanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{CU}{cubanspanish}% -} -\@tracklang@declareoption{cubanspanish} -\def\@tracklang@add@dominicanspanish{% - \AddTrackedDialect{dominicanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{DO}{dominicanspanish}% -} -\@tracklang@declareoption{dominicanspanish} -\def\@tracklang@add@ecudorianspanish{% - \AddTrackedDialect{ecudorianspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{EC}{ecudorianspanish}% -} -\@tracklang@declareoption{ecudorianspanish} -\def\@tracklang@add@elsalvadorspanish{% - \AddTrackedDialect{elsalvadorspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{SV}{elsalvadorspanish}% -} -\@tracklang@declareoption{elsalvadorspanish} -\def\@tracklang@add@guatemalanspanish{% - \AddTrackedDialect{guatemalanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{GT}{guatemalanspanish}% -} -\@tracklang@declareoption{guatemalanspanish} -\def\@tracklang@add@honduranspanish{% - \AddTrackedDialect{honduranspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{HN}{honduranspanish}% -} -\@tracklang@declareoption{honduranspanish} -\def\@tracklang@add@mexicanspanish{% - \AddTrackedDialect{mexicanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{MX}{mexicanspanish}% -} -\@tracklang@declareoption{mexicanspanish} -\def\@tracklang@add@nicaraguanspanish{% - \AddTrackedDialect{nicaraguanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{NI}{nicaraguanspanish}% -} -\@tracklang@declareoption{nicaraguanspanish} -\def\@tracklang@add@panamaspanish{% - \AddTrackedDialect{panamaspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{PA}{panamaspanish}% -} -\@tracklang@declareoption{panamaspanish} -\def\@tracklang@add@paraguayspanish{% - \AddTrackedDialect{paraguayspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{PY}{paraguayspanish}% -} -\@tracklang@declareoption{paraguayspanish} -\def\@tracklang@add@peruvianspanish{% - \AddTrackedDialect{peruvianspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{PE}{peruvianspanish}% -} -\@tracklang@declareoption{peruvianspanish} -\def\@tracklang@add@puertoricospanish{% - \AddTrackedDialect{puertoricospanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{PR}{puertoricospanish}% -} -\@tracklang@declareoption{puertoricospanish} -\def\@tracklang@add@uruguayspanish{% - \AddTrackedDialect{uruguayspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{UY}{uruguayspanish}% -} -\@tracklang@declareoption{uruguayspanish} -\def\@tracklang@add@venezuelanspanish{% - \AddTrackedDialect{venezuelanspanish}{spanish}% - \AddTrackedIsoLanguage{639-1}{es}{spanish}% - \AddTrackedIsoLanguage{639-2}{spa}{spanish}% - \AddTrackedIsoLanguage{3166-1}{VE}{venezuelanspanish}% -} -\@tracklang@declareoption{venezuelanspanish} -\def\@tracklang@add@swedish{% - \AddTrackedLanguage{swedish}% - \AddTrackedIsoLanguage{639-1}{sv}{swedish}% - \AddTrackedIsoLanguage{639-2}{swe}{swedish}% -} -\@tracklang@declareoption{swedish} -\def\@tracklang@add@swissgerman{% - \AddTrackedDialect{swissgerman}{german}% - \AddTrackedIsoLanguage{639-1}{de}{german}% - \AddTrackedIsoLanguage{639-2-B}{ger}{german}% - \AddTrackedIsoLanguage{639-2-T}{deu}{german}% - \AddTrackedIsoLanguage{639-2}{deu}{german}% - \AddTrackedIsoLanguage{3166-1}{CH}{swissgerman}% -} -\@tracklang@declareoption{swissgerman} -\def\@tracklang@add@swissfrench{% - \AddTrackedDialect{swissfrench}{french}% - \AddTrackedIsoLanguage{639-1}{fr}{french}% - \AddTrackedIsoLanguage{639-2-B}{fre}{french}% - \AddTrackedIsoLanguage{639-2-T}{fra}{french}% - \AddTrackedIsoLanguage{639-2}{fra}{french}% - \AddTrackedIsoLanguage{3166-1}{CH}{swissfrench}% -} -\@tracklang@declareoption{swissfrench} -\def\@tracklang@add@swissitalian{% - \AddTrackedDialect{swissitalian}{italian}% - \AddTrackedIsoLanguage{639-1}{it}{italian}% - \AddTrackedIsoLanguage{639-2}{ita}{italian}% - \AddTrackedIsoLanguage{3166-1}{CH}{swissitalian}% -} -\@tracklang@declareoption{swissitalian} -\def\@tracklang@add@swissromansh{% - \AddTrackedDialect{swissromansh}{romansh}% - \AddTrackedIsoLanguage{639-1}{rm}{romansh}% - \AddTrackedIsoLanguage{639-2}{roh}{romansh}% - \AddTrackedIsoLanguage{3166-1}{CH}{swissromansh}% -} -\@tracklang@declareoption{swissromansh} -\def\@tracklang@add@syriac{% - \AddTrackedLanguage{syriac}% - \AddTrackedIsoLanguage{639-2}{syr}{syriac}% -} -\@tracklang@declareoption{syriac} -\def\@tracklang@add@tamil{% - \AddTrackedLanguage{tamil}% - \AddTrackedIsoLanguage{639-1}{ta}{tamil}% - \AddTrackedIsoLanguage{639-2}{tam}{tamil}% -} -\@tracklang@declareoption{tamil} -\def\@tracklang@add@telugu{% - \AddTrackedLanguage{telugu}% - \AddTrackedIsoLanguage{639-1}{te}{telugu}% - \AddTrackedIsoLanguage{639-2}{tel}{telugu}% -} -\@tracklang@declareoption{telugu} -\def\@tracklang@add@tai{% - \AddTrackedLanguage{tai}% - \AddTrackedIsoLanguage{639-2}{tai}{tai}% -} -\@tracklang@declareoption{tai} -\def\@tracklang@add@thai{% - \AddTrackedLanguage{thai}% - \AddTrackedIsoLanguage{639-1}{th}{thai}% - \AddTrackedIsoLanguage{639-2}{tha}{thai}% -} -\@tracklang@declareoption{thai} -\def\@tracklang@add@tibetan{% - \AddTrackedLanguage{tibetan}% - \AddTrackedIsoLanguage{639-1}{bo}{tibetan}% - \AddTrackedIsoLanguage{639-2-B}{tib}{tibetan}% - \AddTrackedIsoLanguage{639-2-T}{bod}{tibetan}% - \AddTrackedIsoLanguage{639-2}{bod}{tibetan}% -} -\@tracklang@declareoption{tibetan} -\def\@tracklang@add@turkish{% - \AddTrackedLanguage{turkish}% - \AddTrackedIsoLanguage{639-1}{tr}{turkish}% - \AddTrackedIsoLanguage{639-2}{tur}{turkish}% -} -\@tracklang@declareoption{turkish} -\def\@tracklang@add@turkmen{% - \AddTrackedLanguage{turkmen}% - \AddTrackedIsoLanguage{639-1}{tk}{turkmen}% - \AddTrackedIsoLanguage{639-2}{tuk}{turkmen}% -} -\@tracklang@declareoption{turkmen} -\def\@tracklang@add@UKenglish{% - \AddTrackedDialect{UKenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{GB}{UKenglish}% -} -\@tracklang@declareoption{UKenglish} -\def\@tracklang@add@ukrainian{% - \AddTrackedLanguage{ukrainian}% - \AddTrackedIsoLanguage{639-1}{uk}{ukrainian}% - \AddTrackedIsoLanguage{639-2}{ukr}{ukrainian}% - \AddTrackedIsoLanguage{3166-1}{UA}{ukrainian}% -} -\@tracklang@declareoption{ukrainian} -\def\@tracklang@add@ukraineb{% - \AddTrackedDialect{ukraineb}{ukrainian}% - \AddTrackedIsoLanguage{639-1}{uk}{ukrainian}% - \AddTrackedIsoLanguage{639-2}{ukr}{ukrainian}% - \AddTrackedIsoLanguage{3166-1}{UA}{ukraineb}% -} -\@tracklang@declareoption{ukraineb} -\def\@tracklang@add@ukraine{% - \AddTrackedDialect{ukraine}{ukrainian}% - \AddTrackedIsoLanguage{639-1}{uk}{ukrainian}% - \AddTrackedIsoLanguage{639-2}{ukr}{ukrainian}% - \AddTrackedIsoLanguage{3166-1}{UA}{ukraine}% -} -\@tracklang@declareoption{ukraine} -\def\@tracklang@add@urdu{% - \AddTrackedLanguage{urdu}% - \AddTrackedIsoLanguage{639-1}{ur}{urdu}% - \AddTrackedIsoLanguage{639-2}{urd}{urdu}% -} -\@tracklang@declareoption{urdu} -\def\@tracklang@add@usorbian{% - \AddTrackedLanguage{usorbian}% - \AddTrackedIsoLanguage{639-2}{dsb}{usorbian}% - \AddTrackedIsoLanguage{3166-1}{DE}{usorbian}% -} -\@tracklang@declareoption{usorbian} -\def\@tracklang@add@uppersorbian{% - \AddTrackedDialect{uppersorbian}{usorbian}% - \AddTrackedIsoLanguage{639-2}{hsb}{usorbian}% - \AddTrackedIsoLanguage{3166-1}{DE}{uppersorbian}% -} -\@tracklang@declareoption{uppersorbian} -\def\@tracklang@add@USenglish{% - \AddTrackedDialect{USenglish}{english}% - \AddTrackedIsoLanguage{639-1}{en}{english}% - \AddTrackedIsoLanguage{639-2}{eng}{english}% - \AddTrackedIsoLanguage{3166-1}{US}{USenglish}% -} -\@tracklang@declareoption{USenglish} -\def\@tracklang@add@valencian{% - \AddTrackedDialect{valencian}{catalan}% - \AddTrackedIsoLanguage{639-1}{ca}{catalan}% - \AddTrackedIsoLanguage{639-2}{cat}{catalan}% -} -\@tracklang@declareoption{valencian} -\def\@tracklang@add@valencien{% - \AddTrackedDialect{valencien}{catalan}% - \AddTrackedIsoLanguage{639-1}{ca}{catalan}% - \AddTrackedIsoLanguage{639-2}{cat}{catalan}% -} -\@tracklang@declareoption{valencien} -\def\@tracklang@add@vietnamese{% - \AddTrackedLanguage{vietnamese}% - \AddTrackedIsoLanguage{639-1}{vi}{vietnamese}% - \AddTrackedIsoLanguage{639-2}{vie}{vietnamese}% -} -\@tracklang@declareoption{vietnamese} -\def\@tracklang@add@walloon{% - \AddTrackedLanguage{walloon}% - \AddTrackedIsoLanguage{639-1}{wa}{walloon}% - \AddTrackedIsoLanguage{639-2}{wln}{walloon}% -} -\@tracklang@declareoption{walloon} -\def\@tracklang@add@welsh{% - \AddTrackedLanguage{welsh}% - \AddTrackedIsoLanguage{639-1}{cy}{welsh}% - \AddTrackedIsoLanguage{639-2-B}{wel}{welsh}% - \AddTrackedIsoLanguage{639-2-T}{cym}{welsh}% - \AddTrackedIsoLanguage{639-2}{cym}{welsh}% -} -\@tracklang@declareoption{welsh} -\def\@tracklang@add@cymraeg{% - \AddTrackedDialect{cymraeg}{welsh}% - \AddTrackedIsoLanguage{639-1}{cy}{welsh}% - \AddTrackedIsoLanguage{639-2-B}{wel}{welsh}% - \AddTrackedIsoLanguage{639-2-T}{cym}{welsh}% - \AddTrackedIsoLanguage{639-2}{cym}{welsh}% -} -\@tracklang@declareoption{cymraeg} -\def\LetTrackLangOption#1#2{% +\def\TrackLangDeclareLanguageOption#1#2#3#4#5#6#7{% + \@tracklang@ifundef{@tracklang@add@#1}% + {% + \TrackLangNewLanguage{#1}{#2}{#3}{#4}{#5}{#6}{#7}% + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedLanguage{#1}% + \AddTrackedLanguageIsoCodes{#1}% + \AddTrackedCountryIsoCode{#1}% + }% + \@tracklang@declareoption{#1}% + }% + {% + \@tracklang@err{language option `#1' has already been defined}{}% + }% +} +\TrackLangDeclareLanguageOption{abkhaz}{ab}{abk}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{afar}{aa}{aar}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{afrikaans}{af}{afr}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{akan}{ak}{aka}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{albanian}{sq}{sqi}{alb}{}{}{Latn} +\TrackLangDeclareLanguageOption{amharic}{am}{amh}{}{}{ET}{Ethi} +\TrackLangDeclareLanguageOption{anglosaxon}{}{ang}{}{}{}{Runr} +\TrackLangDeclareLanguageOption{apache}{}{apa}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{arabic}{ar}{ara}{}{}{}{Arab} +\TrackLangDeclareLanguageOption{aragonese}{an}{arg}{}{}{ES}{Latn} +\TrackLangDeclareLanguageOption{armenian}{hy}{hye}{arm}{}{}{Armn} +\TrackLangDeclareLanguageOption{assamese}{as}{asm}{}{}{}{Beng} +\TrackLangDeclareLanguageOption{asturian}{}{ast}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{avaric}{av}{ava}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{avestan}{ae}{ave}{}{}{}{Avst} +\TrackLangDeclareLanguageOption{aymara}{ay}{aym}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{azerbaijani}{az}{aze}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{bahasai}{id}{ind}{}{}{IN}{Latn} +\TrackLangDeclareLanguageOption{bahasam}{ms}{msa}{may}{}{MY}{Latn} +\TrackLangDeclareLanguageOption{bambara}{bm}{bam}{}{}{ML}{Latn} +\TrackLangDeclareLanguageOption{bashkir}{ba}{bak}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{basque}{eu}{eus}{baq}{}{}{Latn} +\TrackLangDeclareLanguageOption{belarusian}{be}{bel}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{bengali}{bn}{ben}{}{}{}{Beng} +\TrackLangDeclareLanguageOption{berber}{}{ber}{}{}{}{} +\TrackLangDeclareLanguageOption{bihari}{bh}{bih}{}{}{}{} +\TrackLangDeclareLanguageOption{bislama}{bi}{bis}{}{}{VU}{Latn} +\TrackLangDeclareLanguageOption{bokmal}{nb}{nob}{}{}{NO}{Latn} +\TrackLangDeclareLanguageOption{bosnian}{bs}{bos}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{breton}{br}{bre}{}{}{FR}{Latn} +\TrackLangDeclareLanguageOption{bulgarian}{bg}{bul}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{burmese}{my}{mya}{bur}{}{}{Mymr} +\TrackLangDeclareLanguageOption{catalan}{ca}{cat}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{chamorro}{ch}{cha}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{chechen}{ce}{che}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{chichewa}{ny}{nya}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{chinese}{zh}{zho}{chi}{}{}{Hans} +\TrackLangDeclareLanguageOption{churchslavonic}{cu}{chu}{}{}{}{Glag} +\TrackLangDeclareLanguageOption{chuvash}{cv}{chv}{}{}{RU}{Cyrl} +\TrackLangDeclareLanguageOption{coptic}{}{cop}{}{}{}{Copt} +\TrackLangDeclareLanguageOption{cornish}{kw}{cor}{}{}{GB}{Latn} +\TrackLangDeclareLanguageOption{corsican}{co}{cos}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{cree}{cr}{cre}{}{}{}{Cans} +\TrackLangDeclareLanguageOption{croatian}{hr}{hrv}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{czech}{cs}{ces}{cze}{}{}{Latn} +\TrackLangDeclareLanguageOption{danish}{da}{dan}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{divehi}{dv}{div}{}{}{MV}{Thaa} +\TrackLangDeclareLanguageOption{dutch}{nl}{nld}{dut}{}{}{Latn} +\TrackLangDeclareLanguageOption{dzongkha}{dz}{dzo}{}{}{BT}{Tibt} +\TrackLangDeclareLanguageOption{easternpunjabi}{pa}{pan}{}{}{IN}{Guru} +\TrackLangDeclareLanguageOption{english}{en}{eng}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{esperanto}{eo}{epo}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{estonian}{et}{est}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{ewe}{ee}{ewe}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{faroese}{fo}{fao}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{farsi}{fa}{fas}{per}{}{}{Arab} +\TrackLangDeclareLanguageOption{fijian}{fj}{fij}{}{}{FJ}{Latn} +\TrackLangDeclareLanguageOption{finnish}{fi}{fin}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{french}{fr}{fra}{fre}{}{}{Latn} +\TrackLangDeclareLanguageOption{friulan}{}{fur}{}{}{IT}{Latn} +\TrackLangDeclareLanguageOption{fula}{ff}{ful}{}{}{}{} +\TrackLangDeclareLanguageOption{galician}{gl}{glg}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{ganda}{lg}{lug}{}{}{UG}{Latn} +\TrackLangDeclareLanguageOption{georgian}{ka}{kat}{geo}{}{}{Geor} +\TrackLangDeclareLanguageOption{german}{de}{deu}{ger}{}{}{Latn} +\TrackLangDeclareLanguageOption{greek}{el}{ell}{gre}{}{}{Grek} +\TrackLangDeclareLanguageOption{guarani}{gn}{grn}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{gujarati}{gu}{guj}{}{}{}{Gujr} +\TrackLangDeclareLanguageOption{haitian}{ht}{hat}{}{}{HT}{Latn} +\TrackLangDeclareLanguageOption{hausa}{ha}{hau}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{hebrew}{he}{heb}{}{}{}{Hebr} +\TrackLangDeclareLanguageOption{herero}{hz}{her}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{hindi}{hi}{hin}{}{}{}{Deva} +\TrackLangDeclareLanguageOption{hirimotu}{ho}{hmo}{}{}{PG}{Latn} +\TrackLangDeclareLanguageOption{icelandic}{is}{isl}{ice}{}{IS}{Latn} +\TrackLangDeclareLanguageOption{ido}{io}{ido}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{igbo}{ig}{ibo}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{interlingua}{ia}{ina}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{interlingue}{ie}{ile}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{inuktitut}{iu}{iku}{}{}{}{Cans} +\TrackLangDeclareLanguageOption{inupiaq}{ik}{ipk}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{irish}{ga}{gle}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{italian}{it}{ita}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{japanese}{ja}{jpn}{}{}{}{Hani} +\TrackLangDeclareLanguageOption{javanese}{jv}{jav}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kalaallisut}{kl}{kal}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kannada}{kn}{kan}{}{}{IN}{Knda} +\TrackLangDeclareLanguageOption{kanuri}{kr}{kau}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kashmiri}{ks}{kas}{}{}{IN}{} +\TrackLangDeclareLanguageOption{kazakh}{kk}{kaz}{}{}{}{} +\TrackLangDeclareLanguageOption{khmer}{km}{khm}{}{}{}{Khmr} +\TrackLangDeclareLanguageOption{kikuyu}{ki}{kik}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kinyarwanda}{rw}{kin}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kirundi}{rn}{run}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{komi}{kv}{kom}{}{}{RU}{Cyrl} +\TrackLangDeclareLanguageOption{kongo}{kg}{kon}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{korean}{ko}{kor}{}{}{}{Hang} +\TrackLangDeclareLanguageOption{kurdish}{ku}{kur}{}{}{}{} +\TrackLangDeclareLanguageOption{kwanyama}{kj}{kua}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{kyrgyz}{ky}{kir}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{lao}{lo}{lao}{}{}{}{Laoo} +\TrackLangDeclareLanguageOption{latin}{la}{lat}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{latvian}{lv}{lav}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{limburgish}{li}{lim}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{lingala}{ln}{lin}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{lithuanian}{lt}{lit}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{lsorbian}{}{dsb}{}{}{DE}{Latn} +\TrackLangDeclareLanguageOption{lubakatanga}{lu}{lub}{}{}{CD}{Latn} +\TrackLangDeclareLanguageOption{luxembourgish}{lb}{ltz}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{macedonian}{mk}{mkd}{mac}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{magyar}{hu}{hun}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{malagasy}{mg}{mlg}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{malayalam}{ml}{mal}{}{}{IN}{Mlym} +\TrackLangDeclareLanguageOption{maltese}{mt}{mlt}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{manx}{gv}{glv}{}{}{IM}{Latn} +\TrackLangDeclareLanguageOption{maori}{mi}{mri}{mao}{}{NZ}{Latn} +\TrackLangDeclareLanguageOption{marathi}{mr}{mar}{}{}{IN}{Deva} +\TrackLangDeclareLanguageOption{marshallese}{mh}{mah}{}{}{MH}{Latn} +\TrackLangDeclareLanguageOption{mongolian}{mn}{mon}{}{}{}{Mong} +\TrackLangDeclareLanguageOption{nauruan}{na}{nau}{}{}{NR}{Latn} +\TrackLangDeclareLanguageOption{navajo}{nv}{nav}{}{}{US}{Latn} +\TrackLangDeclareLanguageOption{ndonga}{ng}{ndo}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{nepali}{ne}{nep}{}{}{}{Deva} +\TrackLangDeclareLanguageOption{nko}{}{nqo}{}{}{}{Nkoo} +\TrackLangDeclareLanguageOption{northernndebele}{nd}{nde}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{nynorsk}{nn}{nno}{}{}{NO}{Latn} +\TrackLangDeclareLanguageOption{norsk}{no}{nor}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{northernsotho}{}{nso}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{nuosu}{ii}{iii}{}{}{CN}{Yiii} +\TrackLangDeclareLanguageOption{occitan}{oc}{oci}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{ojibwe}{oj}{oji}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{oromo}{om}{orm}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{oriya}{or}{ori}{}{}{}{Orya} +\TrackLangDeclareLanguageOption{ossetian}{os}{oss}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{pali}{pi}{pli}{}{}{}{Brah} +\TrackLangDeclareLanguageOption{pashto}{ps}{pus}{}{}{}{Arab} +\TrackLangDeclareLanguageOption{piedmontese}{}{}{}{pms}{IT}{Latn} +\TrackLangDeclareLanguageOption{polish}{pl}{pol}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{portuges}{pt}{por}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{quechua}{qu}{que}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{romanian}{ro}{ron}{rum}{}{}{Latn} +\TrackLangDeclareLanguageOption{romansh}{rm}{roh}{}{}{CH}{Latn} +\TrackLangDeclareLanguageOption{russian}{ru}{rus}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{samin}{se}{sme}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{sanskrit}{sa}{san}{}{}{}{} +\TrackLangDeclareLanguageOption{samoan}{sm}{smo}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{sango}{sg}{sag}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{sardinian}{sc}{srd}{}{}{IT}{Latn} +\TrackLangDeclareLanguageOption{scottish}{gd}{gla}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{serbian}{sr}{srp}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{shona}{sn}{sna}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{sindhi}{sd}{snd}{}{}{}{Sind} +\TrackLangDeclareLanguageOption{sinhalese}{si}{sin}{}{}{LK}{Sinh} +\TrackLangDeclareLanguageOption{slovak}{sk}{slk}{slo}{}{}{Latn} +\TrackLangDeclareLanguageOption{slovene}{sl}{slv}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{somali}{so}{som}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{southernndebele}{nr}{nbl}{}{}{ZA}{Latn} +\TrackLangDeclareLanguageOption{southernsotho}{st}{sot}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{spanish}{es}{spa}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{sudanese}{su}{sun}{}{}{}{Sund} +\TrackLangDeclareLanguageOption{swahili}{sw}{swa}{}{}{}{} +\TrackLangDeclareLanguageOption{swati}{ss}{ssw}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{swedish}{sv}{swe}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{syriac}{}{syr}{}{}{}{Syrc} +\TrackLangDeclareLanguageOption{tagalog}{tl}{tgl}{}{}{PH}{Latn} +\TrackLangDeclareLanguageOption{tahitian}{ty}{tah}{}{}{PF}{Latn} +\TrackLangDeclareLanguageOption{tai}{}{tai}{}{}{}{} +\TrackLangDeclareLanguageOption{tajik}{tg}{tgk}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{tamil}{ta}{tam}{}{}{}{Taml} +\TrackLangDeclareLanguageOption{tatar}{tt}{tat}{}{}{}{Cyrl} +\TrackLangDeclareLanguageOption{telugu}{te}{tel}{}{}{IN}{Telu} +\TrackLangDeclareLanguageOption{thai}{th}{tha}{}{}{TH}{Thai} +\TrackLangDeclareLanguageOption{tibetan}{bo}{bod}{tib}{}{}{Tibt} +\TrackLangDeclareLanguageOption{tigrinya}{ti}{tir}{}{}{}{Ethi} +\TrackLangDeclareLanguageOption{tonga}{to}{ton}{}{}{TO}{Latn} +\TrackLangDeclareLanguageOption{tsonga}{ts}{tso}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{tswana}{tn}{tsn}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{turkish}{tr}{tur}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{turkmen}{tk}{tuk}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{twi}{tw}{twi}{}{}{GH}{Latn} +\TrackLangDeclareLanguageOption{ukrainian}{uk}{ukr}{}{}{UA}{Cyrl} +\TrackLangDeclareLanguageOption{urdu}{ur}{urd}{}{}{}{Arab} +\TrackLangDeclareLanguageOption{usorbian}{}{hsb}{}{}{DE}{Latn} +\TrackLangDeclareLanguageOption{uyghur}{ug}{uig}{}{}{CN}{Arab} +\TrackLangDeclareLanguageOption{uzbek}{uz}{uzb}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{venda}{ve}{ven}{}{}{ZA}{Latn} +\TrackLangDeclareLanguageOption{vietnamese}{vi}{vie}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{volapuk}{vo}{vol}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{walloon}{wa}{wln}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{welsh}{cy}{cym}{wel}{}{}{Latn} +\TrackLangDeclareLanguageOption{westernfrisian}{fy}{fry}{}{}{NL}{Latn} +\TrackLangDeclareLanguageOption{wolof}{wo}{wol}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{xhosa}{xh}{xho}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{yiddish}{yi}{yid}{}{}{}{Hebr} +\TrackLangDeclareLanguageOption{yoruba}{yo}{yor}{}{}{}{Latn} +\TrackLangDeclareLanguageOption{zhuang}{za}{zha}{}{}{CN}{Hani} +\TrackLangDeclareLanguageOption{zulu}{zu}{zul}{}{}{}{Latn} +\def\TrackLangDeclareDialectOption#1#2#3#4#5#6#7{% + \@tracklang@ifundef{@tracklang@add@#1}% + {% + \ifx\relax#3\relax + \ifx\relax#4\relax + \ifx\relax#5\relax + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \def\@tracklang@dialect{#1}% + }% + \else + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \SetTrackedDialectVariant{#1}{#5}% + \def\@tracklang@dialect{#1}% + }% + \fi + \else + \ifx\relax#5\relax + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \SetTrackedDialectModifier{#1}{#4}% + \def\@tracklang@dialect{#1}% + }% + \else + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \SetTrackedDialectModifier{#1}{#4}% + \SetTrackedDialectVariant{#1}{#5}% + \def\@tracklang@dialect{#1}% + }% + \fi + \fi + \else + \ifx\relax#4\relax + \ifx\relax#5\relax + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \AddTrackedIsoLanguage{3166-1}{#3}{#1}% + \def\@tracklang@dialect{#1}% + }% + \else + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \AddTrackedIsoLanguage{3166-1}{#3}{#1}% + \SetTrackedDialectVariant{#1}{#5}% + \def\@tracklang@dialect{#1}% + }% + \fi + \else + \ifx\relax#5\relax + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \AddTrackedIsoLanguage{3166-1}{#3}{#1}% + \SetTrackedDialectModifier{#1}{#4}% + \def\@tracklang@dialect{#1}% + }% + \else + \@tracklang@namedef{@tracklang@add@#1}{% + \AddTrackedDialect{#1}{#2}% + \AddTrackedLanguageIsoCodes{#2}% + \AddTrackedIsoLanguage{3166-1}{#3}{#1}% + \SetTrackedDialectModifier{#1}{#4}% + \SetTrackedDialectVariant{#1}{#5}% + \def\@tracklang@dialect{#1}% + }% + \fi + \fi + \fi + \ifx\relax#6\relax + \else + \expandafter + \let\expandafter\@tracklang@tmp\csname @tracklang@add@#1\endcsname + \expandafter\def\csname @tracklang@add@#1\expandafter\endcsname + \expandafter{\@tracklang@tmp\SetTrackedDialectLabelMap{#1}{#6}}% + \fi + \ifx\relax#7\relax + \else + \expandafter + \let\expandafter\@tracklang@tmp\csname @tracklang@add@#1\endcsname + \expandafter\def\csname @tracklang@add@#1\expandafter\endcsname + \expandafter{\@tracklang@tmp\SetTrackedDialectScript{#1}{#7}}% + \fi + \@tracklang@declareoption{#1}% + }% + {% + \@tracklang@err{dialect option `#1' has already been defined}{}% + }% +} +\TrackLangDeclareDialectOption{acadian}{french}{}{}{}{}{} +\TrackLangDeclareDialectOption{american}{english}{US}{}{}{}{} +\TrackLangDeclareDialectOption{australian}{english}{AU}{}{}{}{} +\TrackLangDeclareDialectOption{austrian}{german}{AT}{}{}{}{} +\TrackLangDeclareDialectOption{naustrian}{german}{AT}{new}{1996}{}{} +\TrackLangDeclareDialectOption{bahasa}{bahasai}{IN}{}{}{}{} +\TrackLangDeclareDialectOption{brazil}{portuges}{BR}{}{}{}{} +\TrackLangDeclareDialectOption{brazilian}{portuges}{BR}{}{}{}{} +\TrackLangDeclareDialectOption{british}{english}{GB}{}{}{}{} +\TrackLangDeclareDialectOption{canadian}{english}{CA}{}{}{}{} +\TrackLangDeclareDialectOption{canadien}{french}{CA}{}{}{}{} +\TrackLangDeclareDialectOption{croatia}{croatian}{HR}{}{}{}{} +\TrackLangDeclareDialectOption{istriacountycroatian}{croatian}{HR}{}{}{}{} +\TrackLangDeclareDialectOption{istriacountyitalian}{italian}{HR}{}{}{}{} +\TrackLangDeclareDialectOption{netherlands}{dutch}{NL}{}{}{}{} +\TrackLangDeclareDialectOption{persian}{farsi}{}{}{}{}{} +\TrackLangDeclareDialectOption{flemish}{dutch}{BE}{}{}{}{} +\TrackLangDeclareDialectOption{francais}{french}{}{}{}{}{} +\TrackLangDeclareDialectOption{frenchb}{french}{}{}{}{}{} +\TrackLangDeclareDialectOption{france}{french}{FR}{}{}{}{} +\TrackLangDeclareDialectOption{belgique}{french}{BE}{}{}{}{} +\TrackLangDeclareDialectOption{belgiangerman}{german}{BE}{}{}{}{} +\TrackLangDeclareDialectOption{nbelgiangerman}{german}{BE}{new}{1996}{ngerman}{} +\TrackLangDeclareDialectOption{friulian}{friulan}{IT}{}{}{}{} +\TrackLangDeclareDialectOption{friulano}{friulan}{IT}{}{}{}{} +\TrackLangDeclareDialectOption{galicien}{galician}{}{}{}{}{} +\TrackLangDeclareDialectOption{deutsch}{german}{}{}{}{}{} +\TrackLangDeclareDialectOption{ngerman}{german}{}{new}{1996}{}{} +\TrackLangDeclareDialectOption{ngermanb}{german}{}{new}{1996}{ngerman}{} +\TrackLangDeclareDialectOption{germanb}{german}{}{}{}{}{} +\TrackLangDeclareDialectOption{ngermanDE}{german}{DE}{new}{1996}{ngerman}{} +\TrackLangDeclareDialectOption{germanDE}{german}{DE}{}{}{}{} +\TrackLangDeclareDialectOption{hungarian}{magyar}{HU}{}{}{}{} +\TrackLangDeclareDialectOption{indon}{bahasai}{IN}{}{}{}{} +\TrackLangDeclareDialectOption{indonesian}{bahasai}{IN}{}{}{}{} +\TrackLangDeclareDialectOption{gaeilge}{irish}{}{}{}{}{} +\TrackLangDeclareDialectOption{IEirish}{irish}{IE}{}{}{}{} +\TrackLangDeclareDialectOption{GBirish}{irish}{GB}{}{}{}{} +\TrackLangDeclareDialectOption{IEenglish}{english}{IE}{}{}{british}{} +\TrackLangDeclareDialectOption{italy}{italian}{IT}{}{}{}{} +\TrackLangDeclareDialectOption{vatican}{italian}{VA}{}{}{}{} +\TrackLangDeclareDialectOption{sanmarino}{italian}{SM}{}{}{}{} +\TrackLangDeclareDialectOption{sloveneistriaitalian}{italian}{SI}{}{}{}{} +\TrackLangDeclareDialectOption{jerseyenglish}{english}{JE}{}{}{british}{} +\TrackLangDeclareDialectOption{jerseyfrench}{french}{JE}{}{}{}{} +\TrackLangDeclareDialectOption{guernseyenglish}{english}{GG}{}{}{british}{} +\TrackLangDeclareDialectOption{guernseyfrench}{french}{GG}{}{}{}{} +\TrackLangDeclareDialectOption{latein}{latin}{}{}{}{}{} +\TrackLangDeclareDialectOption{lowersorbian}{lsorbian}{DE}{}{}{}{} +\TrackLangDeclareDialectOption{malay}{bahasam}{MY}{}{}{}{} +\TrackLangDeclareDialectOption{meyalu}{bahasam}{MY}{}{}{}{} +\TrackLangDeclareDialectOption{maltamaltese}{maltese}{MT}{}{}{}{} +\TrackLangDeclareDialectOption{maltaenglish}{english}{MT}{}{}{british}{} +\TrackLangDeclareDialectOption{newzealand}{english}{NZ}{}{}{}{} +\TrackLangDeclareDialectOption{isleofmanenglish}{english}{IM}{}{}{british}{} +\TrackLangDeclareDialectOption{norwegian}{norsk}{NO}{}{}{}{} +\TrackLangDeclareDialectOption{piemonteis}{piedmontese}{IT}{}{}{}{} +\TrackLangDeclareDialectOption{polutonikogreek}{greek}{}{polyton}{}{}{} +\TrackLangDeclareDialectOption{polutoniko}{greek}{}{polyton}{}{}{} +\TrackLangDeclareDialectOption{portuguese}{portuges}{}{}{}{}{} +\TrackLangDeclareDialectOption{portugal}{portuges}{PT}{}{}{}{} +\TrackLangDeclareDialectOption{romansch}{romansh}{}{}{}{}{} +\TrackLangDeclareDialectOption{rumantsch}{romansh}{}{}{}{}{} +\TrackLangDeclareDialectOption{romanche}{romansh}{}{}{}{}{} +\TrackLangDeclareDialectOption{russianb}{russian}{}{}{}{}{} +\TrackLangDeclareDialectOption{gaelic}{scottish}{}{}{}{}{} +\TrackLangDeclareDialectOption{GBscottish}{scottish}{GB}{}{}{}{} +\TrackLangDeclareDialectOption{serbianc}{serbian}{}{}{}{}{Cyrl} +\TrackLangDeclareDialectOption{serbianl}{serbian}{}{}{}{}{Latn} +\TrackLangDeclareDialectOption{slovenian}{slovene}{}{}{}{}{} +\TrackLangDeclareDialectOption{slovenia}{slovene}{SI}{}{}{slovenian}{} +\TrackLangDeclareDialectOption{sloveneistriaslovenian}{slovene}{SI}{}{}{slovenian}{} +\TrackLangDeclareDialectOption{spainspanish}{spanish}{ES}{}{}{}{} +\TrackLangDeclareDialectOption{argentinespanish}{spanish}{AR}{}{}{}{} +\TrackLangDeclareDialectOption{bolivianspanish}{spanish}{BO}{}{}{}{} +\TrackLangDeclareDialectOption{chilianspanish}{spanish}{CL}{}{}{}{} +\TrackLangDeclareDialectOption{columbianspanish}{spanish}{CO}{}{}{}{} +\TrackLangDeclareDialectOption{costaricanspanish}{spanish}{CR}{}{}{}{} +\TrackLangDeclareDialectOption{cubanspanish}{spanish}{CU}{}{}{}{} +\TrackLangDeclareDialectOption{dominicanspanish}{spanish}{DO}{}{}{}{} +\TrackLangDeclareDialectOption{ecudorianspanish}{spanish}{EC}{}{}{}{} +\TrackLangDeclareDialectOption{elsalvadorspanish}{spanish}{SV}{}{}{}{} +\TrackLangDeclareDialectOption{guatemalanspanish}{spanish}{GT}{}{}{}{} +\TrackLangDeclareDialectOption{honduranspanish}{spanish}{HN}{}{}{}{} +\TrackLangDeclareDialectOption{mexicanspanish}{spanish}{MX}{}{}{}{} +\TrackLangDeclareDialectOption{nicaraguanspanish}{spanish}{NI}{}{}{}{} +\TrackLangDeclareDialectOption{panamaspanish}{spanish}{PA}{}{}{}{} +\TrackLangDeclareDialectOption{paraguayspanish}{spanish}{PY}{}{}{}{} +\TrackLangDeclareDialectOption{peruvianspanish}{spanish}{PE}{}{}{}{} +\TrackLangDeclareDialectOption{puertoricospanish}{spanish}{PR}{}{}{}{} +\TrackLangDeclareDialectOption{uruguayspanish}{spanish}{UY}{}{}{}{} +\TrackLangDeclareDialectOption{venezuelanspanish}{spanish}{VE}{}{}{}{} +\TrackLangDeclareDialectOption{swissgerman}{german}{CH}{}{}{}{} +\TrackLangDeclareDialectOption{nswissgerman}{german}{CH}{new}{1996}{ngerman}{} +\TrackLangDeclareDialectOption{swissfrench}{french}{CH}{}{}{}{} +\TrackLangDeclareDialectOption{swissitalian}{italian}{CH}{}{}{}{} +\TrackLangDeclareDialectOption{swissromansh}{romansh}{CH}{}{}{}{} +\TrackLangDeclareDialectOption{UKenglish}{english}{GB}{}{}{}{} +\TrackLangDeclareDialectOption{ukraineb}{ukrainian}{UA}{}{}{}{} +\TrackLangDeclareDialectOption{ukraine}{ukrainian}{UA}{}{}{}{} +\TrackLangDeclareDialectOption{uppersorbian}{usorbian}{DE}{}{}{}{} +\TrackLangDeclareDialectOption{USenglish}{english}{US}{}{}{}{} +\TrackLangDeclareDialectOption{valencian}{catalan}{}{}{}{}{} +\TrackLangDeclareDialectOption{valencien}{catalan}{}{}{}{}{} +\TrackLangDeclareDialectOption{cymraeg}{welsh}{}{}{}{}{} +\TrackLangDeclareDialectOption{GBwelsh}{welsh}{GB}{}{}{}{} +\def\LetTrackLangSynonym#1#2{% \expandafter\let\csname @tracklang@add@#1\expandafter\endcsname \csname @tracklang@add@#2\endcsname +} +\def\LetTrackLangOption#1#2{% + \LetTrackLangSynonym{#1}{#2}% \@tracklang@declareoption{#1}% } \LetTrackLangOption{en-US}{american} @@ -1428,7 +1919,7 @@ \LetTrackLangOption{it-HR}{istriacountyitalian} \LetTrackLangOption{nl-BE}{flemish} \LetTrackLangOption{fr-FR}{france} -\LetTrackLangOption{de-DE}{ngermanDE} +\LetTrackLangOption{de-DE}{germanDE} \LetTrackLangOption{de-BE}{belgiangerman} \LetTrackLangOption{en-GG}{guernseyenglish} \LetTrackLangOption{fr-GG}{guernseyfrench} @@ -1471,6 +1962,16 @@ \LetTrackLangOption{ga-IE}{IEirish} \LetTrackLangOption{ga-GB}{GBirish} \LetTrackLangOption{en-IE}{IEenglish} +\LetTrackLangOption{de-AT-1996}{naustrian} +\LetTrackLangOption{de-AT}{austrian} +\LetTrackLangOption{id-IN}{bahasa} +\LetTrackLangOption{ms-MY}{malay} +\LetTrackLangOption{hr-HR}{croatia} +\LetTrackLangOption{de-DE-1996}{ngermanDE} +\LetTrackLangOption{de-CH-1996}{nswissgerman} +\LetTrackLangOption{hu-HU}{hungarian} +\LetTrackLangOption{gd-GB}{GBscottish} +\LetTrackLangOption{cy-GB}{GBwelsh} \long\def\IfTrackedLanguage#1#2#3{% \edef\@tracklang@element{#1}% \ifx\@tracklang@element\empty @@ -1510,19 +2011,9 @@ } \long\def\IfTrackedLanguageFileExists#1#2#3#4#5{% \def\CurrentTrackedTag{}% - \def\CurrentTrackedDialect{#1}% - \def\CurrentTrackedLanguage{}% - \def\CurrentTrackedRegion{}% - \def\CurrentTrackedIsoCode{}% + \SetCurrentTrackedDialect{#1}% \IfTrackedDialect{#1}% {% - \IfTrackedLanguageHasIsoCode{3166-1}{#1}% - {% - \edef\CurrentTrackedRegion{% - \TrackedIsoCodeFromLanguage{3166-1}{#1}}% - }% - {}% - \edef\CurrentTrackedLanguage{\TrackedLanguageFromDialect{#1}}% \edef\CurrentTrackedTag{#1}% \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}% {#4}% @@ -1533,7 +2024,7 @@ \edef\CurrentTrackedIsoCode{% \TrackedIsoCodeFromLanguage {639-1}{\CurrentTrackedLanguage}}% - \ifx\CurrentTrackedRegion\@empty + \ifx\CurrentTrackedRegion\empty \let\CurrentTrackedTag\CurrentTrackedIsoCode \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}% {#4} @@ -1621,7 +2112,34 @@ \edef\CurrentTrackedIsoCode{% \TrackedIsoCodeFromLanguage {639-2}{\CurrentTrackedLanguage}}% - \ifx\CurrentTrackedRegion\@empty + }% + {% + \IfTrackedLanguageHasIsoCode + {639-3}{\CurrentTrackedLanguage} + {% + \edef\CurrentTrackedIsoCode{% + \TrackedIsoCodeFromLanguage + {639-3}{\CurrentTrackedLanguage}}% + }% + {% + \let\CurrentTrackedIsoCode\empty + }% + }% + \ifx\CurrentTrackedIsoCode\empty + \ifx\CurrentTrackedRegion\empty + \let\CurrentTrackedTag\CurrentTrackedLanguage + \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}{#4}{#5}% + \else + \let\CurrentTrackedTag\CurrentTrackedRegion + \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}% + {#4}% + {% + \let\CurrentTrackedTag\CurrentTrackedLanguage + \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}{#4}{#5}% + }% + \fi + \else + \ifx\CurrentTrackedRegion\empty \let\CurrentTrackedTag\CurrentTrackedIsoCode \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}% {#4}% @@ -1649,26 +2167,219 @@ }% }% \fi - }% - {% - \ifx\CurrentTrackedRegion\@empty - \let\CurrentTrackedTag\CurrentTrackedLanguage - \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}{#4}{#5}% - \else - \let\CurrentTrackedTag\CurrentTrackedRegion - \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}% - {#4}% - {% - \let\CurrentTrackedTag\CurrentTrackedLanguage - \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}{#4}{#5}% - }% - \fi - }% + \fi }% }% }% {#5}% unknown dialect } +\ifx\ProvidesFile\undefined + \long\def\TrackLangProvidesResource#1#2{% + \ifx\TrackLangRequireDialectPrefix\undefined + \@tracklang@err{Resources files using + \string\TrackLangProvidesResource\space + must be loaded with \string\TrackLangRequireDialect}% + \fi + \ifx#2[\relax + \def\@tracklang@next{% + \@tracklang@providesresource{\TrackLangRequireDialectPrefix-#1.ldf}#2% + } + \else + \expandafter\xdef\csname ver@\TrackLangRequireDialectPrefix + -#1.ldf\endcsname{}% + {% + \newlinechar=`\^^J + \def\MessageBreak{^^J}% + \message{^^JFile: \TrackLangRequireDialectPrefix-#1.ldf^^J}% + }% + \long\def\@tracklang@next{#2}% + \fi + \@tracklang@next + } + \def\@tracklang@providesresource#1[#2]{% + \expandafter\xdef\csname ver@#1\endcsname{#2}% + {% + \newlinechar=`\^^J + \def\MessageBreak{^^J}% + \message{^^JFile: #1 #2^^J}% + }% + } +\else + \def\TrackLangProvidesResource#1{% + \ifx\TrackLangRequireDialectPrefix\undefined + \@tracklang@err{Resources files using + \string\TrackLangProvidesResource\space + must be loaded with \string\TrackLangRequireDialect}% + \fi + \ProvidesFile{\TrackLangRequireDialectPrefix-#1.ldf}% + } +\fi +\def\TrackLangAddToHook{\noop@TrackLangAddToHook} +\def\noop@TrackLangAddToHook#1#2{% + \@tracklang@err{\string\TrackLangAddToHook\space + only permitted within resource files} +} +\def\@TrackLangAddToHook#1#2{% + \@tracklang@ifundef{#2\CurrentTrackedDialect}% + {% + \IfTrackedDialectHasMapping{\CurrentTrackedDialect}% + {% + \edef\@tracklang@tmp{% + \csname @tracklang@dialectmap@to@\CurrentTrackedDialect\endcsname}% + \@tracklang@ifundef{#2\@tracklang@tmp}% + {% + \@tracklang@ifundef{#2\CurrentTrackedLanguage}% + {% + #1% + }% + {% + \@tracklang@addtohook{#2}{\CurrentTrackedLanguage}{#1}% + }% + }% + {% + \@tracklang@addtohook{#2}{\@tracklang@tmp}{#1}% + }% + }% + {% + \@tracklang@ifundef{#2\CurrentTrackedLanguage}% + {% + }% + {% + \@tracklang@addtohook{#2}{\CurrentTrackedLanguage}{#1}% + }% + }% + }% + {% + \@tracklang@addtohook{#2}{\CurrentTrackedDialect}{#1}% + }% + #1% +} +\def\@tracklang@addtohook#1#2#3{% + \expandafter\let\expandafter\@tracklang@hook\csname #1#2\endcsname + \expandafter + \gdef\csname#1#2\expandafter\endcsname\expandafter{\@tracklang@hook#3}% +} +\def\TrackLangAddToCaptions#1{\TrackLangAddToHook{#1}{captions}} +\def\SetTrackedDialectLabelMap#1#2{% + \@tracklang@enamedef{@tracklang@dialectmap@to@#1}{#2}% + \@tracklang@enamedef{@tracklang@dialectmap@from@#2}{#1}% +} +\def\IfTrackedDialectHasMapping#1#2#3{% + \@tracklang@ifundef{@tracklang@dialectmap@to@#1}{#3}{#2}% +} +\def\GetTrackedDialectToMapping#1{% + \@tracklang@ifundef{@tracklang@dialectmap@to@#1}{#1}% + {\csname @tracklang@dialectmap@to@#1\endcsname}% +} +\def\GetTrackedDialectFromMapping#1{% + \@tracklang@ifundef{@tracklang@dialectmap@from@#1}{#1}% + {\csname @tracklang@dialectmap@from@#1\endcsname}% +} +\def\TrackLangRequireResource{\noop@TrackLangRequireResource} +\def\noop@TrackLangRequireResource#1{% + \@tracklang@err{\string\TrackLangRequireResource\space + only permitted within resource files} +} +\def\@TrackLangRequireResource#1{% + \@tracklang@ifundef{ver@\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \@tracklang@IfFileExists{\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \input \TrackLangRequireDialectPrefix-#1.ldf + }% + {% + \@tracklang@warn{No `\TrackLangRequireDialectPrefix' support for + language/region `#1'\MessageBreak + (resource file `\TrackLangRequireDialectPrefix-#1.ldf' not found)}% + }% + }% + {}% +} +\def\TrackLangRequireResourceOrDo{% + \noop@TrackLangRequireResourceOrDo +} +\def\noop@TrackLangRequireResourceOrDo#1#2#3{% + \@tracklang@err{\string\TrackLangRequireResourceOrDo\space + only permitted within resource files} +} +\def\@TrackLangRequireResourceOrDo#1#2#3{% + \@tracklang@ifundef{ver@\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \@tracklang@IfFileExists{\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \input \TrackLangRequireDialectPrefix-#1.ldf + #2% + }% + {% + \@tracklang@warn{No `\TrackLangRequireDialectPrefix' support for + language/region `#1'\MessageBreak + (resource file `\TrackLangRequireDialectPrefix-#1.ldf' not found)}% + }% + }% + {#3}% +} +\def\TrackLangRequestResource{\noop@TrackLangRequestResource} +\def\noop@TrackLangRequestResource#1#2{% + \@tracklang@err{\string\TrackLangRequestResource\space + only permitted within resource files} +} +\def\@TrackLangRequestResource#1#2{% + \@tracklang@ifundef{ver@\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \@tracklang@IfFileExists{\TrackLangRequireDialectPrefix-#1.ldf}% + {% + \input \TrackLangRequireDialectPrefix-#1.ldf + }% + {#2}% + }% + {}% +} +\def\TrackLangRequireDialect{\@TrackLangRequireDialect} +\def\noop@TrackLangRequireDialect#1{% + \ifx[#1\relax + \def\@tracklang@next{\@noop@TrackLangRequireDialect[}% + \else + \def\@tracklang@next{\@noop@TrackLangRequireDialect[]{#1}}% + \fi + \@tracklang@next +} +\def\@noop@TrackLangRequireDialect[#1]#2#3{% + \@tracklang@err{\string\TrackLangRequireDialect\space + only permitted within resource files} +} +\def\@TrackLangRequireDialect#1{% + \ifx[#1\relax + \def\@tracklang@next{\@@TrackLangRequireDialect[}% + \else + \def\@tracklang@next{% + \@@TrackLangRequireDialect + [\TrackLangRequireResource{\CurrentTrackedTag}]{#1}}% + \fi + \@tracklang@next +} +\def\@@TrackLangRequireDialect[#1]#2#3{% + \def\TrackLangRequireDialectPrefix{#2}% + \IfTrackedLanguageFileExists{#3}% + {#2-}% prefix + {.ldf}% suffix + {% + \let\TrackLangRequireResource\@TrackLangRequireResource + \let\TrackLangRequireResourceOrDo\@TrackLangRequireResourceOrDo + \let\TrackLangRequestResource\@TrackLangRequestResource + \let\TrackLangRequireDialect\noop@TrackLangRequireDialect + \let\TrackLangAddToHook\@TrackLangAddToHook + #1% + \let\TrackLangRequireResource\noop@TrackLangRequireResource + \let\TrackLangRequireResourceOrDo\noop@TrackLangRequireResourceOrDo + \let\TrackLangRequestResource\noop@TrackLangRequestResource + \let\TrackLangRequireDialect\@TrackLangRequireDialect + \let\TrackLangAddToHook\noop@TrackLangAddToHook + }% + {% + \@tracklang@warn{No `#2' support for dialect `#3'}% + }% +} +\@tracklang@restore@at \endinput %% %% End of file `tracklang.tex'. |