<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Acategory_tree%2Fgrammatical_classes</id>
	<title>Module:category tree/grammatical classes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Acategory_tree%2Fgrammatical_classes"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:category_tree/grammatical_classes&amp;action=history"/>
	<updated>2026-04-22T08:46:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:category_tree/grammatical_classes&amp;diff=494674&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:category_tree/grammatical_classes&amp;diff=494674&amp;oldid=prev"/>
		<updated>2026-04-21T11:22:23Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:22, 21 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:category_tree/grammatical_classes&amp;diff=494673&amp;oldid=prev</id>
		<title>wikt&gt;Surjection: Changed protection settings for &quot;Module:category tree/grammatical classes&quot;: Highly visible template/module ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:category_tree/grammatical_classes&amp;diff=494673&amp;oldid=prev"/>
		<updated>2026-04-15T09:16:37Z</updated>

		<summary type="html">&lt;p&gt;Changed protection settings for &amp;quot;&lt;a href=&quot;/wiki/Module:category_tree/grammatical_classes&quot; title=&quot;Module:category tree/grammatical classes&quot;&gt;Module:category tree/grammatical classes&lt;/a&gt;&amp;quot;: Highly visible template/module ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local labels = {}&lt;br /&gt;
local raw_categories = {}&lt;br /&gt;
local handlers = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
--                                                                         --&lt;br /&gt;
--                                  LABELS                                 --&lt;br /&gt;
--                                                                         --&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;terms by grammatical category&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;{{{langname}}} terms categorized by their grammatical category.&amp;quot;,&lt;br /&gt;
	umbrella_parents = &amp;quot;Fundamental&amp;quot;,&lt;br /&gt;
	parents = {{name = &amp;quot;{{{langcat}}}&amp;quot;, raw = true}},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;indeclinable terms&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;Indeclinable {{{langname}}} terms categorized by their part of speech.&amp;quot;,&lt;br /&gt;
	umbrella_parents = &amp;quot;Indeclinable terms subcategories by language&amp;quot;,&lt;br /&gt;
	parents = {{name = &amp;quot;terms by grammatical category&amp;quot;}},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;suppletive terms&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;Suppletive {{{langname}}} terms categorized by their part of speech.&amp;quot;,&lt;br /&gt;
	umbrella_parents = &amp;quot;Suppletion subcategories by language&amp;quot;,&lt;br /&gt;
	parents = {{name = &amp;quot;terms by grammatical category&amp;quot;}},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
------- GENDER -------&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs { &amp;quot;nouns&amp;quot;, &amp;quot;pronouns&amp;quot;, &amp;quot;proper nouns&amp;quot;, &amp;quot;suffixes&amp;quot; } do&lt;br /&gt;
	labels[pos .. &amp;quot; by gender&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; organized by the gender they belong to.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;by gender&amp;quot;,&lt;br /&gt;
		parents = {{name = pos, sort = &amp;quot;gender&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[pos .. &amp;quot; with irregular gender&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; whose ending is not typical for &amp;quot; .. pos .. &amp;quot; of their gender.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;with irregular gender&amp;quot;,&lt;br /&gt;
		parents = {{name = &amp;quot;irregular &amp;quot; .. pos, sort = &amp;quot;irregular gender&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[pos .. &amp;quot; with multiple genders&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that belong to more than one gender.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;with multiple genders&amp;quot;,&lt;br /&gt;
		parents = {{name = pos .. &amp;quot; by gender&amp;quot;, sort = &amp;quot;multiple genders&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;common-gender &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; of {{glossary|common gender}}, i.e. belonging to a gender category that combines the function of {{glossary|masculine}} and {{glossary|feminine}} and is opposed to the {{glossary|neuter}} gender.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;common-gender&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;feminine &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; of {{glossary|feminine}} gender, i.e. belonging to a gender category that contains (among other things) female beings.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;feminine&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;masculine &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; of {{glossary|masculine}} gender, i.e. belonging to a gender category that contains (among other things) male beings.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;masculine&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;masculine and feminine &amp;quot; .. pos .. &amp;quot; by sense&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that may be either {{glossary|masculine}} or {{glossary|feminine}} depending on whether they refer to male or female beings.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;masculine and feminine by sense&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;neuter &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; of {{glossary|neuter}} gender, i.e. belonging to a gender category that does not usually contain male or female beings.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;neuter&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;gender-neutral &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that are applicable to all people, independent of gender.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;gender-neutral&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by gender&amp;quot;, &amp;quot;gender-neutral terms&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs({&amp;quot;adjectives&amp;quot;, &amp;quot;determiners&amp;quot;, &amp;quot;numerals&amp;quot;, &amp;quot;participles&amp;quot;, &amp;quot;suffixes&amp;quot;}) do&lt;br /&gt;
	labels[&amp;quot;epicene &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; whose form is the same for both {{glossary|masculine}} and {{glossary|feminine}}, in languages whose &amp;quot; .. pos .. &amp;quot; normally distinguish gender.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;epicene&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by inflection type&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------- NOUN CLASSES -------&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;nouns by class&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;{{{langname}}} nouns organized by the class they belong to.&amp;quot;,&lt;br /&gt;
	breadcrumb = &amp;quot;by class&amp;quot;,&lt;br /&gt;
	parents = {{name = &amp;quot;nouns&amp;quot;, sort = &amp;quot;class&amp;quot;}},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;alienable nouns&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;{{{langname}}} nouns that are [[w:Inalienable possession|alienably possessed]].&amp;quot;,&lt;br /&gt;
	breadcrumb = &amp;quot;alienable&amp;quot;,&lt;br /&gt;
	parents = {&amp;quot;nouns&amp;quot;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
labels[&amp;quot;inalienable nouns&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;{{{langname}}} nouns that are [[w:Inalienable possession|inalienably possessed]].&amp;quot;,&lt;br /&gt;
	breadcrumb = &amp;quot;inalienable&amp;quot;,&lt;br /&gt;
	parents = {&amp;quot;nouns&amp;quot;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------- ANIMACY -------&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs({&amp;quot;nouns&amp;quot;, &amp;quot;suffixes&amp;quot;, &amp;quot;verbs&amp;quot;}) do&lt;br /&gt;
	labels[&amp;quot;animate &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that refer to humans or animals.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;animate&amp;quot;,&lt;br /&gt;
		parents = {pos},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[&amp;quot;inanimate &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that refer to inanimate objects (not humans or animals).&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;inanimate&amp;quot;,&lt;br /&gt;
		parents = {pos},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[pos .. &amp;quot; with multiple animacies&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that belong to more than one animacy.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;with multiple animacies&amp;quot;,&lt;br /&gt;
		parents = {{name = pos, sort = &amp;quot;multiple animacies&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs({&amp;quot;nouns&amp;quot;, &amp;quot;suffixes&amp;quot;}) do&lt;br /&gt;
	-- This category should be used particularly in languages that have&lt;br /&gt;
	-- grammatical distinctions related to animals, such as Ukrainian.&lt;br /&gt;
	labels[&amp;quot;animal &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that refer to animals.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;animal&amp;quot;,&lt;br /&gt;
		parents = {&amp;quot;animate &amp;quot; .. pos},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- This category should be used particularly in languages that have&lt;br /&gt;
	-- grammatical distinctions related to men, such as Polish.&lt;br /&gt;
	labels[&amp;quot;nonvirile &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} plural &amp;quot; .. pos .. &amp;quot; that refer to a group without male humans.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;nonvirile&amp;quot;,&lt;br /&gt;
		parents = {pos, &amp;quot;pluralia tantum&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[&amp;quot;personal &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that refer to humans.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;personal&amp;quot;,&lt;br /&gt;
		parents = {&amp;quot;animate &amp;quot; .. pos},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- This category should be used particularly in languages that have&lt;br /&gt;
	-- grammatical distinctions related to men, such as Polish.&lt;br /&gt;
	labels[&amp;quot;virile &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} plural &amp;quot; .. pos .. &amp;quot; that refer to a group with at least one male human.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;virile&amp;quot;,&lt;br /&gt;
		parents = {pos, &amp;quot;pluralia tantum&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------- INFLECTED PARTS OF SPEECH -------&lt;br /&gt;
&lt;br /&gt;
-- Add &amp;quot;POS by inflection type&amp;quot;, &amp;quot;irregular POS&amp;quot; and &amp;quot;POS by tone&amp;quot;&lt;br /&gt;
-- categories for (potentially) inflected parts of speech.&lt;br /&gt;
&lt;br /&gt;
local inflected_poses = {&lt;br /&gt;
	&amp;quot;adjectives&amp;quot;,&lt;br /&gt;
	&amp;quot;adverbs&amp;quot;,&lt;br /&gt;
	&amp;quot;determiners&amp;quot;,&lt;br /&gt;
	&amp;quot;nouns&amp;quot;,&lt;br /&gt;
	&amp;quot;numerals&amp;quot;,&lt;br /&gt;
	&amp;quot;participles&amp;quot;,&lt;br /&gt;
	&amp;quot;pronouns&amp;quot;,&lt;br /&gt;
	&amp;quot;proper nouns&amp;quot;,&lt;br /&gt;
	&amp;quot;suffixes&amp;quot;,&lt;br /&gt;
	&amp;quot;verbs&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs(inflected_poses) do&lt;br /&gt;
	labels[pos .. &amp;quot; by inflection type&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; organized by the type of inflection they follow.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;by inflection type&amp;quot;,&lt;br /&gt;
		parents = {{name = pos, sort = &amp;quot;inflection&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;irregular &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that follow non-standard patterns of inflection.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;irregular&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by inflection type&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;defective &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that lack one or more forms in their inflections.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;defective&amp;quot;,&lt;br /&gt;
		parents = {pos, &amp;quot;irregular &amp;quot; .. pos},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	labels[&amp;quot;suppletive &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that have inflected forms from different roots.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;suppletive&amp;quot;,&lt;br /&gt;
		umbrella_parents = &amp;quot;Suppletion subcategories by language&amp;quot;,&lt;br /&gt;
		parents = {&lt;br /&gt;
			&amp;quot;irregular &amp;quot; .. pos,&lt;br /&gt;
			&amp;quot;suppletive terms&amp;quot;,&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if pos ~= &amp;quot;verbs&amp;quot; and pos ~= &amp;quot;adverbs&amp;quot; then&lt;br /&gt;
		labels[&amp;quot;indeclinable &amp;quot; .. pos] = {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that do not display additional grammatical relations by means of declension.&amp;quot;,&lt;br /&gt;
			breadcrumb = &amp;quot;indeclinable&amp;quot;,&lt;br /&gt;
			umbrella_parents = &amp;quot;Indeclinable terms subcategories by language&amp;quot;,&lt;br /&gt;
			parents = {&lt;br /&gt;
				pos .. &amp;quot; by inflection type&amp;quot;,&lt;br /&gt;
				&amp;quot;indeclinable terms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		labels[pos .. &amp;quot; with multiple declensions&amp;quot;] = {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that follow more than one type of inflection.&amp;quot;,&lt;br /&gt;
			breadcrumb = &amp;quot;with multiple declensions&amp;quot;,&lt;br /&gt;
			parents = {{name = pos .. &amp;quot; by inflection type&amp;quot;, sort = &amp;quot;multiple declensions&amp;quot;}},&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		labels[pos .. &amp;quot; with multiple plurals&amp;quot;] = {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that have more than one possible plural (sometimes with distinct meanings).&amp;quot;,&lt;br /&gt;
			breadcrumb = &amp;quot;with multiple plurals&amp;quot;,&lt;br /&gt;
			parents = {{name = pos .. &amp;quot; by inflection type&amp;quot;, sort = &amp;quot;multiple plurals&amp;quot;}},&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	labels[pos .. &amp;quot; by tone&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; organized by the tone they follow.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;by tone&amp;quot;,&lt;br /&gt;
		parents = {{name = pos .. &amp;quot; by inflection type&amp;quot;, sort = &amp;quot;tone&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[pos .. &amp;quot; by vowel harmony&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; organized by the vowel harmony they follow.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;by vowel harmony&amp;quot;,&lt;br /&gt;
		parents = {{name = pos .. &amp;quot; by inflection type&amp;quot;, sort = &amp;quot;vowel harmony&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- FIXME: Only used currently for Arabic; probably should be removed as a general category.&lt;br /&gt;
labels[&amp;quot;irregular elative adjectives&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;{{{langname}}} elative adjectives that follow non-standard patterns of inflection.&amp;quot;,&lt;br /&gt;
	parents = {&amp;quot;adjectives by inflection type&amp;quot;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for _, pos in ipairs { &amp;quot;nouns&amp;quot;, &amp;quot;proper nouns&amp;quot;, &amp;quot;pronouns&amp;quot; } do&lt;br /&gt;
	labels[pos .. &amp;quot; with irregular plurals&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; whose plural is formed irregularly.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;with irregular plurals&amp;quot;,&lt;br /&gt;
		parents = {{name = &amp;quot;irregular &amp;quot; .. pos, sort = &amp;quot;irregular plurals&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	labels[pos .. &amp;quot; with unattested plurals&amp;quot;] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; whose plural is unattested.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;with unattested plurals&amp;quot;,&lt;br /&gt;
		parents = {{name = pos, sort = &amp;quot;unattested plurals&amp;quot;}},&lt;br /&gt;
	}&lt;br /&gt;
	labels[&amp;quot;definite &amp;quot; .. pos] = {&lt;br /&gt;
		description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; that are inherently definite and have definite concord.&amp;quot;,&lt;br /&gt;
		breadcrumb = &amp;quot;definite&amp;quot;,&lt;br /&gt;
		parents = {pos .. &amp;quot; by inflection type&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local labels2 = {}&lt;br /&gt;
&lt;br /&gt;
-- Add &amp;#039;umbrella_parents&amp;#039; key if not already present.&lt;br /&gt;
for key, data in pairs(labels) do&lt;br /&gt;
	labels2[key] = data&lt;br /&gt;
	if not data.umbrella_parents then&lt;br /&gt;
		data.umbrella_parents = &amp;quot;Terms by grammatical category subcategories by language&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
--                                                                         --&lt;br /&gt;
--                              RAW CATEGORIES                             --&lt;br /&gt;
--                                                                         --&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
raw_categories[&amp;quot;Terms by grammatical category subcategories by language&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;Umbrella categories covering topics related to grammatical categories, such as gender, animacy and noun and verb classes.&amp;quot;,&lt;br /&gt;
	additional = &amp;quot;{{{umbrella_meta_msg}}}&amp;quot;,&lt;br /&gt;
	parents = {&lt;br /&gt;
		&amp;quot;Umbrella metacategories&amp;quot;,&lt;br /&gt;
		{name = &amp;quot;terms by grammatical category&amp;quot;, is_label = true, sort = &amp;quot; &amp;quot;},&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
raw_categories[&amp;quot;Indeclinable terms subcategories by language&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;Umbrella categories covering indeclinable terms in specific part-of-speech categories.&amp;quot;,&lt;br /&gt;
	additional = &amp;quot;{{{umbrella_meta_msg}}}&amp;quot;,&lt;br /&gt;
	parents = {&lt;br /&gt;
		&amp;quot;Umbrella metacategories&amp;quot;,&lt;br /&gt;
		&amp;quot;Terms by grammatical category subcategories by language&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
raw_categories[&amp;quot;Suppletion subcategories by language&amp;quot;] = {&lt;br /&gt;
	description = &amp;quot;Umbrella categories covering suppletive terms in specific part-of-speech categories.&amp;quot;,&lt;br /&gt;
	additional = &amp;quot;{{{umbrella_meta_msg}}}&amp;quot;,&lt;br /&gt;
	parents = {&lt;br /&gt;
		&amp;quot;Umbrella metacategories&amp;quot;,&lt;br /&gt;
		&amp;quot;Terms by grammatical category subcategories by language&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
--                                                                         --&lt;br /&gt;
--                                 HANDLERS                                --&lt;br /&gt;
--                                                                         --&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
table.insert(handlers, function(data)&lt;br /&gt;
	local class = data.label:match(&amp;quot;^class (.+) nouns$&amp;quot;)&lt;br /&gt;
	if class then&lt;br /&gt;
		local classnum, suffix = class:match(&amp;quot;^(%d+)(.*)$&amp;quot;)&lt;br /&gt;
		return {&lt;br /&gt;
			description =&lt;br /&gt;
				&amp;quot;{{{langname}}} nouns that belong to class &amp;quot; .. class .. &amp;quot;.&amp;quot;,&lt;br /&gt;
			breadcrumb = {name = class, nocap = true},&lt;br /&gt;
			umbrella = false,&lt;br /&gt;
			parents = {{&lt;br /&gt;
				name = &amp;quot;nouns by class&amp;quot;,&lt;br /&gt;
				sort = classnum and (&amp;quot;#%03d&amp;quot;):format(classnum) .. suffix or class,&lt;br /&gt;
			}},&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&lt;br /&gt;
table.insert(handlers, function(data)&lt;br /&gt;
	local pos, tone = data.label:match(&amp;quot;^(.+) with tone ([^ ]+)$&amp;quot;)&lt;br /&gt;
	if pos then&lt;br /&gt;
		return {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; with tone &amp;quot; .. tone .. &amp;quot;.&amp;quot;,&lt;br /&gt;
			breadcrumb = tone,&lt;br /&gt;
			-- FIXME, should there be an umbrella category e.g. &amp;#039;Adjectives with tone H by language&amp;#039;?&lt;br /&gt;
			umbrella = false,&lt;br /&gt;
			parents = {{&lt;br /&gt;
				name = pos .. &amp;quot; by tone&amp;quot;,&lt;br /&gt;
				sort = &amp;quot;&amp;quot; .. tone:len() .. tone,&lt;br /&gt;
			}},&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&lt;br /&gt;
table.insert(handlers, function(data)&lt;br /&gt;
	local vh, pos = data.label:match(&amp;quot;^(.+)-harmonic ([^ ]+)$&amp;quot;)&lt;br /&gt;
	if pos then&lt;br /&gt;
		return {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; with vowel harmony in &amp;quot; .. vh .. &amp;quot;.&amp;quot;,&lt;br /&gt;
			breadcrumb = vh,&lt;br /&gt;
			umbrella = false,&lt;br /&gt;
			parents = {{&lt;br /&gt;
				name = pos .. &amp;quot; by vowel harmony&amp;quot;,&lt;br /&gt;
				sort = &amp;quot;&amp;quot; .. vh:len() .. vh,&lt;br /&gt;
			}},&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&lt;br /&gt;
table.insert(handlers, function(data)&lt;br /&gt;
	local pos, classifier = data.label:match(&amp;quot;^(nouns) classified by (.+)$&amp;quot;)&lt;br /&gt;
	if pos then&lt;br /&gt;
		local linktext&lt;br /&gt;
		if data.lang then&lt;br /&gt;
			-- Chinese classifiers may take the form TRAD/SIMP. This will cause problems if passed directly to [[Module:links]],&lt;br /&gt;
			-- but the module can accept links of the form TRAD//SIMP and display them correctly.&lt;br /&gt;
			if data.lang:getCode() == &amp;quot;zh&amp;quot; then&lt;br /&gt;
				classifier = classifier:gsub(&amp;quot;/&amp;quot;, &amp;quot;//&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			linktext = require(&amp;quot;Module:links&amp;quot;).full_link({ term = classifier, lang = data.lang }, &amp;quot;term&amp;quot;)&lt;br /&gt;
		else&lt;br /&gt;
			linktext = classifier&lt;br /&gt;
		end&lt;br /&gt;
		return {&lt;br /&gt;
			description = &amp;quot;{{{langname}}} &amp;quot; .. pos .. &amp;quot; using &amp;quot; .. linktext .. &amp;quot; as their classifier.&amp;quot;,&lt;br /&gt;
			breadcrumb = classifier,&lt;br /&gt;
			umbrella = false,&lt;br /&gt;
			parents = {{&lt;br /&gt;
				name = pos .. &amp;quot; by classifier&amp;quot;,&lt;br /&gt;
				sort = (data.lang:makeSortKey(classifier)),&lt;br /&gt;
			}},&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return {LABELS = labels2, RAW_CATEGORIES = raw_categories, HANDLERS = handlers}&lt;/div&gt;</summary>
		<author><name>wikt&gt;Surjection</name></author>
	</entry>
</feed>