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", ="ḵẖ", ="ġ", ="z", ="zh",
="ṛ", ="ṛh", ="f",
}
local diacritics = {
="a", ="i", ="ī", ="u", ="ū", ="ru", ="rū",
="lu", ="lū", ="e", ="ôi", ="ôi", ="o", ="ôu", ="ôu",
="",
}
local tt = {
-- vowels
="ô", ="a", ="i", ="ī", ="u", ="ū", ="ru", ="rū",
="lu", ="lū", ="e", ="ôi", ="o", ="ôu",
-- 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 d == "" then
return consonants .. "ô"
else
return consonants .. diacritics
end
end)
text = mw.ustring.gsub(text, ".", tt)
return text
end
return export