--[[
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