Module:Ka-translit

MyWikiBiz, Author Your Legacy — Wednesday December 25, 2024
Jump to navigationJump to search


Usage

This module creates a transliteration of Georgian text. It is used by Template:T, and that template in turn is used by Template:T.

  • {{#invoke:Ka-translit|tr|ქართული ენა}}
  • kartuli ena

The module returns an error message if the text it is provided does not contain any Georgian characters:

  • {{#invoke:Ka-translit|tr|kartuli ena}}
  • Please place Georgian text in the first parameter of {{ka-translit}}.

local p = {}

local ISO_9984 = {
	["ა"]="a", ["ბ"]="b", ["გ"]="g", ["დ"]="d", ["ე"]="e", ["ვ"]="v", ["ზ"]="z", ["ჱ"]="ē",
	["თ"]="t’", ["ი"]="i", ["კ"]="k", ["ლ"]="l", ["მ"]="m", ["ნ"]="n", ["ჲ"]="y", ["ო"]="o",
	["პ"]="p", ["ჟ"]="ž", ["რ"]="r", ["ს"]="s", ["ტ"]="t", ["ჳ"]="w", ["უ"]="u", ["ფ"]="p’",
	["ქ"]="k’", ["ღ"]="ḡ", ["ყ"]="q", ["შ"]="š", ["ჩ"]="č’", ["ც"]="c’",
	["ძ"]="j", ["წ"]="c", ["ჭ"]="č", ["ხ"]="x", ["ჴ"]="ẖ", ["ჯ"]="ǰ", ["ჰ"]="h", ["ჵ"]="ō", ["ჶ"]="f", ["ჷ"]="ə", ["ჸ"]="ʾ"
};

--current
local national_system = {
	["ა"]="a", ["ბ"]="b", ["გ"]="g", ["დ"]="d", ["ე"]="e", ["ვ"]="v", ["ზ"]="z", ["ჱ"]="?",
	["თ"]="t", ["ი"]="i", ["კ"]="k'", ["ლ"]="l", ["მ"]="m", ["ნ"]="n", ["ჲ"]="?", ["ო"]="o",
	["პ"]="p'", ["ჟ"]="zh", ["რ"]="r", ["ს"]="s", ["ტ"]="t'", ["ჳ"]="?", ["უ"]="u", ["ფ"]="p",
	["ქ"]="k", ["ღ"]="gh", ["ყ"]="q'", ["შ"]="sh", ["ჩ"]="ch", ["ც"]="ts",
	["ძ"]="dz", ["წ"]="ts'", ["ჭ"]="ch'", ["ხ"]="kh", ["ჴ"]="ẖ", ["ჯ"]="j", ["ჰ"]="h", ["ჵ"]="?", ["ჶ"]="?", ["ჷ"]="?", ["?"]="ʾ"
};

function p.tr(frame)
	text = frame.args[1]
	if text == nil or text == "" or mw.ustring.find(text, "[Ⴀ-ჼ]") == nil then
		return '<span style="color: red; font-size: 85%;">Please place Georgian text in the first parameter of {{[[Template:Ka-translit|ka-translit]]}}.</span>'
	else
		return (mw.ustring.gsub(text, '.', national_system))
	end
end

return p