local export = {}
local tt = {
="ü", ='Ü', ="t", ='T', ="r", ='R', ="f", ='F', ="ö", ='Ö',
="yu", ='Yu', ="ş", ='Ş', ="’", ='’', ="ʺ", ='ʺ', ="n", ='N',
="p", ='P', ="y", ='Y', ="l", ='L', ="z", ='Z', ="e", ='E',
="g", ='G', ="b", ='B', ="u", ='U', ="s", ='S', ="x", ='X',
="ç", ='Ç', ="şç", ='Şç', ="ya", ='Ya', ="ı", ='I', ="e", ='E',
="m", ='M', ="o", ='O', ="i", ='İ', ="yo", ='Yo', ="ž", ='Ž',
="k", ='K', ="d", ='D', ="v", ='V', ="ts", ='Ts', ="a", ='A',
="ñ", ='Ñ', ="ğ", ='Ğ', ="ð", ='Đ', ="q", ='Q', ="θ", ='Θ',
="h", ='H', ="ä", ='Ä'
};
local iotated = {
= 'ye',
= 'Ye',
}
function export.tr(text, lang, sc)
local str_gsub = string.gsub
local ugsub = mw.ustring.gsub
-- ү/у should be transliterated as w after vowels
text = ugsub(text, "()", "%1w")
text = ugsub(text,
"(?)()",
function(a, e)
return a .. iotated
end)
text = ugsub(text,
"^",
iotated)
text = str_gsub(text, '*', tt)
return text
end
return export