This module will transliterate Shughni language text per WT:SGH 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:sgh-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 = {
="a", ="b", ="v", ="g", ="d", ="ē",
="ž", ="z", ="i", ="ī", ="y", ="k", ="l", ="m",
="n", ="ō", ="p", ="r", ="s", ="t", ="u", ="ū",
="f", ="x", ="c", ="ʒ", ="č", ="š", ="ɣ", ="q", ="h", ="ǰ",
="A", ="B", ="V", ="G", ="D", ="Ē",
="Ž", ="Z", ="I", ="Ī", ="Y", ="K", ="L", ="M",
="N", ="Ō", ="P", ="R", ="S", ="T", ="U", ="Ū",
="F", ="X", ="C", ="Ʒ", ="Č", ="Š", ="Ɣ", ="Q", ="H", ="J̌" };
local mapping = {
= 'w',
= 'δ',
= 'θ',
= 'ê',
= 'ẹ',
= 'ọ',
= 'ū̊',
= 'ɣ̌',
= 'W',
= 'Δ',
= 'Θ',
= 'Ê',
= 'Ẹ',
= 'Ọ',
= 'Ū̊',
= 'Ɣ̌',
}
function export.tr(text, lang, sc)
if sc == "Latn" then
return nil
end
for char, translit in pairs(mapping) do
text = mw.ustring.gsub(text, char, translit)
end
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export