Bước tới nội dung

Mô đun:Geor-translit

Từ điển mở Wiktionary

Mô đun này có chức năng chuyển tự văn bản trong Georgian. Nó được sử dụng để phiên âm tiếng Abkhaz, tiếng Bats, tiếng Gruzia, tiếng Gruzia cổ, tiếng Ossetia, tiếng Udi, and tiếng Mingrelia. Lưu ý, không nên gọi mô đun này trực tiếp trong các bản mẫu hoặc mô đun khác. Để sử dụng trong một bản mẫu, dùng {{xlit}}. Còn trong một mô đun, dùng Mô đun:languages#Language:transliterate.

Đối với trường hợp kiểm thử, xem Module:Geor-translit/testcases.

Chức năng

[sửa]
tr(text, lang, sc)
Chuyển tự một text (văn bản) được đưa ra và viết bằng chữ viết được xác định bởi mã sc, và ngôn ngữ được xác định bởi mã lang.
Nếu chuyển tự thất bại, nó sẽ gọi giá trị nil.
local export = {}
	-- Keep synchronized with [[Module:sva-translit]] and [[Module:Geok-translit]]
local gsub = mw.ustring.gsub
local tt = {
	["ა"]="a", ["ბ"]="b", ["გ"]="g", ["დ"]="d", ["ე"]="e", ["ვ"]="v", ["ზ"]="z", ["ჱ"]="ē",
	["თ"]="t", ["ი"]="i", ["კ"]="ḳ", ["ლ"]="l", ["მ"]="m", ["ნ"]="n", ["ჲ"]="y", ["ო"]="o",
	["პ"]="ṗ", ["ჟ"]="ž", ["რ"]="r", ["ს"]="s", ["ტ"]="ṭ", ["ჳ"]="wi", ["უ"]="u", ["ფ"]="p",
	["ქ"]="k", ["ღ"]="ɣ", ["ყ"]="q̇", ["შ"]="š", ["ჩ"]="č", ["ც"]="c",
	["ძ"]="ʒ", ["წ"]="c̣", ["ჭ"]="č̣", ["ხ"]="x", ["ჴ"]="q", ["ჯ"]="ǯ", ["ჰ"]="h", ["ჵ"]="ō", ["ჶ"]="f", ["ჷ"]="ə", ["ჸ"]="ʾ", ["ჺ"]="ʿ" 
};

function export.tr(text, lang, sc)
	-- Transliterating vowel nasalization in Bats
	text = gsub(text, 'ჼ', '̃')
	text = gsub(text, '<sup>ნ</sup>', '̃')
	
	-- 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