模組:Tfng-translit
外观
This module will transliterate text in the 提非納文. 它被用於轉寫戈瑪拉語, 里菲安語, 施盧赫語, 塔查維特語, 森哈加語, 中阿特拉斯柏柏爾語, and 標準摩洛哥柏柏爾語。
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:Tfng-translit/testcases.
Functions
[编辑]tr(text, lang, sc)- Transliterates a given piece of
textwritten in the script specified by the codesc, and language specified by the codelang. - When the transliteration fails, returns
nil.
local export = {}
local tt = {}
tt["Tfng"] = {
["common"] = {
["ⴰ"] = "a",
["ⴱ"] = "b",
["ⴲ"] = "ḇ",
["ⴳ"] = "g",
["ⴴ"] = "g",
["ⴵ"] = "ǧ",
["ⴶ"] = "ǧ",
["ⴷ"] = "d",
["ⴸ"] = "ḏ",
["ⴹ"] = "ḍ",
["ⴺ"] = "ḏ̣",
["ⴻ"] = "e",
["ⴼ"] = "f",
["ⴽ"] = "k",
["ⴾ"] = "k",
["ⴿ"] = "k",
["ⵀ"] = "h", -- tmh, thv, taq, ttq, thz: "b"
["ⵁ"] = "h",
["ⵂ"] = "h",
["ⵃ"] = "ḥ",
["ⵄ"] = "ɛ",
["ⵅ"] = "x",
["ⵆ"] = "x",
["ⵇ"] = "q",
["ⵈ"] = "q",
["ⵉ"] = "i",
["ⵊ"] = "j",
["ⵋ"] = "j",
["ⵌ"] = "j",
["ⵍ"] = "l",
["ⵎ"] = "m",
["ⵏ"] = "n",
["ⵐ"] = "ny",
["ⵑ"] = "ng",
["ⵒ"] = "p",
["ⵓ"] = "u", -- tmh, thv, taq, ttq, thz: "w"
["ⵔ"] = "r",
["ⵕ"] = "ṛ",
["ⵖ"] = "ɣ",
["ⵗ"] = "ɣ",
["ⵘ"] = "j", -- thz: "ɣ"
["ⵙ"] = "s",
["ⵚ"] = "ṣ",
["ⵜ"] = "t",
["ⵝ"] = "ṯ",
["ⵛ"] = "c",
["ⵞ"] = "č",
["ⵟ"] = "ṭ",
["ⵠ"] = "v",
["ⵡ"] = "w",
["ⵢ"] = "y",
["ⵣ"] = "z",
["ⵤ"] = "z",
["ⵥ"] = "ẓ",
["ⵦ"] = "e",
["ⵧ"] = "o",
["ⵯ"] = "ʷ",
["⵰"] = ".",
["⵿"] = ""
},
["tmh"] = {["ⵀ"] = "b", ["ⵓ"] = "w"},
["thv"] = {["ⵀ"] = "b", ["ⵓ"] = "w"},
["taq"] = {["ⵀ"] = "b", ["ⵓ"] = "w"},
["ttq"] = {["ⵀ"] = "b", ["ⵓ"] = "w"},
["thz"] = {["ⵀ"] = "b", ["ⵓ"] = "w", ["ⵘ"] = "ɣ"}
}
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:languages").getByCode(lang or "ber"):findBestScript(text):getCode()
end
if sc ~= "Tfng" then
text = nil
else
if tt[sc][lang] then
text = mw.ustring.gsub(text, '.', tt[sc][lang])
end
text = mw.ustring.gsub(text, '.', tt[sc]["common"])
end
return text
end
return export