মডিউল:hi-translit
এই মডিউলের জন্য মডিউল:hi-translit/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে
-- বাংলা লিপিতে হিন্দি (এবং সংস্কৃত ব্যতীত দেবনাগরী লিপি ব্যবহারকারী অন্যান্য ভাষা) লিপ্যন্তর
local export = {}
local consonants = {
-- ব্যঞ্জনবর্ণ
['क']='ক', ['ख']='খ', ['ग']='গ', ['घ']='ঘ', ['ङ']='ঙ',
['च']='চ', ['छ']='ছ', ['ज']='জ', ['झ']='ঝ', ['ञ']='ঞ',
['ट']='ট', ['ठ']='ঠ', ['ड']='ড', ['ढ']='ঢ', ['ण']='ণ',
['त']='ত', ['थ']='থ', ['द']='দ', ['ध']='ধ', ['न']='ন',
['प']='প', ['फ']='ফ', ['ब']='ব', ['भ']='ভ', ['म']='ম',
['य']='য়', ['र']='র', ['ल']='ল', ['व']='ৱ', ['ळ']='ল়',
['श']='শ', ['ष']='ষ', ['स']='স', ['ह']='হ',
['क़']='ক়', ['ख़']='খ়', ['ग़']='গ়', ['ज़']='জ়', ['झ़']='ঝ়',
['ड़']='ড়', ['ढ़']='ঢ়', ['फ़']='ফ়',
}
local diacritics = {
-- স্বরবর্ণের মাত্রা
['ा']='া', ['ि']='ি', ['ी']='ী', ['ु']='ু', ['ू']='ূ', ['ृ']='ৃ',
['े']='ে', ['ै']='ৈ', ['ो']='ো', ['ौ']='ৌ', ['्']='্',
['ॊ'] = 'ো', ['ॆ'] = 'ে', ['ॉ'] = '', ['ॅ'] = '্যা',
}
local tt = {
-- স্বরবর্ণ
['अ']='অ', ['आ']='আ', ['इ']='ই', ['ई']='ঈ', ['उ']='উ', ['ऊ']='ঊ', ['ऋ']='ঋ',
['ए']='এ', ['ऐ']='ঐ', ['ओ']='ও', ['औ']='ঔ',
['ऒ'] = 'ও', ['ऎ'] = 'এ', ['ऑ'] = 'অ', ['ऍ'] = 'অ্যা',
-- চন্দ্রবিন্দু
['ँ']='ঁ',
-- অনুস্বার
['ं']='ং',
-- বিসর্গ
['ः']='ঃ',
-- অবগ্রহ
['ऽ']='ঽ',
-- সংখ্যা
['०']='০', ['१']='১', ['२']='২', ['३']='৩', ['४']='৪', ['५']='৫', ['६']='৬', ['७']='৭', ['८']='৮', ['९']='৯',
-- ওঁ
['ॐ']='ওঁ',
--
['*'] = '',
}
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, 'ং[(চছজঝঞ)]', 'ঞ্%1')
text = mw.ustring.gsub(text, 'ং[(টঠডঢণ)]', 'ণ্%1')
text = mw.ustring.gsub(text, 'ং[(তথদধনস)]', 'ন্%1')
text = mw.ustring.gsub(text, 'ং[(পফবভম)]', 'ম্%1')
-- বাগ সংশোধন, বাগের কারণ অজানা
text = mw.ustring.gsub(text, 'ঙ্ং', 'ঙ্')
text = mw.ustring.gsub(text, 'ঞ্ং', 'ঞ্')
text = mw.ustring.gsub(text, 'ণ্ং', 'ণ্')
text = mw.ustring.gsub(text, 'ন্ং', 'ন্')
text = mw.ustring.gsub(text, 'ম্ং', 'ম্')
-- অন্যত্র অনুস্বার চন্দ্রবিন্দুর মতো উচ্চারিত হয়
text = mw.ustring.gsub(text, 'ং', 'ঁ')
-- বাংলা লিপিতে "ত" সব ব্যঞ্জনবর্ণের সঙ্গে যুক্তাক্ষর গঠন করতে পারে না, তাই যাদের সঙ্গে যুক্তাক্ষর সম্ভব নয় তাদের ক্ষেত্রে "ত" কে "ৎ" দিয়ে প্রতিস্থাপন করা হয়েছে
text = mw.ustring.gsub(text, 'ত্[(কখগঘঙচছজঝঞটঠডঢণদধপফভৱশষসহ)়?]', 'ৎ%1')
-- বাংলা লিপিতে "য়" কোনো ব্যঞ্জনবর্ণের সঙ্গে যুক্তাক্ষর গঠন করতে পারে না, তাই ব্যঞ্জনবর্ণ ও "য়" এর মাঝে ZWNJ যোগ করা হল
text = mw.ustring.gsub(text, '্য়', '্য়')
return text
end
return export