Module:Lang/data
From Zoophilia Wiki
Jump to navigationJump to search
This Lua module is used on approximately 1,160,000 pages, or roughly 17081% of all pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
This module holds various support tables used by Module:Lang
override
– this table provides language name data used in the creation of categories and, for the{{lang-??}}
templates, the language name annotation.rtl_scripts
– a list of ISO 15924 scripts that are written right-to-left; data taken from the table at ISO 15924#List of codestranslit_title_table
– a table of tables that is used in the creation of thetitle=
attribute of the<i>...</i>
tags that wrap transliterated text; data adapted from{{transl}}
local lang_data = {};
--[[--------------------------< O V E R R I D E >--------------------------------------------------------------
Language codes and names in this table override the BCP47 names in Module:Language/name/data.
code indexes in this table shall always be lower case
]]
local override = {
-- ISO 639-1 codes
["de-at"] = {"Austrian German"}, -- these code-region and code-variant to match en.wiki article names
["de-ch"] = {"Swiss German"},
["en-au"] = {"Australian English"},
["en-ca"] = {"Canadian English"},
["en-emodeng"] = {"Early Modern English"},
["en-gb"] = {"British English"},
["en-ie"] = {"Irish English"},
["en-nz"] = {"New Zealand English"},
["en-us"] = {"American English"},
["en-za"] = {"South African English"},
['fy'] = {'West Frisian'}, -- IANA name is Western Frisian
['ps'] = {'Pashto'}, -- IANA name is Pushto
-- ISO 639-2, -3 codes
['arc'] = {'Aramaic'}, -- to match en.wiki article title
["bat"] = {"Baltic"}, -- ISO 639-2 collective
["cel"] = {"Celtic languages"}, -- ISO 639-2 collective; override wp_languages improper redefinition ('Proto-Celtic'); use cel-x-proto instead
["chu"] = {"Church Slavonic"}, -- to match en.wiki article title
["egy"] = {"Ancient Egyptian"}, -- IANA name is Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic
["fan"] = {"Fang"}, -- IANA name is Fang (Equatorial Guinea); disambiguation from fak: Fang (Camaroon)
['frr'] = {'North Frisian'}, -- IANA name is Northern Frisian
['frs'] = {'East Frisian Low Saxon'}, -- IANA name is Eastern Frisian
["gem"] = {"Germanic languages"}, -- ISO 639-2 collective; override wp_languages improper redefinition ('Proto-Germanic'); use gem-x-proto instead
['jam'] = {'Jamaican Patois'}, -- IANA name is Jamaican Creole English
['mhr'] = {'Meadow Mari'}, -- IANA name is Eastern Mari
['mid'] = {'Modern Mandaic'}, -- IANA name is Mandaic
['mla'] = {'Tamambo'}, -- wp_languages name is Medieval Latin; IANA and ISO 639-1 name is Malo
['nrf'] = {'Norman'}, -- not quite a collective - IANA name: Jèrriais; categorizes to Norman-language text
['roa'] = {'Romance'}, -- collective; overrides roa (Jèrriais) in the wp language table; IANA name is "Romance languages"
['sem'] = {'other Semitic'}, -- ISO 639-2 collective; this text used to fit pre-existing: Category:Articles containing other Semitic-language text
['stq'] = {'Saterland Frisian'}, -- IANA name is Saterfriesisch
["tmr"] = {"Jewish Babylonian Aramaic"}, -- ISO 639-3 name is Jewish Babylonian Aramaic (ca. 200-1200 CE)
['und'] = {'undetermined'}, -- capitalization to match existing category
['wrg'] = {'Warrongo'}, -- IANA name is Warungu
["xal-ru"] = {"Kalmyk"}, -- to match en.wiki article title
-- private use codes
["cel-x-proto"] = {"Proto-Celtic"}, -- cel in IANA is Celtic languages
["gem-x-proto"] = {"Proto-Germanic"}, -- gem in IANA is Germanic languages
['yuf-x-hav'] = {'Havasupai'}, -- IANA name for these three is Havasupai-Walapai-Yavapai
['yuf-x-wal'] = {'Walapai'},
['yuf-x-yav'] = {'Yavapai'},
}
--[=[-------------------------< 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',
};
local is_rtl_script = require("Module:Table").listToSet(rtl_scripts)
--[[--------------------------< 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 = {
['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',
['bn'] = 'ISO 15919 Indic',
['dra'] = 'ISO 15919 Indic',
['gu'] = 'ISO 15919 Indic',
['hi'] = 'ISO 15919 Indic',
['inc'] = 'ISO 15919 Indic',
['kn'] = 'ISO 15919 Indic',
['ml'] = 'ISO 15919 Indic',
['mr'] = 'ISO 15919 Indic',
['sa'] = 'ISO 15919 Indic',
['ta'] = 'ISO 15919 Indic',
['te'] = 'ISO 15919 Indic',
['Beng'] = 'ISO 15919 Indic',
['Brah'] = 'ISO 15919 Indic',
['Deva'] = 'ISO 15919 Indic',
['default'] = 'ISO 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',
},
['IAST'] = {
['default'] = 'International Alphabet of Sanskrit Transliteration',
},
['ALA'] = {
['default'] = ' American Library Association – Library of Congress transliteration',
},
['ALA-LC'] = {
['default'] = ' American Library Association – Library of Congress transliteration',
},
['NO_STD'] = { -- when no transliteration standard is supplied
['akk'] = 'Semitic transliteration',
['sem'] = 'Semitic transliteration',
['Phnx'] = 'Semitic transliteration',
['Xsux'] = 'Cuneiform transliteration',
},
};
return
{
override = override,
rtl_scripts = rtl_scripts,
is_rtl_script = is_rtl_script,
translit_title_table = translit_title_table,
};