Modul:ady-translit
Documentation for this module may be created at Modul:ady-translit/belge
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