Module:io-flexions
Apparence
La documentation pour ce module peut être créée à Module:io-flexions/Documentation
local p = {}
local m_bases = require('Module:bases')
local pronon = require('Module:prononciation')
function p.getTenseAndRoot(verb)
if verb:sub(-string.len("ar")) == "ar" then
return verb, "Présent de l’infinitif"
elseif verb:sub(-string.len("abis")) == "abis" then
return string.match(verb, '^(.+)abis$') .. "ar", "Passé parfait de l’indicatif"
elseif verb:sub(-string.len("abos")) == "abos" then
return string.match(verb, '^(.+)abos$') .. "ar", "Futur parfait de l’indicatif"
elseif verb:sub(-string.len("abez")) == "abez" then
return string.match(verb, '^(.+)abez$') .. "ar", "Passé de l’impératif"
elseif verb:sub(-string.len("abus")) == "abus" then
return string.match(verb, '^(.+)abus$') .. "ar", "Passé du conditionnel"
elseif verb:sub(-string.len("as")) == "as" then
return string.match(verb, '^(.+)as$') .. "ar", "Présent de l’indicatif"
elseif verb:sub(-string.len("is")) == "is" then
return string.match(verb, '^(.+)is$') .. "ar", "Passé de l’indicatif"
elseif verb:sub(-string.len("os")) == "os" then
return string.match(verb, '^(.+)os$') .. "ar", "Futur de l’indicatif"
elseif verb:sub(-string.len("ir")) == "ir" then
return string.match(verb, '^(.+)ir$') .. "ar", "Passé de l’infinitif"
elseif verb:sub(-string.len("or")) == "or" then
return string.match(verb, '^(.+)or$') .. "ar", "Futur de l’infinitif"
elseif verb:sub(-string.len("ez")) == "ez" then
return string.match(verb, '^(.+)ez$') .. "ar", "Présent de l’impératif"
elseif verb:sub(-string.len("us")) == "us" then
return string.match(verb, '^(.+)us$') .. "ar", "Présent du conditionnel"
else
error("Unknown verb tense")
end
end
function p.verbe(frame)
local args = frame:getParent().args
local verb = args['verb'] or mw.title.getCurrentTitle().text
local label = args['label'] or mw.title.getCurrentTitle().text
local root, tense = p.getTenseAndRoot(verb)
local cat = ""
if not m_bases.page_existe("Conjugaison:ido/" .. root) and mw.ustring.sub(root, -1) == "i" then
cat = "[[Catégorie:Wiktionnaire:Conjugaisons manquantes en ido]]"
end
return "{| class=\"flextable\"\n"..
"! colspan=\"2\"|<small>[[Conjugaison:ido/" .. root .. "|Voir la conjugaison du verbe ''" .. root .. "'']]</small>\n"..
"|-\n"..
"| style=\"font-variant:small-caps;text-align:center;vertical-align:top\"|" .. tense .. "\n" ..
"| " .. label .. "\n" ..
"|}" .. cat
end
return p