Módulo:etimología

¡Saludos!, has llegado hasta aquí buscando el significado de Módulo:etimología. En Dictious no solo dispondrás de la posibilidad de encontrar la totalidad de las acepciones del diccionario para la palabra Módulo:etimología, sino que de la misma forma te explicaremos su etimología, sus peculiaridades y podrás conocer la manera en que se dice la palabra Módulo:etimología en singular y en plural. Todo lo que necesitas saber en referencia a la palabra Módulo:etimología aquí lo tienes. La definición de Módulo:etimología te ayudará a que tengas más exactitud y corrección en el momento de debatir o componer tus documentos. Conocer la definición deMódulo:etimología, conjuntamente con los significados de otras palabras, enriquecen el léxico y nos dotan de mayores y mejores capacidades lingüísticas.

La documentación para este módulo puede ser creada en Módulo:etimología/doc

local export = {}
local insert = table.insert
local concat = table.concat

local m_str = require("Módulo:String")
local ucfirst = m_str.ucfirst
local lcfirst = m_str.lcfirst
local substr = m_str.sub
local strlen = m_str.ulen
local strfind = m_str.find
local strsubn = m_str.gsub
local strfind = m_str.find

local obtener_idioma = require("Módulo:lenguas").cod_a_idioma
local generar_error = require("Módulo:traza")
local sortkey = require("Módulo:sortkey").generarSortkey

-- por ahora sin uso
--local function normalizar_cat(x)
--    if x == "latín" then
--        return "latino"
--    end
--    return x
--end

-- Equivalente de l+
local function l_iteracion(p, Idioma, num, tr, alt, glosa, glosa_alt, nl, nlglosa)
    if not p then
        return ""
    end
    
    local t = {}
    
    if p:find("+$") then
    	generar_error("etimo")	
    end

	if nl then
		insert(t, alt and " "..alt or " ''"..p.."''")
	else
    	insert(t, " ]")
	end

    if num then
        insert(t, "<sub>"..num.."</sub>")
    end
    
    if glosa then
    	if nlglosa then
        	glosa = "]"
    	else
    		glosa = "\'"..(glosa_alt and glosa_alt or glosa).."\'"
    	end
    end

    if tr or glosa then
        insert(t, " (")
        if tr then
            insert(t, "''"..tr.."''")
            if glosa then
                insert(t, ", "..glosa)
            end
        else
            insert(t, glosa)
        end
        insert(t, ")")
    end

    return concat(t)
end

local function l_palabras(t, args, i_, l_, k_, sufijo)
	local i = i_ or 2
	local l = l_ or #args
	local k = k_ or 1
	local poner_coma = false
	while i <= l do
		if poner_coma then
			if i == #args then
				if (args and args ~= "") or strfind(args, "^%-?") then
					insert(t, " e")
				else
					insert(t, " y")
				end
			else
				insert(t, ",")
			end
		end
		
		insert(t, l_iteracion(args, args, args, args, args, args, args, args, args))
		if sufijo then
			insert(t, sufijo) -- caso de las marcas registradas	
		end

		i = i + 1
		k = k + 1
		poner_coma = true
	end
end

local function compuesto(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Compuesto")
	if args and args ~= "" then
		insert(t, " ("..args..")")	
	end
	insert(t, " de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por composición|"..sk.."]]")
		if args == "acronímico" then
			insert(t, "..":Palabras formadas por composición acronímica|"..sk.."]]")
		elseif args == "cruce" then
			insert(t, "..":Palabras formadas por cruce|"..sk.."]]")
		end
	end
	return concat(t)
end

local function cruce(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Cruce")
	if args and args ~= "" then
		insert(t, " ("..args..")")	
	end
	insert(t, " de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por cruce|"..sk.."]]")
	end
	return concat(t)
end

local function acronimo(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Acrónimo")
	if args and args ~= "" then
		insert(t, " ("..args..")")	
	end
	insert(t, " de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por composición acronímica|"..sk.."]]")
	end
	return concat(t)
end

local function expresiva(args)
	local t = {}
	insert(t, "Voz ]")
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras de origen expresivo|"..sk.."]]")
	end
	return concat(t)
end

local function regresiva(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Derivación regresiva de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por derivación regresiva|"..sk.."]]")
	end
	return concat(t)
end

local function metatesis(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Metátesis"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por metátesis|"..sk.."]]")
	end
	return concat(t)
end

local function fonetica(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Alteración fonética"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por alteración fonética|"..sk.."]]")
	end
	return concat(t)
end

local function acortamiento(args)
	local t = {}
	insert(t, "Acortamiento")
	if args and args ~= "" then
		insert(t, " ("..args..")")
	end
	if args and args ~= "" then
		insert(t, " de")
		l_palabras(t, args)
	end
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por acortamiento|"..sk.."]]")
	end
	return concat(t)
end

local function abreviatura(args)
	local t = {}
	insert(t, "Abreviatura")
	if args and args ~= "" then
		insert(t, " ("..args..")")
	end
	if args and args ~= "" then
		insert(t, " de")
		l_palabras(t, args)
	end
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Abreviaturas|"..sk.."]]")
	end
	return concat(t)	
end

local function sigla(args)
	local t = {}
	insert(t, "Sigla")
	if args and args ~= "" then
		insert(t, " ("..args..")")
	end
	if args and args ~= "" then
		insert(t, " de")
		l_palabras(t, args)
	end
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Siglas|"..sk.."]]")
	end
	return concat(t)
end

local function diminutivo(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Diminutivo"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		-- insert(t, "..":Palabras formadas por sufijación|"..sk.."]]")
		insert(t, "..":Palabras formadas por sufijo diminutivo|"..sk.."]]")
	end
	return concat(t)
end

local function aumentativo(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Aumentativo"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		-- insert(t, "..":Palabras formadas por sufijación|"..sk.."]]")
		insert(t, "..":Palabras formadas por sufijo aumentativo|"..sk.."]]")
	end
	return concat(t)
end

local function sufijo(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	if substr(args, 1, 1) ~= "-" then
		args = "-"..args
	end
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y el sufijo")
	l_palabras(t, args, 3, 3, 2)
	if args == 0 then
        local sk = sortkey(args, args, args)
		--insert(t, "..":Palabras formadas por sufijación|"..sk.."]]")
		insert(t, "..":Palabras con el sufijo "..args.."|"..sk.."]]")
	end
	return concat(t)
end

local function prefijo(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	local L = strlen(args)
	if substr(args, L, L) ~= "-" then
		args = args.."-"
	end
	local t = {}
	insert(t, "Del prefijo")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y")
	l_palabras(t, args, 3, 3, 2)
	if args == 0 then
        local sk = sortkey(args, args, args)
		--insert(t, "..":Palabras formadas por prefijación|"..sk.."]]")
		insert(t, "..":Palabras con el prefijo "..args.."|"..sk.."]]")
	end
	return concat(t)
end

local function infijo(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	if substr(args, 1, 1) ~= "-" then
		args = "-"..args
	end
	local L = strlen(args)
    if substr(args, L, L) ~= "-" then
		args = args.."-"
	end
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y el infijo")
	l_palabras(t, args, 3, 3, 2)
	if args == 0 then
        local sk = sortkey(args, args, args)
		--insert(t, "..":Palabras formadas por infijación|"..sk.."]]")
		insert(t, "..":Palabras con el infijo "..args.."|"..sk.."]]")
	end
	return concat(t)
end

local function confijo(args)
	assert(args and args, "El número de argumentos recibidos es insuficiente")
	local L = strlen(args)
	if substr(args, L, L) ~= "-" then
		args = args.."-"
	end
	local t = {}
	insert(t, "Del prefijo")
	l_palabras(t, args, 2, 2, 1)
	if args and args ~= "" then
		insert(t, ",")
		l_palabras(t, args, 3, 3, 2)
		if substr(args, 1, 1) ~= "-" then
			args = "-"..args
		end
		insert(t, " y el sufijo")
		l_palabras(t, args, 4, 4, 3)
		if args == 0 then
	        local sk = sortkey(args, args, args)
			--insert(t, "..":Palabras formadas por prefijación|"..sk.."]]")
			insert(t, "..":Palabras con el prefijo "..args.."|"..sk.."]]")
			--insert(t, "..":Palabras formadas por sufijación|"..sk.."]]")
			insert(t, "..":Palabras con el sufijo "..args.."|"..sk.."]]")
		end
	else		
		if substr(args, 1, 1) ~= "-" then
			args = "-"..args
		end
		insert(t, " y el sufijo")
		l_palabras(t, args, 3, 3, 2)		
		if args == 0 then
	        local sk = sortkey(args, args, args)
			--insert(t, "..":Palabras formadas por prefijación|"..sk.."]]")
			insert(t, "..":Palabras con el prefijo "..args.."|"..sk.."]]")
			--insert(t, "..":Palabras formadas por sufijación|"..sk.."]]")
			insert(t, "..":Palabras con el sufijo "..args.."|"..sk.."]]")
		end
	end
	return concat(t)
end

local function onomatopeya(args)
	local t = {}
	insert(t, "Onomatopéyica")
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen onomatopéyico|"..sk.."]]")
	end
	return concat(t)
end

local function incierta(args)
	local t = {}
	insert(t, "Incierta")
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen incierto|"..sk.."]]")
	end
	return concat(t)
end

local function eponimo(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Epónimo: "..args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen epónimo|"..sk.."]]")
	end
	return concat(t)
end

local function pronominal(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " con el ] ]")
	return concat(t)
end

local function femenino(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    if args and not substr(args,1,1) == "-" then
        args = "-"..args
    end
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y el ]")
	if args then
        if substr(args,1,1) ~= "-" then
            args = "-"..args
        end
        l_palabras(t, args, 3, 3, 2)
    else
        insert(t, " -a")
	end
	insert(t, " para el femenino")
	return concat(t)
end

local function masculino(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    if args and not substr(args,1,1) == "-" then
        args = "-"..args
    end
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y el ]")
	if args then
        if substr(args,1,1) ~= "-" then
            args = "-"..args
        end
        l_palabras(t, args, 3, 3, 2)
    else
        insert(t, " -o")
	end
	insert(t, " para el masculino")
	return concat(t)
end

local function plural(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    if args and not substr(args,1,1) == "-" then
        args = "-"..args
    end
	local t = {}
	insert(t, "De")
	l_palabras(t, args, 2, 2, 1)
	insert(t, " y el ]")
	if args then
        if substr(args,1,1) ~= "-" then
            args = "-"..args
        end
        l_palabras(t, args, 3, 3, 2)
    else
        insert(t, " -s")
	end
	insert(t, " para el plural")
	return concat(t)
end

local function participio(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Participio"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por sufijo participio|"..sk.."]]")
	end
	return concat(t)
end

local function participio_activo(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Participio activo"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Participios activos lexicalizados|"..sk.."]]")
	end
	return concat(t)
end

local function participio_pasivo(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Participio pasivo"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Participios pasivos lexicalizados|"..sk.."]]")
	end
	return concat(t)
end

local function lexicalizacion(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Lexicalización"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por lexicalización|"..sk.."]]")
	end
	return concat(t)
end

local function denominal(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Denominal"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por sufijo denominal|"..sk.."]]")
	end
	return concat(t)
end

local function deadjetival(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Deadjetival"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por sufijo deadjetival|"..sk.."]]")
	end
	return concat(t)
end

local function deverbal(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Deverbal"..(args and " ("..args..")" or "").." de")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
		insert(t, "..":Palabras formadas por sufijo deverbal|"..sk.."]]")
	end
	return concat(t)
end

local function calco(args)
    assert(args and args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	local id = (obtener_idioma(args))
	local Id = ucfirst(id)
	insert(t, "Calco"..(args and " ("..args..")" or "").." del "..id)
    if (not args) and args then -- En la versión anterior hacía esto sólo para esta función, por qué?
    	args = args
    end
	insert(t, l_iteracion(args, Id, args, args, args, args, args, args, args))
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras formadas por calco|"..sk.."]]")
        insert(t, "..":Palabras provenientes del "..id.."|"..sk.."]]")
	end
	return concat(t)
end

local function marca(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	local L = #args
	if L > 2 then
		insert(t, "De las marcas registradas")
	else
		insert(t, "De la marca registrada")
	end
	args = true
	l_palabras(t, args, 2, L, 1, "<sup>®</sup>")
    if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de marcas registradas|"..sk.."]]")
	end
	return concat(t)
end

local function dialecto_de_ojo(args)
	assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Dialecto del ojo "..(args and " ("..args..")" or "").." para")
	l_palabras(t, args)
	return concat(t)
end

local function endogena(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "De")
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras endógenas|"..sk.."]]")	
	end
	return concat(t)
end

local function artificial(args)
	generar_error("invento")
	local t = {}
    if args then
	    insert(t, "Término artificial, inventado por "..args)
    else
        insert(t, "Palabra artificial")
    end
    if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras artificales|"..sk.."]]")	
	end
	return concat(t)
end

local function autor(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Acuñado por "..args)
	return concat(t)
end

local function popularizado_por(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	insert(t, "Populariazado por "..args)
	return concat(t)
end

local function metaforica(args)
	local t = {}
	insert(t, "De origen metafórico")
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen metafórico|"..sk.."]]")	
	end
	return concat(t)
end

local function metonimica(args)
	local t = {}
	insert(t, "De origen metonímico")
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen metonímico|"..sk.."]]")	
	end
	return concat(t)
end

local function biblica(args)
	local t = {}
	insert(t, "De origen bíblico")
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de origen bíblico|"..sk.."]]")	
	end
	return concat(t)
end

local function sumadepartes(args)
	error("Parámetro obsoleto (utilice “no aplica” en su lugar)")
end

local function raiz(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
	local t = {}
	if args then
		insert(t, args.." de la raíz")
		args = nil
	else
		insert(t, "De la raíz")
	end
	l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras de la raíz "..args.."|"..sk.."]]")	
	end
	return concat(t)	
end

local function grafia(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    local t = {}
    insert(t, "Grafía alternativa de")
    l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras endógenas".."|"..sk.."]]")	
	end
	return concat(t)
end

local function variante(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    local t = {}
    insert(t, "Variante de")
    l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras endógenas".."|"..sk.."]]")	
	end
	return concat(t)
end

local function vease(args)
    assert(args, "El número de argumentos recibidos es insuficiente")
    local t = {}
    insert(t, "Véase")
    l_palabras(t, args)
	if args == 0 then
        local sk = sortkey(args, args, args)
        insert(t, "..":Palabras endógenas".."|"..sk.."]]")	
	end
	return concat(t)
end

local function noaplica(args)
	local s = args
	s = strsubn(s, "%S+", "]")
	s = strsubn(s, "%]%s+% + [")
    return s
end

local function origen(args, cat)
    assert(args, "El número de argumentos recibidos es insuficiente")
    local t = args == "endo" and {"De "} or {"Del "}
    local i = 1
    local L = 1
    for k,v in pairs(args) do -- no puedo hacer #args porque hay huecos entre medio
    	if type(k) == "number" and k > L then
    		L = k
    	end
    end
    local idioma = ""
    local idioma_d = ""
    local Idioma = ""
    
    while true do
    	local nuevo_idioma = nil
        if args == "sufijo" then
        	nuevo_idioma = "sufijo"
        	if args and substr(args, 1, 1) ~= "-" then
        		args = "-"..args
        	end
        elseif args == "prefijo" then
        	nuevo_idioma = "prefijo"
        	if args then
        		local L_ = strlen(args)
        		if substr(args, L_, L_) ~= "-" then
        			args = args.."-"
        		end
        	end
        elseif args == "endo" or args == "ENDO" or args == "endógeno" or args == "endógena" then
        	nuevo_idioma = "endo"
        	assert(args, "el número de argumentos recibidos es insuficiente")
        else
        	nuevo_idioma = obtener_idioma(args)
        end
        
        local nuevo_idioma_d = nuevo_idioma..(args and " ("..args..")" or "")
        if nuevo_idioma_d ~= idioma_d then
            idioma = nuevo_idioma
            idioma_d = nuevo_idioma_d
            Idioma = ucfirst(idioma)
            if i > 1 then
            	insert(t, idioma == "endo" and " de " or " del ")	
            end
            if idioma ~= "endo" then
            	insert(t, idioma_d)
            end
        end
        
        if idioma ~= "endo" then
        	insert(t, l_iteracion(args, Idioma, args, args, args, args and args or args, args, args, args))
        else
        	insert(t, " .."]]")
        end
        
		if args == 0 then
	        local sk = sortkey(args, args, args)
	        if cat then
	    		if idioma == "sufijo" then
					insert(t, "..":Palabras con el sufijo "..args.."|"..sk.."]]")
	    		elseif idioma == "prefijo" then
					insert(t, "..":Palabras con el prefijo "..args.."|"..sk.."]]")
	    		elseif idioma == "endo" then
					insert(t, "..":Palabras endógenas".."|"..sk.."]]")
				else
	        		insert(t, "..":Palabras provenientes del "..idioma.."|"..sk.."]]")
	        	end
	        end
		end
    
        i = i + 1
        if 3*i-2 > L then
            break
        end
        
        if 3*i-2 >= L-2 then
            if (args and args ~= "") or (args == args and args and strfind(args, "^%-?i")) then
                insert(t, " e")
            else
                insert(t, " y")
            end
        else            
            insert(t, ",")
        end
    end
    return concat(t)
end

local callbacks = {
	 = compuesto,
     = compuesto,
     = compuesto,
     = cruce,
     = acronimo,
     = acronimo,
     = expresiva,
     = expresiva,
     = expresiva,
     = regresiva,
     = regresiva,
     = regresiva,
     = metatesis,
     = metatesis,
     = metatesis,
     = metatesis,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = fonetica,
     = acortamiento,
     = acortamiento,
     = acortamiento,
     = acortamiento,
     = abreviatura,
     = abreviatura,
     = sigla,
     = sigla,
     = acortamiento,
     = acortamiento,
     = acortamiento,
     = diminutivo,
     = diminutivo,
     = diminutivo,
     = aumentativo,
     = aumentativo,
     = aumentativo,
     = sufijo,
     = sufijo,
     = prefijo,
     = prefijo,
     = infijo,
     = infijo,
     = confijo,
     = confijo,
     = confijo,
     = confijo,
     = onomatopeya,
     = onomatopeya,
     = onomatopeya,
     = onomatopeya,
     = onomatopeya,
     = incierta,
     = incierta,
     = incierta,
     = eponimo,
     = eponimo,
     = eponimo,
     = eponimo,
     = pronominal,
     = pronominal,
     = femenino,
     = masculino,
     = femenino,
     = plural,
     = plural,
     = participio,
     = participio,
     = participio,
     = participio_activo,
     = participio_activo,
     = participio_pasivo,
     = participio_pasivo,
     = lexicalizacion,
     = lexicalizacion,
     = lexicalizacion,
     = denominal,
     = denominal,
     = denominal,
     = deadjetival,
     = deadjetival,
     = deadjetival,
     = deverbal,
     = deverbal,
     = deverbal,
     = calco,
     = calco,
     = marca,
     = dialecto_de_ojo,
     = dialecto_de_ojo,
    -- = endogena,
    -- = endogena,
    -- = endogena,
    -- = endogena,
     = grafia,
     = grafia,
     = variante,
     = vease,
     = vease,
     = artificial,
     = artificial,
     = autor,
     = autor,
     = popularizado_por,
     = popularizado_por,
     = metaforica,
     = metaforica,
     = metaforica,
     = metaforica,
     = metonimica,
     = metonimica,
     = metonimica,
     = metonimica,
     = biblica,
     = biblica,
     = sumadepartes,
     = sumadepartes,
     = raiz,
     = raiz,
     = noaplica,
}

-- Entrada para {{etimología}}
function export.mostrar(frame)
	local title_ = mw.title.getCurrentTitle()
	local title = title_.fullText -- no sirve parent_frame:getTitle()
	if title == "Plantilla:etimología" then
		return "Use esta plantilla en el espacio principal."	
	end
	local params = {
		 = {},
		 = {},
		 = {},
		 = {lista=true},
		 = {lista=true},
		 = {lista=true},
		 = {lista = true},
		 = {alias_de="nl"},
		 = {lista = true},
		 = {alias_de="nl"},
		 = {lista=true},
		 = {alias_de="num"},
		 = {lista=true},
		 = {alias_de="tr"},
		 = {alias_de="tr"},
		 = {alias_de="tr"},
		 = {lista=true},
		 = {alias_de="alt"},
		 = {},
		 = {},
		 = {},
		 = {},
	}

    local parent_frame = frame:getParent()
	local args = require("Módulo:parámetros").obtener_parametros(parent_frame.args, params)
	
	local e = false
	for k,v in ipairs(args) do
		if strfind(v, "%{%}%|%=]") then
			e = true
			break
		end
	end
	
	for k,v in pairs(args) do
		if strfind(v, "%{%}%|%=]") then
			e = true
			break
		end
	end
	
	if (args and (strfind(args, " para") or strfind(args, " y"))) or
	(args and (strfind(args, " para") or strfind(args, " y"))) then
		generar_error("sufijopara")	
	end
	
	if e then
		generar_error("etimo")
	end

	if args and args ~= "" then
		generar_error("tilde")
	end
	
	if args and args ~= "" then
		generar_error("texto-prefijo")
	end
	
    if args and args ~= "" then
		generar_error("otro")
	end

    if not args then
    	args = "es"
    end
    args = args:upper()
    args = obtener_idioma(args)
    args = args
    args = ucfirst(args)
    args = mw.title.getCurrentTitle().namespace
    args = mw.title.getCurrentTitle().fullText
    
    if not args then
    	if strfind(args, "%S%s+%S") then
    		return noaplica(args)
    	else
    		return frame:extensionTag('span', "''Si puedes, incorpórala: ]''"..(args == 0 and "..":Palabras de etimología sin precisar]]" or ""), {style ="color:green; font-size:90%"})
		end    
    end

    local cb = callbacks]
    if not cb or (cb == prefijo and args and args ~= "") then
    	return origen(args, true)
    end

    return cb(args)
end

-- Entrada para {{etim}}
function export.mostrar_etim(frame)
	local title_ = mw.title.getCurrentTitle()
	local title = title_.fullText -- no sirve parent_frame:getTitle()
	if title == "Plantilla:etim" then
		return "Use esta plantilla en el espacio principal."	
	end
	
	local params = {
		 = {},
		 = {},
		 = {},
		 = {lista=true},
		 = {lista=true},
		 = {lista=true},
		 = {lista = true},
		 = {alias_de="nl"},
		 = {lista = true},
		 = {alias_de="nl"},
		 = {lista=true},
		 = {alias_de="num"},
		 = {lista=true},
		 = {alias_de="tr"},
		 = {alias_de="tr"},
		 = {alias_de="tr"},
		 = {lista=true},
		 = {alias_de="alt"},
		 = {},
		 = {},
		 = {},
		 = {},
	}

    local parent_frame = frame:getParent()
	local args = require("Módulo:parámetros").obtener_parametros(parent_frame.args, params)
	
	local e = false
	for k,v in ipairs(args) do
		if strfind(v, "%{%}%|%=]") then
			e = true
			break
		end
	end
	
	for k,v in pairs(args) do
		if strfind(v, "%{%}%|%=]") then
			e = true
			break
		end
	end
	
	if e then
		generar_error("etimo")
	end

	if args and args ~= "" then
		generar_error("tilde")
	end
	
	if args and args ~= "" then
		generar_error("texto-prefijo")
	end
	
    if args and args ~= "" then
		generar_error("otro")
	end

    if not args then
    	args = "es"
    end
    args = args:upper()

    if not args then
    	error("El número de parámetros recibidos es insuficiente.")
    end
    
    args = obtener_idioma(args)
    args = args
    args = ucfirst(args)
    args = mw.title.getCurrentTitle().namespace
    args = mw.title.getCurrentTitle().fullText

    local cb = callbacks]
    if not cb then
    	return lcfirst(origen(args, false))
    end

    return lcfirst(cb(args))
end


local strfind = m_str.find

function export.etimologia2(frame)
	local parent_frame = frame:getParent()
	local args = parent_frame.args
	local x = args
	
	local PALABRA = "%{%}%|a-zA-ZÀ-ž%*%-=]+"
	local PREFIJO = "%{%}%|a-zA-ZÀ-ž%*%-=]+%-]*"
	local SUFIJO = "*%-%{%}%|a-zA-ZÀ-ž%*%-=]+"
	
	if not x or x == "" then
		generar_error("vacia")
		return frame:extensionTag('span', "''Si puedes, incorpórala: ]''"..(args == 0 and "..":Palabras de etimología sin precisar]]" or ""), {style ="color:green; font-size:90%"})	
	end
	
	if strfind(x, "^ *e *"..PALABRA.."*$") or strfind(x, "^ *er *"..PALABRA.."*$") or strfind(x, "^ *.ase *"..PALABRA.."*$") then
		generar_error("endo")
		return x
	end
	if strfind(x, "^ *el *"..PALABRA.." *"..PALABRA.."*$") 
	or strfind(x, "^ *el *"..PALABRA.." *"..PALABRA.." *"..PALABRA.."*$") 
	or strfind(x, "^ *el "..PALABRA.."*$") 
	or strfind(x, "^ *e *origen *"..PALABRA.."*$")  then
		generar_error("origen")
		return x
	end

	if strfind(x, "^ *el *prefijo *"..PALABRA.." *y *el *sufijo *"..PALABRA.."*$")
	or strfind(x, "^ *e *"..PREFIJO.." ** *"..SUFIJO.."*$") then
		generar_error("confijo2")
		return x
	end
	
	if strfind(x, "^ *el *prefijo *"..PALABRA.." *,? *"..PALABRA.." *y *el *sufijo *"..PALABRA.."*$") then
		generar_error("confijo3")
		return x
	end
	
	if strfind(x, "^ *el *prefijo *"..PALABRA.." *y *"..PALABRA.."*$") 
	or strfind(x, "^ *e *"..PREFIJO.." ** *"..PALABRA.."*$") then
		generar_error("prefijo")
		return x
	end

	if strfind(x, "^ *e *"..PALABRA.." *,? *y *el *sufijo *"..PALABRA.."*$") 
	or strfind(x, "^ *e *"..PALABRA.." *%+* *"..SUFIJO.."*$") then
		generar_error("sufijo")
		return x
	end
	
	if strfind(x, "^ *?e?l? *iminutivo *de *"..PALABRA.."*$") or strfind(x, "^ *e *"..PALABRA.." *,? *y *el *sufijo diminutivo *"..PALABRA.."*$") then
		generar_error("diminutivo")
		return x
	end
	
	if strfind(x, "^ *?e?l? *umentativo *de *"..PALABRA.."*$") or strfind(x, "^ *e *"..PALABRA.." *,? *y *el *sufijo aumentativo *"..PALABRA.."*$") then
		generar_error("aumentativo")
		return x
	end
	
	if strfind(x, "^ *ompuesto *de *"..PALABRA.." *y *"..PALABRA.."*$") 
	or strfind(x, "^ *omposici.n *de *"..PALABRA.." *y *"..PALABRA.."*$") 
	or strfind(x, "^ *e *"..PALABRA.." *,? *y *"..PALABRA.."*$") then
		generar_error("compuesto")
		return x
	end
	
	if strfind(x, "^ *?o?r? *alco *el *"..PALABRA.." *"..PALABRA.."*$") then
		generar_error("calco")
		return x
	end
	
	if strfind(x, "^ *?o?r? *et.tesis *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *ran?sposici.n *e *"..PALABRA.."*$") 
	or strfind(x, "^ *?o?r? *esre *e *"..PALABRA.."*$") then
		generar_error("meta")
		return x
	end
	
	if strfind(x, "^ *?o?r? *lteraci.n *on.tica *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *r.tesis *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *aragoge *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *p.ntesis *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *etaplasmo *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *dici.n *e *"..PALABRA.."*$") then
		generar_error("fone")
		return x
	end
	
	if strfind(x, "^ *?o?r? *cortamiento *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *p.cope *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *.ncopa *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *f.resis *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *breviaci.n *e *"..PALABRA.."*$")
	or strfind(x, "^ *?o?r? *breviatura *e *"..PALABRA.."*$") then
		generar_error("abrev")
		return x
	end
	
	if strfind(x, "^ *?e? *o?r?i?g?e?n? *nomatop?.?y?i?c?.? *$") then
		generar_error("onom")
		return x
	end
	
	if strfind(x, "^ *?e? *o?r?i?g?e?n? *xpresiv.? *$") then
		generar_error("expr")
		return x
	end
	
	if strfind(x, "^ *?e? *o?r?i?g?e?n? *nciert.? *$") then
		generar_error("incerta")
		return x
	end
	
	generar_error("otro")
	return x
end

return export

Separar Módulo:etimología en sílabas

Existe la posibilidad de que más allá todo aquello que ahora ya sabes en referencia a la palabra Módulo:etimología, también aprendas de cómo separarla en sílabas. Haz click en link si deseas aprender a dividir Módulo:etimología en sílabas.

Listado de errores ortográficos de Módulo:etimología

Más abajo damos a conocer un listado con los errores ortográficos más usuales, con el fin de que estés atento y sepas cómo no cometerlos.Sin más demora, aquí tienes el listado de errores ortográficos de Módulo:etimología