This is a private module sandbox of Dixtosa, for his own experimentation. Items in this module may be added and removed at Dixtosa's discretion; do not rely on this module's stability.
local export = {}
local lang = require("Module:languages").getByCode("ka")
local strutils = require("Module:string utilities")
local template = require("Module:User:Dixtosa/temporary/lua").template
local getForms = require("Module:ka-infl-noun").getForms
function show()
fillCs()
for k, val in pairs(forms) do
forms = mw.ustring.gsub(val, "%*", "")
end
return strutils.format(template, forms)
end
local testterms = {
{"*ი"}, {"*ა"}, {"*ე"}, {"*ო"}, {"*უ"}, {"*ორი", {"*ვრ"}},
{"*ოლი", {"*ლ"}},
{"*ობი", {"*ბ"}},
{"*ორი", {"*რ"}},
{"*ანა", {"*ნ"}},
{"*აბი", {"*ბ"}},
{"*ადი", {"*დ"}},
{"*ავი", {"*ვ"}},
{"*არი", {"*რ"}},
{"*არე", {"*რ"}},
{"*ალი", {"*ლ"}},
{"*არა", {"*რ"}},
{"*ანი", {"*ნ"}},
{"*ამი", {"*მ"}},
{"*ელა", {"*ლ"}},
{"*ელი", {"*ლ"}},
{"*ერი", {"*რ"}},
{"*ენი", {"*ნ"}},
{"*ემი", {"*მ"}},
{"*ეხი", {"*ხ"}},
{"*ედი", {"*დ"}}
}
function export.main()
local res = ""
for _, testterm in pairs(testterms) do
local term = testterm
local args = testterm or {}
res = res .. show({term = term, args = args})
end
return res
end
--კაცისთვისა
postpRuleAboutA = {
"vit", "tan", "tvis", "ken", "gan", "dan"
}
postpRuleAboutC = {
= "აც",
= "ც",
= "აც",
= "ც",
= "აც",
= nil,
= "აც",
= "აც",
= "აც",
= nil,
= "ც"
}
function fillCs()
forms = forms and forms .. "ცა"
local cases = {"nom1", "erg1", "dat1a", "gen1a", "ins1a", "adv1a",
"nom2", "erg2", "dat2a", "gen2a", "ins2a", "adv2a"}
for k, case in pairs(cases) do
if forms ~= "" then
forms = case .. "ც"
end
end
for postcase, suffix in pairs(postpRuleAboutA) do
if forms and suffix then
forms = forms .. suffix
end
if forms and suffix then
forms = forms .. suffix
end
end
for _, case in pairs(postpRuleAboutA) do
if forms then
forms = forms .. "ა"
end
if forms then
forms = forms .. "ა"
end
end
end
return export