This module will transliterate Duruwa language text.
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:pci-Orya-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 consonants = {
--common
="k", ="kh", ="g", ="gh", ="ṅ",
="c", ="ch", ="j", ="jh", ="ñ",
="ṭ", ="ṭh", ="ḍ", ="ḍh", ="ṇ",
="t", ="th", ="d", ="dh", ="n",
="p", ="ph", ="b", ="bh", ="m",
="j", ="y", ="r", ="l", ="ḷ",
="v", ="w", ="ś", ="ṣ", ="s", ="h",
--nuktas
="q", ="x", ="ġ", ="z", ="ź",
="ṛ", ="ṛh", ="f",
}
local diacritics = {
="ā", ="i", ="ī", ="u", ="ū", ="ru", ="rū",
="lu", ="lū", ="e", ="ai", ="ai", ="o", ="au", ="au",
="",
}
local tt = {
-- vowels
="a", ="ā", ="i", ="ī", ="u", ="ū", ="ru", ="rū",
="lu", ="lū", ="e", ="ai", ="o", ="au",
-- chandrabindu
="m̐", --until a better method is found
-- anusvara
="ṃ", --until a better method is found
-- visarga
="ḥ",
-- avagraha
="’",
--numerals
="0", ="1", ="2", ="3", ="4", ="5", ="6", ="7", ="8", ="9",
="¼", ="½", ="¾", ="¹⁄₁₆", ="⅛", ="³⁄₁₆",
--punctuation
=".", --danda
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
"(଼?)"..
"(?)",
function(c, d)
if not consonants then
return c
end
if d == "" then
return consonants .. "a"
else
return consonants .. diacritics
end
end)
text = mw.ustring.gsub(text, ".", tt)
return text
end
return export