মডিউল:sa-translit
অবয়ব
এই মডিউলের জন্য মডিউল:sa-translit/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে
local export = {}
local consonants = {
['क']='ক', ['ख']='খ', ['ग']='গ', ['घ']='ঘ', ['ङ']='ঙ',
['च']='চ', ['छ']='ছ', ['ज']='জ', ['झ']='ঝ', ['ञ']='ঞ',
['ट']='ট', ['ठ']='ঠ', ['ड']='ড', ['ढ']='ঢ', ['ण']='ণ',
['त']='ত', ['थ']='থ', ['द']='দ', ['ध']='ধ', ['न']='ন',
['प']='প', ['फ']='ফ', ['ब']='ব', ['भ']='ভ', ['म']='ম',
['य']='য়', ['र']='র', ['ल']='ল', ['व']='ৱ', ['ळ']='ল়',
['श']='শ', ['ष']='ষ', ['स']='স', ['ह']='হ',
}
local diacritics = {
['ा']='া', ['ि']='ি', ['ी']='ী', ['ु']='ু', ['ू']='ূ', ['ृ']='ৃ', ['ॄ']='ৄ',
['ॢ']='ৢ', ['ॣ']='ৣ', ['े']='ে', ['ै']='ৈ', ['ो']='ো', ['ौ']='ৌ', ['्']='্',
}
local tt = {
-- vowels
['अ']='অ', ['आ']='আ', ['इ']='ই', ['ई']='ঈ', ['उ']='উ', ['ऊ']='ঊ', ['ऋ']='ঋ', ['ॠ']='ৠ',
['ऌ']='ঌ', ['ॡ']='ৡ', ['ए']='এ', ['ऐ']='ঐ', ['ओ']='ও', ['औ']='ঔ',
-- chandrabindu
['ँ']='ঁ', --until a better method is found
-- anusvara
['ं']='ং', --until a better method is found
-- visarga
['ः']='ঃ',
-- avagraha
['ऽ']='ঽ',
--numerals
['०']='০', ['१']='১', ['२']='২', ['३']='৩', ['४']='৪', ['५']='৫', ['६']='৬', ['७']='৭', ['८']='৮', ['९']='৯',
--punctuation
['॥']='।।', --double danda
['।']='।', --danda
--Vedic extensions
['ᳵ']='ক়', ['ᳶ']='ফ়',
--Om
['ॐ']='ওঁ',
--reconstructed
['*'] = '',
--accentuation (needs to be handled)
['॑'] = '', ['॒'] = ''
}
function export.tr(text, lang, sc)
text = mw.ustring.gsub(
text,
'([कखगघङचछजझञटठडढणतथदधनपफबभमयरलळवशषसह])'..
'([ािीुूृॄॢॣेैोौ्]?)',
function(c, d)
if d == "" then
return consonants[c]
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
-- বাংলা লিপিতে "ত" সব ব্যঞ্জনবর্ণের সঙ্গে যুক্তাক্ষর গঠন করতে পারে না, তাই যাদের সঙ্গে যুক্তাক্ষর সম্ভব নয় তাদের ক্ষেত্রে "ত" কে "ৎ" দিয়ে প্রতিস্থাপন করা হয়েছে
text = mw.ustring.gsub(text, 'ত্[(কখগঘঙচছজঝঞটঠডঢণদধপফভৱশষসহ)়?]', 'ৎ%1')
-- বাংলা লিপিতে "য়" কোনো ব্যঞ্জনবর্ণের সঙ্গে যুক্তাক্ষর গঠন করতে পারে না, তাই ব্যঞ্জনবর্ণের পরে এলে "য়" কে "্য" দিয়ে প্রতিস্থাপন করা হয়েছে
text = mw.ustring.gsub(text, '্য়', '্য')
return text
end
return export