Mô đun:fi-headword

Từ điển mở Wiktionary
local export = {}
local lang = require("Module:languages").getByCode("fi")
local m_utilities = require("Module:utilities")

export.adj = function(frame)
	local title = mw.title.getCurrentTitle().text
	local args = frame:getParent().args
	local data = {lang = lang, pos_category = "Tính từ"}
	local categories = {}
	
	if args["head"] then
		data.heads = {args["head"]}
	end
	
	if not args[1] then
		table.insert(categories, "fi-adj with no 1 or 2")
	elseif args[1] == "-" then
		data.inflections = {{ label = "not comparable" }}
		table.insert(categories, "Finnish uncomparable adjectives")
	elseif not args[2] then
		table.insert(categories, "fi-adj with no 1 or 2")
	else
		local stem = args[1]
		local comp = {{term = stem .. args[2], accel = {form = "so sánh hơn"}}}
		local sup = {}
		
		for i = 3, 10 do
			if not args[i] then break end
			table.insert(sup, {term = stem .. args[i], accel = {form = "so sánh nhất"}})
		end
		
		if args["c2"] then
			table.insert(comp, {term = args["c2"], accel = {form = "so sánh hơn"}})
		elseif args["comp2"] then
			table.insert(comp, {term = args["comp2"], accel = {form = "so sánh hơn"}})
		end
		
		if args["c3"] then
			table.insert(comp, {term = args["c3"], accel = {form = "so sánh hơn"}})
		elseif args["comp3"] then
			table.insert(comp, {term = args["comp3"], accel = {form = "so sánh hơn"}})
		end
		
		data.inflections = {{label = "so sánh hơn", unpack(comp)}, {label = "so sánh nhất", unpack(sup)}}
	end
	
	if args["attr_only"] then
		table.insert(data.inflections, {label = "only used [[Appendix:Glossary#attributive|attributively]]"})
		table.insert(data.inflections, {label = "[[Appendix:Glossary#indeclinable|indeclinable]]"})
	end
	
	data.categories = categories
	return require("Module:headword").full_headword(data)
end

return export