Open main menu

Difference between revisions of "Module:Lang/data"

< Module:Lang
m (1 revision imported)
(added private use tags used by Module:Language)
Line 1: Line 1:
local lang_data = {};
+
--[[--------------------------< L A N G _ N A M E _ T A B L E >------------------------------------------------
 +
 
 +
primary table of tables that decode:
 +
lang -> language tags and names
 +
script -> ISO 15924 script tags
 +
region -> ISO 3166 region tags
 +
variant -> iana registered variant tags
 +
suppressed -> map of scripts tags and their associated language tags
 +
 +
all of these data come from separate modules that are derived from the IANA language-subtag-registry file
 +
 
 +
key_to_lower() avoids the metatable trap and sets all keys in the subtables to lowercase. Many language codes
 +
have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches
 +
the first name.
 +
 
 +
TODO: instead of returning:
 +
["key"] = {"name"}
 +
where each table has only one name, return
 +
["key"] = "name"
 +
requires changes in Module:Lang.
 +
 
 +
]]
 +
 
 +
local function key_to_lower (module, src_type)
 +
local out = {};
 +
local source = (('var_sup' == src_type) and require (module)) or mw.loadData (module); -- fetch data from this module; require() avoids metatable trap for variant data
 +
if 'var_sup' == src_type then
 +
for k, v in pairs (source) do
 +
out[k:lower()] = v; -- for variant, everything is needed
 +
end
 +
 
 +
elseif 'lang' == src_type and source.active then -- for ~/iana_languages (active)
 +
for k, v in pairs (source.active) do
 +
out[k:lower()] = {v[1]}; -- ignore multiple names; take first name only
 +
end
 +
 
 +
elseif 'lang_dep' == src_type and source.deprecated then -- for ~/iana_languages (deprecated)
 +
for k, v in pairs (source.deprecated) do
 +
out[k:lower()] = {v[1]}; -- ignore multiple names; take first name only
 +
end
 +
 
 +
else -- here for all other sources
 +
for k, v in pairs (source) do
 +
out[k:lower()] = {v[1]}; -- ignore multiple names; take first name only
 +
end
 +
end
 +
return out;
 +
end
 +
 
 +
local lang_name_table = {
 +
lang = key_to_lower ('Module:Language/data/iana languages', 'lang'),
 +
lang_dep = key_to_lower ('Module:Language/data/iana languages', 'lang_dep'),
 +
script = key_to_lower ('Module:Language/data/iana scripts'), -- script keys are capitalized; set to lower
 +
region = key_to_lower ('Module:Language/data/iana regions'), -- region keys are uppercase; set to lower
 +
variant = key_to_lower ('Module:Language/data/iana variants', 'var_sup'),
 +
suppressed = key_to_lower ('Module:Language/data/iana suppressed scripts', 'var_sup'), -- script keys are capitalized; set to lower
 +
}
  
  
 
--[[--------------------------< O V E R R I D E >--------------------------------------------------------------
 
--[[--------------------------< O V E R R I D E >--------------------------------------------------------------
  
Language codes and names in this table override the BCP47 names in Module:Language/name/data.
+
Language codes and names in this table override the BCP47 names in lang_name_table.
 +
 
 +
indexes in this table shall always be lower case
  
code indexes in this table shall always be lower case
 
 
]]
 
]]
  
 
local override = {
 
local override = {
-- ISO 639-1 codes
+
------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------
["ab"] = {"Abkhazian"}, -- IANA name is Abkhazian; override wp_languages {"Abkhaz"}; to achieve this, use |label=
+
 
["bh"] = {"Bihari languages"}, -- only ISO 639-1 collective; defined here to override improper redefinition (Bihari) in wp_languages
+
["ca-valencia"] = {"Valencian"},
 
["cu"] = {"Church Slavonic"}, -- 2nd IANA name;
 
["cu"] = {"Church Slavonic"}, -- 2nd IANA name;
["de-at"] = {"Austrian German"}, -- these code-region and code-variant to match en.wiki article names
+
["de-at"] = {"Austrian German"}, -- these code-region and code-variant tags to match en.wiki article names
["de-ch"] = {"Swiss German"},
+
["de-ch"] = {"Swiss Standard German"},
 
["en-au"] = {"Australian English"},
 
["en-au"] = {"Australian English"},
 
["en-ca"] = {"Canadian English"},
 
["en-ca"] = {"Canadian English"},
Line 21: Line 78:
 
["en-gb"] = {"British English"},
 
["en-gb"] = {"British English"},
 
["en-ie"] = {"Irish English"},
 
["en-ie"] = {"Irish English"},
 +
["en-in"] = {"Indian English"},
 
["en-nz"] = {"New Zealand English"},
 
["en-nz"] = {"New Zealand English"},
 
["en-us"] = {"American English"},
 
["en-us"] = {"American English"},
 
["en-za"] = {"South African English"},
 
["en-za"] = {"South African English"},
["fy"] = {"West Frisian"}, -- IANA name is Western Frisian
+
["fy"] = {"West Frisian"}, -- Western Frisian
["ps"] = {"Pashto"}, -- IANA name is Pushto
+
["mo"] = {"Moldovan"}, -- Moldavian (deprecated code); to match en.wiki article title
["si"] = {"Sinhala"}, -- IANA name is Sinhala, Sinhalese; override wp_languages {"Sinhalese"}; see Module talk:Language/data/wp languages#Request to undo an edit
+
["oc-provenc"] = {"Provençal"},
["sr-cyrl"] = {"Serbian"}, -- override wp_languages Serbian Cyrillic; to achieve this, use |label=
+
["ps"] = {"Pashto"}, -- Pushto
 +
["tw-asante"] = {"Asante Twi"},
 +
 
 +
-- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages
 +
--<begin do-not-edit except to comment out>--
 +
["av"] = {"Avar"}, -- Avaric
 +
["bo"] = {"Standard Tibetan"}, -- Tibetan
 +
["el"] = {"Greek"}, -- Modern Greek
 +
-- ["en-SA"] = {"South African English"}, -- English; no; SA is not South Africa it Saudi Arabia; ZA is South Africa
 +
["ff"] = {"Fula"}, -- Fulah
 +
["ht"] = {"Haitian Creole"}, -- Haitian
 +
["hz"] = {"Otjiherero"}, -- Herero
 +
["ii"] = {"Yi"}, -- Sichuan Yi
 +
["ki"] = {"Gikuyu"}, -- Kikuyu
 +
["kl"] = {"Greenlandic"}, -- Kalaallisut
 +
["ky"] = {"Kyrgyz"}, -- Kirghiz
 +
["lg"] = {"Luganda"}, -- Ganda
 +
["li"] = {"Limburgish"}, -- Limburgan
 +
["mi"] = {"Māori"}, -- Maori
 +
["na"] = {"Nauruan"}, -- Nauru
 +
["nb"] = {"Bokmål"}, -- Norwegian Bokmål
 +
["nd"] = {"Northern Ndebele"}, -- North Ndebele
 +
["nn"] = {"Nynorsk"}, -- Norwegian Nynorsk
 +
["nr"] = {"Southern Ndebele"}, -- South Ndebele
 +
["ny"] = {"Chichewa"}, -- Nyanja
 +
["oj"] = {"Ojibwe"}, -- Ojibwa
 +
["or"] = {"Odia"}, -- Oriya
 +
["pa"] = {"Punjabi"}, -- Panjabi
 +
["rn"] = {"Kirundi"}, -- Rundi
 +
["sl"] = {"Slovene"}, -- Slovenian
 +
["ss"] = {"Swazi"}, -- Swati
 +
["st"] = {"Sotho"}, -- Southern Sotho
 +
["to"] = {"Tongan"}, -- Tonga
 +
--<end do-not-edit except to comment out>--
 +
 
 +
 
 +
------------------------------< I S O _ 6 3 9 - 2,   - 3,  - 5 >----------------------------------------------
  
-- ISO 639-2, -3 codes
+
["arc"] = {"Aramaic"}, -- Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE);
["arc"] = {"Aramaic"}, -- IANA names are: Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE);
+
["art"] = {"constructed"}, -- to match en.wiki article; lowercase for category name
["ber"] = {"Berber languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
+
["bhd"] = {"Bhadarwahi"}, -- Bhadrawahi; to match en.wiki article title
["bla"] = {"Blackfoot"}, -- IANA, ISO 639-2, -3 name is Siksika; to match en.wiki article title
+
["bla"] = {"Blackfoot"}, -- Siksika; to match en.wiki article title
["bua"] = {"Buryat"}, -- IANA name Buriat; this is a macro language; these four use wp preferred transliteration;
+
["bua"] = {"Buryat"}, -- Buriat; this is a macro language; these four use wp preferred transliteration;
["bxm"] = {"Mongolian Buryat"}, -- IANA name Mongolia Buriat; these three all redirect to Buryat
+
["bxm"] = {"Mongolian Buryat"}, -- Mongolia Buriat; these three all redirect to Buryat
["bxr"] = {"Russian Buryat"}, -- IANA name Russia Buriat;
+
["bxr"] = {"Russian Buryat"}, -- Russia Buriat;
["bxu"] = {"Chinese Buryat"}, -- IANA name China Buriat;
+
["bxu"] = {"Chinese Buryat"}, -- China Buriat;
["byr"] = {"Yipma"}, -- IANA names are Baruya and Yipma
+
["byr"] = {"Yipma"}, -- Baruya, Yipma
["cel"] = {"Celtic languages"}, -- ISO 639-2 collective; defined here to override improper redefinition ('Proto-Celtic') in wp_languages; use cel-x-proto instead
+
["egy"] = {"Ancient Egyptian"}, -- Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic  
["egy"] = {"Ancient Egyptian"}, -- IANA name is Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic  
+
["frr"] = {"North Frisian"}, -- Northern Frisian
["frr"] = {"North Frisian"}, -- IANA name is Northern Frisian
+
["frs"] = {"East Frisian Low Saxon"}, -- Eastern Frisian
["frs"] = {"East Frisian Low Saxon"}, -- IANA name is Eastern Frisian
+
["ilo"] = {"Ilocano"}, -- Iloko; to match en.wiki article title
["gem"] = {"Germanic languages"}, -- ISO 639-2 collective; defined here to override improper redefinition ('Proto-Germanic') in wp_languages; use gem-x-proto instead
+
["jam"] = {"Jamaican Patois"}, -- Jamaican Creole English
["ilo"] = {"Ilocano"}, -- IANA, ISO 639-2, -3 name is Iloko; to match en.wiki article title
+
["mhr"] = {"Meadow Mari"}, -- Eastern Mari
["jam"] = {"Jamaican Patois"}, -- IANA name is Jamaican Creole English
+
["mid"] = {"Modern Mandaic"}, -- Mandaic
["mhr"] = {"Meadow Mari"}, -- IANA name is Eastern Mari
+
["mla"] = {"Tamambo"}, -- Malo
["mid"] = {"Modern Mandaic"}, -- IANA name is Mandaic
+
['mte'] = {"Mono-Alu"}, -- Mono (Solomon Islands)
["mla"] = {"Tamambo"}, -- wp_languages name is Medieval Latin; IANA and ISO 639-1 name is Malo
 
["myn"] = {"Mayan languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
 
["nah"] = {"Nahuatl languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
 
 
["nan-tw"] = {"Taiwanese Hokkien"}, -- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title
 
["nan-tw"] = {"Taiwanese Hokkien"}, -- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title
 
["nrf"] = {"Norman"}, -- not quite a collective - IANA name: Jèrriais; categorizes to Norman-language text
 
["nrf"] = {"Norman"}, -- not quite a collective - IANA name: Jèrriais; categorizes to Norman-language text
["nzi"] = {"Nzema"}, -- IANA, ISO 639-2, -3 name is Nzima; to match en.wiki article title
+
["nzi"] = {"Nzema"}, -- Nzima; to match en.wiki article title
["orv"] = {"Old East Slavic"}, -- IANA name is Old Russian
+
["orv"] = {"Old East Slavic"}, -- Old Russian
["pms"] = {"Piedmontese"}, -- IANA / 639-3 name is Piemontese; to match en.wiki article title
+
["pfl"] = {"Palatine German"}, -- Pfaelzisch; to match en.wiki article
["pra"] = {"Prakrit languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
+
["pms"] = {"Piedmontese"}, -- Piemontese; to match en.wiki article title
["roa"] = {"Romance languages"}, -- ISO 639-2 collective; defined here to override improper redefinition (Jèrriais) in wp_language; IANA name is "Romance languages"
+
["pnb"] = {"Punjabi (Western)"}, -- Western Panjabi; dab added to override import from ~/wp languages and distinguish pnb from pa in reverse look up tag_from_name()
["sal"] = {"Salishan languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
+
["stq"] = {"Saterland Frisian"}, -- Saterfriesisch
["sla"] = {"Slavic languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
 
["son"] = {"Songhai languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
 
["stq"] = {"Saterland Frisian"}, -- IANA name is Saterfriesisch
 
 
["und"] = {"undetermined"}, -- capitalization to match existing category
 
["und"] = {"undetermined"}, -- capitalization to match existing category
["wen"] = {"Sorbian languages"}, -- ISO 639-2 collective; defined here to override redefinition in wp_languages
+
["wrg"] = {"Warrongo"}, -- Warungu
["wrg"] = {"Warrongo"}, -- IANA name is Warungu
 
 
["xal-ru"] = {"Kalmyk"}, -- to match en.wiki article title
 
["xal-ru"] = {"Kalmyk"}, -- to match en.wiki article title
+
["xgf"] = {"Tongva"}, -- ISO 639-3 is Gabrielino-Fernandeño
-- private use codes
+
 
 +
-- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages
 +
--<begin do-not-edit except to comment out>--
 +
["ace"] = {"Acehnese"}, -- Achinese
 +
["aec"] = {"Sa'idi Arabic"}, -- Saidi Arabic
 +
["akl"] = {"Aklan"}, -- Aklanon
 +
["alt"] = {"Altay"}, -- Southern Altai
 +
["apm"] = {"Mescalero-Chiricahua"}, -- Mescalero-Chiricahua Apache
 +
["bal"] = {"Balochi"}, -- Baluchi
 +
["bcl"] = {"Central Bicolano"}, -- Central Bikol
 +
["bin"] = {"Edo"}, -- Bini
 +
["bpy"] = {"Bishnupriya Manipuri"}, -- Bishnupriya
 +
["chg"] = {"Chagatay"}, -- Chagatai
 +
["ckb"] = {"Sorani Kurdish"}, -- Central Kurdish
 +
["cnu"] = {"Shenwa"}, -- Chenoua
 +
["coc"] = {"Cocopah"}, -- Cocopa
 +
["diq"] = {"Zazaki"}, -- Dimli
 +
["fit"] = {"Meänkieli"}, -- Tornedalen Finnish
 +
["fkv"] = {"Kven"}, -- Kven Finnish
 +
["frk"] = {"Old Frankish"}, -- Frankish
 +
["gez"] = {"Ge'ez"}, -- Geez
 +
["gju"] = {"Gujari"}, -- Gujari
 +
["gsw"] = {"Alemannic German"}, -- Swiss German
 +
["gul"] = {"Gullah"}, -- Sea Island Creole English
 +
["hak"] = {"Hakka"}, -- Hakka Chinese
 +
["hbo"] = {"Biblical Hebrew"}, -- Ancient Hebrew
 +
["hnd"] = {"Hindko"}, -- Southern Hindko
 +
-- ["ikt"] = {"Inuvialuk"}, -- Inuinnaqtun
 +
["kaa"] = {"Karakalpak"}, -- Kara-Kalpak
 +
["khb"] = {"Tai Lü"}, -- Lü
 +
["kmr"] = {"Kurmanji Kurdish"}, -- Northern Kurdish
 +
["kpo"] = {"Kposo"}, -- Ikposo
 +
["krj"] = {"Kinaray-a"}, -- Kinaray-A
 +
["ktz"] = {"Juǀ'hoan"}, -- Juǀʼhoan
 +
["lez"] = {"Lezgian"}, -- Lezghian
 +
["liv"] = {"Livonian"}, -- Liv
 +
["lng"] = {"Lombardic"}, -- Langobardic
 +
["mia"] = {"Miami-Illinois"}, -- Miami
 +
["miq"] = {"Miskito"}, -- Mískito
 +
["mix"] = {"Mixtec"}, -- Mixtepec Mixtec
 +
["mni"] = {"Meitei"}, -- Manipuri
 +
["mrj"] = {"Hill Mari"}, -- Western Mari
 +
["mww"] = {"White Hmong"}, -- Hmong Daw
 +
["nds-nl"] = {"Dutch Low Saxon"}, -- Low German
 +
["new"] = {"Nepal Bhasa"}, -- Newari
 +
["nso"] = {"Northern Sotho"}, -- Pedi
 +
["nwc"] = {"Classical Nepal Bhasa"}, -- Classical Newari
 +
["ood"] = {"O'odham"}, -- Tohono O'odham
 +
["otk"] = {"Old Turkic"}, -- Old Turkish
 +
["pal"] = {"Middle Persian"}, -- Pahlavi
 +
["pam"] = {"Kapampangan"}, -- Pampanga
 +
["phr"] = {"Potwari"}, -- Pahari-Potwari
 +
["pka"] = {"Jain Prakrit"}, -- Ardhamāgadhī Prākrit
 +
-- ["pnb"] = {"Punjabi"}, -- Western Panjabi
 +
["psu"] = {"Shauraseni"}, -- Sauraseni Prākrit
 +
["rap"] = {"Rapa Nui"}, -- Rapanui
 +
["rar"] = {"Cook Islands Māori"}, -- Rarotongan
 +
["rmu"] = {"Scandoromani"}, -- Tavringer Romani
 +
["rom"] = {"Romani"}, -- Romany
 +
["rup"] = {"Aromanian"}, -- Macedo-Romanian
 +
["ryu"] = {"Okinawan"}, -- Central Okinawan
 +
["sdc"] = {"Sassarese"}, -- Sassarese Sardinian
 +
["sdn"] = {"Gallurese"}, -- Gallurese Sardinian
 +
["shp"] = {"Shipibo"}, -- Shipibo-Conibo
 +
["src"] = {"Logudorese"}, -- Logudorese Sardinian
 +
["sro"] = {"Campidanese"}, -- Campidanese Sardinian
 +
["tkl"] = {"Tokelauan"}, -- Tokelau
 +
["tvl"] = {"Tuvaluan"}, -- Tuvalu
 +
["tyv"] = {"Tuvan"}, -- Tuvinian
 +
["vls"] = {"West Flemish"}, -- Vlaams
 +
["wep"] = {"Westphalian"}, -- Westphalien
 +
["xal"] = {"Oirat"}, -- Kalmyk
 +
["xcl"] = {"Old Armenian"}, -- Classical Armenian
 +
["yua"] = {"Yucatec Maya"}, -- Yucateco
 +
--<end do-not-edit except to comment out>--
 +
 
 +
 
 +
------------------------------< P R I V A T E _ U S E _ T A G S >----------------------------------------------
 +
 
 
["cel-x-proto"] = {"Proto-Celtic"}, -- cel in IANA is Celtic languages
 
["cel-x-proto"] = {"Proto-Celtic"}, -- cel in IANA is Celtic languages
 
["gem-x-proto"] = {"Proto-Germanic"}, -- gem in IANA is Germanic languages
 
["gem-x-proto"] = {"Proto-Germanic"}, -- gem in IANA is Germanic languages
 +
["gmw-x-ecg"] = {"East Central German"},
 
["grc-x-aeolic"] = {"Aeolic Greek"}, -- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre
 
["grc-x-aeolic"] = {"Aeolic Greek"}, -- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre
 
["grc-x-attic"] = {"Attic Greek"},
 
["grc-x-attic"] = {"Attic Greek"},
Line 82: Line 248:
 
["grk-x-proto"] = {"Proto-Greek"}, -- grk in IANA is Greek languages
 
["grk-x-proto"] = {"Proto-Greek"}, -- grk in IANA is Greek languages
 
["iir-x-proto"] = {"Proto-Indo-Iranian"}, -- iir in IANA is Indo-Iranian Languages
 
["iir-x-proto"] = {"Proto-Indo-Iranian"}, -- iir in IANA is Indo-Iranian Languages
 +
["ine-x-proto"] = {"Proto-Indo-European"},
 
["ira-x-proto"] = {"Proto-Iranian"}, -- ira in IANA is Iranian languages
 
["ira-x-proto"] = {"Proto-Iranian"}, -- ira in IANA is Iranian languages
 
["itc-x-proto"] = {"Proto-Italic"}, -- itc in IANA is Italic languages
 
["itc-x-proto"] = {"Proto-Italic"}, -- itc in IANA is Italic languages
 
["ksh-x-colog"] = {"Colognian"}, -- en.wiki article is Colognian; ksh (Kölsch) redirects there
 
["ksh-x-colog"] = {"Colognian"}, -- en.wiki article is Colognian; ksh (Kölsch) redirects there
 
["mis-x-ripuar"] = {"Ripuarian"}, -- replaces improper use of ksh in wp_languages
 
["mis-x-ripuar"] = {"Ripuarian"}, -- replaces improper use of ksh in wp_languages
 +
["sem-x-proto"] = {"Proto-Semitic"},
 
["sla-x-proto"] = {"Proto-Slavic"}, -- sla in IANA is Slavic languages
 
["sla-x-proto"] = {"Proto-Slavic"}, -- sla in IANA is Slavic languages
 
["yuf-x-hav"] = {"Havasupai"}, -- IANA name for these three is Havasupai-Walapai-Yavapai
 
["yuf-x-hav"] = {"Havasupai"}, -- IANA name for these three is Havasupai-Walapai-Yavapai
Line 96: Line 264:
  
 
for those rare occasions when article titles don't fit with the normal '<language name>-language', this table
 
for those rare occasions when article titles don't fit with the normal '<language name>-language', this table
maps language code to article title. Use of this table should be avoided and the use of redirects preferred as
+
maps language code to article title. Use of this table should be avoided and the use of redirects preferred as
 
that is the long-standing method of handling article names that don't fit with the normal pattern
 
that is the long-standing method of handling article names that don't fit with the normal pattern
  
Line 102: Line 270:
  
 
local article_name = {
 
local article_name = {
["lij"] = {"Ligurian (Romance language)"}, -- see Template_talk:Lang#Ligurian_dab
+
["lij"] = {"Ligurian (Romance language)"}, -- Ligurian; see Template_talk:Lang#Ligurian_dab
['mnh'] = {"Mono language (Congo)"}, -- see Template_talk:Lang#Mono_languages
+
['mnh'] = {"Mono language (Congo)"}, -- Mono (Democratic Republic of Congo); see Template_talk:Lang#Mono_languages
['mnr'] = {"Mono language (California)"},
+
['mnr'] = {"Mono language (California)"}, -- Mono (USA)
['mru'] = {"Mono language (Cameroon)"},
+
['mru'] = {"Mono language (Cameroon)"}, -- Mono (Cameroon)
['mte'] = {"Mono-Alu language"},
+
["xlg"] = {"Ligurian (ancient language)"}, -- see Template_talk:Lang#Ligurian_dab
["xlg"] = {"Ligurian language (ancient)"}, -- see Template_talk:Lang#Ligurian_dab
 
 
}
 
}
  
Line 113: Line 280:
 
--[=[-------------------------< R T L _ S C R I P T S >--------------------------------------------------------
 
--[=[-------------------------< R T L _ S C R I P T S >--------------------------------------------------------
  
ISO 15924 scripts that are written right-to-left. Data in this table taken from [[ISO 15924#List of codes]]
+
ISO 15924 scripts that are written right-to-left. Data in this table taken from [[ISO 15924#List of codes]]
  
 
last update to this list: 2017-12-24
 
last update to this list: 2017-12-24
Line 127: Line 294:
  
  
--[[--------------------------< T R A N S L I T   T I T L E S >------------------------------------------------
+
--[[--------------------------< T R A N S L I T _ T I T L E S >------------------------------------------------
  
 
This is a table of tables of transliteration standards and the language codes or language scripts that apply to
 
This is a table of tables of transliteration standards and the language codes or language scripts that apply to
those standards. This table is used to create the tool-tip text associated with the transliterated text displayed
+
those standards. This table is used to create the tool-tip text associated with the transliterated text displayed
 
by some of the {{lang-??}} templates.
 
by some of the {{lang-??}} templates.
  
These tables are more-or-less copied directly from {{transl}}. The standard 'NO_STD' is a construct to allow for
+
These tables are more-or-less copied directly from {{transl}}. The standard 'NO_STD' is a construct to allow for
 
the cases when no |std= parameter value is provided.
 
the cases when no |std= parameter value is provided.
  
Line 178: Line 345:
 
['hepburn'] = {
 
['hepburn'] = {
 
['default'] = 'Hepburn transliteration',
 
['default'] = 'Hepburn transliteration',
 +
},
 +
 +
['hunterian'] = {
 +
['default'] = 'Hunterian transliteration',
 
},
 
},
  
Line 241: Line 412:
 
['kor'] = 'ISO 11941 Korean',
 
['kor'] = 'ISO 11941 Korean',
  
 +
['awa'] = 'ISO 15919 Indic',
 +
['bho'] = 'ISO 15919 Indic',
 
['bn'] = 'ISO 15919 Indic',
 
['bn'] = 'ISO 15919 Indic',
 +
['bra'] = 'ISO 15919 Indic',
 +
['doi'] = 'ISO 15919 Indic',
 
['dra'] = 'ISO 15919 Indic',
 
['dra'] = 'ISO 15919 Indic',
 +
['gon'] = 'ISO 15919 Indic',
 
['gu'] = 'ISO 15919 Indic',
 
['gu'] = 'ISO 15919 Indic',
 
['hi'] = 'ISO 15919 Indic',
 
['hi'] = 'ISO 15919 Indic',
 
['inc'] = 'ISO 15919 Indic',
 
['inc'] = 'ISO 15919 Indic',
 
['kn'] = 'ISO 15919 Indic',
 
['kn'] = 'ISO 15919 Indic',
 +
['kok'] = 'ISO 15919 Indic',
 +
['ks'] = 'ISO 15919 Indic',
 +
['mag'] = 'ISO 15919 Indic',
 +
['mai'] = 'ISO 15919 Indic',
 
['ml'] = 'ISO 15919 Indic',
 
['ml'] = 'ISO 15919 Indic',
 
['mr'] = 'ISO 15919 Indic',
 
['mr'] = 'ISO 15919 Indic',
 +
['ne'] = 'ISO 15919 Indic',
 +
['new'] = 'ISO 15919 Indic',
 +
['or'] = 'ISO 15919 Indic',
 +
['pa'] = 'ISO 15919 Indic',
 +
['raj'] = 'ISO 15919 Indic',
 
['sa'] = 'ISO 15919 Indic',
 
['sa'] = 'ISO 15919 Indic',
 +
['sat'] = 'ISO 15919 Indic',
 +
['sd'] = 'ISO 15919 Indic',
 +
['si'] = 'ISO 15919 Indic',
 
['ta'] = 'ISO 15919 Indic',
 
['ta'] = 'ISO 15919 Indic',
 +
['tcy'] = 'ISO 15919 Indic',
 
['te'] = 'ISO 15919 Indic',
 
['te'] = 'ISO 15919 Indic',
 
['beng'] = 'ISO 15919 Indic',
 
['beng'] = 'ISO 15919 Indic',
 
['brah'] = 'ISO 15919 Indic',
 
['brah'] = 'ISO 15919 Indic',
 
['deva'] = 'ISO 15919 Indic',
 
['deva'] = 'ISO 15919 Indic',
 +
['gujr'] = 'ISO 15919 Indic',
 +
['guru'] = 'ISO 15919 Indic',
 +
['knda'] = 'ISO 15919 Indic',
 +
['mlym'] = 'ISO 15919 Indic',
 +
['orya'] = 'ISO 15919 Indic',
 +
['sinh'] = 'ISO 15919 Indic',
 +
['taml'] = 'ISO 15919 Indic',
 +
['telu'] = 'ISO 15919 Indic',
  
 
['default'] = 'ISO transliteration',
 
['default'] = 'ISO transliteration',
 +
},
 +
 +
['jyutping'] = {
 +
['default'] = 'Jyutping transliteration',
 
},
 
},
  
Line 292: Line 493:
 
['ungegn'] = {
 
['ungegn'] = {
 
['default'] = 'United Nations Group of Experts on Geographical Names transliteration',
 
['default'] = 'United Nations Group of Experts on Geographical Names transliteration',
 +
},
 +
 +
['wadegile'] = {
 +
['default'] = 'Wade–Giles transliteration',
 
},
 
},
  
Line 302: Line 507:
 
return
 
return
 
{
 
{
 +
article_name = article_name,
 +
lang_name_table = lang_name_table,
 
override = override,
 
override = override,
article_name = article_name,
 
 
rtl_scripts = rtl_scripts,
 
rtl_scripts = rtl_scripts,
is_rtl_script = is_rtl_script,
 
 
translit_title_table = translit_title_table,
 
translit_title_table = translit_title_table,
 
};
 
};

Revision as of 10:21, 2 December 2020

Documentation for this module may be created at Module:Lang/data/doc

--[[--------------------------< L A N G _ N A M E _ T A B L E >------------------------------------------------

primary table of tables that decode:
	lang -> language tags and names
	script -> ISO 15924 script tags
	region -> ISO 3166 region tags
	variant -> iana registered variant tags
	suppressed -> map of scripts tags and their associated language tags
	
all of these data come from separate modules that are derived from the IANA language-subtag-registry file

key_to_lower() avoids the metatable trap and sets all keys in the subtables to lowercase. Many language codes
have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches
the first name.

TODO: instead of returning:
	["key"] = {"name"}
where each table has only one name, return
	["key"] = "name"
requires changes in Module:Lang.

]]

local function key_to_lower (module, src_type)
	local out = {};
	local source = (('var_sup' == src_type) and require (module)) or mw.loadData (module);		-- fetch data from this module; require() avoids metatable trap for variant data
	if 'var_sup' == src_type then
		for k, v in pairs (source) do
			out[k:lower()] = v;													-- for variant, everything is needed
		end

	elseif 'lang' == src_type and source.active then							-- for ~/iana_languages (active)
		for k, v in pairs (source.active) do
			out[k:lower()] = {v[1]};											-- ignore multiple names; take first name only
		end

	elseif 'lang_dep' == src_type and source.deprecated then					-- for ~/iana_languages (deprecated)
		for k, v in pairs (source.deprecated) do
			out[k:lower()] = {v[1]};											-- ignore multiple names; take first name only
		end

	else																		-- here for all other sources
		for k, v in pairs (source) do
			out[k:lower()] = {v[1]};											-- ignore multiple names; take first name only
		end
	end
	return out;
end

local lang_name_table = {
	lang = key_to_lower ('Module:Language/data/iana languages', 'lang'),
	lang_dep = key_to_lower ('Module:Language/data/iana languages', 'lang_dep'),
	script = key_to_lower ('Module:Language/data/iana scripts'),				-- script keys are capitalized; set to lower
	region = key_to_lower ('Module:Language/data/iana regions'),				-- region keys are uppercase; set to lower
	variant = key_to_lower ('Module:Language/data/iana variants', 'var_sup'),
	suppressed = key_to_lower ('Module:Language/data/iana suppressed scripts', 'var_sup'),	-- script keys are capitalized; set to lower
	}


--[[--------------------------< O V E R R I D E >--------------------------------------------------------------

Language codes and names in this table override the BCP47 names in lang_name_table.

indexes in this table shall always be lower case

]]

local override = {
------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------

	["ca-valencia"] = {"Valencian"},
	["cu"] = {"Church Slavonic"},												-- 2nd IANA name;
	["de-at"] = {"Austrian German"},											-- these code-region and code-variant tags to match en.wiki article names
	["de-ch"] = {"Swiss Standard German"},
	["en-au"] = {"Australian English"},
	["en-ca"] = {"Canadian English"},
	["en-emodeng"] = {"Early Modern English"},
	["en-gb"] = {"British English"},
	["en-ie"] = {"Irish English"},
	["en-in"] = {"Indian English"},
	["en-nz"] = {"New Zealand English"},
	["en-us"] = {"American English"},
	["en-za"] = {"South African English"},
	["fy"] = {"West Frisian"},													-- Western Frisian
	["mo"] = {"Moldovan"},														-- Moldavian (deprecated code); to match en.wiki article title
	["oc-provenc"] = {"Provençal"},
	["ps"] = {"Pashto"},														-- Pushto
	["tw-asante"] = {"Asante Twi"},

-- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages
--<begin do-not-edit except to comment out>--
		["av"] = {"Avar"},														-- Avaric
		["bo"] = {"Standard Tibetan"},											-- Tibetan
		["el"] = {"Greek"},														-- Modern Greek
--		["en-SA"] = {"South African English"},									-- English; no; SA is not South Africa it Saudi Arabia; ZA is South Africa
		["ff"] = {"Fula"},														-- Fulah
		["ht"] = {"Haitian Creole"},											-- Haitian
		["hz"] = {"Otjiherero"},												-- Herero
		["ii"] = {"Yi"},														-- Sichuan Yi
		["ki"] = {"Gikuyu"},													-- Kikuyu
		["kl"] = {"Greenlandic"},												-- Kalaallisut
		["ky"] = {"Kyrgyz"},													-- Kirghiz
		["lg"] = {"Luganda"},													-- Ganda
		["li"] = {"Limburgish"},												-- Limburgan
		["mi"] = {"Māori"},														-- Maori
		["na"] = {"Nauruan"},													-- Nauru
		["nb"] = {"Bokmål"},													-- Norwegian Bokmål
		["nd"] = {"Northern Ndebele"},											-- North Ndebele
		["nn"] = {"Nynorsk"},													-- Norwegian Nynorsk
		["nr"] = {"Southern Ndebele"},											-- South Ndebele
		["ny"] = {"Chichewa"},													-- Nyanja
		["oj"] = {"Ojibwe"},													-- Ojibwa
		["or"] = {"Odia"},														-- Oriya
		["pa"] = {"Punjabi"},													-- Panjabi
		["rn"] = {"Kirundi"},													-- Rundi
		["sl"] = {"Slovene"},													-- Slovenian
		["ss"] = {"Swazi"},														-- Swati
		["st"] = {"Sotho"},														-- Southern Sotho
		["to"] = {"Tongan"},													-- Tonga
--<end do-not-edit except to comment out>--


------------------------------< I S O _ 6 3 9 - 2,   - 3,   - 5 >----------------------------------------------

	["arc"] = {"Aramaic"},														-- Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE);
	["art"] = {"constructed"},													-- to match en.wiki article; lowercase for category name
	["bhd"] = {"Bhadarwahi"},													-- Bhadrawahi; to match en.wiki article title
	["bla"] = {"Blackfoot"},													-- Siksika; to match en.wiki article title
	["bua"] = {"Buryat"},														-- Buriat; this is a macro language; these four use wp preferred transliteration;
	["bxm"] = {"Mongolian Buryat"},												-- Mongolia Buriat; these three all redirect to Buryat
	["bxr"] = {"Russian Buryat"},												-- Russia Buriat;
	["bxu"] = {"Chinese Buryat"},												-- China Buriat;
	["byr"] = {"Yipma"},														-- Baruya, Yipma
	["egy"] = {"Ancient Egyptian"},												-- Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic 
	["frr"] = {"North Frisian"},												-- Northern Frisian
	["frs"] = {"East Frisian Low Saxon"},										-- Eastern Frisian
	["ilo"] = {"Ilocano"},														-- Iloko; to match en.wiki article title
	["jam"] = {"Jamaican Patois"},												-- Jamaican Creole English
	["mhr"] = {"Meadow Mari"},													-- Eastern Mari
	["mid"] = {"Modern Mandaic"},												-- Mandaic
	["mla"] = {"Tamambo"},														-- Malo
	['mte'] = {"Mono-Alu"},														-- Mono (Solomon Islands)
	["nan-tw"] = {"Taiwanese Hokkien"},											-- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title
	["nrf"] = {"Norman"},														-- not quite a collective - IANA name: Jèrriais; categorizes to Norman-language text
	["nzi"] = {"Nzema"},														-- Nzima; to match en.wiki article title
	["orv"] = {"Old East Slavic"},												-- Old Russian
	["pfl"] = {"Palatine German"},												-- Pfaelzisch; to match en.wiki article
	["pms"] = {"Piedmontese"},													-- Piemontese; to match en.wiki article title
	["pnb"] = {"Punjabi (Western)"},											-- Western Panjabi; dab added to override import from ~/wp languages and distinguish pnb from pa in reverse look up tag_from_name()
	["stq"] = {"Saterland Frisian"},											-- Saterfriesisch
	["und"] = {"undetermined"},													-- capitalization to match existing category
	["wrg"] = {"Warrongo"},														-- Warungu
	["xal-ru"] = {"Kalmyk"},													-- to match en.wiki article title
	["xgf"] = {"Tongva"},														-- ISO 639-3 is Gabrielino-Fernandeño

-- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages
--<begin do-not-edit except to comment out>--
		["ace"] = {"Acehnese"},													-- Achinese
		["aec"] = {"Sa'idi Arabic"},											-- Saidi Arabic
		["akl"] = {"Aklan"},													-- Aklanon
		["alt"] = {"Altay"},													-- Southern Altai
		["apm"] = {"Mescalero-Chiricahua"},										-- Mescalero-Chiricahua Apache
		["bal"] = {"Balochi"},													-- Baluchi
		["bcl"] = {"Central Bicolano"},											-- Central Bikol
		["bin"] = {"Edo"},														-- Bini
		["bpy"] = {"Bishnupriya Manipuri"},										-- Bishnupriya
		["chg"] = {"Chagatay"},													-- Chagatai
		["ckb"] = {"Sorani Kurdish"},											-- Central Kurdish
		["cnu"] = {"Shenwa"},													-- Chenoua
		["coc"] = {"Cocopah"},													-- Cocopa
		["diq"] = {"Zazaki"},													-- Dimli
		["fit"] = {"Meänkieli"},												-- Tornedalen Finnish
		["fkv"] = {"Kven"},														-- Kven Finnish
		["frk"] = {"Old Frankish"},												-- Frankish
		["gez"] = {"Ge'ez"},													-- Geez
		["gju"] = {"Gujari"},													-- Gujari
		["gsw"] = {"Alemannic German"},											-- Swiss German
		["gul"] = {"Gullah"},													-- Sea Island Creole English
		["hak"] = {"Hakka"},													-- Hakka Chinese
		["hbo"] = {"Biblical Hebrew"},											-- Ancient Hebrew
		["hnd"] = {"Hindko"},													-- Southern Hindko
--		["ikt"] = {"Inuvialuk"},												-- Inuinnaqtun
		["kaa"] = {"Karakalpak"},												-- Kara-Kalpak
		["khb"] = {"Tai Lü"},													-- Lü
		["kmr"] = {"Kurmanji Kurdish"},											-- Northern Kurdish
		["kpo"] = {"Kposo"},													-- Ikposo
		["krj"] = {"Kinaray-a"},												-- Kinaray-A
		["ktz"] = {"Juǀ'hoan"},													-- Juǀʼhoan
		["lez"] = {"Lezgian"},													-- Lezghian
		["liv"] = {"Livonian"},													-- Liv
		["lng"] = {"Lombardic"},												-- Langobardic
		["mia"] = {"Miami-Illinois"},											-- Miami
		["miq"] = {"Miskito"},													-- Mískito
		["mix"] = {"Mixtec"},													-- Mixtepec Mixtec
		["mni"] = {"Meitei"},													-- Manipuri
		["mrj"] = {"Hill Mari"},												-- Western Mari
		["mww"] = {"White Hmong"},												-- Hmong Daw
		["nds-nl"] = {"Dutch Low Saxon"},										-- Low German
		["new"] = {"Nepal Bhasa"},												-- Newari
		["nso"] = {"Northern Sotho"},											-- Pedi
		["nwc"] = {"Classical Nepal Bhasa"},									-- Classical Newari
		["ood"] = {"O'odham"},													-- Tohono O'odham
		["otk"] = {"Old Turkic"},												-- Old Turkish
		["pal"] = {"Middle Persian"},											-- Pahlavi
		["pam"] = {"Kapampangan"},												-- Pampanga
		["phr"] = {"Potwari"},													-- Pahari-Potwari
		["pka"] = {"Jain Prakrit"},												-- Ardhamāgadhī Prākrit
--		["pnb"] = {"Punjabi"},													-- Western Panjabi
		["psu"] = {"Shauraseni"},												-- Sauraseni Prākrit
		["rap"] = {"Rapa Nui"},													-- Rapanui
		["rar"] = {"Cook Islands Māori"},										-- Rarotongan
		["rmu"] = {"Scandoromani"},												-- Tavringer Romani
		["rom"] = {"Romani"},													-- Romany
		["rup"] = {"Aromanian"},												-- Macedo-Romanian
		["ryu"] = {"Okinawan"},													-- Central Okinawan
		["sdc"] = {"Sassarese"},												-- Sassarese Sardinian
		["sdn"] = {"Gallurese"},												-- Gallurese Sardinian
		["shp"] = {"Shipibo"},													-- Shipibo-Conibo
		["src"] = {"Logudorese"},												-- Logudorese Sardinian
		["sro"] = {"Campidanese"},												-- Campidanese Sardinian
		["tkl"] = {"Tokelauan"},												-- Tokelau
		["tvl"] = {"Tuvaluan"},													-- Tuvalu
		["tyv"] = {"Tuvan"},													-- Tuvinian
		["vls"] = {"West Flemish"},												-- Vlaams
		["wep"] = {"Westphalian"},												-- Westphalien
		["xal"] = {"Oirat"},													-- Kalmyk
		["xcl"] = {"Old Armenian"},												-- Classical Armenian
		["yua"] = {"Yucatec Maya"},												-- Yucateco
--<end do-not-edit except to comment out>--


------------------------------< P R I V A T E _ U S E _ T A G S >----------------------------------------------

	["cel-x-proto"] = {"Proto-Celtic"},											-- cel in IANA is Celtic languages
	["gem-x-proto"] = {"Proto-Germanic"},										-- gem in IANA is Germanic languages
	["gmw-x-ecg"] = {"East Central German"},
	["grc-x-aeolic"] = {"Aeolic Greek"},										-- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre
	["grc-x-attic"] = {"Attic Greek"},
	["grc-x-biblical"] = {"Biblical Greek"},
	["grc-x-byzant"] = {"Byzantine Greek"},
	["grc-x-classic"] = {"Classical Greek"},
	["grc-x-doric"] = {"Doric Greek"},
	["grc-x-hellen"] = {"Hellenistic Greek"},
	["grc-x-ionic"] = {"Ionic Greek"},
	["grc-x-koine"] = {"Koinē Greek"},
	["grc-x-medieval"] = {"Medieval Greek"},
	["grc-x-patris"] = {"Patristic Greek"},
	["grk-x-proto"] = {"Proto-Greek"},											-- grk in IANA is Greek languages
	["iir-x-proto"] = {"Proto-Indo-Iranian"},									-- iir in IANA is Indo-Iranian Languages
	["ine-x-proto"] = {"Proto-Indo-European"},
	["ira-x-proto"] = {"Proto-Iranian"},										-- ira in IANA is Iranian languages
	["itc-x-proto"] = {"Proto-Italic"},											-- itc in IANA is Italic languages
	["ksh-x-colog"] = {"Colognian"},											-- en.wiki article is Colognian; ksh (Kölsch) redirects there
	["mis-x-ripuar"] = {"Ripuarian"},											-- replaces improper use of ksh in wp_languages
	["sem-x-proto"] = {"Proto-Semitic"},
	["sla-x-proto"] = {"Proto-Slavic"},											-- sla in IANA is Slavic languages
	["yuf-x-hav"] = {"Havasupai"},												-- IANA name for these three is Havasupai-Walapai-Yavapai
	["yuf-x-wal"] = {"Walapai"},
	["yuf-x-yav"] = {"Yavapai"},
	}


--[[--------------------------< A R T I C L E _ L I N K >------------------------------------------------------

for those rare occasions when article titles don't fit with the normal '<language name>-language', this table
maps language code to article title. Use of this table should be avoided and the use of redirects preferred as
that is the long-standing method of handling article names that don't fit with the normal pattern

]]

local article_name = {
	["lij"] = {"Ligurian (Romance language)"},									-- Ligurian; see Template_talk:Lang#Ligurian_dab
	['mnh'] = {"Mono language (Congo)"},										-- Mono (Democratic Republic of Congo); see Template_talk:Lang#Mono_languages
	['mnr'] = {"Mono language (California)"},									-- Mono (USA)
	['mru'] = {"Mono language (Cameroon)"},										-- Mono (Cameroon)
	["xlg"] = {"Ligurian (ancient language)"},									-- see Template_talk:Lang#Ligurian_dab
	}


--[=[-------------------------< R T L _ S C R I P T S >--------------------------------------------------------

ISO 15924 scripts that are written right-to-left. Data in this table taken from [[ISO 15924#List of codes]]

last update to this list: 2017-12-24

]=]

local rtl_scripts = {
	'adlm', 'arab', 'aran', 'armi', 'avst', 'cprt', 'egyd', 'egyh', 'hatr', 'hebr',
	'hung', 'inds', 'khar', 'lydi', 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',
	'nbat', 'nkoo', 'orkh', 'palm', 'phli', 'phlp', 'phlv', 'phnx', 'prti', 'rohg',
	'samr', 'sarb', 'sogd', 'sogo', 'syrc', 'syre', 'syrj', 'syrn', 'thaa', 'wole',
	};


--[[--------------------------< T R A N S L I T _ T I T L E S >------------------------------------------------

This is a table of tables of transliteration standards and the language codes or language scripts that apply to
those standards. This table is used to create the tool-tip text associated with the transliterated text displayed
by some of the {{lang-??}} templates.

These tables are more-or-less copied directly from {{transl}}. The standard 'NO_STD' is a construct to allow for
the cases when no |std= parameter value is provided.

]]

local translit_title_table = {
	['ahl'] = {
		['default'] = 'Academy of the Hebrew Language transliteration',
		},

	['ala'] = {
		['default'] = 'American Library Association – Library of Congress transliteration',
		},

	['ala-lc'] = {
		['default'] = 'American Library Association – Library of Congress transliteration',
		},

	['batr'] = {
		['default'] = 'Bikdash Arabic Transliteration Rules',
		},

	['bgn/pcgn'] = {
		['default'] = 'Board on Geographic Names / Permanent Committee on Geographical Names transliteration',
		},

	['din'] = {
		['ar'] = 'DIN 31635 Arabic',
		['fa'] = 'DIN 31635 Arabic',
		['ku'] = 'DIN 31635 Arabic',
		['ps'] = 'DIN 31635 Arabic',
		['tg'] = 'DIN 31635 Arabic',
		['ug'] = 'DIN 31635 Arabic',
		['ur'] = 'DIN 31635 Arabic',
		['arab'] = 'DIN 31635 Arabic',

		['default'] = 'DIN transliteration',
		},

	['eae'] = {
		['default'] = 'Encyclopaedia Aethiopica transliteration',
		},

	['hepburn'] = {
		['default'] = 'Hepburn transliteration',
		},

	['hunterian'] = {
		['default'] = 'Hunterian transliteration',
		},

	['iast'] = {
		['default'] = 'International Alphabet of Sanskrit transliteration',
		},

	['iso'] = {																	-- when a transliteration standard is supplied
		['ab'] = 'ISO 9 Cyrillic',
		['ba'] = 'ISO 9 Cyrillic',
		['be'] = 'ISO 9 Cyrillic',
		['bg'] = 'ISO 9 Cyrillic',
		['kk'] = 'ISO 9 Cyrillic',
		['ky'] = 'ISO 9 Cyrillic',
		['mn'] = 'ISO 9 Cyrillic',
		['ru'] = 'ISO 9 Cyrillic',
		['tg'] = 'ISO 9 Cyrillic',
		['uk'] = 'ISO 9 Cyrillic',
		['bua'] = 'ISO 9 Cyrillic',
		['sah'] = 'ISO 9 Cyrillic',
		['tut'] = 'ISO 9 Cyrillic',
		['xal'] = 'ISO 9 Cyrillic',
		['cyrl'] = 'ISO 9 Cyrillic',

		['ar'] = 'ISO 233 Arabic',
		['ku'] = 'ISO 233 Arabic',
		['ps'] = 'ISO 233 Arabic',
		['ug'] = 'ISO 233 Arabic',
		['ur'] = 'ISO 233 Arabic',
		['arab'] = 'ISO 233 Arabic',

		['he'] = 'ISO 259 Hebrew',
		['yi'] = 'ISO 259 Hebrew',
		['hebr'] = 'ISO 259 Hebrew',

		['el'] = 'ISO 843 Greek',
		['grc'] = 'ISO 843 Greek',

		['ja'] = 'ISO 3602 Japanese',
		['hira'] = 'ISO 3602 Japanese',
		['hrkt'] = 'ISO 3602 Japanese',
		['jpan'] = 'ISO 3602 Japanese',
		['kana'] = 'ISO 3602 Japanese',

		['zh'] = 'ISO 7098 Chinese',
		['chi'] = 'ISO 7098 Chinese',
		['pny'] = 'ISO 7098 Chinese',
		['zho'] = 'ISO 7098 Chinese',
--		['han'] = 'ISO 7098 Chinese',											-- unicode alias of Hani? doesn't belong here? should be Hani?
		['hans'] = 'ISO 7098 Chinese',
		['hant'] = 'ISO 7098 Chinese',

		['ka'] = 'ISO 9984 Georgian',
		['kat'] = 'ISO 9984 Georgian',

		['arm'] = 'ISO 9985 Armenian',
		['hy'] = 'ISO 9985 Armenian',

		['th'] = 'ISO 11940 Thai',
		['tha'] = 'ISO 11940 Thai',

		['ko'] = 'ISO 11941 Korean',
		['kor'] = 'ISO 11941 Korean',

		['awa'] = 'ISO 15919 Indic',
		['bho'] = 'ISO 15919 Indic',
		['bn'] = 'ISO 15919 Indic',
		['bra'] = 'ISO 15919 Indic',
		['doi'] = 'ISO 15919 Indic',
		['dra'] = 'ISO 15919 Indic',
		['gon'] = 'ISO 15919 Indic',
		['gu'] = 'ISO 15919 Indic',
		['hi'] = 'ISO 15919 Indic',
		['inc'] = 'ISO 15919 Indic',
		['kn'] = 'ISO 15919 Indic',
		['kok'] = 'ISO 15919 Indic',
		['ks'] = 'ISO 15919 Indic',
		['mag'] = 'ISO 15919 Indic',
		['mai'] = 'ISO 15919 Indic',
		['ml'] = 'ISO 15919 Indic',
		['mr'] = 'ISO 15919 Indic',
		['ne'] = 'ISO 15919 Indic',
		['new'] = 'ISO 15919 Indic',
		['or'] = 'ISO 15919 Indic',
		['pa'] = 'ISO 15919 Indic',
		['raj'] = 'ISO 15919 Indic',
		['sa'] = 'ISO 15919 Indic',
		['sat'] = 'ISO 15919 Indic',
		['sd'] = 'ISO 15919 Indic',
		['si'] = 'ISO 15919 Indic',
		['ta'] = 'ISO 15919 Indic',
		['tcy'] = 'ISO 15919 Indic',
		['te'] = 'ISO 15919 Indic',
		['beng'] = 'ISO 15919 Indic',
		['brah'] = 'ISO 15919 Indic',
		['deva'] = 'ISO 15919 Indic',
		['gujr'] = 'ISO 15919 Indic',
		['guru'] = 'ISO 15919 Indic',
		['knda'] = 'ISO 15919 Indic',
		['mlym'] = 'ISO 15919 Indic',
		['orya'] = 'ISO 15919 Indic',
		['sinh'] = 'ISO 15919 Indic',
		['taml'] = 'ISO 15919 Indic',
		['telu'] = 'ISO 15919 Indic',

		['default'] = 'ISO transliteration',
		},

	['jyutping'] = {
		['default'] = 'Jyutping transliteration',
		},

	['mr'] = {
		['default'] = 'McCune–Reischauer transliteration',
		},

	['nihon-shiki'] = {
		['default'] = 'Nihon-shiki transliteration',
		},

	['no_std'] = {																-- when no transliteration standard is supplied
		['akk'] = 'Semitic transliteration',
		['sem'] = 'Semitic transliteration',
		['phnx'] = 'Semitic transliteration',
		['xsux'] = 'Cuneiform transliteration',
		},

	['pinyin'] = {
		['default'] = 'Pinyin transliteration',
		},

	['rr'] = {
		['default'] = 'Revised Romanization of Korean transliteration',
		},

	['rtgs'] = {
		['default'] = 'Royal Thai General System of Transcription',
		},
	
	['satts'] = {
		['default'] = 'Standard Arabic Technical Transliteration System transliteration',
		},

	['ungegn'] = {
		['default'] = 'United Nations Group of Experts on Geographical Names transliteration',
		},

	['wadegile'] = {
		['default'] = 'Wade–Giles transliteration',
		},

	['wehr'] = {
		['default'] = 'Hans Wehr transliteration',
		},
	};


return
	{
	article_name = article_name,
	lang_name_table = lang_name_table,
	override = override,
	rtl_scripts = rtl_scripts,
	translit_title_table = translit_title_table,
	};