summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tracklang/tracklang.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/tracklang/tracklang.tex')
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang.tex3219
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'.