Module:ug-translit
Documentation for this module may be created at Module:ug-translit/doc
--[[
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
["؟"]="?",
["،"]=",",
["؛"]=";"
}
local UEYtoUSYtable = {
--bashqa herpler
--ы ё ц э ю я
--ya = я, yu = ю
-- uzuk tawushlar
["م"] = "м", ["ن"] = "н", ["د"] = "д", ["ت"] = "т",
["ب"] = "б", ["پ"] = "п", ["ف"] = "ф", ["ق"] = "қ",
["ك"] = "к", ["ڭ"] = "ң", ["گ"] = "г", ["غ"] = "ғ",
["ھ"] = "һ", ["خ"] = "х", ["چ"] = "ч", ["ج"] = "җ",
["ژ"] = "ж", ["ز"] = "з", ["س"] = "с", ["ش"] = "ш",
["ر"] = "р", ["ل"] = "л", ["ئ"] = "",
["ي"] = "й", ["ۋ"] = "в",
-- sozuq tawushlar
["ا"] = "а", ["ە"] = "ә", ["ې"] = "е", ["ى"] = "и",
["و"] = "о", ["ۆ"] = "ө", ["ۇ"] = "у", ["ۈ"] = "ү",
-- belgiler
["؟"]="?",
["،"]=",",
["؛"]=";"
}
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
function export.tr2(text)
if type(text) == "table" then text = text.args[1] end
-- transliterate from UEY to USY
-- remove initial hamza
text = mw.ustring.gsub(text, "^ئ(.)", "%1")
text = mw.ustring.gsub(text, "%sئ(.)", " %1")
--qoshma sozler uchun
text = mw.ustring.gsub(text, "يۇ", "ю")
text = mw.ustring.gsub(text, "يا", "я")
-- text = mw.ustring.gsub(text, "يو", "ё")
-- transliterate letters one to one
text = mw.ustring.gsub(text, ".", UEYtoUSYtable)
return text
end
return export