Модуль:PagenameAccent

Материал из Terraria Wiki
Перейти к навигации Перейти к поиску
См. также этот модуль на английском языке: Module:PagenameAccent. В нём может содержаться более полная или подробная информация.

Документация для этого модуля отсутствует. Создайте её.


local trim = mw.text.trim
local vowels_dict = {
	["а"] = true,
	["А"] = true,
	["е"] = true,
	["Е"] = true,
	["ё"] = true,
	["Ë"] = true,
	["и"] = true,
	["И"] = true,
	["о"] = true,
	["О"] = true,
	["у"] = true,
	["У"] = true,
	["ы"] = true,
	["Ы"] = true,
	["э"] = true,
	["Э"] = true,
	["ю"] = true,
	["Ю"] = true,
	["я"] = true,
	["Я"] = true,
}

local accents = {
	["а"] = "а́",
    ["е"] = "е́",
    ["и"] = "и́",
    ["о"] = "о́",
    ["у"] = "у́",
    ["ы"] = "ы́",
    ["э"] = "э́",
    ["ю"] = "ю́",
    ["я"] = "я́",
}

return {
	go = function(frame)
		local text = frame.args.text
		local vowels = {}
		
		for _,v in pairs(mw.text.split(frame.args[1], ',')) do
			vowels[tonumber(trim(v))] = true
		end
			
		local counter = 0
		local result = ''
		
		for _,v in ipairs(mw.text.split(text, '')) do
			if vowels_dict[v] then counter = counter + 1 end
			
			if vowels[counter] then
				result = result .. (accents[v] or v)
			else
				result = result .. v
			end
		end
		
		return result
	end,
}