Module:Lang/data: Difference between revisions
From All Skies Encyclopaedia
imported>Trappist the monk No edit summary |
imported>Trappist the monk (sync from sandbox;) |
||
Line 13: | Line 13: | ||
have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches |
have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches |
||
the first name. |
the first name. |
||
TODO: instead of returning: |
|||
["key"] = {"name"} |
|||
where each table has only one name, return |
|||
["key"] = "name" |
|||
requires changes in Module:Lang. |
|||
]] |
]] |
||
Line 27: | Line 21: | ||
if 'var_sup' == src_type then |
if 'var_sup' == src_type then |
||
for k, v in pairs (source) do |
for k, v in pairs (source) do |
||
out[k:lower()] = v; -- for variant |
out[k:lower()] = v; -- for variant and suppressed everything is needed |
||
end |
end |
||
elseif 'lang' == src_type and source.active then -- for ~/iana_languages (active) |
elseif 'lang' == src_type and source.active then -- for ~/iana_languages (active) |
||
for k, v in pairs (source.active) do |
for k, v in pairs (source.active) do |
||
out[k:lower()] = |
out[k:lower()] = v[1]; -- ignore multiple names; take first name only |
||
end |
end |
||
elseif 'lang_dep' == src_type and source.deprecated then -- for ~/iana_languages (deprecated) |
elseif 'lang_dep' == src_type and source.deprecated then -- for ~/iana_languages (deprecated) |
||
for k, v in pairs (source.deprecated) do |
for k, v in pairs (source.deprecated) do |
||
out[k:lower()] = |
out[k:lower()] = v[1]; -- ignore multiple names; take first name only |
||
end |
end |
||
else -- here for all other sources |
else -- here for all other sources |
||
for k, v in pairs (source) do |
for k, v in pairs (source) do |
||
out[k:lower()] = |
out[k:lower()] = v[1]; -- ignore multiple names; take first name only |
||
end |
end |
||
end |
end |
||
Line 69: | Line 63: | ||
------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------ |
------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------ |
||
["ca-valencia"] = |
["ca-valencia"] = "Valencian", |
||
["cu"] = |
["cu"] = "Church Slavonic", -- 2nd IANA name; |
||
["de-at"] = |
["de-at"] = "Austrian German", -- these code-region and code-variant tags to match en.wiki article names |
||
["de-ch"] = |
["de-ch"] = "Swiss Standard German", |
||
["en-au"] = |
["en-au"] = "Australian English", |
||
["en-ca"] = |
["en-ca"] = "Canadian English", |
||
["en-emodeng"] = |
["en-emodeng"] = "Early Modern English", |
||
["en-gb"] = |
["en-gb"] = "British English", |
||
["en-ie"] = |
["en-ie"] = "Irish English", |
||
["en-in"] = |
["en-in"] = "Indian English", |
||
["en-nz"] = |
["en-nz"] = "New Zealand English", |
||
["en-us"] = |
["en-us"] = "American English", |
||
["en-za"] = |
["en-za"] = "South African English", |
||
["fy"] = |
["fy"] = "West Frisian", -- Western Frisian |
||
["mo"] = |
["mo"] = "Moldovan", -- Moldavian (deprecated code); to match en.wiki article title |
||
["nl-be"] = |
["nl-be"] = "Flemish", -- match MediaWiki |
||
["oc-provenc"] = |
["oc-provenc"] = "Provençal", |
||
["ps"] = |
["ps"] = "Pashto", -- Pushto |
||
["pt-br"] = |
["pt-br"] = "Brazilian Portuguese", -- match MediaWiki |
||
["tw-asante"] = |
["tw-asante"] = "Asante Twi", |
||
-- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages |
-- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages |
||
--<begin do-not-edit except to comment out>-- |
--<begin do-not-edit except to comment out>-- |
||
["av"] = |
["av"] = "Avar", -- Avaric |
||
["bo"] = |
["bo"] = "Standard Tibetan", -- Tibetan |
||
["el"] = |
["el"] = "Greek", -- Modern Greek |
||
-- ["en-SA"] = |
-- ["en-SA"] = "South African English", -- English; no; SA is not South Africa it Saudi Arabia; ZA is South Africa |
||
["ff"] = |
["ff"] = "Fula", -- Fulah |
||
["ht"] = |
["ht"] = "Haitian Creole", -- Haitian |
||
["hz"] = |
["hz"] = "Otjiherero", -- Herero |
||
["ii"] = |
["ii"] = "Yi", -- Sichuan Yi |
||
["ki"] = |
["ki"] = "Gikuyu", -- Kikuyu |
||
["kl"] = |
["kl"] = "Greenlandic", -- Kalaallisut |
||
["ky"] = |
["ky"] = "Kyrgyz", -- Kirghiz |
||
["lg"] = |
["lg"] = "Luganda", -- Ganda |
||
["li"] = |
["li"] = "Limburgish", -- Limburgan |
||
["mi"] = |
["mi"] = "Māori", -- Maori |
||
["na"] = |
["na"] = "Nauruan", -- Nauru |
||
["nb"] = |
["nb"] = "Bokmål", -- Norwegian Bokmål |
||
["nd"] = |
["nd"] = "Northern Ndebele", -- North Ndebele |
||
["nn"] = |
["nn"] = "Nynorsk", -- Norwegian Nynorsk |
||
["nr"] = |
["nr"] = "Southern Ndebele", -- South Ndebele |
||
["ny"] = |
["ny"] = "Chichewa", -- Nyanja |
||
["oj"] = |
["oj"] = "Ojibwe", -- Ojibwa |
||
["or"] = |
["or"] = "Odia", -- Oriya |
||
["pa"] = |
["pa"] = "Punjabi", -- Panjabi |
||
["rn"] = |
["rn"] = "Kirundi", -- Rundi |
||
["sl"] = |
["sl"] = "Slovene", -- Slovenian |
||
["ss"] = |
["ss"] = "Swazi", -- Swati |
||
["st"] = |
["st"] = "Sotho", -- Southern Sotho |
||
["to"] = |
["to"] = "Tongan", -- Tonga |
||
--<end do-not-edit except to comment out>-- |
--<end do-not-edit except to comment out>-- |
||
Line 125: | Line 119: | ||
------------------------------< I S O _ 6 3 9 - 2, - 3, - 5 >---------------------------------------------- |
------------------------------< I S O _ 6 3 9 - 2, - 3, - 5 >---------------------------------------------- |
||
["alv"] = |
["alv"] = "Atlantic–Congo languages", -- to match en.wiki article title (endash) |
||
["arc"] = |
["arc"] = "Aramaic", -- Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE); |
||
["art"] = |
["art"] = "constructed", -- to match en.wiki article; lowercase for category name |
||
["bhd"] = |
["bhd"] = "Bhadarwahi", -- Bhadrawahi; to match en.wiki article title |
||
["bla"] = |
["bla"] = "Blackfoot", -- Siksika; to match en.wiki article title |
||
["bua"] = |
["bua"] = "Buryat", -- Buriat; this is a macro language; these four use wp preferred transliteration; |
||
["bxm"] = |
["bxm"] = "Mongolian Buryat", -- Mongolia Buriat; these three all redirect to Buryat |
||
["bxr"] = |
["bxr"] = "Russian Buryat", -- Russia Buriat; |
||
["bxu"] = |
["bxu"] = "Chinese Buryat", -- China Buriat; |
||
["byr"] = |
["byr"] = "Yipma", -- Baruya, Yipma |
||
["egy"] = |
["egy"] = "Ancient Egyptian", -- Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic |
||
["ems"] = |
["ems"] = "Alutiiq", -- Pacific Gulf Yupik; to match en.wiki article title |
||
["esx"] = |
["esx"] = "Eskimo–Aleut languages", -- to match en.wiki article title (endash) |
||
["frr"] = |
["frr"] = "North Frisian", -- Northern Frisian |
||
["frs"] = |
["frs"] = "East Frisian Low Saxon", -- Eastern Frisian |
||
["gsw-fr"] = |
["gsw-fr"] = "Alsatian", -- match MediaWiki |
||
["hmx"] = |
["hmx"] = "Hmong–Mien languages", -- to match en.wiki article title (endash) |
||
["ilo"] = |
["ilo"] = "Ilocano", -- Iloko; to match en.wiki article title |
||
["jam"] = |
["jam"] = "Jamaican Patois", -- Jamaican Creole English |
||
["luo"] = |
["luo"] = "Dholuo", -- IANA (primary) /ISO 639-3: Luo (Kenya and Tanzania); IANA (secondary): Dholuo |
||
["mhr"] = |
["mhr"] = "Meadow Mari", -- Eastern Mari |
||
["mid"] = |
["mid"] = "Modern Mandaic", -- Mandaic |
||
["mkh"] = |
["mkh"] = "Mon–Khmer languages", -- to match en.wiki article title (endash) |
||
["mla"] = |
["mla"] = "Tamambo", -- Malo |
||
['mte'] = |
['mte'] = "Mono-Alu", -- Mono (Solomon Islands) |
||
["nan-tw"] = |
["nan-tw"] = "Taiwanese Hokkien", -- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title |
||
["new"] = |
["new"] = "Newar", -- Newari, Nepal Bhasa; to match en,wiki article title |
||
["ngf"] = |
["ngf"] = "Trans–New Guinea languages", -- to match en.wiki article title (endash) |
||
["nic"] = |
["nic"] = "Niger–Congo languages", -- Niger-Kordofanian languages; to match en,wiki article title |
||
["nrf"] = |
["nrf"] = "Norman", -- not quite a collective - IANA name: Jèrriais + Guernésiais; categorizes to Norman-language text |
||
["nrf-gg"] = |
["nrf-gg"] = "Guernésiais", -- match MediaWiki |
||
["nrf-je"] = |
["nrf-je"] = "Jèrriais", -- match MediaWiki |
||
["nzi"] = |
["nzi"] = "Nzema", -- Nzima; to match en.wiki article title |
||
["oma"] = |
["oma"] = "Omaha–Ponca", -- to match en.wiki article title (endash) |
||
["orv"] = |
["orv"] = "Old East Slavic", -- Old Russian |
||
["pfl"] = |
["pfl"] = "Palatine German", -- Pfaelzisch; to match en.wiki article |
||
["pms"] = |
["pms"] = "Piedmontese", -- Piemontese; to match en.wiki article title |
||
["pnb"] = |
["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() |
||
["sdo"] = |
["sdo"] = "Bukar–Sadong", -- Bukar-Sadung Bidayuh; to match en.wiki article title |
||
["stq"] = |
["stq"] = "Saterland Frisian", -- Saterfriesisch |
||
["und"] = |
["und"] = "undetermined", -- capitalization to match existing category |
||
["wrg"] = |
["wrg"] = "Warrongo", -- Warungu |
||
["xal-ru"] = |
["xal-ru"] = "Kalmyk", -- to match en.wiki article title |
||
["xgf"] = |
["xgf"] = "Tongva", -- ISO 639-3 is Gabrielino-Fernandeño |
||
["yuf"] = |
["yuf"] = "Havasupai–Hualapai", -- Havasupai-Walapai-Yavapai; to match en.wiki article title |
||
-- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages |
-- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages |
||
--<begin do-not-edit except to comment out>-- |
--<begin do-not-edit except to comment out>-- |
||
["ace"] = |
["ace"] = "Acehnese", -- Achinese |
||
["aec"] = |
["aec"] = "Sa'idi Arabic", -- Saidi Arabic |
||
["akl"] = |
["akl"] = "Aklan", -- Aklanon |
||
["alt"] = |
["alt"] = "Altay", -- Southern Altai |
||
["apm"] = |
["apm"] = "Mescalero-Chiricahua", -- Mescalero-Chiricahua Apache |
||
["bal"] = |
["bal"] = "Balochi", -- Baluchi |
||
-- ["bcl"] = |
-- ["bcl"] = "Central Bicolano", -- Central Bikol |
||
["bin"] = |
["bin"] = "Edo", -- Bini |
||
["bpy"] = |
["bpy"] = "Bishnupriya Manipuri", -- Bishnupriya |
||
["chg"] = |
["chg"] = "Chagatay", -- Chagatai |
||
["ckb"] = |
["ckb"] = "Sorani Kurdish", -- Central Kurdish |
||
["cnu"] = |
["cnu"] = "Shenwa", -- Chenoua |
||
["coc"] = |
["coc"] = "Cocopah", -- Cocopa |
||
["diq"] = |
["diq"] = "Zazaki", -- Dimli |
||
["fit"] = |
["fit"] = "Meänkieli", -- Tornedalen Finnish |
||
["fkv"] = |
["fkv"] = "Kven", -- Kven Finnish |
||
["frk"] = |
["frk"] = "Old Frankish", -- Frankish |
||
["gez"] = |
["gez"] = "Ge'ez", -- Geez |
||
["gju"] = |
["gju"] = "Gujari", -- Gujari |
||
["gsw"] = |
["gsw"] = "Alemannic German", -- Swiss German |
||
["gul"] = |
["gul"] = "Gullah", -- Sea Island Creole English |
||
["hak"] = |
["hak"] = "Hakka", -- Hakka Chinese |
||
["hbo"] = |
["hbo"] = "Biblical Hebrew", -- Ancient Hebrew |
||
["hnd"] = |
["hnd"] = "Hindko", -- Southern Hindko |
||
-- ["ikt"] = |
-- ["ikt"] = "Inuvialuk", -- Inuinnaqtun |
||
["kaa"] = |
["kaa"] = "Karakalpak", -- Kara-Kalpak |
||
["khb"] = |
["khb"] = "Tai Lü", -- Lü |
||
["kmr"] = |
["kmr"] = "Kurmanji Kurdish", -- Northern Kurdish |
||
["kpo"] = |
["kpo"] = "Kposo", -- Ikposo |
||
["krj"] = |
["krj"] = "Kinaray-a", -- Kinaray-A |
||
["ktz"] = |
["ktz"] = "Juǀ'hoan", -- Juǀʼhoan |
||
["lez"] = |
["lez"] = "Lezgian", -- Lezghian |
||
["liv"] = |
["liv"] = "Livonian", -- Liv |
||
["lng"] = |
["lng"] = "Lombardic", -- Langobardic |
||
["mia"] = |
["mia"] = "Miami-Illinois", -- Miami |
||
["miq"] = |
["miq"] = "Miskito", -- Mískito |
||
["mix"] = |
["mix"] = "Mixtec", -- Mixtepec Mixtec |
||
["mni"] = |
["mni"] = "Meitei", -- Manipuri |
||
["mrj"] = |
["mrj"] = "Hill Mari", -- Western Mari |
||
["mww"] = |
["mww"] = "White Hmong", -- Hmong Daw |
||
["nds-nl"] = |
["nds-nl"] = "Dutch Low Saxon", -- Low German |
||
-- ["new"] = |
-- ["new"] = "Nepal Bhasa", -- Newari |
||
["nso"] = |
["nso"] = "Northern Sotho", -- Pedi |
||
-- ["nwc"] = |
-- ["nwc"] = "Classical Nepal Bhasa", -- Classical Newari, Classical Nepal Bhasa, Old Newari |
||
["ood"] = |
["ood"] = "O'odham", -- Tohono O'odham |
||
["otk"] = |
["otk"] = "Old Turkic", -- Old Turkish |
||
["pal"] = |
["pal"] = "Middle Persian", -- Pahlavi |
||
["pam"] = |
["pam"] = "Kapampangan", -- Pampanga |
||
["phr"] = |
["phr"] = "Potwari", -- Pahari-Potwari |
||
["pka"] = |
["pka"] = "Jain Prakrit", -- Ardhamāgadhī Prākrit |
||
-- ["pnb"] = |
-- ["pnb"] = "Punjabi", -- Western Panjabi |
||
["psu"] = |
["psu"] = "Shauraseni", -- Sauraseni Prākrit |
||
["rap"] = |
["rap"] = "Rapa Nui", -- Rapanui |
||
["rar"] = |
["rar"] = "Cook Islands Māori", -- Rarotongan |
||
["rmu"] = |
["rmu"] = "Scandoromani", -- Tavringer Romani |
||
["rom"] = |
["rom"] = "Romani", -- Romany |
||
["rup"] = |
["rup"] = "Aromanian", -- Macedo-Romanian |
||
["ryu"] = |
["ryu"] = "Okinawan", -- Central Okinawan |
||
["sdc"] = |
["sdc"] = "Sassarese", -- Sassarese Sardinian |
||
["sdn"] = |
["sdn"] = "Gallurese", -- Gallurese Sardinian |
||
["shp"] = |
["shp"] = "Shipibo", -- Shipibo-Conibo |
||
["src"] = |
["src"] = "Logudorese", -- Logudorese Sardinian |
||
["sro"] = |
["sro"] = "Campidanese", -- Campidanese Sardinian |
||
["tkl"] = |
["tkl"] = "Tokelauan", -- Tokelau |
||
["tvl"] = |
["tvl"] = "Tuvaluan", -- Tuvalu |
||
["tyv"] = |
["tyv"] = "Tuvan", -- Tuvinian |
||
["vls"] = |
["vls"] = "West Flemish", -- Vlaams |
||
["wep"] = |
["wep"] = "Westphalian", -- Westphalien |
||
["xal"] = |
["xal"] = "Oirat", -- Kalmyk |
||
["xcl"] = |
["xcl"] = "Old Armenian", -- Classical Armenian |
||
["yua"] = |
["yua"] = "Yucatec Maya", -- Yucateco |
||
--<end do-not-edit except to comment out>-- |
--<end do-not-edit except to comment out>-- |
||
Line 249: | Line 243: | ||
------------------------------< P R I V A T E _ U S E _ T A G S >---------------------------------------------- |
------------------------------< P R I V A T E _ U S E _ T A G S >---------------------------------------------- |
||
["cel-x-proto"] = |
["cel-x-proto"] = "Proto-Celtic", -- cel in IANA is Celtic languages |
||
["gem-x-proto"] = |
["gem-x-proto"] = "Proto-Germanic", -- gem in IANA is Germanic languages |
||
["gmw-x-ecg"] = |
["gmw-x-ecg"] = "East Central German", |
||
["grc-x-aeolic"] = |
["grc-x-aeolic"] = "Aeolic Greek", -- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre |
||
["grc-x-attic"] = |
["grc-x-attic"] = "Attic Greek", |
||
["grc-x-biblical"] = |
["grc-x-biblical"] = "Biblical Greek", |
||
["grc-x-byzant"] = |
["grc-x-byzant"] = "Byzantine Greek", |
||
["grc-x-classic"] = |
["grc-x-classic"] = "Classical Greek", |
||
["grc-x-doric"] = |
["grc-x-doric"] = "Doric Greek", |
||
["grc-x-hellen"] = |
["grc-x-hellen"] = "Hellenistic Greek", |
||
["grc-x-ionic"] = |
["grc-x-ionic"] = "Ionic Greek", |
||
["grc-x-koine"] = |
["grc-x-koine"] = "Koinē Greek", |
||
["grc-x-medieval"] = |
["grc-x-medieval"] = "Medieval Greek", |
||
["grc-x-patris"] = |
["grc-x-patris"] = "Patristic Greek", |
||
["grk-x-proto"] = |
["grk-x-proto"] = "Proto-Greek", -- grk in IANA is Greek languages |
||
["iir-x-proto"] = |
["iir-x-proto"] = "Proto-Indo-Iranian", -- iir in IANA is Indo-Iranian Languages |
||
["ine-x-proto"] = |
["ine-x-proto"] = "Proto-Indo-European", |
||
["ira-x-proto"] = |
["ira-x-proto"] = "Proto-Iranian", -- ira in IANA is Iranian languages |
||
["itc-x-proto"] = |
["itc-x-proto"] = "Proto-Italic", -- itc in IANA is Italic languages |
||
["ksh-x-colog"] = |
["ksh-x-colog"] = "Colognian", -- en.wiki article is Colognian; ksh (Kölsch) redirects there |
||
["la-x-medieval"] = |
["la-x-medieval"] = "Medieval Latin", |
||
["mis-x-ripuar"] = |
["mis-x-ripuar"] = "Ripuarian", -- replaces improper use of ksh in wp_languages |
||
["sem-x-proto"] = |
["sem-x-proto"] = "Proto-Semitic", |
||
["sla-x-proto"] = |
["sla-x-proto"] = "Proto-Slavic", -- sla in IANA is Slavic languages |
||
["yuf-x-hav"] = |
["yuf-x-hav"] = "Havasupai", -- IANA name for these three is Havasupai-Walapai-Yavapai |
||
["yuf-x-wal"] = |
["yuf-x-wal"] = "Walapai", |
||
["yuf-x-yav"] = |
["yuf-x-yav"] = "Yavapai", |
||
} |
} |
||
Line 288: | Line 282: | ||
local article_name = { |
local article_name = { |
||
["lij"] = |
["lij"] = "Ligurian (Romance language)", -- Ligurian; see Template_talk:Lang#Ligurian_dab |
||
['mnh'] = |
['mnh'] = "Mono language (Congo)", -- Mono (Democratic Republic of Congo); see Template_talk:Lang#Mono_languages |
||
['mnr'] = |
['mnr'] = "Mono language (California)", -- Mono (USA) |
||
['mru'] = |
['mru'] = "Mono language (Cameroon)", -- Mono (Cameroon) |
||
["xlg"] = |
["xlg"] = "Ligurian (ancient language)", -- see Template_talk:Lang#Ligurian_dab |
||
} |
} |
||
Revision as of 15:29, 25 December 2021
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.
]]
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 and suppressed 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
["nl-be"] = "Flemish", -- match MediaWiki
["oc-provenc"] = "Provençal",
["ps"] = "Pashto", -- Pushto
["pt-br"] = "Brazilian Portuguese", -- match MediaWiki
["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 >----------------------------------------------
["alv"] = "Atlantic–Congo languages", -- to match en.wiki article title (endash)
["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
["ems"] = "Alutiiq", -- Pacific Gulf Yupik; to match en.wiki article title
["esx"] = "Eskimo–Aleut languages", -- to match en.wiki article title (endash)
["frr"] = "North Frisian", -- Northern Frisian
["frs"] = "East Frisian Low Saxon", -- Eastern Frisian
["gsw-fr"] = "Alsatian", -- match MediaWiki
["hmx"] = "Hmong–Mien languages", -- to match en.wiki article title (endash)
["ilo"] = "Ilocano", -- Iloko; to match en.wiki article title
["jam"] = "Jamaican Patois", -- Jamaican Creole English
["luo"] = "Dholuo", -- IANA (primary) /ISO 639-3: Luo (Kenya and Tanzania); IANA (secondary): Dholuo
["mhr"] = "Meadow Mari", -- Eastern Mari
["mid"] = "Modern Mandaic", -- Mandaic
["mkh"] = "Mon–Khmer languages", -- to match en.wiki article title (endash)
["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
["new"] = "Newar", -- Newari, Nepal Bhasa; to match en,wiki article title
["ngf"] = "Trans–New Guinea languages", -- to match en.wiki article title (endash)
["nic"] = "Niger–Congo languages", -- Niger-Kordofanian languages; to match en,wiki article title
["nrf"] = "Norman", -- not quite a collective - IANA name: Jèrriais + Guernésiais; categorizes to Norman-language text
["nrf-gg"] = "Guernésiais", -- match MediaWiki
["nrf-je"] = "Jèrriais", -- match MediaWiki
["nzi"] = "Nzema", -- Nzima; to match en.wiki article title
["oma"] = "Omaha–Ponca", -- to match en.wiki article title (endash)
["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()
["sdo"] = "Bukar–Sadong", -- Bukar-Sadung Bidayuh; to match en.wiki article title
["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
["yuf"] = "Havasupai–Hualapai", -- Havasupai-Walapai-Yavapai; to match en.wiki article title
-- 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, Classical Nepal Bhasa, Old 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
["la-x-medieval"] = "Medieval Latin",
["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',
},
['scientific'] = {
['default'] = 'scientific transliteration',
},
['ukrainian'] = {
['default'] = 'Ukrainian National system of romanization',
},
['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,
};