Module:guim-translit

From Linguifex
Jump to navigation Jump to search


local export = {}
 
local tt = {
	["А̄"]='Ā', ["а̄"]='ā',
	["А"]='A', ["а"]='a',
	["Б"]='B', ["б"]='b',
	["В"]='W', ["в"]='w',
	["Гъ"]='Ğ', ["гъ"]='ğ',
	["Гь"]='H', ["гь"]='h',
	["Г"]='G', ["г"]='g',
	["Дз"]='Ʒ', ["дз"]='ʒ',
	["Дж"]='Ǯ', ["дж"]='ǯ',
	["Д"]='D', ["д"]='d',
	["Е̄"]='Jē', ["е̄"]='jē',
	["Е"]='Jе', ["е"]='je',
	["Ё̄"]='Jō', ["ё̄"]='jō',
	["Ё"]='Jo', ["ё"]='jo',
	["Ж"]='Ž', ["ж"]='ž',
	["З"]='Z', ["з"]='z',
	["Ӣ"]='Ī', ["ӣ"]='ī',
	["И"]='I', ["и"]='i',
	["Ккь"]='Ttł', ["ккь"]='ttł',
	["Кь"]='Tł', ["кь"]='tł',
	["Къ"]='Q', ["къ"]='q',
	["К"]='K', ["к"]='k',
	["([KkQqŁłПпТтЦцЧч])[Ӏӏ]"] = "%1’",
	["Лъ"]='Ł',	["лъ"]='ł',
	["Лл"]='Łł', ["лл"]='łł',
	["Л"]='L', ["л"]='l',
	["[Ӏӏ]"] = "ʔ",
	["М"]='M', ["м"]='m',
	["Н"]='N', ["н"]='n',
	["О̄"]='Ō', ["о̄"]='ō',
	["О"]='O', ["о"]='o',
	["П"]='P', ["п"]='p',
	["Ръ"]='Rh', ["ръ"]='rh',
	["Р"]='R', ["р"]='r',
	["С"]='S', ["с"]='s',
	["Т"]='T', ["т"]='t',
	["Ӯ"]='Ū', ["ӯ"]='ū',
	["У"]='U', ["у"]='u',
	["Ф"]='F', ["ф"]='f',
	["Хъ"]='X̌', ["хъ"]='x̌',
	["Х"]='X', ["х"]='x',
	["Ц"]='C', ["ц"]='c',
	["Ч"]='Č',	["ч"]='č',
	["Ш"]='Š', ["ш"]='š',
	["Щ"]='Šš', ["щ"]='šš',
	["Ю̄"]='Jū', ["ю̄"]='jū',
	["Ю"]='Ju', ["ю"]='ju',
	["Я̄"]='Jā', ["я̄"]='jā',
	["Я"]='Ja', ["я"]='ja',
	["Ы̄"]='Ȳ', ["ы̄"]='ȳ',
	["Ы"]='Y', ["ы"]='y',
	["Э̄"]='Ē', ["э̄"]='ē',
	["Э"]='E', ["э"]='e',
	["Ә̄"]='Ǟ', ["ә̄"]='ǟ',
	["Ә"]='Ä', ["ә"]='ä',
	
	["[Ъъ]"] = 'ˤ',
};

function export.tr(text, lang, sc)
	
	text = text:gsub("Й", "J"):gsub("й", "j")
	
	text = mw.ustring.toNFD(text)
	
	for pat, repl in pairs(tt) do
		text = mw.ustring.gsub(text, pat, repl)
	end
	
	text = mw.ustring.toNFD(text)
	
	return mw.ustring.toNFC(text)
end

return export