local export = {}
local trfunc = {}
local tt_Cyrl = {
= "Şç", = "şç", = "ı", = "ı", = "E", = "e",
= "Ya", = "ya", = "U", = "u", = "S", = "s",
= "Ç", = "ç", = "H", = "h", = "J", = "j",
= "D", = "d", = "V", = "v", = "A", = "a",
= "M", = "m", = "O", = "o", = "İ", = "i",
= "K", = "k", = "Ş", = "ş", = "ʺ", = "ʺ",
= "Yo", = "yo", = "ʹ", = "ʹ", = "Yu", = "yu",
= "T", = "t", = "R", = "r", = "Ts", = "ts",
= "F", = "f", = "Z", = "z", = "E", = "e",
= "G", = "g", = "B", = "b", = "N", = "n",
= "P", = "p", = "Y", = "y", = "L", = "l",
= "Ü", = "ü", = "Ö", = "ö"
}
local tt_Mong = {
= "a", = "e", = "i", = "o", = "u",
= "ö", = "ü", = "ē",
= "n", = "ng", = "b", = "p",
= "q", = "k", = "ɣ", = "g",
= "m", = "l", = "s", = "š",
= "t", = "d", = "č", = "ǰ",
= "y", = "r", = "w", = "f",
= "g", = "k", = "c", = "z",
= "h", = "ž", = "lh", = "zh", = "ch",
= "-", = "?", = "!", = ",", = "."
}
function trfunc.Cyrl(text)
text = mw.ustring.gsub(text, "(?)()",
function (a, e)
return a .. (e == "е" and "je" or "Je")
end):gsub("^Е", "Je"):gsub("^е", "je")
return (mw.ustring.gsub(text, ".", tt_Cyrl))
end
function trfunc.Mong(text)
local velar_conv = { = "k", = "g" }
text = mw.ustring.gsub(text, ".", tt_Mong)
text = mw.ustring.gsub(text, "()(.?)", function(velar, vowel)
return ((mw.ustring.match(vowel, "") or vowel == "")
and mw.ustring.gsub(velar, "", velar_conv) or velar) .. vowel end)
return text
end
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:scripts").findBestScript(text, require("Module:languages").getByCode("mn"))
if sc then
sc = sc:getCode()
else
return nil
end
end
local func = trfunc
if func then
return trfunc(text)
end
end
return export