local u = mw.ustring.char
local M = u(0x0304) -- COMBINING MACRON
local B = u(0x0306) -- COMBINING BREVE
local D = u(0x0308) -- COMBINING DIAERESIS
local A = u(0x0301) -- COMBINING ACUTE
local DA = u(0x030B) -- COMBINING DOUBLE ACUTE
local export = {}
local tt_lepik = {
["Е" .. D]='Yo', ["е" .. D]='yo',
[M .. B] = DA, [M] = A, [B] = D,
["[ЬІ]"]="Y", ["[ьі]"]="y",
["Э"]='E', ["э"]='e',
["О"]='O', ["о"]='o',
["А"]='A', ["а"]='a',
["Б"]='B', ["б"]='b',
["В"]='V', ["в"]='v',
["Г"]='G', ["г"]='g',
["Ғ"]='Gh', ["ғ"]='gh',
["Дз"]='Dc', ["дз"]='dc', ["Дж"]='Dz', ["дж"]='dz',
["Д"]='D', ["д"]='d',
["Е"]='Ye', ["е"]='ye',
["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z',
["И" .. D]='J', ["и" .. D]='j', ["И"]='Yi', ["и"]='yi',
["К"]='K', ["к"]='k',
["Л"]='L', ["л"]='l',
["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n',
["Ӈ"]='Ng', ["ӈ"]='ng',
["О" .. D]='A' .. D, ["о" .. D]='a' .. D,
["О"]='O', ["о"]='o',
["Ө"]='O' .. D, ["ө"]='o' .. D,
["П"]='P', ["п"]='p',
["Р"]='R', ["р"]='r',
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["У"]='U', ["у"]='u',
["Ү" .. A]='U' .. DA, ["ү" .. A]='u' .. DA, ["Ү"]='U' .. D, ["ү"]='u' .. D,
["Ф"]='F', ["ф"]='f',
["ХӀ"]='H', ["хӀ"]='h', ["Х"]='Ch', ["х"]='ch',
["Ц"]='C', ["ц"]='c',
["Ч"]='Cs', ["ч"]='cs',
["Ш"]='Š', ["ш"]='š',
["Ы"]='I', ["ы"]='i',
["Ю"]='Yu', ["ю"]='yu',
["Я"]='Ya', ["я"]='ya',
["[Ъъ]"]="'",
[D .. A] = DA, [A .. D] = DA,
};
function export.tr(text, lang, sc)
for pat, repl in pairs(tt_lepik) do
text = mw.ustring.gsub(mw.ustring.toNFD(text), pat, repl)
end
return mw.ustring.toNFC(text)
end
return export