Модул:zh-cat

Документацију овог модула можете да направите на страници Модул:zh-cat/док

local export = {}

local m_zh = require("Модул:zh")
local m_data = require("Модул:zh-cat/data")

function export.generateClsLink(text, doNotUsePagename)
	local trad = doNotUsePagename and text or mw.title.getCurrentTitle().text
	local simp = m_zh.ts(trad)
	return "Категорија:Кинески именице класификоване по " .. (trad ~= simp and (trad .. "/" .. simp) or trad)
end
	
function export.categorize(frame)
	local args = type(frame) == "table" and frame:getParent().args or { frame }
	local PAGENAME = mw.title.getCurrentTitle().text
	local sortkey = require("Модул:zh-sortkey").makeSortKey(PAGENAME)
	local text = ""
	for _, cat in ipairs(args) do
		if mw.ustring.match(cat, "Класификатор") then
			local parts = mw.text.split(cat, ":")
			text = text .. "[[" .. export.generateClsLink(parts[2], true) .. "|" .. sortkey .. "]]"
		
		elseif m_data.conventional_names[mw.ustring.lower(cat)] then
			text = text .. "[[Категорија:" .. m_data.conventional_names[mw.ustring.lower(cat)] .. "|" .. sortkey .. "]]"
		else
			text = text .. "[[Категорија:zh:" .. cat .. "|" .. sortkey .. "]]"
		end
	end
	return (mw.title.getCurrentTitle().nsText == "" and text or "")
end

function export.clsCat(frame)
	local PAGENAME = mw.title.getCurrentTitle().text
	local part = mw.text.split(PAGENAME, " ")
	local character = part[#part]
	local sortkey = require("Модул:zh-sortkey").makeSortKey(character)
	return "Кинески именице using " .. require("Модул:zh/link").link(frame, nil, { character, tr = "-" }, character) ..
		" as their classifier.\n[[Категорија:Кинески именице по класификатору|" .. sortkey .. "]]"
end

return export