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.
tr(text, lang, sc)
text
written in the script specified by the code sc
, and language specified by the code lang
.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