local export = {}
-- Category object
local Category = {}
Category.__index = Category
function Category.new(info)
local self = setmetatable({}, Category)
assert(type(info) == "table", "De \"info\"-parameter mot een tabel waen.")
self._info = {}
for key, val in pairs(info) do
if key == "code" then
self._info.code = val
self._fam = require("Module:families").getByCode(val) or error("De Familiekode \"" .. val .. "\" is neet geldig.")
else
error("De parameter \"" .. key .. "\" is neet bekend.")
end
end
return self
end
export.new = Category.new
function Category:getBreadcrumbName()
if not self._fam then
return "Spraakfamilien"
else
return self._fam:getCanonicalName()
end
end
function Category:getDataModule()
return "Module:category tree/famcatboiler"
end
function Category:canBeEmpty()
return true
end
function Category:getCategoryName()
local ret = nil
if not self._fam then
ret = "Spraakfamilien"
else
ret = self._fam:getCategoryName()
end
return mw.getContentLanguage():ucfirst(ret)
end
function Category:getDescription()
if not self._fam then
return "Düss is de Hööftkategorie vun all Spraken up Wiktionary, sorteerd bi Spraakfamilie."
else
local ret =
mw.getCurrentFrame():expandTemplate{title = "sisterlinks", args = {self._fam:getCategoryName()}} ..
mw.getCurrentFrame():expandTemplate{title = "wikipedia", args = {}} ..
"Düss is de Hööftkategorie vun de '''" .. self._fam:getCategoryName() .. "''', " ..
"mit de Code '''" .. self._fam:getCode() .. "''' in de Wöörbook. Et is "
if self._fam:getFamily():getCode() == "qfa-not" then
ret = ret .. "meer een Gruppe vun neet relateerde Spraken as een Spraakfamilie."
elseif self._fam:getFamily():getCode() == "qfa-und" then
ret = ret .. "een [[:Kategorie:Spraakfamilien|neet klassifiseerde Spraak of een Heufdspraakfamilie]]."
else
ret = ret .. "een Ünnerfamilie vun de [[:Kategorie:" .. mw.getContentLanguage():ucfirst(self._fam:getFamily():getCategoryName()) .. "|" .. self._fam:getFamily():getCategoryName() .. "]]."
end
return ret
end
end
function Category:getParents()
if not self._fam then
return nil
else
local pinfo = mw.clone(self._info)
if self._fam:getFamily():getCode() == "qfa-iso" or self._fam:getFamily():getCode() == "qfa-not" or self._fam:getFamily():getCode() == "qfa-und" then
pinfo.code = nil
else
pinfo.code = self._fam:getFamily():getCode()
end
return {{name = Category.new(pinfo), sort = self._fam:getCanonicalName()}}
end
end
function Category:getChildren()
return nil
end
function Category:getUmbrella()
return "Kategorie:Spraakfamilien"
end
function Category:getBild()
return nil
end
return export