Módulo:forma verbo/pronominales

De Wikcionario, el diccionario libre
Ir a la navegación Ir a la búsqueda

Módulo usado por las plantillas «forma verbo» y «participio».


local p = {}

function p.main(frame)
	local verb = frame.args[1]
	if not verb then return '' end
	
	local pargs = frame:getParent().args
	local lang = pargs.leng or 'es'
	local arg2 = pargs[2] or pargs.p
	
	-- no queremos que genere un enlace al verbo pronominal para las
	-- formas del infinitivo y del gerundio
	if
		arg2 == 'inf' or arg2 == 'infinitivo' or
		arg2 == 'ger' or arg2 == 'gerundio'
	then
		return ''
	end
	
	local refl
	local header = '{{verbo pronominal|' .. lang .. '}}'
	
	-- lista de idiomas soportados y el correspondiente título a buscar
	-- mediante concatenación (para el español: verbo + 'se')
	if lang == 'es' then
		if string.sub(verb, -2) == 'se' then return '' end  -- ya era pronominal
		refl = mw.title.new(verb .. 'se', 0)
	end

	-- no modificar
	if refl
		and refl.exists
		and (string.find(refl:getContent(), header))
	then
		return 's'
	else
		return ''
	end
end

return p