Modul:category tree/topic name cat

Üdvözlöm, Ön a Modul:category tree/topic name cat szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:category tree/topic name 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/topic name cat szót egyes és többes számban mondani. Minden, amit a Modul:category tree/topic name cat szóról tudni kell, itt található. A Modul:category tree/topic name cat szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:category tree/topic name 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/topic name 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, source = args, nametype = args})
end


function Category.new(info)
	for key, val in pairs(info) do
		if not (key == "nametype" or key == "lang" or key == "source") then
			error("The parameter \"" .. key .. "\" was not recognized. "
				.."Recognized parameters are \"nametype\", \"lang\", and \"source\".")
		end
	end
	
	if not info.nametype then
		error("No name type was specified.")
	end
	
	if not info.lang then
		error("No current language code was specified.")
	end
	
	if not info.source then
		error("No source 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)
	self._source = type(info.source) == "table" and info.source.getCode and info.source
		or require("Module:languages").getByCode(info.source, true, "allow etym")
	
	return self
end

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


function Category:getInfo()
	return self._info
end


function Category:getBreadcrumbName()
	return "from " .. self._source:getCanonicalName()
end


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


function Category:canBeEmpty()
	return false
end


function Category:isHidden()
	return false
end


function Category:getCategoryName()
	return self._lang:getCode() .. ":" .. self._source:getCanonicalName() .. " " .. self._info.nametype
end


local function linkLanguage(lang)
	return "]"
end


function Category:getDescription()
	return "Transliterations of " .. linkLanguage(self._source) .. " " .. self._info.nametype .. " into " .. linkLanguage(self._lang) .. "."
end


function Category:getParents()
	local categories = {}
	
	table.insert(categories,
		{name = require("Module:category tree/topic cat").new{code = self._info.lang, label = "Transliteration of personal names"},
			sort = self._source:getCanonicalName()})
	table.insert(categories,
		{name = require("Module:category tree/poscatboiler").new{code = self._source:getCode(), label = self._info.nametype},
			sort = self._lang:getCanonicalName()})

	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: