Module:oaa-translit

From Linguifex
Revision as of 18:05, 3 July 2025 by wikt>Surjection (Protected "Module:oaa-translit": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:oaa-translit/doc

local export = {}

local single_letter_replacements = {

	["А"]='A', ["а"]='a',
	["Б"]='B', ["б"]='b',
	["В"]='V', ["в"]='v',
	["Е"]='E', ["е"]='e',
	["Ё"]='Jo', ["ё"]='jo',
	["Г"]='G', ["г"]='g',
	["Д"]='D', ["д"]='d',
	["Ӡ"]='Ʒ', ["ӡ"]='ʒ',
	["И"]='I', ["и"]='i',
	["Ӣ"]='Ī', ["ӣ"]='ī',
	["Й"]='J', ["й"]='j',
	["К"]='K', ["к"]='k',
	["Л"]='L', ["л"]='l',
	["М"]='M', ["м"]='m',
	["Н"]='N', ["н"]='n',
	["Ӈ"]='Ŋ', ["ӈ"]='ŋ',
	["Ԩ"]='Ń', ["ԩ"]='ń',
	["О"]='O', ["о"]='o',
	["Ө"]='Ö', ["ө"]='ö',
	["П"]='P', ["п"]='p',
	["Р"]='R', ["р"]='r',
	["С"]='S', ["с"]='s',
	["Т"]='T', ["т"]='t',
	["У"]='U', ["у"]='u',
	["Ӯ"]='Ū', ["ӯ"]='ū',
	["Х"]='H', ["х"]='h', 
	["Ч"]='Č', ["ч"]='č',
	["Ы"]='Y', ["ы"]='y',
	["Э"]='Ə', ["э"]='ə',
	["Ю"]='Ju', ["ю"]='ju',
	["Я"]='Ja', ["я"]='ja',
	['Ъ']='ʺ', ['ъ']='ʺ',

	-- NOT PRESENT IN THE ORIGINAL LATINISATION --

	-- non-native letters
	["Ж"]='Ž', ["ж"]='ž',
	["З"]='Z', ["з"]='z',
	["Ц"]='C', ["ц"]='c',
	["Ш"]='Š', ["ш"]='š',
	["Щ"]='Šč', ["щ"]='šč',
	["Ь"]="’", ["ь"]="’",
	["Ф"]='F', ["ф"]='f',
	
	-- non-standard letters
	["Ҥ"]='Ŋ', ["ҥ"]='ŋ',

}

function export.tr(text, lang, sc)
	return (mw.ustring.gsub(text, ".", single_letter_replacements))
end

return export