Modul:0sa-translit
A modult a Modul:0sa-translit/doc lapon tudod dokumentálni
local export = {}
local consonants = {
['ka']='k', ['kha']='kh', ['ga']='g', ['gha']='gh', ['ṅa']='ṅ',
['cha']='c', ['chha']='ch', ['ja']='j', ['jha']='jh', ['ña']='ñ',
['ṭa']='ṭ', ['ṭha']='ṭh', ['ḍa']='ḍ', ['ḍha']='ḍh', ['ṇa']='ṇ',
['ta']='t', ['tha']='th', ['da']='d', ['dha']='dh', ['na']='n',
['pa']='p', ['pha']='ph', ['ba']='b', ['bha']='bh', ['ma']='m',
['ya']='y', ['ra']='r', ['la']='l', ['va']='v', ['ळ']='ḷ',
['sha']='ś', ['ṣa']='ṣ', ['sa']='s', ['ha']='h',
}
local diacritics = {
['aa']='ā', ['i']='i', ['ee']='ī', ['u']='u', ['oo']='ū', ['ri']='ṛ', ['ॄ']='ṝ',
['ॢ']='ḷ', ['ॣ']='ḹ', ['e']='e', ['ai']='ai', ['o']='o', ['au']='au', ['']='',
}
local tt = {
-- vowels
['a']='a', ['aa']='ā', ['i']='i', ['ee']='ī', ['u']='u', ['oo']='ū', ['ri']='ṛ', ['ॠ']='ṝ',
['ऌ']='ḷ', ['ॡ']='ḹ', ['e']='e', ['ai']='ai', ['o']='o', ['au']='au',
-- chandrabindu
['']='m̐', --until a better method is found
-- anusvara
['n']='ṃ', --until a better method is found
-- visarga
['ha']='ḥ',
-- avagraha
['ऽ']='’',
--numerals
['0']='0', ['1']='1', ['2']='2', ['3']='3', ['4']='4', ['5']='5', ['6']='6', ['7']='7', ['8']='8', ['9']='9',
--punctuation
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
['ᳵ']='x', ['ᳶ']='f',
--Om
['ॐ']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([kakhagaghaṅachachhajajhañaṭaṭhaḍaḍhaṇatathadadhanapaphababhamayaralaळvashaṣasaha])'..
'([aaieeuooriॄॢॣeaioau]?)',
function(c, d)
if d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export