local lang = require("Module:languages").getByCode("eo")
local p = {}
function p.init(frame)
local intr = frame:getParent().args["intr"]
local root = frame:getParent().args["root"]
if not root then
local pagename = tostring( mw.title:getCurrentTitle() )
root = string.sub(pagename, 0, -2)
end
return p.conj(root, intr)
end
function p.conj(root, intr)
local function link(affix)
return require("Module:links").full_link({lang = lang, accel = {form = affix}, term = root .. affix})
end
local function row(r)
return ""
end
local t = {"a", "i", "o"}
local val = [=[{| class="eo-conj-wrapper"
|-
| ||<div class="NavFrame">
<div class="NavHead">Chia động từ của <span lang="eo">]=] .. root .. [=[i</span></div>
<div class="NavContent">
{| class="inflection-table eo-conj"
|-
|rowspan=2 colspan=2|[[Image:Esperanto star.svg|30px|link=|alt=]]
! colspan=2|hiện tại
! colspan=2|quá khứ
! colspan=2|tương lai
|-
! số ít
! số nhiều
! số ít
! số nhiều
! số ít
! số nhiều]=]
local function threecells(preword, affix)
val = val .. "\n|-\n! colspan=2| " .. preword
for i = 1, 3, 1 do
val = val .. "\n| colspan=2|" .. link(t[i] .. affix)
end
end
threecells("thì", "s")
for i = 1, 8, 1 do
if ( i - 1 ) % 4 < 2 or intr ~= "yes" then
local act = ( i - 1 ) % 4 > 1 and "" or "n"
local nom = i > 4 and "o" or "a"
local acc = ""
if i % 2 == 0 then
acc = "n"
val = val .. "\n|-\n! <span title=\"accusative\">acc.</span>"
else
val = val .. "\n|-\n! rowspan=2| "
if i > 4 then val = val .. " danh từ hóa" end
if act == "" then val = val .. "bị động " else val = val .. "chủ động " end
val = "phân từ\n! " .. val
end
for ii = 1, 6, 1 do
val = val .. "\n| " .. link( t[ math.ceil( ii / 2 ) ] .. act .. "t" .. nom .. (ii % 2 == 0 and "j" or "") .. acc )
end
end
end
threecells("phân từ chủ động phó từ", "nte")
if intr ~= "yes" then threecells("phân từ bị động phó từ", "te") end
val = val .. [=[
|}
{| class="inflection-table eo-conj eo-conj-bottom"
|-
!colspan="2" | [[infinitive|inf.]]
|colspan="6" | <span lang="eo">''']=] .. root .. [=[i'''</span>
!colspan="2" | [[imperative|imp.]]
|colspan="6" | ]=] .. link("u") .. [=[
!colspan="2" | [[conditional|cond.]]
|colspan="6" | ]=] .. link("us") .. [=[
|}
</div></div>
|}]=]
return require "Module:TemplateStyles"("Module:eo-conj/style.css") .. "\n" .. val
end
return p