[go: up one dir, main page]

跳转到内容

模組:Goth-translit

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

這個模組會將哥特字母文字轉寫為拉丁字母。

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

關於測試用例,請參閱Module:Goth-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 Goth_Latn = {
	["𐌰"] = "a",
	["𐌱"] = "b",
	["𐌲"] = "g",
	["𐌳"] = "d",
	["𐌴"] = "ē",
	["𐌵"] = "q",
	["𐌶"] = "z",
	["𐌷"] = "h",
	["𐌸"] = "þ",
	["𐌹"] = "i",
	["𐌺"] = "k",
	["𐌻"] = "l",
	["𐌼"] = "m",
	["𐌽"] = "n",
	["𐌾"] = "j",
	["𐌿"] = "u",
	["𐍀"] = "p",
	["𐍁"] = "?",
	["𐍂"] = "r",
	["𐍃"] = "s",
	["𐍄"] = "t",
	["𐍅"] = "w",
	["𐍆"] = "f",
	["𐍇"] = "x",
	["𐍈"] = "ƕ",
	["𐍉"] = "ō",
	["𐍊"] = "?",
}

local Latn_Goth = {
	["ā"] = "𐌰",
	["e"] = "𐌴",
	["ī"] = "𐌹",
	["o"] = "𐍉",
	["ū"] = "𐌿",
	["y"] = "𐍅",
	}

for g, l in pairs(Goth_Latn) do
	if l ~= "?" then
		Latn_Goth[l] = g
	end
end

function export.tr(text, lang, sc)
	text = mw.ustring.gsub(text, "𐌴𐌹", "ei")
	
	return (mw.ustring.gsub(text, '.', Goth_Latn))
end

function export.tr_reverse(text)
	text = mw.ustring.lower(text)
	return (mw.ustring.gsub(text, '.', Latn_Goth))
end

return export