Modul:category tree/poscatboiler/data/unicode

Submodul data ini mentakrifkan sebahagian daripada struktur kategori Wikikamus.

Untuk pengenalan kepada sistem poscatboiler dan penerangan tentang cara menambah atau mengubah suai kategori, lihat Modul:category tree/poscatboiler/data/doc.


local raw_categories = {}
local raw_handlers = {}



-----------------------------------------------------------------------------
--                                                                         --
--                              KATEGORI MENTAH                            --
--                                                                         --
-----------------------------------------------------------------------------


raw_categories["Blok Unicode"] = {
	intro = "{{shortcut|CAT:UC}}",
	description = "Kategori dengan blok aksara Unicode tertentu.",
	parents = {
		"Asas",
		"Kategori:Lampiran",
	},
}

raw_categories["Blok Unicode mengikut bilangan masukan"] = {
	description = "Categories that group blocks of Unicode characters by the number of characters in those blocks.",
	parents = {
		{name = "Blok Unicode", sort = " "},
	},
}

for _, block in ipairs({
	{num = "0", desc = "tiada lain", sort = "*000"},
	{num = "1–10", desc = "1 hingga 10", sort = "*001"},
	{num = "11–50", desc = "11 hingga 50", sort = "*011"},
	{num = "51–100", desc = "51 hingga 100", sort = "*051"},
	{num = "101+", desc = "sekurang-kurangnya 101", sort = "*101"},
}) do
raw_categories["Blok Unicode dengan " .. block.num .. " masukan"] = {
	description = "Blok Unicode yang mengandungi 1 lampiran + " .. block.desc .. " masukan.",
	parents = {{name = "Blok Unicode mengikut bilangan masukan", sort = block.sort}},
	breadcrumb = block.num,
}
end



-----------------------------------------------------------------------------
--                                                                         --
--                                PENGELOLA MENTAH                         --
--                                                                         --
-----------------------------------------------------------------------------


table.insert(raw_handlers, function(data)
	local block = data.category:match("^(.*) block$")
	if block then
		local pages_in_category = mw.site.stats.pagesInCategory(mw.title.getCurrentTitle().text, "pages")
		local entry_bucket
		-- Sekurang-kurangnya 1 laman ialah lampiran bagi blok Unicode yang sekarang.
		if pages_in_category == 1 then
			entry_bucket = "0"
		elseif pages_in_category <= 11 then
			entry_bucket = "1–10"
		elseif pages_in_category <= 51 then
			entry_bucket = "11–50"
		elseif pages_in_category <= 101 then
			entry_bucket = "51–100"
		else
			entry_bucket = "101+"
		end
		return {
			description = "Masukan bagi aksara dalam blok '''[[Lampiran:Unicode/" .. block .. "|" .. block .. "]]''', " ..
			"seperti yang dikategorikan mengikut kotak aksara.",
			additional = "Beberapa masukan boleh mentakrifkan aksara daripada pelbagai titik kod Unicode sekali gus, agar tajuk laman " ..
			"moleh menjadi masukan yang bukan dari blok ini.",
			breadcrumb = block,
			parents = {
				"Blok Unicode",
				"Blok Unicode dengan " .. entry_bucket .. " masukan",
			},
		}
	end
end)


return {RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}