Module:Peter Bowman/odmiana
Documentation for this module may be created at Module:Peter Bowman/odmiana/doc
local p = {}
function p.czasownik_eo(frame)
local tab = require "Module:Peter Bowman/odmiana/tabelki"
local pframe = frame:getParent()
local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template
local verbo, visible, class = args.verbo or config.verbo, args.visible, config.class
return tab.tabla_eo(string.sub(verbo, 1, -2), visible, class)
end
function p.czasownik_es(frame)
local lib_es = require "Module:Peter Bowman/odmiana/es"
local pframe = frame:getParent()
local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template
local verbo, modelo, notas, visible, participio = args.verbo or config.verbo, args.modelo, args.notas, args.visible, args.participio
local class = config.class
local subString = mw.ustring.sub -- usar en entornos wiki
--local subString = string.sub
--local solo_3_pers
-- analiza el verbo y lo descompone en unidades más básicas
local componentes, esPronominal, conj = lib_es.analizarCadena(verbo, modelo)
-- no reconoce la conjugación
if not conj then return 'Nieprawidlowa koncowka bezokolicznika: -ar/-er/-ir/-ír (-se)' end
-- no existe el modelo
if not lib_es.modelos[modelo] then return lib_es.mensaje(verbo) end
-- si es pronominal, recorta el "-se" final
verbo = esPronominal and subString(verbo, 1, -3) or verbo
-- obtiene las formas verbales
local formas, salida = lib_es.modelos[modelo](componentes, conj, modelo, verbo)
-- EXCEPCIONES
--[[ otras excepciones
if verbo == "empecer" then
defectivo = true
formas.no_part = true
solo_3_pers = true
formas.notas = formas.notas..'<li>Brak imieslowów (<i>gerundio</i> i <i>participio</i>) i form zlozonych (<i>tiempos compuestos</i>)</li>'
end]]
-- verbos con excepciones y su modelo:
-- placer (agradecer), satisfacer, contrahacer, rehacer (hacer), rehenchir (pedir), rehuir (construir)
-- determina la presencia o no de alternancias consonánticas (g-j, g-gu...)
local alt = (componentes.suf1 ~= "") and "„"..componentes.suf1.." – "..componentes.suf2.."”" or nil
-- devuelve la tabla con la conjugación u otra salida especificada en la subrutina del modelo
if salida then return salida
else return lib_es.tabla.normal(formas, esPronominal, conj, modelo, notas, (visible == "si"), class, participio, alt) end
end
return p