Module:BC AD

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Lua

CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules


Usage

[edit]
{{#invoke:BC AD|BC}}
{{#invoke:BC AD|AD}}
local BC = require('Module:BC AD')._BC
local AD = require('Module:BC AD')._AD


Code

require('strict')

local getArgs = require('Module:Arguments').getArgs
local langSwitch = require('Module:LangSwitch')._langSwitch

local p = {}

function p._BC(args)
	local lang = args.lang or mw.getCurrentFrame():preprocess("{{Int:Lang}}")
	
	local text_args = {
		-- Sorted by value (possibly matched by multiple codes separated by '/', ordered by code)
		-- Latin alphabets
		['es'] = 'a. C.',
		['gl'] = 'a. C.',
		['la'] = 'a.C.n.',
		['eml'] = 'a.e.v.',
		['ia'] = 'a.e.v.',
		['it'] = 'a.e.v.',
		['lij'] = 'a.e.v.',
		['lmo'] = 'a.e.v.',
		['nrf'] = 'a.e.v.',
		['nrf-fr'] = 'a.e.v.',
		['nrf-gg'] = 'a.e.v.',
		['nrf-je'] = 'a.e.v.',
		['pt'] = 'a.e.v.',
		['pt-br'] = 'a.e.v.',
		['rgn'] = 'a.e.v.',
		['sc'] = 'a.e.v.',
		['scn'] = 'a.e.v.',
		['mwl'] = 'a.e.v.',
		['vec'] = 'a.e.v.',
		['eo'] = 'a.K.',
		['mg'] = 'a.K.',
		['oc'] = 'abC',
		['nap'] = 'aev',
		['an'] = 'aC',
		['ca'] = 'aC',
		['ia'] = 'aEC',
		['lfn'] = 'aec',
		['pms'] = 'aGC',
		['io'] = 'aK',
		['fr'] = 'av. J.-C.',
		['ny'] = 'B.C.E.',
		['sn'] = 'B.C.E.',
		['xh'] = 'B.C.E.',
		['zu'] = 'B.C.E.',
		['vo'] = 'b.K.',
		['ku'] = 'B.Z.',
		['ang'] = 'BCE',
		['en'] = 'BCE',
		['en-ca'] = 'BCE',
		['en-gb'] = 'BCE',
		['sco'] = 'BCE',
		['simple'] = 'BCE',
		['cy'] = 'CC',
		['nan'] = 'chêng',
		['hsb'] = 'do Chr.',
		['wa'] = 'dv. Dj.C.',
		['ast'] = 'e.C.',
		['ext'] = 'e.C.',
		['az'] = 'e.ə.',
		['fi'] = 'eaa.',
		['ast'] = 'edC',
		['et'] = 'eKr',
		['vro'] = 'eKr',
		['fy'] = 'f. Kr.',
		['da'] = 'f.Kr.',
		['fo'] = 'f.Kr.',
		['frr'] = 'f.Kr.',
		['is'] = 'f.Kr.',
		['nb'] = 'f.Kr.',
		['no'] = 'f.Kr.',
		['sv'] = 'f.Kr.',
		['nn'] = 'fvt.',
		['hu'] = 'I. e.',
		['ro'] = 'î.Hr.',
		['eu'] = 'K.a.',
		['sw'] = 'KK',
		['qu'] = 'kñ‎',
		['br'] = 'kt JK‎',
		['uz'] = 'Mil. av.',
		['tk'] = 'MÖ',
		['tr'] = 'MÖ',
		['rw'] = 'm.y.Y.',
		['co'] = 'n. u. C.',
		['bs'] = 'p. n. e.',
		['sr-el'] = 'p. n. e.',
		['sr-latn'] = 'p. n. e.',
		['sq'] = 'p.Kr.',
		['lv'] = 'p.m.ē.',
		['pl'] = 'p.n.e.',
		['sh'] = 'pne.',
		['hr'] = 'pr. Kr.',
		['lt'] = 'pr. m. e.',
		['cs'] = 'př. n. l.',
		['sk'] = 'pr.Kr.',
		['sl'] = 'pr. n. št.',
		['mt'] = 'QK',
		['ga'] = 'RC',
		['gd'] = 'RC',
		['yo'] = 'SK',
		['ban'] = 'SM',
		['bjn'] = 'SM',
		['bms'] = 'SM',
		['id'] = 'SM',
		['jv'] = 'SM',
		['ms'] = 'SM',
		['su'] = 'SM',
		['vi'] = 'TCN',
		['war'] = 'UC',
		['de'] = 'v. Chr.',
		['gsw'] = 'v. Chr.',
		['lb'] = 'v. Chr.',
		['li'] = 'v. Chr.',
		['nds'] = 'v. Chr.',
		['li'] = 'v. Chr.',
		['nds'] = 'v. u. T.',
		['nds-nl'] = 'v. u. T.',
		['af'] = 'v.C.',
		['nl'] = 'v.Chr.',
		['stq'] = 'v.Chr.',
		['vls'] = 'v.Chr.',
		-- Greek alphabets
		['el'] = 'π.Χ.',
		-- Cyrillic alphabets
		['tt'] = 'б. э. к.',
		['ba'] = 'Б. э. т.',
		['kk'] = 'б.з.д.',
		['ky'] = 'б.з.ч.',
		['be'] = 'да н.э.',
		['be-tarask'] = 'да н.э.',
		['ru'] = 'до н. е.‎',
		['rue'] = 'до н. е.‎',
		['uk'] = 'до н. е.‎',
		['uk'] = 'до н.',
		['mhr'] = 'М.э.д.о.',
		['mn'] = 'МЭӨ',
		['cv'] = 'П. э.',
		['tg'] = 'п.а.м.',
		['mk'] = 'п.н.е.',
		['sr'] = 'п.н.е.',
		['sr-ec'] = 'п.н.е.',
		['sr-cryl'] = 'п.н.е.',
		['bg'] = 'пр.н.е.',
		['sr'] = 'пне.',
		-- FIXME ['av'] = '',
		-- Other LTR alphabets
		['ka'] = 'ძვ. წ.',
		['xmf'] = 'ძვ.წ.',
		['hy'] = 'Մ.թ.ա.',
		-- Indic abugidas
		['bn'] = 'খ্রিস্টপূর্ব',
		['gu'] = 'બી.સી.',
		['hi'] = 'ई.पू.',
		['km'] = 'មុនគ។ ស',
		['kn'] = 'ಕ್ರಿ.ಪೂ',
		['lo'] = 'ກ່ອນຄ. ສ',
		['ml'] = 'ബി.സി.ഇ.',
		['mr'] = 'इ.स.चे',
		['my'] = 'ဘီစီ',
		['or'] = 'ଖ୍ରୀଷ୍ଟପୂର୍ବ',
		['si'] = 'ක්‍රි.පූ',
		['ta'] = 'கிமு',
		['te'] = 'క్రీస్తుపూర్వం',
		['th'] = 'คริสต์',
		-- Syllabaries
		['am'] = 'ዓክልበ',
		-- East-Asian alphabets/syllabaries+sinograms
		['ko'] = '기원전',
		['ja'] = '紀元前',
		-- Sinograms
		['gan'] = '公元前',
		['lzh'] = '公元前',
		['wuu'] = '公元前',
		['yue'] = '公元前',
		['zh'] = '公元前',
		['zh-hans'] = '公元前',
		['zh-hant'] = '公元前',
		-- RTL Hebrew abjads
		['he'] = 'לפנה"ס',
		['yi'] = 'בק',
		-- RTL Arabic abjads
		['arz'] = 'ق.ا.',
		['ar'] = 'ق.م.',
		['ary'] = 'ق.م.',
		['sd'] = 'ق.م.',
		['ur'] = 'ق.م.',
		['fa'] = 'پ.م.',
		['ug'] = 'م.ئ.',
		['ckb'] = 'پز',
		['ps'] = 'پیړۍ'--,
		-- FIXME ['azb'] = ''
		-- Other RTL abjads
	}
	return langSwitch(text_args, lang)
end

function p.BC(frame)
	return p._BC(getArgs(frame))
end

function p._AD(args)
	local lang = args.lang or mw.getCurrentFrame():preprocess("{{Int:Lang}}")
	
	local text_args = {
		-- Sorted by value (possibly matched by multiple codes separated by '/', ordered by code)
		-- Latin alphabets
		['gd'] = 'aC',
		['fr'] = 'ap. J.-C.',
		['so'] = 'C.D.',
		['en'] = 'CE',
		['en-ca'] = 'CE',
		['en-gb'] = 'CE',
		['sco'] = 'CE',
		['simple'] = 'CE',
		['sq'] = 'CE',
		['vi'] = 'CN',
		['es'] = 'd. C.',
		['gl'] = 'd.C.',
		['it'] = 'd.C.',
		['ro'] = 'd.Hr.',
		['ca'] = 'dC',
		['nb'] = 'e.Kr.',
		['nn'] = 'e.Kr.',
		['no'] = 'e.Kr.',
		['sv'] = 'e.Kr.',
		['hu'] = 'i. sz.',
		['fi'] = 'jaa.',
		['is'] = 'Kr.t.',
		['id'] = 'M.',
		['tr'] = 'MS',
		['cs'] = 'n. l.',
		['de'] = 'n. Chr.',
		['sl'] = 'n. št.',
		['nl'] = 'n.Chr.',
		['pl'] = 'n.e.',
		['cy'] = 'o.C.',
		['hr'] = 'p. Kr.',
		['ku'] = 'P.z.',
		['hsb'] = 'po Chr.',
		['sk'] = 'po Kr.',
		['eo'] = 'pK',
		['et'] = 'pKr',
		['ms'] = 'TM',
		['mt'] = 'WK',
		-- Greek alphabets
		['el'] = 'μ.Χ.π',
		-- Cyrillic alphabets
		['mn'] = 'М.э.',
		['uk'] = 'н. е.',
		['ru'] = 'н. э.',
		['mk'] = 'н.е.',
		['be'] = 'п. Н. Х.',
		['be-tarask'] = 'п. Н. Х.',
		['bg'] = 'сл. Хр.',
		-- Other LTR European alphabets
		-- Indic abugidas
		['bn'] = 'খ্রিস্টাব্দ',
		['hi'] = 'ईसवी',
		['kn'] = 'ಕ್ರಿ.ಶ.',
		['lo'] = 'ຄິດຕະສັກກະຫຼາດ',
		['ml'] = 'ക്രി.വ.',
		['mr'] = 'इ.स.',
		['my'] = 'အေဒီ',
		['si'] = 'ක්‍රි.ව.',
		['ta'] = 'கி.பி.',
		['th'] = 'ค.ศ.',
		-- Syllabaries
		['hy'] = 'Ք.հ.',
		-- East-Asian alphabets/syllabaries+sinograms
		['ko'] = '서력기원',
		['ja'] = '西暦',
		-- Sinograms
		['zh'] = '公元',
		['zh-hans'] = '公元',
		['zh-hant'] = '公元',
		-- RTL Hebrew abjads
		['he'] = 'לספירה',
		-- RTL Arabic abjads
		['ar'] = 'م.',
		['fa'] = 'پ.ا.م.',
		['ckb'] = 'پاز',
		['ur'] = 'ء.',
		['pnb'] = 'ق.م.',
		-- Other RTL abjads
	}
	return langSwitch(text_args, lang)
end

function p.AD(frame)
	return p._AD(getArgs(frame))
end

return p