<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maruneko.autumns.page/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ANative_name</id>
	<title>Module:Native name - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://maruneko.autumns.page/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ANative_name"/>
	<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;action=history"/>
	<updated>2026-04-24T18:18:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8524&amp;oldid=prev</id>
		<title>Marie: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8524&amp;oldid=prev"/>
		<updated>2026-03-05T07:14:35Z</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;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:14, 5 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&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;!-- diff cache key jth_wiki:diff:1.41:old-8523:rev-8524 --&gt;
&lt;/table&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8523&amp;oldid=prev</id>
		<title>wikipedia&gt;Trappist the monk at 17:06, 10 October 2024</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8523&amp;oldid=prev"/>
		<updated>2024-10-10T17:06:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:06, 10 October 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	args_t.parensize = args_t.parensize or args_t.fontsize or '100%';&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	args_t.parensize = args_t.parensize or args_t.fontsize or '100%';&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	args_t.fontsize = nil;														-- unset as unneeded&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	args_t.fontsize = nil;														-- unset as unneeded&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if not lang_module._is_ietf_tag (args_t[1]) then&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		args_t[1] = lang_module._tag_from_name ({args_t[1]});&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		if args_t[1]:find ('Error') then&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			return error_msg ((args_t.index and messages_t.tag_required_idx) or messages_t.tag_required, template, args_t.index)&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local out_t = {};&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local out_t = {};&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key jth_wiki:diff:1.41:old-3651:rev-8523:wikidiff2=table:1.11.0:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>wikipedia&gt;Trappist the monk</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=3651&amp;oldid=prev</id>
		<title>Rox: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=3651&amp;oldid=prev"/>
		<updated>2023-02-21T15:04:51Z</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;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:04, 21 February 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&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;!-- diff cache key jth_wiki:diff:1.41:old-3650:rev-3651 --&gt;
&lt;/table&gt;</summary>
		<author><name>Rox</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=3650&amp;oldid=prev</id>
		<title>Wikipedia&gt;Izno: use module:list, simplify _native_name_list return</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=3650&amp;oldid=prev"/>
		<updated>2022-12-08T18:00:44Z</updated>

		<summary type="html">&lt;p&gt;use module:list, simplify _native_name_list return&lt;/p&gt;
&lt;a href=&quot;https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;amp;diff=3650&amp;amp;oldid=2209&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Wikipedia&gt;Izno</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=2209&amp;oldid=prev</id>
		<title>imported&gt;Rox: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=2209&amp;oldid=prev"/>
		<updated>2022-06-29T14:53:42Z</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;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:53, 29 June 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&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;!-- diff cache key jth_wiki:diff:1.41:old-2208:rev-2209 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Rox</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=2208&amp;oldid=prev</id>
		<title>Wikipedia&gt;Trappist the monk at 15:08, 20 January 2022</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=2208&amp;oldid=prev"/>
		<updated>2022-01-20T15:08:10Z</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;require('Module:No globals');&lt;br /&gt;
&lt;br /&gt;
local getArgs = require ('Module:Arguments').getArgs;&lt;br /&gt;
local lang_module = require ('Module:Lang');&lt;br /&gt;
&lt;br /&gt;
local defined_values = {&lt;br /&gt;
	italic = {['no']='no', ['off']='no'},										-- values accepted by |italic= and |italics=; {{lang}} expects 'no' so 'off' must be translated&lt;br /&gt;
	nbsp = {['no']=true, ['omit']=true},										-- values accepted by |nbsp=&lt;br /&gt;
	paren = {['no']=true, ['off']=true, ['omit']=true},							-- values accepted by |paren=&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local messages_t = {													&lt;br /&gt;
	tag_required = 'an IETF language tag as parameter {{{1}}} is required',		-- for {{native name}}&lt;br /&gt;
	name_required = 'a name as parameter {{{2}}} is required',&lt;br /&gt;
																&lt;br /&gt;
	tag_required_idx = 'an IETF language tag in |tag%s= is required',			-- for {{native name}} when called from {{native name list}}&lt;br /&gt;
	name_required_idx = 'a name in |name%s= is required',&lt;br /&gt;
&lt;br /&gt;
	empty_list = 'list is empty',												-- for {{native name list}}&lt;br /&gt;
	positional = 'positional parameters not supported',&lt;br /&gt;
&lt;br /&gt;
	br_list = '&amp;amp;lt;br /&amp;gt; lists not allowed',									-- for {{native name checker}}&lt;br /&gt;
	list_markup = 'list markup expected for multiple names',&lt;br /&gt;
	malformed_param = 'parameter value is malformed',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local help_links_t = {&lt;br /&gt;
	['native name'] = '[[Template:Native name|help]]',&lt;br /&gt;
	['native name checker'] = '[[Template:Native name checker|help]]',&lt;br /&gt;
	['native name list'] = '[[Template:Native name list|help]]',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local error_cats_t = {&lt;br /&gt;
	['native name'] = '[[Category:Native name template errors]]',&lt;br /&gt;
	['native name checker'] = '[[Category:Native name checker template errors]]',&lt;br /&gt;
	['native name list'] = '[[Category:Native name list template errors]]',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E R R O R _ M S G &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
returns a formatted error message&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function error_msg (msg, template, index)&lt;br /&gt;
	local cat = ((0 == mw.title.getCurrentTitle().namespace) and error_cats_t[template]) or '';&lt;br /&gt;
	if index then&lt;br /&gt;
		local message = string.format (msg, index);&lt;br /&gt;
		return string.format ('&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s', template, message, help_links_t[template], cat)&lt;br /&gt;
	end&lt;br /&gt;
	return string.format ('&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s', template, msg, help_links_t[template], cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; _ N A T I V E _ N A M E &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from a module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;args_t&amp;gt; is a table of parameter name/value pairs.  Parameters that are supported are:&lt;br /&gt;
	args_t[1] - IETF language tag (required)&lt;br /&gt;
	args_t[2] - the native name (required)&lt;br /&gt;
	args_t.italic - accepts string values 'no' or 'off'; {{lang}} expects 'no' so 'off' must be translated&lt;br /&gt;
	args_t.italics - alias of |italic=&lt;br /&gt;
	args_t.paren - accepts 'omit', 'off', or 'no'&lt;br /&gt;
	args_t.icon - alias of paren&lt;br /&gt;
	args_t.nbsp - accepts 'omit' or 'no'&lt;br /&gt;
	args_t.parensize - &lt;br /&gt;
	args_t.fontsize - deprecated alias of |parensize=&lt;br /&gt;
	args_t.nolink - any value inhibits wikilinking of language name&lt;br /&gt;
&lt;br /&gt;
this function calls these functions in Module:lang:&lt;br /&gt;
	_is_ietf_tag&lt;br /&gt;
	_lang&lt;br /&gt;
	_name_from_tag&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
	add support for romanization and transliteration?&lt;br /&gt;
	add support for postfix so that 'mis' can render something like this:&lt;br /&gt;
		{{native|name|mis|Chotilapacquen|parent=omit|postfix=&amp;amp;#32;([[Coahuiltecan languages|Coahuiltecan]])}}&lt;br /&gt;
			Chotilapacquen (Coahuiltecan)&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function _native_name (args_t)&lt;br /&gt;
	local template = (args_t.template and args_t.template) or 'native name';	-- for error messaging; use 'native name list' when called from native_name_list(), etc&lt;br /&gt;
&lt;br /&gt;
	if not args_t[1] then&lt;br /&gt;
		return error_msg ((args_t.index and messages_t.tag_required_idx) or messages_t.tag_required, template, args_t.index)&lt;br /&gt;
	end&lt;br /&gt;
	if not args_t[2] then&lt;br /&gt;
		return error_msg ((args_t.index and messages_t.name_required_idx) or messages_t.name_required, template, args_t.index)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	args_t.italic = args_t.italics or args_t.italic;							-- plural form first in {{native name}} but singular form for {{lang}}&lt;br /&gt;
	args_t.italic = defined_values.italic[args_t.italic] or nil;				-- translate assigned value&lt;br /&gt;
	args_t.italics = nil;														-- so unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	args_t.paren = args_t.paren or args_t.icon;&lt;br /&gt;
	args_t.icon = nil;															-- unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	args_t.parensize = args_t.parensize or args_t.fontsize or '100%';&lt;br /&gt;
	args_t.fontsize = nil;														-- unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	local out_t = {};&lt;br /&gt;
&lt;br /&gt;
	table.insert (out_t, lang_module._lang ({args_t[1], args_t[2], ['italic']=args_t.italic, ['template']=template}));&lt;br /&gt;
	if not defined_values.paren[args_t.paren] then&lt;br /&gt;
		table.insert (out_t, '&amp;amp;nbsp;');&lt;br /&gt;
		if not defined_values.italic[args_t.italic] and not defined_values.nbsp[args_t.nbsp] then&lt;br /&gt;
			table.insert (out_t, '&amp;amp;nbsp;');&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		table.insert (out_t, table.concat ({&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;languageicon&amp;quot; style=&amp;quot;font-size:',&lt;br /&gt;
			args_t.parensize,&lt;br /&gt;
			'; font-weight:normal&amp;quot;&amp;gt;'}));&lt;br /&gt;
&lt;br /&gt;
		if args_t.nolink then&lt;br /&gt;
			table.insert (out_t, table.concat ({'(', lang_module._name_from_tag ({args_t[1], ['template']=template}), ')'}));&lt;br /&gt;
		else&lt;br /&gt;
			if lang_module._is_ietf_tag (args_t[1]) then&lt;br /&gt;
				table.insert (out_t,  table.concat ({'(', lang_module._name_from_tag ({args_t[1], ['link'] ='yes', ['template']=template}), ')'}));&lt;br /&gt;
			else&lt;br /&gt;
				table.insert (out_t, '(language?)');							-- TODO: any reason to keep this?&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		table.insert (out_t, '&amp;lt;/span&amp;gt;');&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat (out_t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from the template&lt;br /&gt;
&lt;br /&gt;
{{#invoke:native name|native_name|&amp;lt;tag&amp;gt;|&amp;lt;name&amp;gt;|italic=|paren=|parensize=|nbsp=|nolink=}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name (frame)&lt;br /&gt;
	return _native_name (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;gt; _ N A T I V E _ N A M E _ L I S T &amp;gt;--------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from a module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;args_t&amp;gt; is a table of parameter name/value pairs.  Supports enumerated forms of the {{native name}} parameters:&lt;br /&gt;
	args_t.tagn - IETF language tag (|tag1= required)&lt;br /&gt;
	args_t.namen - the native name (|name1= required)&lt;br /&gt;
	args_t.italicn - accepts string values 'no' or 'off'&lt;br /&gt;
	args_t.italicsn - alias of |italicn=&lt;br /&gt;
	args_t.parenn - accepts 'omit', 'off', or 'no'&lt;br /&gt;
	args_t.iconn - alias of paren&lt;br /&gt;
	args_t.nbspn - accepts 'omit' or 'no'&lt;br /&gt;
	args_t.parensizen - &lt;br /&gt;
	args_t.fontsizen - deprecated alias of |parensizen=&lt;br /&gt;
	args_t.nolinkn - any value inhibits wikilinking of language name&lt;br /&gt;
&lt;br /&gt;
also supports:&lt;br /&gt;
	args_t.postfixn - wikitext to be appended to list item n (references other appropriate text)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _native_name_list (args_t)&lt;br /&gt;
	if args_t[1] then&lt;br /&gt;
		return error_msg (messages_t.positional, 'native name list')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local max_enum = 0;															-- accumulate the value to the enumerator with the greatest value&lt;br /&gt;
&lt;br /&gt;
	for param, _ in pairs (args_t) do											-- loop through all parameters&lt;br /&gt;
		local n = tonumber (param:match ('%d+$'));								-- extract the required enumerator&lt;br /&gt;
		max_enum = ((n and (n &amp;gt; max_enum)) and n) or max_enum;					-- bump &amp;lt;max_enum&amp;gt; if &amp;lt;n&amp;gt; is greater&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local list_t = {};															-- list of formatted native names goes here&lt;br /&gt;
	local n = 1;																-- initialize an enumerator&lt;br /&gt;
&lt;br /&gt;
	while n &amp;lt;= max_enum do&lt;br /&gt;
		table.insert (list_t, table.concat ({&lt;br /&gt;
			'&amp;lt;li&amp;gt;',																-- open the list item&lt;br /&gt;
			_native_name ({														-- go render the native name&lt;br /&gt;
				args_t['tag'..n],&lt;br /&gt;
				args_t['name'..n],&lt;br /&gt;
				['italic'] = args_t['italic'..n],&lt;br /&gt;
				['italics'] = args_t['italics'..n],&lt;br /&gt;
				['paren'] = args_t['paren'..n],&lt;br /&gt;
				['icon'] = args_t['icon'..n],&lt;br /&gt;
				['nbsp'] = args_t['nbsp'..n],&lt;br /&gt;
				['parensize'] = args_t['parensize'..n],&lt;br /&gt;
				['fontsize'] = args_t['fontsize'..n],&lt;br /&gt;
				['nolink'] = args_t['nolink'..n],&lt;br /&gt;
				['template'] = 'native name list',								-- for error messaging&lt;br /&gt;
				['index'] = n,													-- for error messaging&lt;br /&gt;
				}),&lt;br /&gt;
			args_t['postfix'..n] or '',&lt;br /&gt;
			'&amp;lt;/li&amp;gt;'																-- close the list item&lt;br /&gt;
		}));&lt;br /&gt;
		n = n + 1;																-- bump the enumerator&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if 0 &amp;lt; #list_t then&lt;br /&gt;
		if 1 &amp;lt; #list_t then&lt;br /&gt;
			table.insert (list_t, 1, '&amp;lt;div class=&amp;quot;plainlist&amp;quot;&amp;gt;&amp;lt;ul&amp;gt;');			-- open the div; open the unordered list&lt;br /&gt;
			table.insert (list_t, '&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;');								-- close the unordered list; close the div&lt;br /&gt;
		else																	-- here when only one list item; no need for list markup; TODO: error message for this case?&lt;br /&gt;
			local out = table.concat (list_t):gsub ('&amp;lt;li&amp;gt;', ''):gsub ('&amp;lt;/li&amp;gt;', '');&lt;br /&gt;
			return out;															-- to avoid replacement count contaminating the output&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return error_msg (messages_t.empty_list, 'native name list');&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat (list_t);												-- make a big string and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E _ L I S T &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name list}}; entry point from the template&lt;br /&gt;
&lt;br /&gt;
{{#invoke:native name list|native_name_list|tag1=&amp;lt;tag&amp;gt;|name1=&amp;lt;name&amp;gt;|italic1=|paren1=|parensize1=|nbsp1=|nolink1=}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name_list (frame)&lt;br /&gt;
	return _native_name_list (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; _ N A T I V E _ N A M E _ C H E C K E R &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point from a module&lt;br /&gt;
&lt;br /&gt;
implements {{native name checker}}&lt;br /&gt;
&lt;br /&gt;
for use inside infoboxen:&lt;br /&gt;
	|dataxx = {{native name checker|{{{native_name|}}}}}&lt;br /&gt;
&lt;br /&gt;
inspects rendered content of {{{native_name}}}:&lt;br /&gt;
	expects: at least one lang=&amp;quot;&amp;lt;valid IETF tag&amp;gt;&amp;quot; html attribute; tag must begin with 2 or three letters followed&lt;br /&gt;
			by a hyphen or double quote character: lang=&amp;quot;zh-Hant&amp;quot; or lang=&amp;quot;nav&amp;quot; or lang=&amp;quot;oj&amp;quot;&lt;br /&gt;
	emits error message when 2 or more lang=&amp;quot;&amp;lt;valid IETF tag&amp;gt;&amp;quot; html attribute but list markup &amp;lt;li&amp;gt; tag not found&lt;br /&gt;
	emits error message if any form of '&amp;lt;br /&amp;gt;' tag is found per MOS:NOBREAK&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
	nothing when |native_name= is omitted or empty&lt;br /&gt;
	assigned value when no error&lt;br /&gt;
	error message on error&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _native_name_checker (args_t)&lt;br /&gt;
	local value = args_t[1];&lt;br /&gt;
	&lt;br /&gt;
	if not value then															-- if |native_name= is omitted or empty&lt;br /&gt;
		return;																	-- return nothing&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local _, count = value:gsub ('lang=&amp;quot;%a%a%a?[%-&amp;quot;]%a*', '%1');&lt;br /&gt;
	if 0 == count then&lt;br /&gt;
		return table.concat ({value, error_msg (messages_t.malformed_param, 'native name checker')}, ' ');	-- no {{lang}} or {{native_name}} template&lt;br /&gt;
	end&lt;br /&gt;
	if 1 &amp;lt; count then&lt;br /&gt;
		if not value:find ('&amp;lt;div class=&amp;quot;plainlist *&amp;quot; *&amp;gt;') or not value:find ('&amp;lt;/div&amp;gt;$') then	-- must be wrapped in 'plainlist' div&lt;br /&gt;
			return table.concat ({value, error_msg (messages_t.list_markup, 'native name checker')}, ' ');&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if value:find ('&amp;lt; */? *[Bb][Rr] */? *&amp;gt;') then								-- look for something that vaguely resembles a &amp;lt;br /&amp;gt; tag&lt;br /&gt;
		return table.concat ({value, error_msg (messages_t.br_list, 'native name checker')}, ' ');&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return value;																-- no failed tests, return the value as is&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E _ C H E C K E R &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point from a module&lt;br /&gt;
&lt;br /&gt;
implements {{native name checker}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name_checker (frame)&lt;br /&gt;
	return _native_name_checker (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;----------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	native_name = native_name,													-- template interface&lt;br /&gt;
	native_name_list = native_name_list,&lt;br /&gt;
	native_name_checker = native_name_checker,&lt;br /&gt;
	&lt;br /&gt;
	_native_name = _native_name,												-- other module interface&lt;br /&gt;
	_native_name_list = _native_name_list,&lt;br /&gt;
	_native_name_checker = _native_name_checker,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Trappist the monk</name></author>
	</entry>
</feed>