This module will transliterate Hinukh language text per WT:GIN 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:gin-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 u = require("Module:string/char")
local export = {}
local mapping1 = {
= "p", = "b",
= "t", = "d",
= "k", = "g",
= "c", = "č",
= "s", = "z", = "š", = "ž", = "x",
= "m", = "n",
= "r", = "l",
= "v", = "y",
= "i", = "e", = "e", = "a", = "o", = "u", = "ü",
= "ʾ",
}
local mapping2 = {
= "p’", = "t’", = "k’", = "q’",
= "c’", = "ƛ", = "ƛ’", = "c’", = "q",
= "λ", = "ġ", = "ḥ", = "a̯", = "h",
= "k’ʷ", = "qʷ", = "q’ʷ", = "ġʷ", = "xʷ",
}
function export.tr(text, lang, sc)
local str_gsub = string.gsub
local UTF8_char = "*"
-- Convert capital to lowercase palochka.
text = str_gsub(text, u(0x4C0), u(0x4CF))
for pat, repl in pairs(mapping2) do
text = str_gsub(text, pat, repl)
end
text = str_gsub(text, UTF8_char, mapping1)
return text
end
return export