This module will transliterate Khvarshi language text per WT:KHV 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:khv-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",
= "a", = "e", = "e", = "i", = "o", = "u", = "ɨ",
= "ā", = "ē", = "ī", = "ō", = "ū", = "ɨ̄",
= "ʾ",
}
local mapping2 = {
= "p’", = "t’", = "k’", = "q’",
= "c’", = "ƛ", = "ƛ’", = "č’", = "q",
= "λ", = "ġ", = "ḥ", = "a̯", = "h",
= "ã", = "ẽ", = "ẽ", = "ĩ", = "õ", = "ũ",
= "aʿ", = "eʿ", = "iʿ", = "oʿ", = "uʿ",
}
function export.tr(text, lang, sc)
local str_gsub = string.gsub
local UTF8_char = "*"
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