Modül:Brah-alfabeçeviri

Merhaba, buraya Modül:Brah-alfabeçeviri kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:Brah-alfabeçeviri kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:Brah-alfabeçeviri kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:Brah-alfabeçeviri kelimesi hakkında bilmeniz gereken her şey burada. Modül:Brah-alfabeçeviri kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
Modül belgelemesi


local export = {}

local consonants = {
--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 = {
--matras
	='ā', ='i', ='ī', ='u', ='ū', ='ṛ', ='ṝ', 
	='l̥', ='l̥̄', ='e', ='ai', ='o', ='au',  ='',
    --bhattiprolu aa
    ='ā',
}

local tt = {

--vowels
	='a', ='ā', ='i', ='ī', ='u', ='ū', ='ṛ', ='ṝ',
	='l̥', ='l̥̄', ='e', ='ai', ='o', ='au', 
	-- chandrabindu    
	='m̐', --until a better method is found
	-- anusvara    
	='ṃ', --until a better method is found
	-- visarga    
	='ḥ',
	--numerals
	='0', ='1', ='2', ='3', ='4', ='5', ='6', ='7', ='8', ='9',
	--punctuation        
	='.', --danda
    ='.' --double danda
}

function export.tr(text, lang, sc)
	if sc ~= "Brah" then
		return nil
	end
	
	text = mw.ustring.gsub(
		text,
		'()'..
		'(?)'..
		'(?)',
		function(c, d, e)
			if d == "" and e ~= "" then        
				if tt == "i" or tt == "u" then return consonants .. 'a' .. tt .. '̈'
				else return consonants .. 'a' .. tt end
			elseif e ~= "" then
				return consonants .. diacritics .. tt
			elseif d == "" then        
				return consonants .. 'a'
			else
				return consonants .. diacritics
			end
		end)

	text = mw.ustring.gsub(text, '.', tt)
	if (lang == 'sa' or lang == 'pi') and mw.ustring.match(text, 'l̥') then
		text = mw.ustring.gsub(text, 'l̥', 'ḷ')
		text = mw.ustring.toNFC(text)
	end

	return text
end
 
return export