Modul:category tree/classifier cat

Üdvözlöm, Ön a Modul:category tree/classifier cat szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:category tree/classifier cat szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a Modul:category tree/classifier cat szót egyes és többes számban mondani. Minden, amit a Modul:category tree/classifier cat szóról tudni kell, itt található. A Modul:category tree/classifier cat szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:category tree/classifier cat és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

A modult a Modul:category tree/classifier cat/doc lapon tudod dokumentálni

local export = {}

-- Category object

local Category = {}
Category.__index = Category


function Category.new_main(frame)
	local params = {
		 = {required = true},
		 = {required = true},
		 = {required = true},
	}
	
	args = require("Module:parameters").process(frame:getParent().args, params)
	
	return Category.new({lang = args, pos = args, classifier = args})
end


function Category.new(info)
	for key, val in pairs(info) do
		if not (key == "lang" or key == "pos" or key == "classifier") then
			error("The parameter \"" .. key .. "\" was not recognized. "
				.."Recognized parameters are \"lang\", \"pos\", and \"classifier\".")
		end
	end
	
	if not info.lang then
		error("No current language code was specified.")
	end
	
	if not info.pos then
		error("No part of speech was specified.")
	end
	
	if not info.classifier then
		error("No classifier was specified.")
	end
	
	local self = setmetatable({}, Category)
	self._info = info

	self._lang = type(info.lang) == "table" and info.lang.getCode and info.lang
		or require("Module:languages").getByCode(info.lang, true)
	
	return self
end

export.new = Category.new
export.new_main = Category.new_main


function Category:getInfo()
	return self._info
end


function Category:getBreadcrumbName()
	return self._info.classifier
end


function Category:getDataModule()
	return "Module:category tree/classifier cat"
end


function Category:canBeEmpty()
	return false
end


function Category:isHidden()
	return false
end


function Category:getCategoryName()
	return self._lang:getCanonicalName() .. " " .. self._info.pos .. " classified by " .. self._info.classifier
end


function Category:getDescription()
	local linktext
	if self._lang:getCode() == "zh" then
		linktext = require("Module:zh").link(nil, nil, { self._info.classifier, tr = "-" }, self._info.classifier)
	else
		linktext = require("Module:links").full_link { term = self._info.classifier, lang = self._lang }
	end
	return self._lang:makeCategoryLink() .. " " .. self._info.pos .. " using " .. linktext .. " as their classifier."
end


function Category:getParents()
	local categories = {}
	
	table.insert(categories,
		{name = require("Module:category tree/poscatboiler").new{code = self._lang:getCode(), label = self._info.pos .. " by classifier"},
			sort = self._lang:getCode() == "zh" and require("Module:zh-sortkey").makeSortKey(self._info.classifier) or self._info.classifier
		})

	return categories
end


function Category:getChildren()
	return nil
end


function Category:getUmbrella()
	return nil
end


return export

-- For Vim, so we get 4-space tabs
-- vim: set ts=4 sw=4 noet: