વિભાગ:શ્રેણી ઝાડ/વિષય શ્રેણી
Documentation for this module may be created at વિભાગ:શ્રેણી ઝાડ/વિષય શ્રેણી/doc
local export = {}
local labels = {}
function export.get_item(info, item)
local lang = (info.code and require("Module:ભાષાઓ").getByCode(info.code) or nil)
local ret = nil
if item == "label_exists" then
if labels[info.label] then
return true
else
local template = mw.title.new("ઢાંચો:વિષય શ્રેણી/" .. info.label)
if template.exists then
return true
else
return false
end
end
elseif item == "નામ_પ્રદર્શન" then
ret = info.label
if info.sc then
local sc = require("Module:લિપિઓ").getByCode(info.sc)
ret = ret .. sc:getCategoryName() .. "માં"
end
elseif item == "મૂળભૂત" then
ret = info.label
if info.sc then
local sc = require("Module:લિપિઓ").getByCode(info.sc)
ret = ret .. sc:getCategoryName() .. "માં"
end
ret = lang:getCode() .. ":" .. mw.getContentLanguage():ucfirst(ret)
elseif item == "છત્રી" then
ret = mw.getContentLanguage():ucfirst(info.label)
elseif item == "છત્રી_વર્ણન" then
ret =
"This category contains only other categories, no dictionary entries. Its subcategories are on the topic: " .. info.label .. ". They are of two sorts:\n\n" ..
"* Subcategories named like \"aa:" .. info.label .. " (with a prefixed language code) are categories of terms in specific languages. " ..
"For example, \"fr:" .. info.label .. " is the " .. info.label .. "-related category of French terms. " ..
"You may be interested especially in [[:Category:" .. export.get_item({code = "gu", label = info.label, sc = nil, template = info.template}, "મૂળભૂત") .. "]], for Gujarati terms.\n" ..
"* Subcategories of this one named without the prefixed language code are further categories just like this one, but devoted to topics finer than " .. info.label .. "."
elseif item == "છત્રી-શ્રેણીકરણ" then
ret = "સમાંતર"
elseif item == "વર્ણન" then
if labels[info.label] then
ret = labels[info.label].description
if ret and (ret:find("{{{ભાષાનામ}}}") or ret:find("{{{ભાષાશ્રેણી}}}")) then
if not lang then
return nil
end
ret = ret:gsub("{{{ભાષાનામ}}}", lang:getCanonicalName())
ret = ret:gsub("{{{ભાષાશ્રેણી}}}", lang:getCategoryName())
end
else
ret = mw.getCurrentFrame():expandTemplate{title = "વિષય શ્રેણી/" .. info.label, args = {item, code = info.code or "", label = info.label or "", sc = info.sc or "", langname = lang and lang:getCanonicalName() or nil, langcat = lang and lang:getCategoryName() or nil}}
if ret == "" then ret = nil end
end
if ret == "ધોરણ" then
ret = mw.getCurrentFrame():expandTemplate{title = "વિષય શ્રેણી વર્ણન/ધોરણ", args = {item, code = info.code or "", label = info.label or "", sc = info.sc or "", langname = lang and lang:getCanonicalName() or nil, langcat = lang and lang:getCategoryName() or nil}}
elseif ret == "ધોરણ વિષયની જોડે" then
ret = mw.getCurrentFrame():expandTemplate{title = "વિષય શ્રેણી વર્ણન/ધોરણ વિષયની જોડે", args = {item, code = info.code or "", label = info.label or "", sc = info.sc or "", langname = lang and lang:getCanonicalName() or nil, langcat = lang and lang:getCategoryName() or nil}}
end
elseif item == "પૂર્વજ૯" then
if info.label ~= "વિષયોની સુચિ" then
ret = "વિષયોની સુચિ"
end
elseif item == "edit" then
if labels[info.label] then
ret = labels[info.label].edit
else
ret = "ઢાંચો:વિષય શ્રેણી/" .. info.label
end
else
if labels[info.label] then
ret = labels[info.label][item]
if ret and (ret:find("{{{ભાષાનામ}}}") or ret:find("{{{ભાષાશ્રેણી}}}")) then
if not lang then
return nil
end
ret = ret:gsub("{{{ભાષાનામ}}}", lang:getCanonicalName())
ret = ret:gsub("{{{ભાષાશ્રેણી}}}", lang:getCategoryName())
end
else
ret = mw.getCurrentFrame():expandTemplate{title = "વિષય શ્રેણી/" .. info.label, args = {item, code = info.code or "", label = info.label or "", sc = info.sc or "", langname = lang and lang:getCanonicalName() or nil, langcat = lang and lang:getCategoryName() or nil}}
if ret == "" then ret = nil end
end
end
return ret
end
labels["સહુ વિષયો"] = {
description = "This is the root category for all {{{ભાષાનામ}}} terms organized by topics such as \"પ્રાણી\" or \"રસાયણ\".",
parentbyname1 = "{{{ભાષાશ્રેણી}}}",
edit = "Module:શ્રેણી ઝાડ/વિષય શ્રેણી",
}
labels["વિષયોની સુચિ"] = {
description = "All topics currently available in {{{ભાષાનામ}}}.",
parent1 = "સહુ વિષયો",
sortparent1 = "**",
edit = "Module:શ્રેણી ઝાડ/વિષય શ્રેણી",
}
local subpages = {
"શરીર",
"સંસ્કૃતિ",
"પૃથ્વી",
"સજીવ",
"ગણિત",
"નિસર્ગ",
"સ્થાન નામ",
"વિજ્ઞાન",
"સમાજ",
"રમત",
"પ્રૌદ્યોગિકી",
}
for _, subpage in ipairs(subpages) do
for key, data in pairs(require("Module:શ્રેણી ઝાડ/વિષય શ્રેણી/" .. subpage)) do
assert(not labels[key], "પ્રતિકૃતિ લેબલ: " .. key)
data.edit = "Module:શ્રેણી ઝાડ/વિષય શ્રેણી/" .. subpage
labels[key] = data
end
end
return export