Modul:Prti-translit

Ji Wîkîferhengê

Documentation for this module may be created at Modul:Prti-translit/belge

local export = {}

local tt = {
	['𐭀'] = 'ʾ',
	['𐭁'] = 'b',
	['𐭂'] = 'g',
	['𐭃'] = 'd',
	['𐭄'] = 'h',
	['𐭅'] = 'w',
	['𐭆'] = 'z',
	['𐭇'] = 'ḥ',
	['𐭈'] = 'ṭ',
	['𐭉'] = 'y',
	['𐭊'] = 'k',
	['𐭋'] = 'l',
	['𐭌'] = 'm',
	['𐭍'] = 'n',
	['𐭎'] = 's',
	['𐭏'] = 'ʿ',
	['𐭐'] = 'p',
	['𐭑'] = 'c',
	['𐭒'] = 'q',
	['𐭓'] = 'r',
	['𐭔'] = 'š',
	['𐭕'] = 't',
}

local numbers = {
	['𐭘'] = 1,
	['𐭙'] = 2,
	['𐭚'] = 3,
	['𐭛'] = 4,
	['𐭜'] = 10,
	['𐭝'] = 20,
	['𐭞'] = 100,
	['𐭟'] = 1000,
}


function export.convert_numbers(numeric_str)
	local total = 0
	for c in mw.ustring.gmatch(numeric_str, ".") do
		total = total + numbers[c]
	end
	return total
end


function export.tr(text, lang, sc)
	-- If the script is not Prti, do not transliterate
	if sc ~= "Prti" then
		return
	end
	
	if mw.ustring.match(text, '[𐭘-𐭟]') then
		text = mw.ustring.gsub(text, '[𐭘-𐭟]+', export.convert_numbers)
	end
	
	-- Transliterate characters
	text = mw.ustring.gsub(text, '.', tt)
	
	return text
end

return export