模組:Cv-translit
外观
- 下列說明文檔位於Module:Cv-translit/doc。[編輯] 分類由 Module:module categorization 自動生成。[編輯]
- 相關連結:子頁面列表 • 链入 • 嵌入包含 • 測試用例 • 沙盒
本模块會將楚瓦什語的文字轉寫為拉丁字母。
最好不要直接從模板或其他模块調用此模块。要從模板中使用它,請以 {{xlit}} 做為替代;若要在模块中使用,則以 Module:languages#Language:transliterate 替代。
關於測試用例,請參閱Module:Cv-translit/testcases。
函數
tr(text, lang, sc)- 對以代碼
sc指定的文字、代碼lang指定的語言所書寫的一段text進行轉寫。 - 當轉寫失敗時,回傳
nil。
local u = mw.ustring.char
local export = {}
local CARONBELOW = u(0x032c)
local rsub = mw.ustring.gsub
local tt = {
["А"]="A", ["а"]="a", ["Ӑ"]="Ă", ["ӑ"]="ă", ["Б"]="B", ["б"]="b", ["В"]="V", ["в"]="v", ["Г"]="G", ["г"]="g",
["Д"]="D", ["д"]="d", ["Е"]="E", ["е"]="e", ["Ё"]="Jo", ["ё"]="jo", ["Ӗ"]="Ĕ", ["ӗ"]="ĕ", ["Ж"]="Ž", ["ж"]="ž",
["З"]="Z", ["з"]="z", ["И"]="I", ["и"]="i", ["Й"]="J", ["й"]="j", ["К"]="K", ["к"]="k", ["Л"]="L", ["л"]="l",
["М"]="M", ["м"]="m",["Н"]="N", ["н"]="n", ["О"]="O", ["о"]="o", ["П"]="P", ["п"]="p", ["Р"]="R", ["р"]="r",
["С"]="S", ["с"]="s", ["Ҫ"]="Ś", ["ҫ"]="ś", ["Т"]="T", ["т"]="t", ["У"]="U", ["у"]="u", ["Ӳ"]="Ü", ["ӳ"]="ü",
["Ф"]="F", ["ф"]="f", ["Х"]="H", ["х"]="h", ["Ц"]="Ts", ["ц"]="ts", ["Ч"]="Č", ["ч"]="č", ["Ш"]="Š", ["ш"]="š",
["Щ"]="Šč", ["щ"]="šč", ["Ъ"]="ʺ", ["ъ"]="ʺ", ["Ы"]="Y", ["ы"]="y", ["Ь"]="ʹ", ["ь"]="ʹ", ["Э"]="E", ["э"]="e",
["Ю"]="Ju", ["ю"]="ju", ["Я"]="Ja", ["я"]="ja"
};
local VOWEL1 = "[АӐЕЁӖИОУӲЫЭЮЯМНЛРЙаӑеёӗиоуӳыэюямнлрй]"
local CONS = "[КХПТСШҪЧкхптсшҫч]"
local VOWEL2 = "[АӐЕЁӖИОУӲЫЭЮЯаӑеёӗиоуӳыэюя]"
local CHARC = "[ '-]"
function export.tr(text, lang, sc)
text = rsub(text, "(" .. VOWEL1 .. CHARC .. "?" .. CONS .. ")(" .. CHARC .. "?)%f" .. VOWEL2, "%1" .. CARONBELOW .. "%2")
text = rsub(text, ".", tt)
return text
end
return export