模組:Gin-translit
外观
- 下列說明文檔位於Module:Gin-translit/doc。[編輯] 分類由 Module:module categorization 自動生成。[編輯]
- 相關連結:子頁面列表 • 链入 • 嵌入包含 • 測試用例 • 沙盒
本模块會將希努赫語的文字轉寫為拉丁字母。
最好不要直接從模板或其他模块調用此模块。要從模板中使用它,請以 {{xlit}} 做為替代;若要在模块中使用,則以 Module:languages#Language:transliterate 替代。
關於測試用例,請參閱Module:Gin-translit/testcases。
函數
tr(text, lang, sc)- 對以代碼
sc指定的文字、代碼lang指定的語言所書寫的一段text進行轉寫。 - 當轉寫失敗時,回傳
nil。
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 = "[%z\1-\127\194-\244][\128-\191]*"
-- Convert capital to lowercase palochka.
text = str_gsub(text, mw.ustring.char(0x4C0), mw.ustring.char(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