Módulu:Utilidaes
La documentación pa esti módulu pue crease en Módulu:Utilidaes/usu
local export = {}
-- Converteix una llista en una taula amb valor true per cada element
function export.llista (list)
local set = {}
for _, l in ipairs(list) do set[l] = true end
return set
end
-- Afegeix una subplantilla de rastreig
function export.rastreu(key)
if type(key) == "table" then key = key.args[1] end -- des de plantilles via invoke o des de mòduls via require
local frame = mw.getCurrentFrame()
pcall(frame.expandTemplate, frame, { title = 'rastreu/' .. key })
end
-- Función p'apostrofar siguiendo les normes de la llingua asturiana
function export.apostrofar(articulu, pallabra)
if articulu == nil or pallabra == nil then return '' end
-- entama por vocal o hache muda + vocal
local vocal = string.match(pallabra, '^(h?[aeiouáéíóúàèìòùäëïöüâêîôûAEIOUÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛ])')
if not vocal then
return articulu .. ' ' .. pallabra
end
local articuluminuscules = string.lower(articulu)
if articulu == 'el' then
return 'l' .. '\'' .. pallabra
elseif articulu == 'El' then
return 'L' .. '\'' .. pallabra
elseif articulu == 'en' then
return 'n' .. '\'' .. pallabra
elseif articulu == 'En' then
return 'N' .. '\'' .. pallabra
elseif articuluminuscules == 'que' then
return string.sub(articulu, 1, 2) .. '\'' .. pallabra
elseif (articuluminuscules == 'la' or articuluminuscules == 'pa') and string.match(string.lower(pallabra), '^h?[aáàäâAÁÄÂ]') then
return string.sub(articulu, 1, 1) .. '\'' .. pallabra
elseif articuluminuscules == 'de' or articuluminuscules == 'me' or articuluminuscules == 'te' or articuluminuscules == 'se' then
return string.sub(articulu, 1, 1) .. '\'' .. pallabra
end
return articulu .. ' ' .. pallabra
end
return export