มอดูล:fi-headword

จาก วิกิพจนานุกรม พจนานุกรมเสรี
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 = "คำคุณศัพท์"}
	local categories = {}
	
	if args["head"] then
		data.heads = {args["head"]}
	end
	
	if args["attr_only"] and not args[1] then
		args[1] = "-"
	end
		
	if not args[1] then
		table.insert(categories, "fi-adj with no 1 or 2")
	elseif args[1] == "-" then
		data.inflections = {{ label = "เปรียบเทียบไม่ได้" }}
		table.insert(categories, "คำคุณศัพท์เปรียบเทียบไม่ได้ภาษาฟินแลนด์")
	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 = "ขั้นกว่า"}}}
		local sup = {}
		
		for i = 3, 10 do
			if not args[i] then break end
			table.insert(sup, {term = stem .. args[i], accel = {form = "ขั้นสุด"}})
		end
		
		if args["c2"] then
			table.insert(comp, {term = args["c2"], accel = {form = "ขั้นกว่า"}})
		elseif args["comp2"] then
			table.insert(comp, {term = args["comp2"], accel = {form = "ขั้นกว่า"}})
		end
		
		if args["c3"] then
			table.insert(comp, {term = args["c3"], accel = {form = "ขั้นกว่า"}})
		elseif args["comp3"] then
			table.insert(comp, {term = args["comp3"], accel = {form = "ขั้นกว่า"}})
		end
		
		data.inflections = {{label = "ขั้นกว่า", unpack(comp)}, {label = "ขั้นสุด", unpack(sup)}}
	end
	
	if args["attr_only"] then
		table.insert(data.inflections, {label = "[[ภาคผนวก:อภิธานศัพท์#บอกคุณลักษณะ|บอกคุณลักษณะ]]เท่านั้น"})
		table.insert(data.inflections, {label = "[[ภาคผนวก:อภิธานศัพท์#ผันรูปไม่ได้|ผันรูปไม่ได้]]"})
	end
	
	data.categories = categories
	return require("Module:headword").full_headword(data)
end

return export