This module will transliterate Kyrgyz language text per WT:KY TR.
The module should preferably not be called directly from templates or other modules.
To use it from a template, use {{xlit}}
.
Within a module, use Module:languages#Language:transliterate.
For testcases, see Module:ky-translit/testcases.
tr(text, lang, sc)
text
written in the script specified by the code sc
, and language specified by the code lang
.nil
.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', ="h",='H',
="c",='C', ="şc",='Şc', ="ya",='Ya', ="ı",='I', ="e",='E',
="m",='M', ="o",='O', ="i",='İ', ="yo",='Yo', ="j",='J',
="k",='K', ="d",='D', ="v",='V', ="ts",='Ts', ="a",='A',
="ŋ",='Ŋ'
};
function export.tr(text, lang, sc)
if sc == "Arab" then
return nil
end
text = mw.ustring.gsub(
text,
"(?)()",
function(a,e)
return a .. ( e == 'е' and 'ye' or 'Ye' )
end
)
:gsub("^Е",'Ye')
:gsub("^е",'ye');
return (mw.ustring.gsub(text, '.', tt))
end
return export