မဝ်ဂျူ:lzz-translit

နူ ဝိက်ရှေန်နရဳ

Documentation for this module may be created at မဝ်ဂျူ:lzz-translit/doc

local export = {}

local gsub = mw.ustring.gsub
local tt = {
	["ა"]="a", ["ბ"]="b", ["გ"]="g", ["დ"]="d", ["ე"]="e", ["ვ"]="v", ["ზ"]="z",
	["თ"]="t", ["ი"]="i", ["კ"]="ǩ", ["ლ"]="l", ["მ"]="m", ["ნ"]="n", ["ჲ"]="y", ["ო"]="o",
	["პ"]="p̌", ["ჟ"]="j", ["რ"]="r", ["ს"]="s", ["ტ"]="ť", ["უ"]="u", ["ფ"]="p",
	["ქ"]="k", ["ღ"]="ğ", ["ყ"]="q", ["შ"]="ş", ["ჩ"]="ç", ["ც"]="ʒ",
	["ძ"]="ż", ["წ"]="ǯ", ["ჭ"]="ç̌", ["ხ"]="x", ["ჯ"]="c", ["ჰ"]="h", ["ჶ"]="f", 
};

function export.tr(text, lang, sc)

	-- Transliterate uppercase characters from the Georgian Extended block as
	-- the uppercase version of the transliteration of the lowercase  characters
	-- from the Georgian block.
	-- U+10D0: start of Georgian block
	-- U+1C90: start of Georgian Extended block
	text = gsub(
		text,
		'[' .. mw.ustring.char(0x1C90) .. '-' .. mw.ustring.char(0x1CBF) .. ']',
		function (char)
			local translit = tt[mw.ustring.char(mw.ustring.codepoint(char) - 0x1C90 + 0x10D0 )]
			return translit and mw.ustring.upper(translit)
		end)
	text = gsub(text, '.', tt)
	return text
end

return export