Module:Ady-translit

local export = {}

local tt = { ["а"]="ā", ["б"]="b", ["в"]="v", ["г"]="ɣ", ["д"]="d", ["е"]="e", ["ё"]="ë", ["ж"]="ž", ["з"]="z", ["и"]="i", ["й"]="j", ["к"]="k", ["л"]="l", ["м"]="m", ["н"]="n", ["о"]="o", ["п"]="p", ["р"]="r", ["с"]="s", ["т"]="t", ["у"]="w", ["ф"]="f", ["х"]="x", ["ц"]="c", ["ч"]="č", ["ш"]="š", ["щ"]="š̍", ["ъ"]="”", ["ы"]="ə", ["ь"]="’", ["э"]="ă", ["ю"]="ju", ["я"]="jā", ["ӏ"]="ʾ", ["А"]="Ā", ["Б"]="B", ["В"]="V", ["Г"]="Ɣ", ["Д"]="D", ["Е"]="E", ["Ё"]="Ë", ["Ж"]="Ž", ["З"]="Z", ["И"]="I", ["Й"]="J", ["К"]="K", ["Л"]="L", ["М"]="M", ["Н"]="N", ["О"]="O", ["П"]="P", ["Р"]="R", ["С"]="S", ["Т"]="T", ["У"]="W", ["Ф"]="F", ["Х"]="X", ["Ц"]="C", ["Ч"]="Č", ["Ш"]="Š", ["Щ"]="Š̍", ["Ъ"]="”", ["Ы"]="Ə", ["Ь"]="’", ["Э"]="Ă", ["Ю"]="Ju", ["Я"]="Jā", ["ӏ"]="ʾ"};

local triQuadrigraphs = { ['кхъу'] = 'q°', ['Кхъу'] = 'Q°', ['гъу'] = 'ġ°', ['дзу'] = 'ʒ°', ['жъу'] = 'ẑ°', ['Кхъ'] = 'Q', ['кхъ'] = 'q', ['къу'] = 'q°', ['кӏу'] = 'ḳ°', ['пӏу'] = 'ṗ°', ['тӏу'] = 'ṭ°', ['хъу'] = 'χ°', ['шъу'] = 'ŝ°', ['шӏу'] = 'ṣ̂°', ['гу'] = 'g°', ['Гъу'] = 'Ġ°', ['Дзу'] = 'Ʒ°', ['Жъу'] = 'Ẑ°', ['Къу'] = 'Q°', ['Кӏу'] = 'Ḳ°', ['Пӏу'] = 'Ṗ°', ['Тӏу'] = 'Ṭ°', ['Хъу'] = 'Χ°', ['Шъу'] = 'Ŝ°', ['Шӏу'] = 'Ṣ̂°', }

local digraphs = { ['гь'] = 'ɡ’', ['гъ'] = 'ġ', ['дж'] = 'ǯ̍', ['дз'] = 'ʒ', ['жъ'] = 'ẑ', ['жь'] = 'ž̍', ['ку'] = 'k°', ['къ'] = 'q', ['кӏ'] = 'č̣̍', ['лъ'] = 'ł', ['лӏ'] = 'ḷ', ['пӏ'] = 'ṗ', ['сӏ'] = 'ṣ̣', ['тӏ'] = 'ṭ', ['фӏ'] = 'f̣', ['ху'] = 'x°', ['хъ'] = 'χ', ['хь'] = 'ḥ', ['цу'] = 'c°', ['цӏ'] = 'c̣', ['чӏ'] = 'č̣', ['чу'] = 'č̍°', ['чъ'] = 'č', ['шъ'] = 'ŝ', ['шӏ'] = 'ṣ̂', ['ӏу'] = 'ʾ°', ['ӏь'] = '՚̍', ['Гу'] = 'G°', ['Гь'] = 'ɡ’', ['Гъ'] = 'Ġ', ['Дж'] = 'Ǯ̍', ['Дз'] = 'Ʒ', ['Жъ'] = 'Ẑ', ['Жь'] = 'Ž̍', ['Ку'] = 'K°', ['Къ'] = 'Q', ['Кӏ'] = 'Č̣̍', ['Лъ'] = 'Ł', ['Лӏ'] = 'Ḷ', ['Пӏ'] = 'Ṗ', ['Сӏ'] = 'Ṣ̣', ['Тӏ'] = 'Ṭ', ['Фӏ'] = 'F̣', ['Ху'] = 'X°', ['Хъ'] = 'Χ', ['Хь'] = 'Ḥ', ['Цу'] = 'C°', ['Цӏ'] = 'C̣', ['Чӏ'] = 'Č̣', ['Чу'] = 'Č̍°', ['Чъ'] = 'Č', ['Шъ'] = 'Ŝ', ['Шӏ'] = 'Ṣ̂', }

function export.tr(text, lang, sc) local str_gsub = string.gsub local UTF8char = '[%z\1-\127\194-\244][\128-\191]*' -- Convert capital to lowercase palochka. Lowercase is found in tables -- above. text = str_gsub(text, mw.ustring.char(0x4C0), mw.ustring.char(0x4CF)) for comb, repl in pairs(triQuadrigraphs) do		text = str_gsub(text, comb, repl) end for comb, repl in pairs(digraphs) do		text = str_gsub(text, comb, repl) end return (str_gsub(text, UTF8char, tt)) end

return export