--[[
Transliteration for Uyghur.
]]--
 
local export = {}
 
local UEYtoULYtable = {
    -- consonants
    ["م"] = "m",  ["ن"] = "n",  ["د"] = "d",  ["ت"] = "t",
    ["ب"] = "b",  ["پ"] = "p",  ["ف"] = "f",  ["ق"] = "q",
    ["ك"] = "k",  ["ڭ"] = "ng", ["گ"] = "g",  ["غ"] = "gh",
    ["ھ"] = "h",  ["خ"] = "x",  ["چ"] = "ch", ["ج"] = "j",
    ["ژ"] = "zh", ["ز"] = "z",  ["س"] = "s",  ["ش"] = "sh",
    ["ر"] = "r",  ["ل"] = "l",  ["ئ"] = "'",
    ["ي"] = "y",  ["ۋ"] = "w",
    -- vowels
    ["ا"] = "a", ["ە"] = "e", ["ې"] = "ë", ["ى"] = "i",
    ["و"] = "o", ["ۆ"] = "ö", ["ۇ"] = "u", ["ۈ"] = "ü",
    -- punctuation
    ["؟"]="?",
    ["،"]=",",
    ["؛"]=";"
}
 
function export.tr(text)
    if type(text) == "table" then text = text.args[1] end
 
    -- transliterate from UEY to ULY
    -- remove initial hamza
    text = mw.ustring.gsub(text, "^ئ(.)", "%1")
    text = mw.ustring.gsub(text, "%sئ(.)", " %1")
    -- transliterate letters one to one
    text = mw.ustring.gsub(text, ".", UEYtoULYtable)
 
    return text
end
 
return export