Modul:category tree/poscatboiler/data/transliterations

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 labels = {}
local raw_categories = {}
local handlers = {}
local raw_handlers = {}



-----------------------------------------------------------------------------
--                                                                         --
--                                  LABEL                                  --
--                                                                         --
-----------------------------------------------------------------------------


labels["perumian"] = {
	description = "Kata bahasa {{{langname}}} yang ditransliterasikan ke dalam abjad Rumi.",
	parents = {"kata pinjam"},
	umbrella_parents = "Subkategori transliterasi mengikut bahasa",
	-- Palang jadual kandungan khusus perumian khas digunakan di laman perumian
	-- (contoh [[Templat:got-rom-categoryTOC]]) kerana ia memegang kata tulisan Rumi dalam
	-- skema perumian khusus bahasa, daripada kata dalam tulisan biasa bahasa.
	-- Bagi sebab yang sama, kami menentukan catfix = false untuk melumpuhkan pemformatan fon
	-- khusus tulisan.
	toc_template = {"{{{langcode}}}-rom-categoryTOC", "en-categoryTOC"},
	toc_template_full = {"{{{langcode}}}-rom-categoryTOC/full", "{{{langcode}}}-rom-categoryTOC", "en-categoryTOC/full"},
	catfix = false,
}

labels["perumian tanpa masukan utama"] = {
	description = "Perumian bahasa {{{langname}}} tempat masukan sepadan dalam tulisan biasa bahasa tidak wujud. Dimasuk secara automatik mengikut <code>{{[[Templat:perumian|perumian]]}}</code> apabila dapat digunakan.",
	parents = {"senggaraan masukan", {name = "perumian", sort = " "}},
	umbrella_parents = "Subkategori senggaraan masukan mengikut bahasa",
	--See 'romanizations' above.
	toc_template = {"{{{langcode}}}-rom-categoryTOC", "en-categoryTOC"},
	toc_template_full = {"{{{langcode}}}-rom-categoryTOC/full", "{{{langcode}}}-rom-categoryTOC", "en-categoryTOC/full"},
	catfix = false,
	can_be_empty = true,
	hidden = true,
}

labels["perkataan ditransliterasikan daripada bahasa lain"] = {
	description = "Perkataan bahasa {{{langname}}} yang telah ditransliterasikan daripada bahasa lain.",
	parents = {{name = "kata pinjam", sort = " "}},
	umbrella_parents = "Subkategori transliterasi mengikut bahasa",
}



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


raw_categories["Subkategori transliterasi mengikut bahasa"] = {
	description = "Kategori payung meliputi topik yang berkaitan dengan transliterasi.",
	additional = "{{{umbrella_meta_msg}}}",
	parents = {
		"Metakategori payung",
		{name = "Subkategori kata mengikut etimologi mengikut bahasa", sort = " "},
	},
}

raw_categories["Kata dengan transliterasi manual berbeza daripada yang automatik"] = {
	preceding = "{{also|:Kategori:Bahasa dengan transliterasi automatik}}",
	description = "Kategori dengan kata dengan transliterasi manual yang berbeza daripada yang automatik, mengikut bahasa.",
	hidden = true,
	parents = "Kategori:Penjejakan templat",
}

raw_categories["Kata dengan transliterasi lewah"] = {
	preceding = "{{juga|:Kategori:Bahasa dengan transliterasi automatik}}",
	description = "Kategori dengan kata dengan transliterasi lewah, mengikut bahasa.",
	hidden = true,
	parents = "Kategori:Penjejakan templat",
}

raw_categories["Modul transliterasi"] = {
	description = "Modul yang menukar teks secara automatik dalam satu tulisan ke yang lain.",
	additional = "Kebanyakannya menukar tulisan bukan Rumi ke Rumi (perumian), dan digunakan mengikut templat atau modul untuk menjana transliterasi teks yang ditanda dengan bahasa tertentu. Setiap modul transliterasi bahasa ditentukn dalam jadual datanya (yang mana, lihat kategori {{catlink|Modul data bahasa}}).",
	parents = {{name = "Modul", sort = "transliterasi"}},
}



-----------------------------------------------------------------------------
--                                                                         --
--                                 PENGENDALI                              --
--                                                                         --
-----------------------------------------------------------------------------


table.insert(handlers, function(data)
	local source_name = data.label:match("^transliterasi perkataan bahasa (.+)$")
	if source_name then
		local source = require("Module:languages").getByCanonicalName(source_name, true,
			"allow etym langs")
		local source_desc = source:makeCategoryLink()
		return {
			description = "Kata bahasa {{{langname}}} yang telah ditransliterasikan daripada " .. source_desc .. ".",
			breadcrumb = source_name,
			parents = {
				{ name = "Perkataan ditransliterasikan daripada bahasa lain", sort = source_name },
				{ name = "Perkataan dipinjam daripada bahasa " .. source_name, sort = " "},
			},
			umbrella = {
				no_by_language = true,
				parents = {
					{ name = "Perkataan dipinjam daripada bahasa " .. source_name, is_label = true, sort = " " }
				}
			},
		}
	end
end)



-----------------------------------------------------------------------------
--                                                                         --
--                                PENGENDALI MENTAH                        --
--                                                                         --
-----------------------------------------------------------------------------


table.insert(raw_handlers, function(data)
	local langcode = data.category:match("^Perkataan dengan transliterasi manual yang berbeza daripada yang automatik/(.+)$")
	if langcode then
		return {
			description = "Perkataan bahasa {{{langname}}} dengan transliterasi manual yang berbeza daripada yang automatik.",
			lang = langcode,
			breadcrumb = "{{{langname}}}",
			parents = {
				{ name = "Perkataan dengan transliterasi manual yang berbeza daripada yang automatik", sort = langcode },
				{ name = "penyelenggaraan entri", is_label = true, lang = langcode },
			},
			-- Set catfix = false because the page will have a mixture of native-language and
			-- non-native-language pages, but include the normal native-language table of contents headers
			-- because most pages are in the native language.
			catfix = false,
			toc_template = "{{{langcode}}}-categoryTOC",
			toc_template_full = "{{{langcode}}}-categoryTOC/full",
			can_be_empty = true,
			hidden = true,
		}
	end
end)

table.insert(raw_handlers, function(data)
	local langcode = data.category:match("^Perkataan dengan transliterasi lewah/(.+)$")
	if langcode then
		return {
			description = "Perkataan bahasa {{{langname}}} dengan transliterasi lewah.",
			lang = langcode,
			breadcrumb = "{{{langname}}}",
			parents = {
				{ name = "Perkataan dengan transliterasi lewah", sort = langcode },
				{ name = "senggaraan masukan", is_label = true, lang = langcode },
			},
			-- Set catfix = false because the page will have a mixture of native-language and
			-- non-native-language pages, but include the normal native-language table of contents headers
			-- because most pages are in the native language.
			catfix = false,
			toc_template = "{{{langcode}}}-categoryTOC",
			toc_template_full = "{{{langcode}}}-categoryTOC/full",
			can_be_empty = true,
			hidden = true,
		}
	end
end)

table.insert(raw_handlers, function(data)
	local count, languages = data.category:match("^Modul transliterasi digunakan oleh ([0-9]+) (languages?)$")
	if count then
		return {
			description = data.category .. ".",
			breadcrumb = "digunakan oleh " .. count .. " " .. languages,
			parents = {
				{ name = "Modul transliterasi", sort = count },
			},
		}
	end
end)


return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers, RAW_HANDLERS = raw_handlers}