Модуль:zh-cat

Wiktionary дан

Бул модулда жумуш кылат Template:zh-cat.


local export = {}

local m_zh = require("Module:zh")

local conventional_names = {
	['Beginning'] = 'Башында мандарин',
	['Elementary'] = 'Башталгыч мандарин',
	['Intermediate'] = 'Ортодогу мандарин',
	['Advanced'] = 'Алдыга кеткен мандарин',
	['Antonymous'] = 'Кытай антоним бирикмелер',
	['variant'] = 'Кытай баштайт түрлөрү',
	['simplified'] = 'Кытай жөнөкөйлөтүлгөн түрлөрү',
	['obsolete'] = 'Кытай эскирген шарттары',
	['wasei kango'] = 'Wasei kango',
	['twice-borrowed'] = 'Кытай эки-тартылган шарттары',
	['TCM'] = 'zh:Салттуу кытай медицинасы',
}

function export.generateClsLink(text, doNotUsePagename)
	local trad = doNotUsePagename and text or mw.title.getCurrentTitle().text
	local simp = m_zh.ts(trad)
	return 'Category:Класси кытай тили ' .. (trad ~= simp and (trad .. "/" .. simp) or trad)
end
	
function export.categorize(frame)
	local args = type(frame) == 'table' and frame:getParent().args or { frame }
	PAGENAME = mw.title.getCurrentTitle().text
	sortkey = m_zh.skeys(PAGENAME) .. PAGENAME
	local text = ''
	for _, cat in ipairs(args) do
		if mw.ustring.match(cat, "Classifier") then
			local parts = mw.text.split(cat, ":")
			text = text .. '[[' .. export.generateClsLink(parts[2], true) .. '|' .. sortkey .. ']]'
		
		elseif conventional_names[cat] then
			text = text .. '[[Category:' .. conventional_names[cat] .. '|' .. sortkey .. ']]'
		else
			text = text .. "[[Category: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]
	return "Аркылуу кытай тили " .. m_zh.link(frame, nil, { character, tr = "-" }, character) ..
		" алардын жиктегичи эле.\n[[Category:Жиктегичи кытай тили]]"
end

return export