diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/tracklang')
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'. |