Module:Lang/langx

From Novoyuuparosk Wiki
< Module:Lang
Revision as of 03:39, 20 December 2024 by Mikkeli (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

--[[--------------------------< R T L _ T >--------------------------------------------------------------------

table of language tags that render text right-to-left

Data in this table scraped from {{lang-xx}} templates that set |rtl=yes

keys (tags) in this table must be lowercase.

TODO: in the long run, do we need this table?  Can't {{langx}} apply dir="rtl" attribute automatically?

]]

local rtl_t = {
----------< I S O 6 3 9 - 1 >----------
	['ae'] = true,
	['ar'] = true,
	['fa'] = true,
	['he'] = true,
	['ku'] = true,
	['ps'] = true,
	['sd'] = true,
	['ur'] = true,
	['yi'] = true,

----------< I S O 6 3 9 - 2 , - 3 >----------
	['acm'] = true,
	['aeb'] = true,
	['aec'] = true,
	['afb'] = true,
	['aii'] = true,
	['aij'] = true,
	['aiq'] = true,
	['ajp'] = true,
	['amw'] = true,
	['apc'] = true,
	['arb'] = true,
	['arc'] = true,
	['arq'] = true,
	['ary'] = true,
	['arz'] = true,
	['ayn'] = true,
	['bal'] = true,
	['bdz'] = true,
	['bej'] = true,
	['bgn'] = true,
	['bqi'] = true,
	['brh'] = true,
	['bsk'] = true,
	['ckb'] = true,
	['cld'] = true,
	['deh'] = true,
	['gay'] = true,
	['gbz'] = true,
	['glk'] = true,
	['hac'] = true,
	['haz'] = true,
	['hbo'] = true,
	['hnd'] = true,
	['hno'] = true,
	['jog'] = true,
	['jrb'] = true,
	['jye'] = true,
	['khw'] = true,
	['kls'] = true,
	['kvx'] = true,
	['lrc'] = true,
	['lss'] = true,
	['luz'] = true,
	['mey'] = true,
	['mid'] = true,
	['mki'] = true,
	['mnj'] = true,
	['mwr'] = true,
	['myz'] = true,
	['mzb'] = true,
	['mzn'] = true,
	['nlm'] = true,
	['nqo'] = true,
	['oru'] = true,
	['ota'] = true,
	['otk'] = true,
	['pal'] = true,
	['pes'] = true,
	['prs'] = true,
	['prx'] = true,
	['rif'] = true,
	['rys'] = true,
	['sbn'] = true,
	['scl'] = true,
	['sgh'] = true,
	['siz'] = true,
	['skr'] = true,
	['sqo'] = true,
	['sqr'] = true,
	['srh'] = true,
	['syc'] = true,
	['syr'] = true,
	['tru'] = true,
	['ttt'] = true,
	['wbl'] = true,
	['wne'] = true,
	['xaa'] = true,
	['xdm'] = true,
	['xhe'] = true,
	['xqa'] = true,
	['ydg'] = true,
	}


--[[--------------------------< S C R I P T _ T >--------------------------------------------------------------

table of language tags that use script subtags

Data in this table scraped from {{lang-xx}} templates that set |script=<script tag>

keys (tags) in this table must be lowercase.

]]

local script_t = {
----------< I S O 6 3 9 - 1 >----------
	['ce'] = 'Cyrl',
	['ff'] = 'Latn',
	['sh'] = 'Latn',

----------< I S O 6 3 9 - 2 , - 3 >----------
	['bft'] = 'Aran',
	['brx'] = 'Deva',
	['bsk'] = 'Aran',
	['chr'] = 'Cher',
	['dgo'] = 'Deva',
	['dng'] = 'Cyrl',
	['dyu'] = 'Latn',
	['ess'] = 'Latn',
	['evn'] = 'Cyrl',
	['sat'] = 'Olck',
	['shn'] = 'Mymr',
	}


--[[--------------------------< S I Z E _ T >------------------------------------------------------------------

table of language tags that use |size=

Data in this table scraped from {{lang-xx}} templates that set |size=<size>

keys (tags) in this table must be lowercase.

]]

local size_t = {
	['bft'] = '125%',
	}


--[[--------------------------< L I N K _ T >------------------------------------------------------------------

table of language tags that use |link=

Data in this table scraped from {{lang-xx}} templates that set |link=

keys (tags) in this table must be lowercase.

]]

local link_t = {
	['en'] = 'no',
	}


--[[--------------------------< U N S U P P O R T E D _ T >----------------------------------------------------

these are language tags from {{lang-??}} templates that should not be converted to {{langx}} during the transition
from {{lang-??}} to {{langx|??}}.

this table used to add a category when {{langx}} templates are encountered with these language tags.

initial contents of this table copied from Wikipedia:Templates_for_discussion/Log/2024_September_27/lang-%3F%3F_templates#excluded_templates

2024-11-15: now that the conversion of the {{lang-??}} templates is complete, and User:Monkbot/task 20 has
completed its work, and now that Module:Lang detects unsupported parameters, those valid IETF tags listed here
can be stricken so that valid use of those tags with {{langx|<tag>|...}} can be allowed.

]]

local unsupported_t = {
	['bcs'] = true,																-- bcs is IANA Kohumono language not Bosnian/Croatian/Serbian grouped under tag sh
	['crh3'] = true,															-- being deleted; convert to something like {{lang-sr-latn-cyrl}}?
	['est-sea'] = true,															-- {{Language with name}} wrapper; convert to private use tag: et-x-seto?
	['fra-frc'] = true,															-- {{Language with name}} wrapper; convert to private use tag: fr-x-frainc?
	['grc-gre'] = true,															-- currently (2024-11-15) being discussed for deletion
	['my-name-mlcts'] = true,													-- wrapper around {{lang-my-Mymr}} to render a {{lang-??}}-like result
	['sq-definite'] = true,														-- definiteness is a linguistic construct
	['su-fonts'] = true,														-- styling
	['uniturk'] = true,															-- a writing system
	['1ca'] = true,																-- uses {{lang}} and trk-Arab-TR; add that tag to ~/data for Old Anatolian Turkish?

--	['ast-leo'] = true,															-- deleted; use ast-es
--	['lmo-cr'] = true,															-- deleted; use lmo-x-cremish
--	['lmo-it'] = true,															-- deleted; use lmo-x-berg
--	['pun'] = true,																-- deleted; was a template dab
--	['sa2'] = true,																-- deleted; use {{lang}}

--	['bcs-latn-cyrl'] = true,													-- {{lang-x2}} template wrappers; these tags not valid
--	['cnr-cyrl-latn'] = true,
--	['cnr-latn-cyrl'] = true,
--	['sh-cyrl-latn'] = true,
--	['sh-latn-cyrl'] = true,
--	['sr-cyrl-latn'] = true,
--	['sr-latn-cyrl'] = true,
--	['uz-cyrl-latn'] = true,
--	['uz-latn-cyrl'] = true,

--	['cnr-cyrl'] = true,														-- valid IETF tags; no reason to prevent their use with {{langx}}
--	['cnr-latn'] = true,
--	['hmd'] = true,
--	['ka'] = true,
--	['ku-arab'] = true,
--	['mnc'] = true,
--	['my-mymr'] = true,
--	['rus'] = true,																-- sort of valid IETF tag; should be promoted to 'ru'
--	['sh-cyrl'] = true,
--	['sh-latn'] = true,
--	['sr'] = true,																-- per Template_talk:Lang#tracking_sr_usage_with_issues; discussion died nothing being done
--	['sr-cyrl'] = true,
--	['sr-latn'] = true,
--	['uz-latn'] = true,
--	['zh'] = true,

--	Moldovan Cyrillic															-- now a redirect to Lang-ro-Cyrl
--	['vi-chunom'] = true,														-- now a redirect to {{Chunom}}
--	['vi-hantu'] = true,														-- now a redirect to {{Chuhan}}
	}


--[[--------------------------< E X P O R T S >----------------------------------------------------------------
]]

return {
	link_t = link_t,
	rtl_t = rtl_t,
	script_t = script_t,
	size_t = size_t,
	unsupported_t = unsupported_t,
	}