Modulus:tg-translit
Purpose
+/-This module will transliterate text written in “Lingua Tadzikica”.
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:tg-translit/testcases.
Functions
+/-tr(text, lang, sc)
- Transliterates a given piece of
text
written in the script specified bysc
, and language specified bylang
. When the transliteration fails, returnsnil
.
local export = {}
local tt={
["т"]="t",['Т']='T', ["р"]="r",['Р']='R', ["ф"]="f",['Ф']='F',
["ю"]="yu",['Ю']='Yu', ["ш"]="š",['Ш']='Š', ["ҳ"]="h",['Ҳ']='H', ["ъ"]="ʾ",['Ъ']='ʾ', ["н"]="n",['Н']='N',
["п"]="p",['П']='P', ["й"]="y",['Й']='Y', ["л"]="l",['Л']='L', ["з"]="z",['З']='Z', ["е"]="e",['Е']='E',
["г"]="g",['Г']='G', ["б"]="b",['Б']='B', ["у"]="u",['У']='U', ["с"]="s",['С']='S', ["х"]="x",['Х']='X',
["ч"]="č",['Ч']='Č', ["я"]="ya",['Я']='Ya',
["м"]="m",['М']='M', ["о"]="o",['О']='O', ["и"]="i",['И']='I', ["ё"]="yo",['Ё']='Yo', ["ж"]="ž",['Ж']='Ž',
["к"]="k",['К']='K', ["д"]="d",['Д']='D', ["в"]="v",['В']='V', ["а"]="a",['А']='A', ["ҷ"]="j",['Ҷ']='J',
["ӯ"]="ü",['Ӯ']='Ü', ["э"]="e",['Э']='E', ["ӣ"]="ī",['Ӣ']='Ī', ["қ"]="q",['Қ']="Q", ["ғ"]="ġ",['Ғ']='Ġ',
["і"]="i",['І']='I'
};
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
"([АОУЕЯЁЮИӢЕЪаоуэяёюиӣе][́̀]?)([ЕеИиӢӣ])",
function(a, e)
if e == 'е' then e = 'ye' end
if e == 'Е' then e = 'Ye' end
if e == 'и' then e = 'yi' end
if e == 'И' then e = 'Yi' end
if e == 'ӣ' then e = 'yī' end
if e == 'Ӣ' then e = 'Yī' end
return a .. e
end
)
text:gsub("^Е",'Ye'):gsub("^е",'ye')
return (mw.ustring.gsub(text, '.', tt))
end
return export