Module:lyti-mid-translit

From Linguifex
Jump to navigation Jump to search


local export = {}
 
local tt = {
	["Αυ"]='Au', ["αυ"]='au',
	["Ευ"]='Eu', ["ευ"]='eu',
	["Ου"]='Ou', ["ου"]='ou',
	["Ωυ"]='Ōu', ["ωυ"]='ōu',
	["Α"]='A', ["α"]='a',
	["Μβ"]='Mb', ["μβ"]='mb',
	["Β"]='V', ["β"]='v',
	["Γγ"]='Ng', ["γγ"]='ng',
	["Γϝ"]='Nw', ["γϝ"]='nw',
	["Γκ"]='Nk', ["γκ"]='nk',
	["Γχ"]='Nkh', ["γχ"]='nkh',
	["Γξ"]='Nx', ["γξ"]='nx',
	["Γ"]='G', ["γ"]='g',
	["Ϝ"]='W', ["ϝ"]='w',
	["Δ"]='D', ["δ"]='d',
	["Ε"]='E', ["ε"]='e',
	["Ζ"]='Z', ["ζ"]='z',
	["Ι"]='I', ["ι"]='i',
	["Κ"]='K', ["κ"]='k',
	["Λ"]='L', ["λ"]='l',
	["Μ"]='M', ["μ"]='m',
	["Ν"]='N', ["ν"]='n',
	["Ο"]='O', ["ο"]='o',
	["Ω"]='Ō', ["ω"]='ō',
	["Π"]='P', ["π"]='p',
	["Ρ"]='R', ["ρ"]='r',
	["Σ"]='S', ["σ"]='s', ["ς"]='s',
	["Τ"]='T', ["τ"]='t',
	["Υ"]='Y', ["υ"]='y',
	["Φ"]='Ph', ["φ"]='ph',
	["Θ"]='Th', ["θ"]='th',
	["Χ"]='Kh', ["χ"]='kh',
	["Ξ"]='X', ["ξ"]='x',
	["Η"]='Ē', ["η"]='ē',
};

function export.tr(text, lang, sc)
	
	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