A modult a Modul:Ahom-translit/doc lapon tudod dokumentálni
local export = {}
local gsub = mw.ustring.gsub
local u = mw.ustring.char
local con_cls = "(?)"
local tt = {
-- consonants
= "k", = "kh", = "ng", = "n", = "t", = "t",
= "p", = "ph", = "b", = "m", = "y", = "ch",
= "th", = "r", = "l", = "s", = "ny", = "h",
= "’", = "d", = "dh", = "g", = "g", = "gh",
= "bh", = "jh",
-- medials
= "l", = "r", = "r",
-- vowels (excluding composition)
= "a", = "aa", = "i", = "ii",
= "u", = "uu", = "w", = "y",
= "e", = "o",
= "m", = "",
-- numerals
= "0", = "1", = "2", = "3", = "4",
= "5", = "6", = "7", = "8", = "9",
= "", = "",
-- punctuations and symbols
= ",", = ".", = "@", = "vi",
-- zero-width space (display it if it hides in a word)
= "‼",
}
local adjust0 = {
-- vowels (composition)
= "ue",
= "oo",
= "woo",
= "ee",
= "aay",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args
end
text = gsub(text, u(0x11708).."("..u(0x1172B)..")", "w%1") -- final -b becomes -w
text = gsub(text, con_cls.."("..")"..u(0x1172B), "%1a%2")
text = gsub(text, con_cls.."()", "%1a%2")
for k, v in pairs(adjust0) do
text = gsub(text, con_cls..k, "%1"..v)
end
text = gsub(text, ".", tt)
return text
end
return export