<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.digitalcellulose.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ASv-nouns</id>
	<title>Module:Sv-nouns - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.digitalcellulose.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ASv-nouns"/>
	<link rel="alternate" type="text/html" href="https://www.digitalcellulose.com/wiki/index.php?title=Module:Sv-nouns&amp;action=history"/>
	<updated>2026-05-23T09:56:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://www.digitalcellulose.com/wiki/index.php?title=Module:Sv-nouns&amp;diff=98319&amp;oldid=prev</id>
		<title>Adminsuzy: Created page with &quot;local m_utilities = require(&quot;Module:utilities&quot;) local m_links = require(&quot;Module:links&quot;)  local export = {}  local lang = require(&quot;Module:languages&quot;).getByCode(&quot;sv&quot;)  -- Functi...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.digitalcellulose.com/wiki/index.php?title=Module:Sv-nouns&amp;diff=98319&amp;oldid=prev"/>
		<updated>2018-08-28T02:34:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local m_utilities = require(&amp;quot;Module:utilities&amp;quot;) local m_links = require(&amp;quot;Module:links&amp;quot;)  local export = {}  local lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;sv&amp;quot;)  -- Functi...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local m_utilities = require(&amp;quot;Module:utilities&amp;quot;)&lt;br /&gt;
local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
local lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;sv&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-- Functions that do the actual inflecting by creating the forms of a basic term.&lt;br /&gt;
local inflections = {}&lt;br /&gt;
&lt;br /&gt;
-- The main entry point.&lt;br /&gt;
-- This is the only function that can be invoked from a template.&lt;br /&gt;
function export.show(frame)&lt;br /&gt;
	local infl_type = frame.args[1] or error(&amp;quot;Inflection type has not been specified. Please pass parameter 1 to the module invocation&amp;quot;)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;base&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/base&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;betydelser&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/betydelser&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;definitions&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/definitions&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;gender&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/gender&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;genitive&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/genitive&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not inflections[infl_type] then&lt;br /&gt;
		error(&amp;quot;Unknown inflection type '&amp;quot; .. infl_type .. &amp;quot;'&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local data = {forms = {}, title = nil, categories = {}}&lt;br /&gt;
	&lt;br /&gt;
	-- Generate the forms&lt;br /&gt;
	inflections[infl_type](args, data)&lt;br /&gt;
	&lt;br /&gt;
	-- Postprocess&lt;br /&gt;
	postprocess(args, data)&lt;br /&gt;
	&lt;br /&gt;
	return make_table(data) .. m_utilities.format_categories(data.categories, lang)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[=[&lt;br /&gt;
	Inflection functions&lt;br /&gt;
]=]--&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-ar&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	local par2 = args[2]; if par2 == &amp;quot;&amp;quot; then par2 = nil end&lt;br /&gt;
	local fv = args[&amp;quot;fv&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	par1 = par1 or mw.title.getCurrentTitle().text&lt;br /&gt;
	par2 = (par2 or par1) .. fv&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(par1, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {par2 .. &amp;quot;en&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {par2 .. &amp;quot;ens&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par2 .. &amp;quot;ar&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par2 .. &amp;quot;ars&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par2 .. &amp;quot;arna&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par2 .. &amp;quot;arnas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-er&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	local par2 = args[2]; if par2 == &amp;quot;&amp;quot; then par2 = nil end&lt;br /&gt;
	local fv = args[&amp;quot;fv&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local ien = (args[&amp;quot;ien&amp;quot;] or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local sg_nom_def = args[&amp;quot;sg-nom-def&amp;quot;]; if sg_nom_def == &amp;quot;&amp;quot; then sg_nom_def = nil end&lt;br /&gt;
	local sg_gen_def = args[&amp;quot;sg-gen-def&amp;quot;]; if sg_gen_def == &amp;quot;&amp;quot; then sg_gen_def = nil end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;sg-nom-def&amp;quot;] or args[&amp;quot;sg-gen-def&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/manual&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	par1 = par1 or mw.title.getCurrentTitle().text&lt;br /&gt;
	par2 = (par2 or par1) .. fv&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(par1, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {sg_nom_def or par2 .. &amp;quot;en&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {sg_gen_def or par2 .. &amp;quot;ens&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par2 .. &amp;quot;er&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par2 .. &amp;quot;ers&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par2 .. &amp;quot;erna&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par2 .. &amp;quot;ernas&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	if ien then&lt;br /&gt;
		table.insert(data.forms[&amp;quot;defn_nom_sg&amp;quot;], 1, sg_nom_def or par2 .. &amp;quot;n&amp;quot;)&lt;br /&gt;
		table.insert(data.forms[&amp;quot;defn_gen_sg&amp;quot;], 1, sg_gen_def or par2 .. &amp;quot;ns&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-or&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	&lt;br /&gt;
	if not par1 and mw.title.getCurrentTitle().nsText == &amp;quot;Template&amp;quot; then&lt;br /&gt;
		par1 = &amp;quot;{{{1}}}&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1 .. &amp;quot;a&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. &amp;quot;as&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {par1 .. &amp;quot;an&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {par1 .. &amp;quot;ans&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par1 .. &amp;quot;or&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par1 .. &amp;quot;ors&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par1 .. &amp;quot;orna&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par1 .. &amp;quot;ornas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-r&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	local par2 = args[2]; if par2 == &amp;quot;&amp;quot; then par2 = nil end&lt;br /&gt;
	local par3 = args[3]; if par3 == &amp;quot;&amp;quot; then par3 = nil end&lt;br /&gt;
	&lt;br /&gt;
	par1 = par1 or mw.title.getCurrentTitle().text&lt;br /&gt;
	par2 = par2 or par1&lt;br /&gt;
	par3 = par3 or par2 or par1&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(par1, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {par2 .. &amp;quot;n&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {par2 .. &amp;quot;ns&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par3 .. &amp;quot;r&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par3 .. &amp;quot;rs&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par3 .. &amp;quot;rna&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par3 .. &amp;quot;rnas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-zero&amp;quot;] = function(args, data)&lt;br /&gt;
	local stem = args[&amp;quot;stem&amp;quot;]; if stem == &amp;quot;&amp;quot; then stem = nil end&lt;br /&gt;
	local pluralstem = args[&amp;quot;pluralstem&amp;quot;]; if pluralstem == &amp;quot;&amp;quot; then pluralstem = nil end&lt;br /&gt;
	&lt;br /&gt;
	if not args[&amp;quot;stem&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/no stem&amp;quot;)&lt;br /&gt;
	elseif stem .. &amp;quot;e&amp;quot; ~= mw.title.getCurrentTitle().text then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/stem different&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;pluralstem&amp;quot;] then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;sv-nouns/pluralstem&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(mw.title.getCurrentTitle().text, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;en&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;ens&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {(pluralstem or stem or mw.title.getCurrentTitle().text) .. &amp;quot;na&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {(pluralstem or stem or mw.title.getCurrentTitle().text) .. &amp;quot;nas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-are&amp;quot;] = function(args, data)&lt;br /&gt;
	if not mw.ustring.find(mw.title.getCurrentTitle().text, &amp;quot;are$&amp;quot;) then&lt;br /&gt;
		error(&amp;quot;The noun must end in -are.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;s&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;n&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;ns&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;s&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {mw.ustring.sub(mw.title.getCurrentTitle().text, 1, -2) .. &amp;quot;na&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {mw.ustring.sub(mw.title.getCurrentTitle().text, 1, -2) .. &amp;quot;nas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;c-nde&amp;quot;] = function(args, data)&lt;br /&gt;
	if not mw.ustring.find(mw.title.getCurrentTitle().text, &amp;quot;nde$&amp;quot;) then&lt;br /&gt;
		error(&amp;quot;The noun must end in -nde.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;s&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;n&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;ns&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;s&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;na&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. &amp;quot;nas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;n-n&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	local par2 = args[2]; if par2 == &amp;quot;&amp;quot; then par2 = nil end&lt;br /&gt;
	local par3 = args[3]; if par3 == &amp;quot;&amp;quot; then par3 = nil end&lt;br /&gt;
	&lt;br /&gt;
	par1 = par1 or mw.title.getCurrentTitle().text&lt;br /&gt;
	par2 = par2 or par1&lt;br /&gt;
	par3 = par3 or par2 or par1&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(par1, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {par2 .. &amp;quot;t&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {par2 .. &amp;quot;ts&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par3 .. &amp;quot;n&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par3 .. &amp;quot;ns&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par3 .. &amp;quot;na&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par3 .. &amp;quot;nas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;n-r&amp;quot;] = function(args, data)&lt;br /&gt;
	local par1 = args[1]; if par1 == &amp;quot;&amp;quot; then par1 = nil end&lt;br /&gt;
	local par2 = args[2]; if par2 == &amp;quot;&amp;quot; then par2 = nil end&lt;br /&gt;
	&lt;br /&gt;
	par1 = par1 or mw.title.getCurrentTitle().text&lt;br /&gt;
	par2 = par2 or par1&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(par1, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {par1}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {par1 .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {par2 .. &amp;quot;t&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {par2 .. &amp;quot;ts&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {par2 .. &amp;quot;r&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {par2 .. &amp;quot;rs&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {par2 .. &amp;quot;rna&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {par2 .. &amp;quot;rnas&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
inflections[&amp;quot;n-zero&amp;quot;] = function(args, data)&lt;br /&gt;
	local stem = args[&amp;quot;stem&amp;quot;]; if stem == &amp;quot;&amp;quot; then stem = nil end&lt;br /&gt;
	&lt;br /&gt;
	local s = &amp;quot;s&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find(mw.title.getCurrentTitle().text, &amp;quot;[xs]$&amp;quot;) then&lt;br /&gt;
		s = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_sg&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_sg&amp;quot;] = {mw.title.getCurrentTitle().text .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_sg&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;et&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_sg&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;ets&amp;quot;}&lt;br /&gt;
	&lt;br /&gt;
	data.forms[&amp;quot;indf_nom_pl&amp;quot;] = {mw.title.getCurrentTitle().text}&lt;br /&gt;
	data.forms[&amp;quot;indf_gen_pl&amp;quot;] = {mw.title.getCurrentTitle().text .. s}&lt;br /&gt;
	data.forms[&amp;quot;defn_nom_pl&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;en&amp;quot;}&lt;br /&gt;
	data.forms[&amp;quot;defn_gen_pl&amp;quot;] = {(stem or mw.title.getCurrentTitle().text) .. &amp;quot;ens&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Helper functions&lt;br /&gt;
&lt;br /&gt;
function postprocess(args, data)&lt;br /&gt;
	local n = args[&amp;quot;n&amp;quot;]; if n == &amp;quot;&amp;quot; then n = nil end&lt;br /&gt;
	&lt;br /&gt;
	if n == &amp;quot;pl&amp;quot; then&lt;br /&gt;
		table.insert(data.categories, lang:getCanonicalName() .. &amp;quot; pluralia tantum&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if n == &amp;quot;sg&amp;quot; then&lt;br /&gt;
		table.insert(data.categories, lang:getCanonicalName() .. &amp;quot; uncountable nouns&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for key, form in pairs(data.forms) do&lt;br /&gt;
		-- Do not show singular or plural forms for nominals that don't have them&lt;br /&gt;
		if (n == &amp;quot;pl&amp;quot; and key:find(&amp;quot;_sg$&amp;quot;)) or (n == &amp;quot;sg&amp;quot; and key:find(&amp;quot;_pl$&amp;quot;)) then&lt;br /&gt;
			form = nil&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		data.forms[key] = form&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Check if the lemma form matches the page name&lt;br /&gt;
	if lang:makeEntryName(data.forms[n == &amp;quot;pl&amp;quot; and &amp;quot;indf_nom_pl&amp;quot; or &amp;quot;indf_nom_sg&amp;quot;][1]) ~= mw.title.getCurrentTitle().text then&lt;br /&gt;
		table.insert(data.categories, lang:getCanonicalName() .. &amp;quot; entries with inflection not matching pagename&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Make the table&lt;br /&gt;
function make_table(data)&lt;br /&gt;
	local function show_form(form)&lt;br /&gt;
		if not form then&lt;br /&gt;
			return &amp;quot;&amp;amp;mdash;&amp;quot;&lt;br /&gt;
		elseif type(form) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
			error(&amp;quot;a non-table value was given in the list of inflected forms.&amp;quot;)&lt;br /&gt;
		elseif #form == 0 then&lt;br /&gt;
			return &amp;quot;&amp;amp;mdash;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local ret = {}&lt;br /&gt;
		&lt;br /&gt;
		for key, subform in ipairs(form) do&lt;br /&gt;
			table.insert(ret, m_links.full_link({lang = lang, term = subform}))&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		return table.concat(ret, &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function repl(param)&lt;br /&gt;
		if param == &amp;quot;lemma&amp;quot; then&lt;br /&gt;
			return m_links.full_link({lang = lang, alt = mw.title.getCurrentTitle().text}, &amp;quot;term&amp;quot;)&lt;br /&gt;
		elseif param == &amp;quot;info&amp;quot; then&lt;br /&gt;
			return data.title and &amp;quot; (&amp;quot; .. data.title .. &amp;quot;)&amp;quot; or &amp;quot;&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			return show_form(data.forms[param])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local wikicode = [=[&lt;br /&gt;
{| class=&amp;quot;inflection-table vsSwitcher vsToggleCategory-inflection&amp;quot; style=&amp;quot;border: solid 1px #CCCCFF; text-align:left;&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #CCCCFF; vertical-align: top;&amp;quot;&lt;br /&gt;
! class=&amp;quot;vsToggleElement&amp;quot; colspan=&amp;quot;5&amp;quot; | Declension of {{{lemma}}}{{{info}}}&amp;amp;nbsp;&lt;br /&gt;
|- class=&amp;quot;vsHide&amp;quot; style=&amp;quot;background: #CCCCFF;&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; style=&amp;quot;min-width: 12em;&amp;quot; |&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Singular&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Plural&lt;br /&gt;
|- class=&amp;quot;vsHide&amp;quot; style=&amp;quot;background: #CCCCFF;&amp;quot;&lt;br /&gt;
! style=&amp;quot;min-width: 12em;&amp;quot; | Indefinite&lt;br /&gt;
! style=&amp;quot;min-width: 12em;&amp;quot; | Definite&lt;br /&gt;
! style=&amp;quot;min-width: 12em;&amp;quot; | Indefinite&lt;br /&gt;
! style=&amp;quot;min-width: 12em;&amp;quot; | Definite&lt;br /&gt;
|- class=&amp;quot;vsHide&amp;quot; style=&amp;quot;background: #F2F2FF;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #E6E6FF;&amp;quot; | Nominative&lt;br /&gt;
| {{{indf_nom_sg}}}&lt;br /&gt;
| {{{defn_nom_sg}}}&lt;br /&gt;
| {{{indf_nom_pl}}}&lt;br /&gt;
| {{{defn_nom_pl}}}&lt;br /&gt;
|- class=&amp;quot;vsHide&amp;quot; style=&amp;quot;background: #F2F2FF;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background: #E6E6FF;&amp;quot; | Genitive&lt;br /&gt;
| {{{indf_gen_sg}}}&lt;br /&gt;
| {{{defn_gen_sg}}}&lt;br /&gt;
| {{{indf_gen_pl}}}&lt;br /&gt;
| {{{defn_gen_pl}}}&lt;br /&gt;
|}]=]&lt;br /&gt;
	return mw.ustring.gsub(wikicode, &amp;quot;{{{([a-z0-9_:]+)}}}&amp;quot;, repl)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Adminsuzy</name></author>
		
	</entry>
</feed>