Module:Lang/data

From Zoophilia Wiki
Revision as of 12:13, 4 December 2017 by meta>Trappist the monk (+hin;)
Jump to navigationJump to search

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 codes
  • translit_title_table – a table of tables that is used in the creation of the title= 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.

This table may also be used to add 'codes' that aren't BCP47

Linguist list identifier codes may be found at http://multitree.org/codes/
Additional Linguist list idenifier codes may require tweaks to get_ietf_parts() in Module:Lang

]]

local override = {			-- TODO: create a separate table for Linguist List codes? separate the 'code' from the 'extlang' in that new table?
	['1bd'] = {'Common Brittonic', 'Late British'},								-- Linguist list identifier; Late British is their name for this language
	['1ca'] = {'Old Anatolian Turkish'},										-- Linguist list identifier
	['arc'] = {'Aramaic'},
	["chu"] = {"Church Slavonic"},												-- to match en.wiki article title
	["fan"] = {"Fang"},															-- IANA name is "Fang (Equatorial Guinea)"; disambiguation from fak: Fang (Camaroon)
	['frr'] = {'North Frisian'},
	['frs'] = {'East Frisian Low Saxon'},
	['fy'] = {'West Frisian'},
	['hin'] = {'Hindustani'},													-- IANA name is "Hindi"
	['ki'] = {'Kikuyu'},
	['kik'] = {'Kikuyu'},
	['nav'] = {'Navajo'},														-- preferred spelling to Navaho
	['sem'] = {'other Semitic'},												-- ISO 639-2 collective; this text used to fit pre-existing: Category:Articles containing other Semitic-language text
	['stq'] = {'Saterland Frisian'},
	['wrg'] = {'Warrongo'},
	}


--[=[-------------------------< 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]]

]=]

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', 'samr',
	'sarb', '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,
	};