<?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%2Ftemplates</id>
	<title>Module:Labels/templates - 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%2Ftemplates"/>
	<link rel="alternate" type="text/html" href="https://tes5.st34an.tech/index.php?title=Module:Labels/templates&amp;action=history"/>
	<updated>2026-04-17T18:47:28Z</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/templates&amp;diff=3183&amp;oldid=prev</id>
		<title>imported&gt;Djp at 09:01, 17 March 2020</title>
		<link rel="alternate" type="text/html" href="https://tes5.st34an.tech/index.php?title=Module:Labels/templates&amp;diff=3183&amp;oldid=prev"/>
		<updated>2020-03-17T09:01:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
--[=[&lt;br /&gt;
	Modules used:&lt;br /&gt;
	[[Module:labels]]&lt;br /&gt;
	[[Module:parameters]]&lt;br /&gt;
	[[Module:utilities]]&lt;br /&gt;
	[[Module:languages]]&lt;br /&gt;
	[[Module:template_link]]&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
function export.show(frame)&lt;br /&gt;
	local parent_args = frame:getParent().args&lt;br /&gt;
	local compat = (frame.args[&amp;quot;compat&amp;quot;] or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot; and parent_args[&amp;quot;lang&amp;quot;]&lt;br /&gt;
	local term_mode = (frame.args[&amp;quot;term&amp;quot;] or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true},&lt;br /&gt;
		[2] = {list = true},&lt;br /&gt;
		[&amp;quot;nocat&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;script&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;script2&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sort2&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if compat then&lt;br /&gt;
		params[1] = params[2]&lt;br /&gt;
		params[2] = nil&lt;br /&gt;
		params[&amp;quot;lang&amp;quot;] = {required = true}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(parent_args, params)&lt;br /&gt;
	&lt;br /&gt;
	-- Gather parameters&lt;br /&gt;
	local lang = args[compat and &amp;quot;lang&amp;quot; or 1]&lt;br /&gt;
	local labels = args[compat and 1 or 2]&lt;br /&gt;
	local nocat = args[&amp;quot;nocat&amp;quot;]&lt;br /&gt;
	local script = args[&amp;quot;script&amp;quot;]&lt;br /&gt;
	local script2 = args[&amp;quot;script2&amp;quot;]&lt;br /&gt;
	local sort_key = args[&amp;quot;sort&amp;quot;]&lt;br /&gt;
	local sort_key2 = args[&amp;quot;sort2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
	if not lang then&lt;br /&gt;
		if mw.title.getCurrentTitle().nsText == &amp;quot;Template&amp;quot; then&lt;br /&gt;
			lang = &amp;quot;und&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			error(&amp;quot;Language code has not been specified. Please provide it to the template using the first parameter.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	lang = require(&amp;quot;Module:languages&amp;quot;).getByCode(lang) or require(&amp;quot;Module:languages&amp;quot;).err(lang, compat and &amp;quot;lang&amp;quot; or 1)&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:labels&amp;quot;).show_labels(labels, lang, script, script2, sort_key, sort_key2, nocat, term_mode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[	temporary. intentionally undocumented.&lt;br /&gt;
		this function is only to be used in&lt;br /&gt;
		{{alternative spelling of}},&lt;br /&gt;
		{{eye dialect of}}&lt;br /&gt;
		and similar templates					]]&lt;br /&gt;
function export.show_from(frame)&lt;br /&gt;
	local m_labeldata = require(&amp;quot;Module:labels/data&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local froms = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
&lt;br /&gt;
	local iparams = {&lt;br /&gt;
		[&amp;quot;lang&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;limit&amp;quot;] = {type = &amp;quot;number&amp;quot;},&lt;br /&gt;
		[&amp;quot;default&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local iargs = require(&amp;quot;Module:parameters&amp;quot;).process(frame.args, iparams)&lt;br /&gt;
	local parent_args = frame:getParent().args&lt;br /&gt;
	local compat = iargs[&amp;quot;lang&amp;quot;] or parent_args[&amp;quot;lang&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
	local params = {&lt;br /&gt;
		[compat and &amp;quot;lang&amp;quot; or 1] = {required = not iargs[&amp;quot;lang&amp;quot;]},&lt;br /&gt;
		[&amp;quot;from&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;nocat&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	-- This is called by various form-of templates. They accept several params,&lt;br /&gt;
	-- and some templates accept additional params. To avoid having to list all&lt;br /&gt;
	-- of them, we just ignore unrecognized params. The main processing for the&lt;br /&gt;
	-- form-of template will catch true unrecognized params.&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(parent_args, params, &amp;quot;allow unrecognized params&amp;quot;)&lt;br /&gt;
	local lang = args[compat and &amp;quot;lang&amp;quot; or 1] or iargs[&amp;quot;lang&amp;quot;] or &amp;quot;und&amp;quot;&lt;br /&gt;
	local nocat = args[&amp;quot;nocat&amp;quot;]&lt;br /&gt;
	local limit = iargs.limit or 99999&lt;br /&gt;
	&lt;br /&gt;
	local m_languages = require(&amp;quot;Module:languages&amp;quot;)&lt;br /&gt;
	lang = m_languages.getByCode(lang) or m_languages.err(lang, &amp;quot;lang&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	for i, k in ipairs(args[&amp;quot;from&amp;quot;]) do&lt;br /&gt;
		if i &amp;gt; limit then&lt;br /&gt;
			break	&lt;br /&gt;
		end&lt;br /&gt;
		k = m_labeldata.aliases[k] or k&lt;br /&gt;
		local data = m_labeldata.labels[k]&lt;br /&gt;
		local label = data and data.display or k&lt;br /&gt;
		local category1, category2&lt;br /&gt;
		&lt;br /&gt;
		if not nocat and data then&lt;br /&gt;
			if data.regional_categories then&lt;br /&gt;
				for j, cat in ipairs(data.regional_categories) do&lt;br /&gt;
					category1 = cat .. &amp;#039; &amp;#039; .. lang:getCanonicalName()&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		&lt;br /&gt;
			if data.plain_categories then&lt;br /&gt;
				for j, cat in ipairs(data.plain_categories) do&lt;br /&gt;
					category2 = cat&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		table.insert(froms, label)&lt;br /&gt;
		table.insert(categories, category1)&lt;br /&gt;
		table.insert(categories, category2)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	categories = require(&amp;quot;Module:utilities&amp;quot;).format_categories(categories, lang)&lt;br /&gt;
	&lt;br /&gt;
	if #froms == 0 then&lt;br /&gt;
		return iargs.default&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #froms == 2 then&lt;br /&gt;
		return froms[1] .. &amp;quot; and &amp;quot; .. froms[2] .. categories&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local results = {}&lt;br /&gt;
	for i, item in ipairs(froms) do&lt;br /&gt;
		if i == 1 then&lt;br /&gt;
			-- nothing&lt;br /&gt;
		elseif i == #froms then&lt;br /&gt;
			table.insert(results, &amp;#039;&amp;lt;span class=&amp;quot;serial-comma&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;serial-and&amp;quot;&amp;gt; and&amp;lt;/span&amp;gt; &amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(results, &amp;#039;, &amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert(results, item)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(results) .. categories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>imported&gt;Djp</name></author>
	</entry>
</feed>