Module:Lang/data

    From TestWiki

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

    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
    	["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
    	["cu"] = {"Church Slavonic"},												-- 2nd IANA name;
    	["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
    	["sr-cyrl"] = {"Serbian"},													-- override wp_languages Serbian Cyrillic; to achieve this, use |label=
    
    -- ISO 639-2, -3 codes
    	["arc"] = {"Aramaic"},														-- IANA names are: Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE);
    	["ber"] = {"Berber languages"},												-- ISO 639-2 collective; defined here to override redefinition in wp_languages
    	["bua"] = {"Buryat"},														-- IANA name 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
    	["bxr"] = {"Russian Buryat"},												-- IANA name Russia Buriat;
    	["bxu"] = {"Chinese Buryat"},												-- IANA name China Buriat;
    	["byr"] = {"Yipma"},														-- IANA names are Baruya and 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"},												-- IANA name is Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic 
    	["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; defined here to override improper redefinition ('Proto-Germanic') in wp_languages; 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
    	["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
    	["nrf"] = {"Norman"},														-- not quite a collective - IANA name: Jèrriais; categorizes to Norman-language text
    	["orv"] = {"Old East Slavic"},												-- IANA name is Old Russian
    	["pms"] = {"Piedmontese"},													-- IANA / 639-3 name is Piemontese; to match en.wiki article title
    	["pra"] = {"Prakrit languages"},											-- ISO 639-2 collective; defined here to override redefinition in wp_languages
    	["roa"] = {"Romance languages"},											-- ISO 639-2 collective; defined here to override improper redefinition (Jèrriais) in wp_language; IANA name is "Romance languages"
    	["sal"] = {"Salishan languages"},											-- ISO 639-2 collective; defined here to override redefinition in wp_languages
    	["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
    	["wen"] = {"Sorbian languages"},											-- ISO 639-2 collective; defined here to override redefinition in wp_languages
    	["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
    	["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
    	["ira-x-proto"] = {"Proto-Iranian"},										-- ira in IANA is Iranian languages
    	["itc-x-proto"] = {"Proto-Italic"},											-- itc in IANA is Italic 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-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)"},									-- see Template_talk:Lang#Ligurian_dab
    	["xlg"] = {"Ligurian language (ancient)"},									-- 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',
    		},
    
    	['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',
    
    		['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',
    		},
    
    	['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',
    		},
    
    	['wehr'] = {
    		['default'] = 'Hans Wehr transliteration',
    		},
    	};
    
    
    return
    	{
    	override = override,
    	article_name = article_name,
    	rtl_scripts = rtl_scripts,
    	is_rtl_script = is_rtl_script,
    	translit_title_table = translit_title_table,
    	};