模組:Nsk-translit

維基詞典,自由的多語言詞典

這個模組會將納斯卡皮語未確定的文字拉丁化。

最好不要直接從模板或其他模組調用此模組。要從模板中使用它,請以{{xlit}}做為替代;若要在模組中使用,則以Module:languages#Language:transliterate替代。

關於測試用例,請參閱Module:Nsk-translit/testcases

函數[编辑]

tr(text, lang, sc)
Transliterates a given piece of text written in the script specified by the code sc, and language specified by the code lang. When the transliteration fails, returns nil.

local export = {}

local replacements = {
	["c"] = "ch",
	["ī"] = "ii",
	["ō"] = "oo",
	["ā"] = "aa",
	["o"] = "u",
	["š"] = "sh",
	["ð"] = "th",
	["(.)ː"] = "%1%1",
	"[ᔌᔍᔎᔏ]", {
		["ᔌ"]="spwaa",
		["ᔍ"]="stwaa",
		["ᔎ"]="skwaa",
		["ᔏ"]="schwaa",
	}
}

function export.tr(text, lang, sc)
	text = require("Module:Cans-translit").tr(text, lang, sc)
	
	for regex, replacement in pairs(replacements) do
		text = mw.ustring.gsub(text, regex, replacement)
	end
	
	return text
end

return export