Module:Lang/data: Difference between revisions
From Vigyanwiki
Template>Trappist the monk No edit summary |
Template>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. | ||
]] | ]] | ||
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 20:59, 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,
};