Pergi ke kandungan

Modul:category tree/transliterations

Daripada Wikikamus

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/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["Perkataan dengan transliterasi lewah"] = {
	preceding = "{{juga|:Kategori:Bahasa dengan transliterasi automatik}}",
	description = "Kategori dengan perkataan dengan transliterasi lewah, mengikut bahasa.",
	hidden = true,
	parents = "Kategori:Penjejakan templat",
}



-----------------------------------------------------------------------------
--                                                                         --
--                                 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 = data.category:match("^Modul transliterasi digunakan oleh ([0-9]+) bahasa$")
	if count then
		return {
			description = data.category .. ".",
			breadcrumb = "digunakan oleh " .. count .. " bahasa",
			parents = {
				{ name = "Modul transliterasi", sort = count },
			},
		}
	end
end)


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