မဝ်ဂျူ:category tree/poscatboiler/data/transliterations
မံက်ပြာကတ်
Documentation for this module may be created at မဝ်ဂျူ:category tree/poscatboiler/data/transliterations/doc
local labels = {}
local raw_categories = {}
local handlers = {}
local raw_handlers = {}
-----------------------------------------------------------------------------
-- --
-- LABELS --
-- --
-----------------------------------------------------------------------------
labels["romanizations"] = {
description = "{{{langname}}} terms transliterated into the Latin alphabet.",
parents = {"borrowed terms"},
umbrella_parents = "Transliterations subcategories by language",
-- Special romanization-specific table-of-contents bars are used on romanization pages
-- (e.g. [[Template:got-rom-categoryTOC]]) because they hold Latin-script terms in a
-- language-specific romanization scheme, rather than terms in the language's normal script.
-- For the same reason, we specify catfix = false to disable script-specific font
-- formatting.
toc_template = {"{{{langcode}}}-rom-categoryTOC", "en-categoryTOC"},
toc_template_full = {"{{{langcode}}}-rom-categoryTOC/full", "{{{langcode}}}-rom-categoryTOC", "en-categoryTOC/full"},
catfix = false,
}
labels["romanizations without a main entry"] = {
description = "{{{langname}}} romanizations where the corresponding entry in the language's normal script does not exist. Automatically added by <code>{{[[Template:romanization of|romanization of]]}}</code> when applicable.",
parents = {"entry maintenance", {name = "romanizations", sort = " "}},
umbrella_parents = "Entry maintenance subcategories by language",
--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["terms transliterated from other languages"] = {
description = "{{{langname}}} terms that have been transliterated from other languages.",
parents = {{name = "borrowed terms", sort = " "}},
umbrella_parents = "Transliterations subcategories by language",
}
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["Transliterations subcategories by language"] = {
description = "Umbrella categories covering topics related to transliterations.",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"Umbrella metacategories",
{name = "Terms by etymology subcategories by language", sort = " "},
},
}
raw_categories["Terms with manual transliterations different from the automated ones"] = {
intro = "{{also|:Category:Languages with automatic transliteration}}",
description = "Categories with terms with manual transliterations different from the automated ones, by language.",
hidden = true,
parents = "Category:Template tracking",
}
raw_categories["Terms with redundant transliterations"] = {
intro = "{{also|:Category:Languages with automatic transliteration}}",
description = "Categories with terms with redundant transliteration, by language.",
hidden = true,
parents = "Category:Template tracking",
}
raw_categories["Transliteration modules"] = {
description = "Modules that automatically convert text in one script to another.",
additional = "Most of them convert non-Latin scripts to Latin (romanisation), and are used by templates or modules to generate transliteration of text that is tagged with a particular language. Each language's transliteration module is specified in its data table (for which, see the category {{catlink|Language data modules}}).",
parents = {{name = "Modules", sort = "transliteration"}},
}
-----------------------------------------------------------------------------
-- --
-- HANDLERS --
-- --
-----------------------------------------------------------------------------
table.insert(handlers, function(data)
local source_name = data.label:match("^transliterations of (.+) terms$")
if source_name then
local source = require("Module:languages").getByCanonicalName(source_name, true,
"allow etym langs")
local source_desc = source:makeCategoryLink()
return {
description = "{{{langname}}} terms that have been transliterated from " .. source_desc .. ".",
breadcrumb = source_name,
parents = {
{ name = "terms transliterated from other languages", sort = source_name },
{ name = "terms borrowed from " .. source_name, sort = " "},
},
umbrella = {
no_by_language = true,
parents = {
{ name = "terms borrowed from " .. source_name, is_label = true, sort = " " }
}
},
}
end
end)
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
table.insert(raw_handlers, function(data)
local langcode = data.category:match("^Terms with manual transliterations different from the automated ones/(.+)$")
if langcode then
return {
description = "{{{langname}}} terms with manual transliterations different from the automated ones.",
lang = langcode,
breadcrumb = "{{{langname}}}",
parents = {
{ name = "Terms with manual transliterations different from the automated ones", sort = langcode },
{ name = "entry maintenance", 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("^Terms with redundant transliterations/(.+)$")
if langcode then
return {
description = "{{{langname}}} terms with redundant transliterations.",
lang = langcode,
breadcrumb = "{{{langname}}}",
parents = {
{ name = "Terms with redundant transliterations", sort = langcode },
{ name = "entry maintenance", 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("^Transliteration modules used by ([0-9]+) (languages?)$")
if count then
return {
description = data.category .. ".",
breadcrumb = "used by " .. count .. " " .. languages,
parents = {
{ name = "Transliteration modules", sort = count },
},
}
end
end)
return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers, RAW_HANDLERS = raw_handlers}