Модул:category tree/translitcatboiler
Изглед
Script error: The function "main" does not exist.
local export = {}
-- Category object
local Category = {}
Category.__index = Category
function Category.new(info)
local self = setmetatable({}, Category)
assert(type(info) == "table", "The \"info\" parameter must be a table.")
self._info = {}
for key, val in pairs(info) do
if key == "code" then
self._info.code = val
self._lang = require("Модул:languages").getByCode(val) or error("The language code \"" .. val .. "\" is not valid.")
elseif key == "label" then
self._info.label = val
else
error("The parameter \"" .. key .. "\" was not recognized.")
end
end
if not self._info.label then
error("No label was specified.")
end
-- Check if the label exists
if self._info.label ~= "ROOT" then
self._source = require("Модул:languages").getByCode(self._info.label) or error("The language code \"" .. self._info.label .. "\" is not valid.")
end
return self
end
export.new = Category.new
function Category:getInfo()
return self._info
end
function Category:getBreadcrumbName()
if self._source then
if self._lang then
return self._source:getCanonicalName()
else
return "Термини транслитерирани од " .. self._source:getCanonicalName()
end
else
if self._lang then
return "Транслитерирани термини"
else
return "Термини транслитерирани од других језика"
end
end
end
function Category:getDataModule()
return "Module:category tree/translitcatboiler"
end
function Category:getCategoryName()
local ret = nil
if self._source then
ret = "транслитерације од " .. self._source:getCanonicalName() .. " израза"
else
ret = "термини транслитерирани од других језика"
end
if self._lang then
return mw.getContentLanguage():ucfirst(self._lang:getCanonicalName() .. " " .. ret)
else
return mw.getContentLanguage():ucfirst(ret)
end
end
function Category:getDescription()
local ret
if self._lang then
if self._source then
ret = "the [[:Категорија:" .. mw.getContentLanguage():ucfirst(self._source:getCategoryName()) .. "|" .. self._source:getCategoryName() .. "]]"
else
ret = "други језици"
end
return "Термини у " .. self._lang:getCanonicalName() .. " треба да буду транслитерирани од " .. ret .. "."
else
if self._source then
ret = "транслитерација од " .. self._source:getCanonicalName() .. " термини"
else
ret = "термини транслитерирани од других језика"
end
return "Категорије са " .. ret .. " у разним специфичним језицима."
end
end
function Category:getParents()
if self._lang then
if self._source then
local pinfo = mw.clone(self._info)
pinfo.label = "ROOT"
return {
{name = Category.new(pinfo), sort = self._source:getCanonicalName()},
{name = require("Модул:category tree/borrowed cat").new({code = self._info.code, label = self._source:getCode()}), sort = " "},
}
else
return {
{name = require("Модул:category tree/poscatboiler").new({code = self._info.code, label = "позајмљени изрази"}), sort = " "},
}
end
else
if self._source then
return {{name = require("Модул:category tree/borrowed cat").new({label = self._source:getCode()}), sort = " "}}
else
return {{name = "Категорија:Појмови по етимологији подкатегорије по језику", sort = "појмови транслитерирани од других језика"}}
end
end
end
function Category:getChildren()
return nil
end
function Category:canBeEmpty()
return false
end
function Category:isHidden()
return false
end
function Category:getUmbrella()
if not self._lang then
return nil
end
local uinfo = mw.clone(self._info)
uinfo.code = nil
return Category.new(uinfo)
end
return export