模組:My-translit
這個模組會將緬甸語未確定的文字拉丁化。
最好不要直接從模板或其他模組調用此模組。要從模板中使用它,請以{{xlit}}
做為替代;若要在模組中使用,則以Module:languages#Language:transliterate替代。
關於測試用例,請參閱Module:My-translit/testcases。
函數
tr(text, lang, sc)
- Transliterates a given piece of
text
written in the script specified by the codesc
, and language specified by the codelang
. When the transliteration fails, returnsnil
.
[[Category:緬甸語模塊|per the w[[Category:per the MLCTS|MLCTS scheme]]
-- Transliteration for Burmese 缅甸語轉譯
local export = {}
local gsub = mw.ustring.gsub
local symbols = {
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
["၊"] = "|", ["။"] = "||"
}
function export.tr(text, lang, sc, debug_mode)
local m_pron = require("Module:my-pron").get_romanisation
text = gsub(text, ".", symbols)
for word in mw.ustring.gmatch(text, "[က-႟ꩠ-ꩻ]+") do
success, translit = pcall(m_pron, word, nil, { 2, ["type"] = "orthographic", ["name"] = "MLCTS" }, 2, "translit_module")
if success then
text = gsub(text, word, translit, 1)
else
return nil
end
end
if mw.ustring.match(text, "[က-႟ꩠ-ꩻ]") and not debug_mode then
return nil
end
return text
end
return export