มอดูล:category tree/poscatboiler/data/ศัพท์แบ่งตามสมบัติ

This data submodule defines part of Wiktionary's category structure.

For an introduction to the poscatboiler system and a description of how to add or modify categories, see Module:category tree/poscatboiler/data/documentation.


local labels = {}
local raw_categories = {}
local handlers = {}



-----------------------------------------------------------------------------
--                                                                         --
--                                  LABELS                                 --
--                                                                         --
-----------------------------------------------------------------------------


labels["ศัพท์แบ่งตามสมบัติ"] = {
	description = "ศัพท์{{{langcat}}} categorized by properties relating to spelling, pronunciation or meaning.",
	umbrella_parents = "มูลฐาน",
	parents = {{name = "{{{langcat}}}", raw = true}},
}
labels["terms by lexical property"] = labels["ศัพท์แบ่งตามสมบัติ"]

labels["autohyponyms"] = {
	description = "{{{langname}}} terms that have at least two meanings, one of which is a hyponym of the other.",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}

-- ใช้ ตัวอักษร เพื่อให้เข้ากับ x-letter words
labels["การนับตัวอักษร"] = {
	description = "ศัพท์{{{langcat}}} categorized by their quantities of characters.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["character counts"] = labels["การนับตัวอักษร"]

labels["contranyms"] = {
	description = "ศัพท์{{{langcat}}} that have two opposite meanings.",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}

labels["double negatives"] = {
	description = "{{{langname}}} terms which include a [[double negative]], either etymologically or in a definition.",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}

labels["heteronyms"] = {
	description = "ศัพท์{{{langcat}}} that have different meanings depending on how they are pronounced.",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}

labels["nuqtaless forms"] = {
	description = "{{{langname}}} terms that are spelled without a [[nuqta]].",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["พาลินโดรม"] = {
	description = "ศัพท์{{{langcat}}} whose characters are read equally both from left to right and vice versa, normally ignoring spaces, [[diacritic]]s and punctuation.",
	parents = {"ศัพท์แบ่งตามลำดับตัวอักษร"},
}
labels["palindromes"] = labels["พาลินโดรม"]

labels["pleonastic compounds"] = {
	description = "{{{langname}}} compound terms where the head is a hyponym of its other part and whose other part is its synonym.",
	parents = {"ศัพท์แบ่งตามสมบัติ", "compound terms"},
}

labels["pleonastic compound adjectives"] = {
	description = "{{{langname}}} compound adjectives where the head is a hyponym of its other part and whose other part is its synonym.",
	parents = {"pleonastic compounds", "compound adjectives"},
}

labels["pleonastic compound nouns"] = {
	description = "{{{langname}}} compound nouns where the head is a hyponym of its other part and where the head is the synonym for the whole.",
	parents = {"pleonastic compounds", "compound nouns"},
}

labels["pronunciation spellings"] = {
	description = "{{{langname}}} terms spelled to represent a pronunciation, often a nonstandard one.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["tautophrases"] = {
	description = "{{{langname}}} phrases that repeat the same idea or concept using the same words.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"] = {
	description = "ศัพท์{{{langcat}}} categorized by properties relating to [[orthography]] or [[spelling]].",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}
labels["terms by orthographic property"] = labels["ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"]

labels["calculator words"] = {
	description = "{{{langname}}} terms that can be spelled on a [[seven-segment]] display, as found on pocket calculators, by turning numbers upside-down.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["ศัพท์แบ่งตามจำนวนพยางค์"] = {
	description = "{{{langname}}} words categorized by number of syllables.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงหน่วยเสียง"},
}
labels["words by number of syllables"] = labels["ศัพท์แบ่งตามจำนวนพยางค์"]

labels["ศัพท์แบ่งตามตัวอักษรเฉพาะตัว"] = {
	description = "ศัพท์{{{langcat}}} categorized by whether they include certain individual characters.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms by their individual characters"] = labels["ศัพท์แบ่งตามตัวอักษรเฉพาะตัว"]

labels["ศัพท์แบ่งตามลำดับตัวอักษร"] = {
	description = "ศัพท์{{{langcat}}} categorized by whether they include certain sequences of characters.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms by their sequences of characters"] = labels["ศัพท์แบ่งตามลำดับตัวอักษร"]

labels["ศัพท์ที่มีตัวอักษรเดิมติดกัน"] = {
	description = "{{{langname}}} words categorized by the number of consecutive instances of the same letter they contain.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms with consecutive instances of the same letter"] = labels["ศัพท์ที่มีตัวอักษรเดิมติดกัน"]

labels["terms containing italics"] = {
	description = "{{{langname}}} terms containing [[italics]].",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["ศัพท์ที่มีเลขโรมัน"] = {
	description = "{{{langname}}} terms containing Roman numerals.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms containing Roman numerals"] = labels["ศัพท์ที่มีเลขโรมัน"]

labels["terms with mixed convergence"] = {
	description = "{{{langname}}} terms where the spelling represents a variant pronunciation that differs from (one of) the current standard pronunciation(s).",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี", "ศัพท์แบ่งตามสมบัติเชิงหน่วยเสียง"},
}

labels["ศัพท์ที่มีคำพ้องเสียง"] = {
	description = "ศัพท์{{{langcat}}} that have one or more [[homophones]]; other terms that are pronounced equally but spelled differently.",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}
labels["terms with homophones"] = labels["ศัพท์ที่มีคำพ้องเสียง"]

labels["terms where the adjective follows the noun"] = {
	description = "{{{langname}}} terms where the adjective follows the noun. These adjectives within these terms are sometimes referred to as postpositive or postnominal adjectives.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}

labels["ศัพท์ที่เขียนด้วยอักษรแปลกปลอม"] = {
	description = "ศัพท์{{{langcat}}} that are written in a different, non-native script.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms written in foreign scripts"] = labels["ศัพท์ที่เขียนด้วยอักษรแปลกปลอม"]

labels["ศัพท์ที่เขียนด้วยอักษรหลายชนิด"] = {
	description = "ศัพท์{{{langcat}}} that are written using more than one script.",
	parents = {"ศัพท์แบ่งตามสมบัติเชิงอักขรวิธี"},
}
labels["terms written in multiple scripts"] = labels["ศัพท์ที่เขียนด้วยอักษรหลายชนิด"]

labels["ศัพท์ที่มีตัวอักษร 1 ตัว"] = {
	description = "{{{langname}}} individual words consisting of exactly one letter. They have meaning(s) other than their letter or the shape of their letter which are not abbreviations, names, numbers or symbols.",
	parents = {name = "การนับตัวอักษร", sort = "1"},
}
labels["one-letter words"] = labels["ศัพท์ที่มีตัวอักษร 1 ตัว"]

labels["ศัพท์ที่มีตัวอักษร 2 ตัว"] = {
	description = "{{{langname}}} individual words composed of exactly two letters. They have meaning(s) beyond their component letters that are neither names nor abbreviations.",
	parents = {name = "การนับตัวอักษร", sort = "2"},
}
labels["two-letter words"] = labels["ศัพท์ที่มีตัวอักษร 2 ตัว"]

labels["ศัพท์ที่มีตัวอักษร 3 ตัว"] = {
	description = "{{{langname}}} individual words composed of exactly three letters. They have meaning(s) beyond their component letters that are neither names nor abbreviations.",
	parents = {name = "การนับตัวอักษร", sort = "3"},
}
labels["three-letter words"] = labels["ศัพท์ที่มีตัวอักษร 3 ตัว"]

labels["two-letter abbreviations"] = {
	description = "{{{langname}}} abbreviations composed of exactly two letters.",
	parents = {name = "การนับตัวอักษร", sort = "2"},
}

labels["three-letter abbreviations"] = {
	description = "{{{langname}}} abbreviations composed of exactly three letters.",
	parents = {name = "การนับตัวอักษร", sort = "3"},
}

labels["four-letter abbreviations"] = {
	description = "{{{langname}}} abbreviations composed of exactly four letters.",
	parents = {name = "การนับตัวอักษร", sort = "4"},
}

labels["five-letter abbreviations"] = {
	description = "{{{langname}}} abbreviations composed of exactly five letters.",
	parents = {name = "การนับตัวอักษร", sort = "5"},
}

labels["ศัพท์แบ่งตามสมบัติเชิงหน่วยเสียง"] = {
	description = "ศัพท์{{{langcat}}} categorized by properties relating to [[pronunciation]] and [[phonemics]].",
	parents = {"ศัพท์แบ่งตามสมบัติ"},
}
labels["terms by phonemic property"] = labels["ศัพท์แบ่งตามสมบัติเชิงหน่วยเสียง"]


-- Add 'umbrella_parents' key if not already present.
for key, data in pairs(labels) do
	if not data.umbrella_parents then
		data.umbrella_parents = "หมวดหมู่ย่อยของศัพท์แบ่งตามสมบัติแบ่งตามภาษา"
	end
end


-----------------------------------------------------------------------------
--                                                                         --
--                              RAW CATEGORIES                             --
--                                                                         --
-----------------------------------------------------------------------------


raw_categories["หมวดหมู่ย่อยของศัพท์แบ่งตามสมบัติแบ่งตามภาษา"] = {
	description = "Umbrella categories covering topics related to terms categorized by their lexical properties, such as palindromes and number of letters or syllables in a word.",
	additional = "{{{umbrella_meta_msg}}}",
	parents = {
		"หมวดหมู่ใหญ่รวมหัวข้อ",
		{name = "ศัพท์แบ่งตามสมบัติ", is_label = true, sort = " "},
	},
}

raw_categories["หมวดหมู่ย่อยของศัพท์แบ่งตามจำนวนพยางค์แบ่งตามภาษา"] = {
	description = "Umbrella categories covering topics related to words categorized by their number of syllables.",
	additional = "{{{umbrella_meta_msg}}}",
	parents = {
		"หมวดหมู่ใหญ่รวมหัวข้อ",
		{name = "ศัพท์แบ่งตามจำนวนพยางค์", is_label = true, sort = " "},
	},
}

raw_categories["หมวดหมู่ย่อยของศัพท์ที่มีตัวอักษรเดิมติดกันแบ่งตามภาษา"] = {
	description = "Umbrella categories covering topics related to terms categorized by the number of consecutive instances of the same letter they contain.",
	additional = "{{{umbrella_meta_msg}}}",
	parents = {
		"หมวดหมู่ใหญ่รวมหัวข้อ",
		{name = "ศัพท์ที่มีตัวอักษรเดิมติดกัน", is_label = true, sort = " "},
	},
}


-----------------------------------------------------------------------------
--                                                                         --
--                                 HANDLERS                                --
--                                                                         --
-----------------------------------------------------------------------------


table.insert(handlers, function(data)
	local number = data.label:match("^ศัพท์ที่มี ([1-9][0-9]*) พยางค์$")
	if number then
		return {
			description = "{{{langname}}} words that are pronounced in " .. number .. " syllable" .. (number == "1" and "" or "s") .. ".",
			breadcrumb = number,
			umbrella_parents = "หมวดหมู่ย่อยของศัพท์แบ่งตามจำนวนพยางค์แบ่งตามภาษา",
			parents = {{
				name = "ศัพท์แบ่งตามจำนวนพยางค์",
				sort = ("#%02d"):format(number),
			}},
		}
	end
end)

table.insert(handlers, function(data)
	local number = data.label:match("^ศัพท์ที่มีตัวอักษรเดิมติดกัน ([1-9][0-9]*) ตัว$")
	if number then
		return {
			description = "{{{langname}}} terms containing " .. number .. " consecutive instances of the same letter.",
			breadcrumb = number,
			umbrella_parents = "หมวดหมู่ย่อยของศัพท์ที่มีตัวอักษรเดิมติดกันแบ่งตามภาษา",
			parents = {{
				name = "ศัพท์ที่มีตัวอักษรเดิมติดกัน",
				sort = ("#%02d"):format(number),
			}},
		}
	end
end)


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