local export = {}
local consonants = {
['ക']='k', ['ഖ']='kh', ['ഗ']='g', ['ഘ']='gh', ['ങ']='ṅ',
['ച']='c', ['ഛ']='ch', ['ജ']='j', ['ഝ']='jh', ['ഞ']='ñ',
['ട']='ṭ', ['ഠ']='ṭh', ['ഡ']='ḍ', ['ഢ']='ḍh', ['ണ']='ṇ',
['ത']='t', ['ഥ']='th', ['ദ']='d', ['ധ']='dh', ['ന']='n',
['പ']='p', ['ഫ']='ph', ['ബ']='b', ['ഭ']='bh', ['മ']='m',
['യ']='y', ['ര']='r', ['ല']='l', ['വ']='v', ['ള']='ḷ',
['ശ']='ś', ['ഷ']='ṣ', ['സ']='s', ['ഹ']='h',
}
local diacritics = {
['ാ']='ā', ['ി']='i', ['ീ']='ī', ['ു']='u', ['ൂ']='ū', ['ൃ']='ṛ', ['ൄ']='ṝ',
['ൢ']='ḷ', ['ൣ']='ḹ', ['േ']='e', ['ൈ']='ai', ['ോ']='o', ['ൗ']='au', ['്']='',
}
local tt = {
-- vowels
['അ']='a', ['ആ']='ā', ['ഇ']='i', ['ഈ']='ī', ['ഉ']='u', ['ഊ']='ū', ['ഋ']='ṛ', ['ൠ']='ṝ',
['ഌ']='ḷ', ['ൡ']='ḹ', ['ഏ']='e', ['ഐ']='ai', ['ഓ']='o', ['ഔ']='au',
-- chillus, consonants that never take vowels
['ൺ']='ṇ' , ['ൻ']='ṉ' , ['ർ']='r' , ['ൽ']='l' , ['ൾ']='ḷ' , ['ൿ']='k' , ['ൔ']='m', ['ൕ']='y', ['ൖ']='ḻ',
['ൎ']='ṟ',
-- 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
['॥']='.', --double danda
['।']='.', --danda
--Vedic extensions
-- ['ᳵ']='x', ['ᳶ']='f',
--Om
['ഓം']='oṃ',
--reconstructed
['*'] = '',
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([കഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരലവളശഷസഹ])'..
'([ാിീുൂൃൄൢൣേൈോൗ്]?)',
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