<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguages%2Fdoc</id>
	<title>Module:Languages/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://yezur.xyz/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALanguages%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Languages/doc&amp;action=history"/>
	<updated>2026-08-28T16:59:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://yezur.xyz/w/index.php?title=Module:Languages/doc&amp;diff=13126&amp;oldid=prev</id>
		<title>Thiorosan: Create the documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://yezur.xyz/w/index.php?title=Module:Languages/doc&amp;diff=13126&amp;oldid=prev"/>
		<updated>2026-08-27T12:19:51Z</updated>

		<summary type="html">&lt;p&gt;Create the documentation subpage&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is the documentation for [[Module:Languages]], the language-code registry for the Yezur wiki. It maps a registry code — the &amp;lt;code&amp;gt;code&amp;lt;/code&amp;gt; field of [[Template:Infobox language]] — onto a language&amp;#039;s display name, its Dictionary section, its family and whether it is reconstructed, and it is the single place those are recorded. Wikitext reaches it through &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|…}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, in [[Template:D]], [[Template:L]], [[Template:M]], [[Template:Desc]], [[Template:Head]] and [[Template:Etym-missing]]; [[Module:Head]], [[Module:Labels]] and [[Module:Translations]] &amp;lt;code&amp;gt;require&amp;lt;/code&amp;gt; the module and reach entries through its exported &amp;lt;code&amp;gt;_get&amp;lt;/code&amp;gt;, the registry table itself being local to the module.&lt;br /&gt;
&lt;br /&gt;
Codes take the form &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;, a family letter, an era letter, a hyphen and a two-letter tag for the language, as in &amp;lt;code&amp;gt;YAQ-HE&amp;lt;/code&amp;gt; for Ancient Hertic. The second letter is the family — &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; [[Herta-Olaic]], &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; [[Njeshan]], &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; [[Andusian]], &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; [[Tacchoan]], &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; [[Shung-Worrehan]] (no code registered under it yet), &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; isolate — and the third the era, &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; proto, &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; ancient, &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; medieval, &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; modern, so that alphabetical order of codes is chronological order of languages. [[Module:Translations]] reads those two letters off the code itself to order its rows: families fall in letter order, isolates last, and within a family the older stages first.&lt;br /&gt;
&lt;br /&gt;
== Registry fields ==&lt;br /&gt;
&lt;br /&gt;
Each entry in the table is keyed by its code and carries:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; || The display name. Shown by [[Template:Desc]] and as the row label of a translations box, stored in the &amp;lt;code&amp;gt;langname&amp;lt;/code&amp;gt; field of the &amp;lt;code&amp;gt;Lexemes&amp;lt;/code&amp;gt; row by [[Template:Head]], and used by [[Module:Head]], [[Module:Labels]] and [[Template:Etym-missing]] to build category names such as &amp;lt;code&amp;gt;Category:Pjany lemmas&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Category:Gaillean entries needing etymology&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;section&amp;lt;/code&amp;gt; || The level-2 heading the language&amp;#039;s entries file under in the Dictionary, and so the anchor every generated link points at. It differs from &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; where two forms of one language share a section: &amp;lt;code&amp;gt;YXS-NE&amp;lt;/code&amp;gt; New English files under &amp;lt;code&amp;gt;English&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;recon&amp;lt;/code&amp;gt; || Set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; for a reconstructed language. Its forms are rendered with a leading &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; in headwords, links and mentions; the page title itself carries no asterisk.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;family&amp;lt;/code&amp;gt; || The macro-family, used by [[Module:Translations]] to group a translations box. Isolates carry no &amp;lt;code&amp;gt;family&amp;lt;/code&amp;gt; and are gathered under &amp;#039;&amp;#039;Isolates&amp;#039;&amp;#039; at the end of the box.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entry points ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Call !! Backs !! Result&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|name|CODE}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || [[Template:Head]], [[Template:Etym-missing]] || The display name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|section|CODE}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || — || The Dictionary section heading.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|dlink|word|code|label}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || [[Template:D]] || A link to &amp;lt;code&amp;gt;Dictionary:&amp;#039;&amp;#039;word&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; anchored at the language&amp;#039;s section. Word first.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|link|code|word|label}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || [[Template:L]] || The same link, code first, for lists of synonyms and derived terms.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|mention|code|word|label}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || [[Template:M]] || The same link italicised, for mentions in running prose.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Languages|desc|code|word|label}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || [[Template:Desc]] || The display name, a colon, then the link — a Descendants-section line.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The last parameter of the four link-building calls is optional display text, defaulting to the word; a parameter left blank counts as absent. Codes and words are trimmed, and codes are matched without regard to case. Given no word, &amp;lt;code&amp;gt;dlink&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mention&amp;lt;/code&amp;gt; return an empty string and &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt; returns the display name alone.&lt;br /&gt;
&lt;br /&gt;
An unrecognised or omitted code is not an error. &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;section&amp;lt;/code&amp;gt; return an empty string, &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt; falls back to printing the code itself as the name, and the link calls still emit a link — to the top of the Dictionary page, with no section anchor and no reconstruction asterisk. [[Template:Translations]] is the exception: it renders unknown codes visibly as errors rather than passing them through.&lt;br /&gt;
&lt;br /&gt;
Two functions are exported for other modules rather than for wikitext. &amp;lt;code&amp;gt;_get(code)&amp;lt;/code&amp;gt; returns the registry entry for a code, or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;_build_link(word, entry, display)&amp;lt;/code&amp;gt; builds the anchored, starred Dictionary link from an entry.&lt;br /&gt;
&lt;br /&gt;
Because the display names live here, renaming a language is a one-line edit to the registry rather than a sweep of every page that mentions it. The table has to be kept in step with the &amp;lt;code&amp;gt;code&amp;lt;/code&amp;gt; fields of [[Template:Infobox language]] and with the tables at [[List of languages]], which catalogue the codes in use; a language absent from the registry is invisible to the dictionary templates, which fall back to unanchored links. See [[Yezur Wiki:Dictionary structure]].&lt;/div&gt;</summary>
		<author><name>Thiorosan</name></author>
	</entry>
</feed>