<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tes5.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3ALabels</id>
	<title>Module:Labels - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tes5.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3ALabels"/>
	<link rel="alternate" type="text/html" href="https://tes5.st34an.tech/index.php?title=Module:Labels&amp;action=history"/>
	<updated>2026-04-17T17:20:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://tes5.st34an.tech/index.php?title=Module:Labels&amp;diff=3177&amp;oldid=prev</id>
		<title>imported&gt;Juelos: Text replacement - &quot;(\[\[)w:(.+?\|.+?\]\])&quot; to &quot;\1Wikipedia:\2&quot;</title>
		<link rel="alternate" type="text/html" href="https://tes5.st34an.tech/index.php?title=Module:Labels&amp;diff=3177&amp;oldid=prev"/>
		<updated>2024-08-30T12:45:11Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;(\[\[)w:(.+?\|.+?\]\])&amp;quot; to &amp;quot;\1Wikipedia:\2&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local m_labeldata = mw.loadData(&amp;quot;Module:labels/data&amp;quot;)&lt;br /&gt;
local m_utilities = require(&amp;quot;Module:utilities&amp;quot;)&lt;br /&gt;
local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
local function show_categories(data, lang, script, sort_key, script2, sort_key2, term_mode)&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	local categories2 = {}&lt;br /&gt;
	&lt;br /&gt;
	local lang_code = lang:getCode()&lt;br /&gt;
	local canonical_name = lang:getCanonicalName()&lt;br /&gt;
	&lt;br /&gt;
	local topical_categories = data.topical_categories or {}&lt;br /&gt;
	local sense_categories = data.sense_categories or {}&lt;br /&gt;
	local pos_categories = data.pos_categories or {}&lt;br /&gt;
	local regional_categories = data.regional_categories or {}&lt;br /&gt;
	local plain_categories = data.plain_categories or {}&lt;br /&gt;
	&lt;br /&gt;
	for i, cat in ipairs(topical_categories) do&lt;br /&gt;
		table.insert(categories, lang_code .. &amp;quot;:&amp;quot; .. cat)&lt;br /&gt;
		&lt;br /&gt;
		if script then&lt;br /&gt;
			table.insert(categories, lang_code .. &amp;quot;:&amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if script2 then&lt;br /&gt;
			table.insert(categories2, lang_code .. &amp;quot;:&amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script2 .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, cat in ipairs(sense_categories) do&lt;br /&gt;
		cat = (term_mode and cat .. &amp;quot; terms&amp;quot; ) or &amp;quot;terms with &amp;quot; .. cat .. &amp;quot; senses&amp;quot;&lt;br /&gt;
		table.insert(categories, canonical_name .. &amp;quot; &amp;quot; .. cat)&lt;br /&gt;
		&lt;br /&gt;
		if script then&lt;br /&gt;
			table.insert(categories, canonical_name .. &amp;quot; &amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if script2 then&lt;br /&gt;
			table.insert(categories2, canonical_name .. &amp;quot; &amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script2 .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for i, cat in ipairs(pos_categories) do&lt;br /&gt;
		table.insert(categories, canonical_name .. &amp;quot; &amp;quot; .. cat)&lt;br /&gt;
		&lt;br /&gt;
		if script then&lt;br /&gt;
			table.insert(categories, canonical_name .. &amp;quot; &amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if script2 then&lt;br /&gt;
			table.insert(categories2, canonical_name .. &amp;quot; &amp;quot; .. cat .. &amp;quot; in &amp;quot; .. script2 .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, cat in ipairs(regional_categories) do&lt;br /&gt;
		table.insert(categories, cat .. &amp;quot; &amp;quot; .. canonical_name)&lt;br /&gt;
		&lt;br /&gt;
		if script then&lt;br /&gt;
			table.insert(categories, cat .. &amp;quot; &amp;quot; .. canonical_name .. &amp;quot; in &amp;quot; .. script .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if script2 then&lt;br /&gt;
			table.insert(categories2, cat .. &amp;quot; &amp;quot; .. canonical_name .. &amp;quot; in &amp;quot; .. script2 .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, cat in ipairs(plain_categories) do&lt;br /&gt;
		table.insert(categories, cat)&lt;br /&gt;
		&lt;br /&gt;
		if script then&lt;br /&gt;
			table.insert(categories, cat .. &amp;quot; in &amp;quot; .. script .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if script2 then&lt;br /&gt;
			table.insert(categories2, cat .. &amp;quot; in &amp;quot; .. script2 .. &amp;quot; script&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return	m_utilities.format_categories(categories, lang, sort_key) ..&lt;br /&gt;
			m_utilities.format_categories(categories2, lang, sort_key2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.show_labels(labels, lang, script, script2, sort_key, sort_key2, nocat, term_mode)&lt;br /&gt;
	if not labels[1] then&lt;br /&gt;
		if mw.title.getCurrentTitle().nsText == &amp;quot;Template&amp;quot; then&lt;br /&gt;
			labels = {&amp;quot;example&amp;quot;}&lt;br /&gt;
		else&lt;br /&gt;
			error(&amp;quot;You must specify at least one label.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Show the labels&lt;br /&gt;
	local omit_preComma = false&lt;br /&gt;
	local omit_postComma = true&lt;br /&gt;
	local omit_preSpace = false&lt;br /&gt;
	local omit_postSpace = true&lt;br /&gt;
	&lt;br /&gt;
	local lang_code = lang:getCode()&lt;br /&gt;
	local canonical_name = lang:getCanonicalName()&lt;br /&gt;
	&lt;br /&gt;
	local alias&lt;br /&gt;
	local already_seen = {}&lt;br /&gt;
	&lt;br /&gt;
	for i, label in ipairs(labels) do&lt;br /&gt;
		omit_preComma = omit_postComma&lt;br /&gt;
		omit_postComma = false&lt;br /&gt;
		omit_preSpace = omit_postSpace&lt;br /&gt;
		omit_postSpace = false&lt;br /&gt;
		&lt;br /&gt;
		local deprecated = false&lt;br /&gt;
		if m_labeldata.deprecated[label] then&lt;br /&gt;
			deprecated = true&lt;br /&gt;
		end&lt;br /&gt;
		if m_labeldata.aliases[label] then&lt;br /&gt;
			alias = label&lt;br /&gt;
			label = m_labeldata.aliases[label]&lt;br /&gt;
		end&lt;br /&gt;
		if m_labeldata.deprecated[label] then&lt;br /&gt;
			deprecated = true&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local data = m_labeldata.labels[label] or {}&lt;br /&gt;
		&lt;br /&gt;
		if data.track then&lt;br /&gt;
			require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;labels/label/&amp;quot; .. label)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		--[=[&lt;br /&gt;
			Do not use the data in the table if the current language&lt;br /&gt;
			is not in the &amp;quot;languages&amp;quot; list.&lt;br /&gt;
			&lt;br /&gt;
			If the original label was an alias, and was redirected to a label&lt;br /&gt;
			with a data file, go back to the original label.&lt;br /&gt;
			&lt;br /&gt;
			For example, suppose the label &amp;quot;Rome&amp;quot; is used with the language code &amp;quot;en&amp;quot; (English).&lt;br /&gt;
			&amp;quot;Rome&amp;quot; redirects to &amp;quot;Romanesco&amp;quot; in [[Module:labels/data/regional]].&lt;br /&gt;
			The only language in the &amp;quot;languages&amp;quot; list is &amp;quot;it&amp;quot; (Italian).&lt;br /&gt;
			Because the language code provided to the template was not &amp;quot;it&amp;quot;,&lt;br /&gt;
			the label&amp;#039;s data file will not be used,&lt;br /&gt;
			and the label will display as &amp;quot;Rome&amp;quot;.&lt;br /&gt;
			&lt;br /&gt;
			tracking:	[[Special:WhatLinksHere/Template:tracking/labels/incorrect-language]]&lt;br /&gt;
						[[Special:WhatLinksHere/Template:tracking/labels/redirect-undone]]&lt;br /&gt;
		]=]&lt;br /&gt;
		local languages = data.languages&lt;br /&gt;
		if languages and not languages[lang_code] then&lt;br /&gt;
			require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;labels/incorrect-language&amp;quot;)&lt;br /&gt;
			mw.log(&amp;quot;incorrect language in label template &amp;quot; .. lang_code .. &amp;quot;:&amp;quot; .. label)&lt;br /&gt;
			&lt;br /&gt;
			if alias and label ~= alias then&lt;br /&gt;
				require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;labels/redirect-undone&amp;quot;)&lt;br /&gt;
				mw.log(&amp;quot;redirect undone in label template &amp;quot; .. lang_code .. &amp;quot;:&amp;quot; .. label .. &amp;quot; &amp;gt; &amp;quot; .. alias)&lt;br /&gt;
				label = alias&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			data = {}&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if data.special_display then&lt;br /&gt;
			local function add_language_name(str)&lt;br /&gt;
				if str == &amp;quot;canonical_name&amp;quot; then&lt;br /&gt;
					return canonical_name&lt;br /&gt;
				else&lt;br /&gt;
					return &amp;quot;&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			label = mw.ustring.gsub(data.special_display, &amp;quot;&amp;lt;([^&amp;gt;]+)&amp;gt;&amp;quot;, add_language_name)&lt;br /&gt;
		else&lt;br /&gt;
			--[[&lt;br /&gt;
				If data.glossary or data.Wikipedia are set to true, there is a glossary definition&lt;br /&gt;
				with an anchor identical to the label, or a Wikipedia article with a title&lt;br /&gt;
				identical to the label.&lt;br /&gt;
					For example, the code&lt;br /&gt;
						labels[&amp;quot;formal&amp;quot;] = {&lt;br /&gt;
							glossary = true,&lt;br /&gt;
						}&lt;br /&gt;
					indicates that there is a glossary entry for &amp;quot;formal&amp;quot;.&lt;br /&gt;
					&lt;br /&gt;
				&lt;br /&gt;
				Otherwise, data.glossary and data.Wikipedia specify the title or the anchor.&lt;br /&gt;
			]]&lt;br /&gt;
			if data.glossary then&lt;br /&gt;
				local glossary_entry = type(data.glossary) == &amp;quot;string&amp;quot; and data.glossary or label&lt;br /&gt;
				label = &amp;quot;&amp;#039;&amp;#039;[[Appendix:Glossary#&amp;quot; .. glossary_entry .. &amp;quot;|&amp;quot; .. ( data.display or label ) .. &amp;quot;]]&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
			elseif data.Wikipedia then&lt;br /&gt;
				Wikipedia_entry = type(data.Wikipedia) == &amp;quot;string&amp;quot; and data.Wikipedia or label&lt;br /&gt;
				label = &amp;quot;[[Wikipedia:&amp;quot; .. Wikipedia_entry .. &amp;quot;|&amp;quot; .. ( data.display or label ) .. &amp;quot;]]&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				label = data.display or label&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local omit_comma = omit_preComma or data.omit_preComma&lt;br /&gt;
		omit_postComma = data.omit_postComma&lt;br /&gt;
		local omit_space = omit_preSpace or data.omit_preSpace&lt;br /&gt;
		omit_postSpace = data.omit_postSpace&lt;br /&gt;
		&lt;br /&gt;
		if deprecated then&lt;br /&gt;
			label = &amp;#039;&amp;lt;span class=&amp;quot;deprecated-label&amp;quot;&amp;gt;&amp;#039; .. label .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
			if not nocat then&lt;br /&gt;
				label = label .. m_utilities.format_categories({ &amp;quot;Entries with deprecated labels&amp;quot; }, lang)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local label_without_comma_or_space =&lt;br /&gt;
			(data.topical_categories or data.regional_categories&lt;br /&gt;
			or data.plain_categories or data.pos_categories&lt;br /&gt;
			or data.sense_categories) and label&lt;br /&gt;
			or nil&lt;br /&gt;
		&lt;br /&gt;
		label = (omit_comma and &amp;quot;&amp;quot; or &amp;#039;&amp;lt;span class=&amp;quot;ib-comma&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&amp;#039;) ..&lt;br /&gt;
				(omit_space and &amp;quot;&amp;quot; or &amp;quot;&amp;amp;#32;&amp;quot;) ..&lt;br /&gt;
				label&lt;br /&gt;
		&lt;br /&gt;
		-- Track label text. If label text was previously used, don&amp;#039;t show it,&lt;br /&gt;
		-- but include the categories.&lt;br /&gt;
		-- For an example, see [[hypocretin]].&lt;br /&gt;
		if already_seen[label_without_comma_or_space] then&lt;br /&gt;
			labels[i] = nocat and &amp;quot;&amp;quot; or&lt;br /&gt;
				show_categories(data, lang, script, sort_key, script2, sort_key2, term_mode)&lt;br /&gt;
		else&lt;br /&gt;
			labels[i] = label .. (&lt;br /&gt;
				nocat and &amp;quot;&amp;quot; or&lt;br /&gt;
				show_categories(data, lang, script, sort_key, script2, sort_key2, term_mode)&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if label_without_comma_or_space then&lt;br /&gt;
			already_seen[label_without_comma_or_space] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return&lt;br /&gt;
		&amp;quot;&amp;lt;span class=\&amp;quot;ib-brac\&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;lt;span class=\&amp;quot;ib-content\&amp;quot; style=\&amp;quot;font-style:italic;\&amp;quot;&amp;gt;&amp;quot; ..&lt;br /&gt;
		table.concat(labels, &amp;quot;&amp;quot;) ..&lt;br /&gt;
		&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span class=\&amp;quot;ib-brac\&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>imported&gt;Juelos</name></author>
	</entry>
</feed>