summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tracklang
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/tracklang')
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex355
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex311
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang.tex3219
3 files changed, 2631 insertions, 1254 deletions
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex
new file mode 100644
index 00000000000..9e14e121722
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex
@@ -0,0 +1,355 @@
+%%
+%% This is file `tracklang-region-codes.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tracklang.dtx (with options: `tracklang-region-codes.tex,package')
+%%
+%% tracklang.dtx
+%% 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
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% 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, 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
+%% Lower-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
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%% 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@regions@restore@at{}%
+\else
+ \expandafter\edef\csname @tracklang@regions@restore@at\endcsname{%
+ \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax
+ }%
+ \catcode`\@=11\relax
+\fi
+\ifx\TrackLangRegionMap\undefined
+\else
+ \@tracklang@regions@restore@at
+ \expandafter\endinput
+\fi
+\expandafter\def\csname ver@tracklang-region-codes.tex\endcsname{2016/10/08 v1.3.1
+(NLCT) Track Languages Regions}%
+\def\TrackLangRegionMap#1#2#3{%
+ \@tracklang@enamedef{@tracklang@region@numtoalphaii@#1}{#2}%
+ \@tracklang@enamedef{@tracklang@region@numtoalphaiii@#1}{#3}%
+ \@tracklang@enamedef{@tracklang@region@alphaiitonum@#2}{#1}%
+ \@tracklang@enamedef{@tracklang@region@alphaiiitonum@#3}{#1}%
+ \@tracklang@enamedef{@tracklang@region@alphaiitoalphaiii@#2}{#3}%
+ \@tracklang@enamedef{@tracklang@region@alphaiiitoalphaii@#3}{#2}%
+}%
+\def\TrackLangAlphaIIToNumericRegion#1{%
+ \@tracklang@nameuse{@tracklang@region@alphaiitonum@#1}%
+}%
+\def\TrackLangNumericToAlphaIIRegion#1{%
+ \@tracklang@nameuse{@tracklang@region@numtoalphaii@#1}%
+}%
+\def\TrackLangIfKnownAlphaIIRegion#1#2#3{%
+ \@tracklang@ifundef{@tracklang@region@alphaiitonum@#1}%
+ {#3}%
+ {#2}%
+}%
+\def\TrackLangIfKnownNumericRegion#1#2#3{%
+ \@tracklang@ifundef{@tracklang@region@numtoalphaii@#1}%
+ {#3}%
+ {#2}%
+}%
+\def\TrackLangAlphaIIIToNumericRegion#1{%
+ \@tracklang@nameuse{@tracklang@region@alphaiiitonum@#1}%
+}%
+\def\TrackLangNumericToAlphaIIIRegion#1{%
+ \@tracklang@nameuse{@tracklang@region@numtoalphaiii@#1}%
+}%
+\def\TrackLangIfKnownAlphaIIIRegion#1#2#3{%
+ \@tracklang@ifundef{@tracklang@region@alphaiiitonum@#1}%
+ {#3}%
+ {#2}%
+}%
+\TrackLangRegionMap{004}{AF}{AFG}%
+\TrackLangRegionMap{248}{AX}{ALA}%
+\TrackLangRegionMap{008}{AL}{ALB}%
+\TrackLangRegionMap{012}{DZ}{DZA}%
+\TrackLangRegionMap{016}{AS}{ASM}%
+\TrackLangRegionMap{020}{AD}{AND}%
+\TrackLangRegionMap{024}{AO}{AGO}%
+\TrackLangRegionMap{660}{AI}{AIA}%
+\TrackLangRegionMap{010}{AQ}{ATA}%
+\TrackLangRegionMap{028}{AG}{ATG}%
+\TrackLangRegionMap{032}{AR}{ARG}%
+\TrackLangRegionMap{051}{AM}{ARM}%
+\TrackLangRegionMap{533}{AW}{ABW}%
+\TrackLangRegionMap{036}{AU}{AUS}%
+\TrackLangRegionMap{040}{AT}{AUT}%
+\TrackLangRegionMap{031}{AZ}{AZE}%
+\TrackLangRegionMap{044}{BS}{BHS}%
+\TrackLangRegionMap{048}{BH}{BHR}%
+\TrackLangRegionMap{050}{BD}{BGD}%
+\TrackLangRegionMap{052}{BB}{BRB}%
+\TrackLangRegionMap{112}{BY}{BLR}%
+\TrackLangRegionMap{056}{BE}{BEL}%
+\TrackLangRegionMap{084}{BZ}{BLZ}%
+\TrackLangRegionMap{204}{BJ}{BEN}%
+\TrackLangRegionMap{060}{BM}{BMU}%
+\TrackLangRegionMap{064}{BT}{BTN}%
+\TrackLangRegionMap{068}{BO}{BOL}%
+\TrackLangRegionMap{535}{BQ}{BES}%
+\TrackLangRegionMap{070}{BA}{BIH}%
+\TrackLangRegionMap{072}{BW}{BWA}%
+\TrackLangRegionMap{074}{BV}{BVT}%
+\TrackLangRegionMap{076}{BR}{BRA}%
+\TrackLangRegionMap{086}{IO}{IOT}%
+\TrackLangRegionMap{096}{BN}{BRN}%
+\TrackLangRegionMap{100}{BG}{BGR}%
+\TrackLangRegionMap{854}{BF}{BFA}%
+\TrackLangRegionMap{108}{BI}{BDI}%
+\TrackLangRegionMap{132}{CV}{CPV}%
+\TrackLangRegionMap{116}{KH}{KHM}%
+\TrackLangRegionMap{120}{CM}{CMR}%
+\TrackLangRegionMap{124}{CA}{CAN}%
+\TrackLangRegionMap{136}{KY}{CYM}%
+\TrackLangRegionMap{140}{CF}{CAF}%
+\TrackLangRegionMap{148}{TD}{TCD}%
+\TrackLangRegionMap{152}{CL}{CHL}%
+\TrackLangRegionMap{156}{CN}{CHN}%
+\TrackLangRegionMap{162}{CX}{CXR}%
+\TrackLangRegionMap{166}{CC}{CCK}%
+\TrackLangRegionMap{170}{CO}{COL}%
+\TrackLangRegionMap{174}{KM}{COM}%
+\TrackLangRegionMap{180}{CD}{COD}%
+\TrackLangRegionMap{178}{CG}{COG}%
+\TrackLangRegionMap{184}{CK}{COK}%
+\TrackLangRegionMap{188}{CR}{CRI}%
+\TrackLangRegionMap{384}{CI}{CIV}%
+\TrackLangRegionMap{191}{HR}{HRV}%
+\TrackLangRegionMap{192}{CU}{CUB}%
+\TrackLangRegionMap{531}{CW}{CUW}%
+\TrackLangRegionMap{196}{CY}{CYP}%
+\TrackLangRegionMap{203}{CZ}{CZE}%
+\TrackLangRegionMap{208}{DK}{DNK}%
+\TrackLangRegionMap{262}{DJ}{DJI}%
+\TrackLangRegionMap{212}{DM}{DMA}%
+\TrackLangRegionMap{214}{DO}{DOM}%
+\TrackLangRegionMap{218}{EC}{ECU}%
+\TrackLangRegionMap{818}{EG}{EGY}%
+\TrackLangRegionMap{222}{SV}{SLV}%
+\TrackLangRegionMap{226}{GQ}{GNQ}%
+\TrackLangRegionMap{232}{ER}{ERI}%
+\TrackLangRegionMap{233}{EE}{EST}%
+\TrackLangRegionMap{231}{ET}{ETH}%
+\TrackLangRegionMap{238}{FK}{FLK}%
+\TrackLangRegionMap{234}{FO}{FRO}%
+\TrackLangRegionMap{242}{FJ}{FJI}%
+\TrackLangRegionMap{246}{FI}{FIN}%
+\TrackLangRegionMap{250}{FR}{FRA}%
+\TrackLangRegionMap{254}{GF}{GUF}%
+\TrackLangRegionMap{258}{PF}{PYF}%
+\TrackLangRegionMap{260}{TF}{ATF}%
+\TrackLangRegionMap{266}{GA}{GAB}%
+\TrackLangRegionMap{270}{GM}{GMB}%
+\TrackLangRegionMap{268}{GE}{GEO}%
+\TrackLangRegionMap{276}{DE}{DEU}%
+\TrackLangRegionMap{288}{GH}{GHA}%
+\TrackLangRegionMap{292}{GI}{GIB}%
+\TrackLangRegionMap{300}{GR}{GRC}%
+\TrackLangRegionMap{304}{GL}{GRL}%
+\TrackLangRegionMap{308}{GD}{GRD}%
+\TrackLangRegionMap{312}{GP}{GLP}%
+\TrackLangRegionMap{316}{GU}{GUM}%
+\TrackLangRegionMap{320}{GT}{GTM}%
+\TrackLangRegionMap{831}{GG}{GGY}%
+\TrackLangRegionMap{324}{GN}{GIN}%
+\TrackLangRegionMap{624}{GW}{GNB}%
+\TrackLangRegionMap{328}{GY}{GUY}%
+\TrackLangRegionMap{332}{HT}{HTI}%
+\TrackLangRegionMap{334}{HM}{HMD}%
+\TrackLangRegionMap{336}{VA}{VAT}%
+\TrackLangRegionMap{340}{HN}{HND}%
+\TrackLangRegionMap{344}{HK}{HKG}%
+\TrackLangRegionMap{348}{HU}{HUN}%
+\TrackLangRegionMap{352}{IS}{ISL}%
+\TrackLangRegionMap{356}{IN}{IND}%
+\TrackLangRegionMap{360}{ID}{IDN}%
+\TrackLangRegionMap{364}{IR}{IRN}%
+\TrackLangRegionMap{368}{IQ}{IRQ}%
+\TrackLangRegionMap{372}{IE}{IRL}%
+\TrackLangRegionMap{833}{IM}{IMN}%
+\TrackLangRegionMap{376}{IL}{ISR}%
+\TrackLangRegionMap{380}{IT}{ITA}%
+\TrackLangRegionMap{388}{JM}{JAM}%
+\TrackLangRegionMap{392}{JP}{JPN}%
+\TrackLangRegionMap{832}{JE}{JEY}%
+\TrackLangRegionMap{400}{JO}{JOR}%
+\TrackLangRegionMap{398}{KZ}{KAZ}%
+\TrackLangRegionMap{404}{KE}{KEN}%
+\TrackLangRegionMap{296}{KI}{KIR}%
+\TrackLangRegionMap{408}{KP}{PRK}%
+\TrackLangRegionMap{410}{KR}{KOR}%
+\TrackLangRegionMap{414}{KW}{KWT}%
+\TrackLangRegionMap{417}{KG}{KGZ}%
+\TrackLangRegionMap{418}{LA}{LAO}%
+\TrackLangRegionMap{428}{LV}{LVA}%
+\TrackLangRegionMap{422}{LB}{LBN}%
+\TrackLangRegionMap{426}{LS}{LSO}%
+\TrackLangRegionMap{430}{LR}{LBR}%
+\TrackLangRegionMap{434}{LY}{LBY}%
+\TrackLangRegionMap{438}{LI}{LIE}%
+\TrackLangRegionMap{440}{LT}{LTU}%
+\TrackLangRegionMap{442}{LU}{LUX}%
+\TrackLangRegionMap{446}{MO}{MAC}%
+\TrackLangRegionMap{807}{MK}{MKD}%
+\TrackLangRegionMap{450}{MG}{MDG}%
+\TrackLangRegionMap{454}{MW}{MWI}%
+\TrackLangRegionMap{458}{MY}{MYS}%
+\TrackLangRegionMap{462}{MV}{MDV}%
+\TrackLangRegionMap{466}{ML}{MLI}%
+\TrackLangRegionMap{470}{MT}{MLT}%
+\TrackLangRegionMap{584}{MH}{MHL}%
+\TrackLangRegionMap{474}{MQ}{MTQ}%
+\TrackLangRegionMap{478}{MR}{MRT}%
+\TrackLangRegionMap{480}{MU}{MUS}%
+\TrackLangRegionMap{175}{YT}{MYT}%
+\TrackLangRegionMap{484}{MX}{MEX}%
+\TrackLangRegionMap{583}{FM}{FSM}%
+\TrackLangRegionMap{498}{MD}{MDA}%
+\TrackLangRegionMap{492}{MC}{MCO}%
+\TrackLangRegionMap{496}{MN}{MNG}%
+\TrackLangRegionMap{499}{ME}{MNE}%
+\TrackLangRegionMap{500}{MS}{MSR}%
+\TrackLangRegionMap{504}{MA}{MAR}%
+\TrackLangRegionMap{508}{MZ}{MOZ}%
+\TrackLangRegionMap{104}{MM}{MMR}%
+\TrackLangRegionMap{516}{NA}{NAM}%
+\TrackLangRegionMap{520}{NR}{NRU}%
+\TrackLangRegionMap{524}{NP}{NPL}%
+\TrackLangRegionMap{528}{NL}{NLD}%
+\TrackLangRegionMap{540}{NC}{NCL}%
+\TrackLangRegionMap{554}{NZ}{NZL}%
+\TrackLangRegionMap{558}{NI}{NIC}%
+\TrackLangRegionMap{562}{NE}{NER}%
+\TrackLangRegionMap{566}{NG}{NGA}%
+\TrackLangRegionMap{570}{NU}{NIU}%
+\TrackLangRegionMap{574}{NF}{NFK}%
+\TrackLangRegionMap{580}{MP}{MNP}%
+\TrackLangRegionMap{578}{NO}{NOR}%
+\TrackLangRegionMap{512}{OM}{OMN}%
+\TrackLangRegionMap{586}{PK}{PAK}%
+\TrackLangRegionMap{585}{PW}{PLW}%
+\TrackLangRegionMap{275}{PS}{PSE}%
+\TrackLangRegionMap{591}{PA}{PAN}%
+\TrackLangRegionMap{598}{PG}{PNG}%
+\TrackLangRegionMap{600}{PY}{PRY}%
+\TrackLangRegionMap{604}{PE}{PER}%
+\TrackLangRegionMap{608}{PH}{PHL}%
+\TrackLangRegionMap{612}{PN}{PCN}%
+\TrackLangRegionMap{616}{PL}{POL}%
+\TrackLangRegionMap{620}{PT}{PRT}%
+\TrackLangRegionMap{630}{PR}{PRI}%
+\TrackLangRegionMap{634}{QA}{QAT}%
+\TrackLangRegionMap{638}{RE}{REU}%
+\TrackLangRegionMap{642}{RO}{ROU}%
+\TrackLangRegionMap{643}{RU}{RUS}%
+\TrackLangRegionMap{646}{RW}{RWA}%
+\TrackLangRegionMap{652}{BL}{BLM}%
+\TrackLangRegionMap{654}{SH}{SHN}%
+\TrackLangRegionMap{659}{KN}{KNA}%
+\TrackLangRegionMap{662}{LC}{LCA}%
+\TrackLangRegionMap{663}{MF}{MAF}%
+\TrackLangRegionMap{666}{PM}{SPM}%
+\TrackLangRegionMap{670}{VC}{VCT}%
+\TrackLangRegionMap{882}{WS}{WSM}%
+\TrackLangRegionMap{674}{SM}{SMR}%
+\TrackLangRegionMap{678}{ST}{STP}%
+\TrackLangRegionMap{682}{SA}{SAU}%
+\TrackLangRegionMap{686}{SN}{SEN}%
+\TrackLangRegionMap{688}{RS}{SRB}%
+\TrackLangRegionMap{690}{SC}{SYC}%
+\TrackLangRegionMap{694}{SL}{SLE}%
+\TrackLangRegionMap{702}{SG}{SGP}%
+\TrackLangRegionMap{534}{SX}{SXM}%
+\TrackLangRegionMap{703}{SK}{SVK}%
+\TrackLangRegionMap{705}{SI}{SVN}%
+\TrackLangRegionMap{090}{SB}{SLB}%
+\TrackLangRegionMap{706}{SO}{SOM}%
+\TrackLangRegionMap{710}{ZA}{ZAF}%
+\TrackLangRegionMap{239}{GS}{SGS}%
+\TrackLangRegionMap{728}{SS}{SSD}%
+\TrackLangRegionMap{724}{ES}{ESP}%
+\TrackLangRegionMap{144}{LK}{LKA}%
+\TrackLangRegionMap{729}{SD}{SDN}%
+\TrackLangRegionMap{740}{SR}{SUR}%
+\TrackLangRegionMap{744}{SJ}{SJM}%
+\TrackLangRegionMap{748}{SZ}{SWZ}%
+\TrackLangRegionMap{752}{SE}{SWE}%
+\TrackLangRegionMap{756}{CH}{CHE}%
+\TrackLangRegionMap{760}{SY}{SYR}%
+\TrackLangRegionMap{158}{TW}{TWN}%
+\TrackLangRegionMap{762}{TJ}{TJK}%
+\TrackLangRegionMap{834}{TZ}{TZA}%
+\TrackLangRegionMap{764}{TH}{THA}%
+\TrackLangRegionMap{626}{TL}{TLS}%
+\TrackLangRegionMap{768}{TG}{TGO}%
+\TrackLangRegionMap{772}{TK}{TKL}%
+\TrackLangRegionMap{776}{TO}{TON}%
+\TrackLangRegionMap{780}{TT}{TTO}%
+\TrackLangRegionMap{788}{TN}{TUN}%
+\TrackLangRegionMap{792}{TR}{TUR}%
+\TrackLangRegionMap{795}{TM}{TKM}%
+\TrackLangRegionMap{796}{TC}{TCA}%
+\TrackLangRegionMap{798}{TV}{TUV}%
+\TrackLangRegionMap{800}{UG}{UGA}%
+\TrackLangRegionMap{804}{UA}{UKR}%
+\TrackLangRegionMap{784}{AE}{ARE}%
+\TrackLangRegionMap{826}{GB}{GBR}%
+\TrackLangRegionMap{581}{UM}{UMI}%
+\TrackLangRegionMap{840}{US}{USA}%
+\TrackLangRegionMap{858}{UY}{URY}%
+\TrackLangRegionMap{860}{UZ}{UZB}%
+\TrackLangRegionMap{548}{VU}{VUT}%
+\TrackLangRegionMap{862}{VE}{VEN}%
+\TrackLangRegionMap{704}{VN}{VNM}%
+\TrackLangRegionMap{092}{VG}{VGB}%
+\TrackLangRegionMap{850}{VI}{VIR}%
+\TrackLangRegionMap{876}{WF}{WLF}%
+\TrackLangRegionMap{732}{EH}{ESH}%
+\TrackLangRegionMap{887}{YE}{YEM}%
+\TrackLangRegionMap{894}{ZM}{ZMB}%
+\TrackLangRegionMap{716}{ZW}{ZWE}%
+\@tracklang@regions@restore@at
+\endinput
+%%
+%% End of file `tracklang-region-codes.tex'.
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex
new file mode 100644
index 00000000000..5dd8ce6d36d
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex
@@ -0,0 +1,311 @@
+%%
+%% This is file `tracklang-scripts.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tracklang.dtx (with options: `tracklang-scripts.tex,package')
+%%
+%% tracklang.dtx
+%% 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
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% 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, 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
+%% Lower-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
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%% 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@scripts@restore@at{}%
+\else
+ \expandafter\edef\csname @tracklang@scripts@restore@at\endcsname{%
+ \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax
+ }%
+ \catcode`\@=11\relax
+\fi
+\ifx\TrackLangScriptMap\undefined
+\else
+ \@tracklang@scripts@restore@at
+ \expandafter\endinput
+\fi
+\expandafter\def\csname ver@tracklang-scripts.tex\endcsname{2016/10/08 v1.3.1
+(NLCT) Track Languages Scripts (Generic)}%
+\def\TrackLangScriptMap#1#2#3#4#5{%
+ \@tracklang@enamedef{TrackLangScript#1}{#1}%
+ \@tracklang@enamedef{@tracklang@script@numtoalpha@#2}{#1}%
+ \@tracklang@enamedef{@tracklang@script@alphatonum@#1}{#2}%
+ \@tracklang@enamedef{@tracklang@script@alphatoname@#1}{#3}%
+ \@tracklang@enamedef{@tracklang@script@alphatodir@#1}{#4}%
+ \ifx\relax#5\relax
+ \else
+ \@tracklang@enamedef{@tracklang@script@parent@#1}{#5}%
+ \fi
+}
+\def\TrackLangScriptAlphaToNumeric#1{%
+ \@tracklang@nameuse{@tracklang@script@alphatonum@#1}%
+}%
+\def\TrackLangScriptIfKnownAlpha#1#2#3{%
+ \@tracklang@ifundef{@tracklang@script@alphatonum@#1}%
+ {#3}%
+ {#2}%
+}%
+\def\TrackLangScriptNumericToAlpha#1{%
+ \@tracklang@nameuse{@tracklang@script@numtoalpha@#1}%
+}%
+\def\TrackLangScriptIfKnownNumeric#1#2#3{%
+ \@tracklang@ifundef{@tracklang@script@numtoalpha@#1}%
+ {#3}%
+ {#2}%
+}%
+\def\TrackLangScriptAlphaToName#1{%
+ \@tracklang@nameuse{@tracklang@script@alphatoname@#1}%
+}%
+\def\TrackLangScriptAlphaToDir#1{%
+ \@tracklang@nameuse{@tracklang@script@alphatodir@#1}%
+}%
+\def\TrackLangScriptSetParent#1#2{%
+ \@tracklang@enamedef{@tracklang@script@parent@#1}{#2}%
+}%
+\def\TrackLangScriptGetParent#1{%
+ \@tracklang@nameuse{@tracklang@script@parent@#1}%
+}%
+\def\TrackLangScriptIfHasParent#1#2#3{%
+ \@tracklang@ifundef{@tracklang@script@parent@#1}%
+ {#3}%
+ {#2}%
+}%
+\TrackLangScriptMap{Adlm}{166}{Adlam}{RL}{}
+\TrackLangScriptMap{Afak}{439}{Afaka}{varies}{}
+\TrackLangScriptMap{Aghb}{239}{Caucasian Albanian}{LR}{}
+\TrackLangScriptMap{Ahom}{338}{Ahom, Tai Ahom}{LR}{}
+\TrackLangScriptMap{Arab}{160}{Arabic}{RL}{}
+\TrackLangScriptMap{Aran}{161}{Arabic (Nastaliq variant)}{RL}{}
+\TrackLangScriptMap{Armi}{124}{Imperial Aramaic}{RL}{}
+\TrackLangScriptMap{Armn}{230}{Armenian}{LR}{}
+\TrackLangScriptMap{Avst}{134}{Avestan}{RL}{}
+\TrackLangScriptMap{Bali}{360}{Balinese}{LR}{}
+\TrackLangScriptMap{Bamu}{435}{Bamum}{LR}{}
+\TrackLangScriptMap{Bass}{259}{Bassa Vah}{LR}{}
+\TrackLangScriptMap{Batk}{365}{Batak}{LR}{}
+\TrackLangScriptMap{Beng}{334}{Bhaiksuki}{LR}{}
+\TrackLangScriptMap{Blis}{550}{Blissymbols}{varies}{}
+\TrackLangScriptMap{Bopo}{285}{Bopomofo}{LR}{}
+\TrackLangScriptMap{Brah}{300}{Brahmi}{LR}{}
+\TrackLangScriptMap{Brai}{570}{Braille}{LR}{}
+\TrackLangScriptMap{Bugi}{367}{Buginese}{LR}{}
+\TrackLangScriptMap{Buhd}{372}{Buhid}{LR}{}
+\TrackLangScriptMap{Cakm}{349}{Chakma}{LR}{}
+\TrackLangScriptMap{Cans}{440}{Unified Canadian Aboriginal Syllabics}{LR}{}
+\TrackLangScriptMap{Cari}{201}{Carian}{LR}{}
+\TrackLangScriptMap{Cham}{358}{Cham}{LR}{}
+\TrackLangScriptMap{Cher}{445}{Cherokee}{LR}{}
+\TrackLangScriptMap{Cirt}{291}{Cirth}{varies}{}
+\TrackLangScriptMap{Copt}{204}{Coptic}{LR}{}
+\TrackLangScriptMap{Cprt}{403}{Cypriot}{RL}{}
+\TrackLangScriptMap{Cyrl}{220}{Cyrillic}{LR}{}
+\TrackLangScriptMap{Cyrs}{221}{Cyrillic (Old Church Slavonic{}
+variant)}{varies}{}
+\TrackLangScriptMap{Deva}{315}{Devanagari (Nagari)}{LR}{}
+\TrackLangScriptMap{Dsrt}{250}{Deseret (Mormon)}{LR}{}
+\TrackLangScriptMap{Dupl}{755}{Duployan shorthand, Duployan{}
+stenography}{LR}{}
+\TrackLangScriptMap{Egyd}{070}{Egyptian demotic}{RL}{}
+\TrackLangScriptMap{Egyh}{060}{Egyptian hieratic}{RL}{}
+\TrackLangScriptMap{Egyp}{050}{Egyptian hieroglyphs}{LR}{}
+\TrackLangScriptMap{Elba}{226}{Elbasan}{LR}{}
+\TrackLangScriptMap{Ethi}{430}{Ethiopic (Ge'ez)}{LR}{}
+\TrackLangScriptMap{Geok}{241}{Khutsuri (Asomtavruli and{}
+Nuskhuri)}{LR}{}
+\TrackLangScriptMap{Geor}{240}{Georgian (Mkhedruli)}{LR}{}
+\TrackLangScriptMap{Glag}{225}{Glagolitic}{LR}{}
+\TrackLangScriptMap{Goth}{206}{Gothic}{LR}{}
+\TrackLangScriptMap{Gran}{343}{Grantha}{LR}{}
+\TrackLangScriptMap{Grek}{200}{Greek}{LR}{}
+\TrackLangScriptMap{Gujr}{320}{Gujarati}{LR}{}
+\TrackLangScriptMap{Guru}{310}{Gurmukhi}{LR}{}
+\TrackLangScriptMap{Hanb}{503}{Han with Bopomofo (alias for Han +{}
+Bopomofo)}{LR}{}
+\TrackLangScriptMap{Hang}{286}{Hangul}{LR}{}
+\TrackLangScriptMap{Hani}{500}{Han (Hanzi, Kanji, Hanja)}{LR}{}
+\TrackLangScriptMap{Hano}{371}{Hanunoo}{LR}{}
+\TrackLangScriptMap{Hans}{501}{Han (Simplified variant)}{varies}{}
+\TrackLangScriptMap{Hant}{502}{Han (Traditional variant)}{varies}{}
+\TrackLangScriptMap{Hatr}{127}{Hatran}{RL}{}
+\TrackLangScriptMap{Hebr}{125}{Hebrew}{RL}{}
+\TrackLangScriptMap{Hira}{410}{Hiragana}{LR}{}
+\TrackLangScriptMap{Hluw}{080}{Anatolian Hieroglyphs (Luwian{}
+Hieroglyphs, Hittite Hieroglyphs)}{LR}{}
+\TrackLangScriptMap{Hmng}{450}{Pahawh Hmong}{LR}{}
+\TrackLangScriptMap{Hrkt}{412}{Japanese syllabaries (alias for{}
+Hiragana + Katakana)}{varies}{}
+\TrackLangScriptMap{Hung}{176}{Old Hungarian (Hungarian Runic)}{RL}{}
+\TrackLangScriptMap{Inds}{610}{Indus (Harappan)}{RL}{}
+\TrackLangScriptMap{Ital}{210}{Old Italic (Etruscan, Oscan, etc.)}{LR}{}
+\TrackLangScriptMap{Jamo}{284}{Jamo (alias for Jamo subset of{}
+Hangul)}{LR}{}
+\TrackLangScriptMap{Java}{361}{Javanese}{LR}{}
+\TrackLangScriptMap{Jpan}{413}{Japanese (alias for Han + Hiragana +{}
+Katakana)}{varies}{}
+\TrackLangScriptMap{Jurc}{510}{Jurchen}{LR}{}
+\TrackLangScriptMap{Kali}{357}{Kayah Li}{LR}{}
+\TrackLangScriptMap{Kana}{411}{Katakana}{LR}{}
+\TrackLangScriptMap{Khar}{305}{Kharoshthi}{RL}{}
+\TrackLangScriptMap{Khmr}{355}{Khmer}{LR}{}
+\TrackLangScriptMap{Khoj}{322}{Khojki}{LR}{}
+\TrackLangScriptMap{Kitl}{505}{Khitan large script}{LR}{}
+\TrackLangScriptMap{Kits}{288}{Khitan small script}{TB}{}
+\TrackLangScriptMap{Knda}{345}{Kannada}{LR}{}
+\TrackLangScriptMap{Kore}{287}{Korean (alias for Hangul + Han)}{LR}{}
+\TrackLangScriptMap{Kpel}{436}{Kpelle}{LR}{}
+\TrackLangScriptMap{Kthi}{317}{Kaithi}{LR}{}
+\TrackLangScriptMap{Lana}{351}{Tai Tham (Lanna)}{LR}{}
+\TrackLangScriptMap{Laoo}{356}{Lao}{LR}{}
+\TrackLangScriptMap{Latf}{217}{Latin (Fraktur variant)}{varies}{}
+\TrackLangScriptMap{Latg}{216}{Latin (Gaelic variant)}{LR}{}
+\TrackLangScriptMap{Latn}{215}{Latin}{LR}{}
+\TrackLangScriptMap{Leke}{364}{Leke}{LR}{}
+\TrackLangScriptMap{Lepc}{335}{Lepcha}{LR}{}
+\TrackLangScriptMap{Limb}{336}{Limbu}{LR}{}
+\TrackLangScriptMap{Lina}{400}{Linear A}{LR}{}
+\TrackLangScriptMap{Linb}{401}{Linear B}{LR}{}
+\TrackLangScriptMap{Lisu}{399}{Lisu (Fraser)}{LR}{}
+\TrackLangScriptMap{Loma}{437}{Loma}{LR}{}
+\TrackLangScriptMap{Lyci}{202}{Lycian}{LR}{}
+\TrackLangScriptMap{Lydi}{116}{Lydian}{RL}{}
+\TrackLangScriptMap{Mahj}{314}{Mahajani}{LR}{}
+\TrackLangScriptMap{Mand}{140}{Mandaic, Mandaean}{RL}{}
+\TrackLangScriptMap{Mani}{139}{Manichaean}{RL}{}
+\TrackLangScriptMap{Marc}{332}{Marchen}{LR}{}
+\TrackLangScriptMap{Maya}{090}{Mayan hieroglyphs}{varies}{}
+\TrackLangScriptMap{Mend}{438}{Mende Kikakui}{RL}{}
+\TrackLangScriptMap{Merc}{101}{Meroitic Cursive}{RL}{}
+\TrackLangScriptMap{Mero}{100}{Meroitic Hieroglyphs}{RL}{}
+\TrackLangScriptMap{Mlym}{347}{Malayalam}{LR}{}
+\TrackLangScriptMap{Modi}{324}{Modi}{LR}{}
+\TrackLangScriptMap{Mong}{145}{Mongolian}{TB}{}
+\TrackLangScriptMap{Moon}{218}{Moon (Moon code, Moon script, Moon{}
+type)}{varies}{}
+\TrackLangScriptMap{Mroo}{199}{Mro, Mru}{LR}{}
+\TrackLangScriptMap{Mtei}{337}{Meitei Mayek (Meithei, Meetei)}{LR}{}
+\TrackLangScriptMap{Mult}{323}{Multani}{LR}{}
+\TrackLangScriptMap{Mymr}{350}{Myanmar (Burmese)}{LR}{}
+\TrackLangScriptMap{Narb}{106}{Old North Arabian (Ancient North{}
+Arabian)}{RL}{}
+\TrackLangScriptMap{Nbat}{159}{Nabataean}{RL}{}
+\TrackLangScriptMap{Newa}{333}{Newa, Newar, Newari}{LR}{}
+\TrackLangScriptMap{Nkgb}{420}{Nakhi Geba}{LR}{}
+\TrackLangScriptMap{Nkoo}{165}{N'Ko}{RL}{}
+\TrackLangScriptMap{Nshu}{499}{Nushu}{LR}{}
+\TrackLangScriptMap{Ogam}{212}{Ogham}{varies}{}
+\TrackLangScriptMap{Olck}{261}{Ol Chiki}{LR}{}
+\TrackLangScriptMap{Orkh}{175}{Old Turkic, Orkhon Runic}{RL}{}
+\TrackLangScriptMap{Orya}{327}{Oriya}{LR}{}
+\TrackLangScriptMap{Osge}{219}{Osage}{LR}{}
+\TrackLangScriptMap{Osma}{260}{Osmanya}{LR}{}
+\TrackLangScriptMap{Palm}{126}{Palmyrene}{RL}{}
+\TrackLangScriptMap{Pauc}{263}{Pau Cin Hau}{LR}{}
+\TrackLangScriptMap{Perm}{227}{Old Permic}{LR}{}
+\TrackLangScriptMap{Phag}{331}{Phags-pa}{TB}{}
+\TrackLangScriptMap{Phli}{131}{Inscriptional Pahlavi}{RL}{}
+\TrackLangScriptMap{Phlp}{132}{Psalter Pahlavi}{RL}{}
+\TrackLangScriptMap{Phlv}{133}{Book Pahlavi}{RL}{}
+\TrackLangScriptMap{Phnx}{115}{Phoenician}{RL}{}
+\TrackLangScriptMap{Piqd}{293}{Klingon (KLI plqaD)}{LR}{}
+\TrackLangScriptMap{Plrd}{282}{Miao (Pollard)}{LR}{}
+\TrackLangScriptMap{Prti}{130}{Inscriptional Parthian}{RL}{}
+\TrackLangScriptMap{Qaaa}{900}{Reserved for private use{}
+(start)}{varies}{}
+\TrackLangScriptMap{Qaai}{908}{Private use}{varies}{}
+\TrackLangScriptMap{Qabx}{949}{Reserved for private use{}
+(end)}{varies}{}
+\TrackLangScriptMap{Rjng}{363}{Rejang (Redjang, Kaganga)}{LR}{}
+\TrackLangScriptMap{Roro}{620}{Rongorongo}{varies}{}
+\TrackLangScriptMap{Runr}{211}{Runic}{LR}{}
+\TrackLangScriptMap{Samr}{123}{Samaritan}{RL}{}
+\TrackLangScriptMap{Sara}{292}{Sarati}{varies}{}
+\TrackLangScriptMap{Sarb}{105}{Old South Arabian}{RL}{}
+\TrackLangScriptMap{Saur}{344}{Saurashtra}{LR}{}
+\TrackLangScriptMap{Sgnw}{095}{SignWriting}{TB}{}
+\TrackLangScriptMap{Shaw}{281}{Shavian (Shaw)}{LR}{}
+\TrackLangScriptMap{Shrd}{319}{Sharada}{LR}{}
+\TrackLangScriptMap{Sidd}{302}{Siddham}{LR}{}
+\TrackLangScriptMap{Sind}{318}{Khudawadi, Sindhi}{LR}{}
+\TrackLangScriptMap{Sinh}{348}{Sinhala}{LR}{}
+\TrackLangScriptMap{Sora}{398}{Sora Sompeng}{LR}{}
+\TrackLangScriptMap{Sund}{362}{Sundanese}{LR}{}
+\TrackLangScriptMap{Sylo}{316}{Syloti Nagri}{LR}{}
+\TrackLangScriptMap{Syrc}{135}{Syriac}{RL}{}
+\TrackLangScriptMap{Syre}{138}{Syriac (Estrangelo variant)}{RL}{}
+\TrackLangScriptMap{Syrj}{137}{Syriac (Western variant)}{RL}{}
+\TrackLangScriptMap{Syrn}{136}{Syriac (Eastern variant)}{RL}{}
+\TrackLangScriptMap{Tagb}{373}{Tagbanwa}{LR}{}
+\TrackLangScriptMap{Takr}{321}{Takri}{LR}{}
+\TrackLangScriptMap{Tale}{353}{Tai Le}{LR}{}
+\TrackLangScriptMap{Talu}{354}{New Tai Lue}{LR}{}
+\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}
+\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}
+\TrackLangScriptMap{Tang}{520}{Tangut}{LR}{}
+\TrackLangScriptMap{Tavt}{359}{Tai Viet}{LR}{}
+\TrackLangScriptMap{Telu}{340}{Telugu}{LR}{}
+\TrackLangScriptMap{Teng}{290}{Tengwar}{LR}{}
+\TrackLangScriptMap{Tfng}{120}{Tifinagh (Berber)}{LR}{}
+\TrackLangScriptMap{Tglg}{370}{Tagalog (Baybayin, Alibata)}{LR}{}
+\TrackLangScriptMap{Thaa}{170}{Thaana}{RL}{}
+\TrackLangScriptMap{Thai}{352}{Thai}{LR}{}
+\TrackLangScriptMap{Tibt}{330}{Tibetan}{LR}{}
+\TrackLangScriptMap{Tirh}{326}{Tirhuta}{LR}{}
+\TrackLangScriptMap{Ugar}{040}{Ugaritic}{LR}{}
+\TrackLangScriptMap{Vaii}{470}{Vai}{LR}{}
+\TrackLangScriptMap{Visp}{280}{Visible Speech}{LR}{}
+\TrackLangScriptMap{Wara}{262}{Warang Citi (Varang Kshiti)}{LR}{}
+\TrackLangScriptMap{Wole}{480}{Woleai}{RL}{}
+\TrackLangScriptMap{Xpeo}{030}{Old Persian}{LR}{}
+\TrackLangScriptMap{Xsux}{020}{Cuneiform, Sumero-Akkadian}{LR}{}
+\TrackLangScriptMap{Yiii}{460}{Yi}{LR}{}
+\TrackLangScriptMap{Zinh}{994}{Inherited script}{inherited}{}
+\TrackLangScriptMap{Zmth}{995}{Mathematical notation}{LR}{}
+\TrackLangScriptMap{Zsym}{996}{Symbols}{varies}{}
+\TrackLangScriptMap{Zsye}{993}{Symbols (emoji variant)}{varies}{}
+\TrackLangScriptMap{Zxxx}{997}{Unwritten documents}{varies}{}
+\TrackLangScriptMap{Zyyy}{998}{Undetermined script}{varies}{}
+\TrackLangScriptMap{Zzzz}{999}{Uncoded script}{varies}{}
+\@tracklang@scripts@restore@at
+
+\endinput
+%%
+%% End of file `tracklang-scripts.tex'.
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'.