Module:uga-translit

Hello, you have come here looking for the meaning of the word Module:uga-translit. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:uga-translit, but we will also tell you about its etymology, its characteristics and you will know how to say Module:uga-translit in singular and plural. Everything you need to know about the word Module:uga-translit you have here. The definition of the word Module:uga-translit will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:uga-translit, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module will transliterate Ugaritic language text per WT:UGA TR. The module should preferably not be called directly from templates or other modules. To use it from a template, use {{xlit}}. Within a module, use Module:languages#Language:transliterate.

For testcases, see Module:uga-translit/testcases.

Functions

tr(text, lang, sc)
Transliterates a given piece of text written in the script specified by the code sc, and language specified by the code lang.
When the transliteration fails, returns nil.

local export = {}

local tt = {
	 = "ả",  = "b",  = "g",  = "ḫ",  = "d",
	 = "h",  = "w",  = "z",  = "ḥ",  = "ṭ",
	 = "y",  = "k",  = "š",  = "l",  = "m",
	 = "ḏ",  = "n",  = "ẓ",  = "s",  = "ʿ",
	 = "p",  = "ṣ",  = "q",  = "r",  = "ṯ",
	 = "ġ",  = "t",  = "ỉ", = "ủ",  = "s̀",
	 = " · ", -- word divider
}

local reverse = {
     = "𐎀",  = "𐎁",  = "𐎂",  = "𐎃",  = "𐎄",
     = "𐎅",  = "𐎆",  = "𐎇",  = "𐎈",  = "𐎉",
     = "𐎊",  = "𐎋",  = "𐎌",  = "𐎍",  = "𐎎",
     = "𐎏",  = "𐎐",  = "𐎑",  = "𐎒",  = "𐎓",
     = "𐎔",  = "𐎕",  = "𐎖",  = "𐎗",  = "𐎘",
     = "𐎙",  = "𐎚",  = "𐎛", = "𐎜",  = "𐎝",
     = "𐎟", -- word divider
}

local get_glottal = {
	 = "ả",
	 = "ỉ",
	 = "ủ",
}

local aliases = {
	 = "ả",
	 = "ỉ",
	 = "ủ",
	 = "ṯ",
	 = "ḏ",
	 = "ḫ",
	 = "ḫ",
	 = "ġ",
	 = "ġ",
	 = "ḥ",
	 = "q",
	 = "ẓ",
}

function export.tr(text, lang, sc)
	text = mw.ustring.gsub(text, ".", tt)
	return text
end

function export.reverse(text)
	if type(text) == "table" then
		text = text.args
	end
	text = mw.ustring.gsub(text, " * *", "·")
	text = mw.ustring.gsub(text, "", "ʿ")
	text = mw.ustring.gsub(text, "", "ʾ")
	text = mw.ustring.gsub(text, "ʾ()", get_glottal)
	text = mw.ustring.gsub(text, "s", "ś")
	text = mw.ustring.gsub(text, "s<sub>2</sub>", "ś")
	text = mw.ustring.gsub(text, ".", reverse)
	return text
end

return export