<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://the-democratika.com/wiki/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://the-democratika.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ANative_name"/>
	<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Native_name&amp;action=history"/>
	<updated>2026-04-04T22:20:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://the-democratika.com/wiki/index.php?title=Module:Native_name&amp;diff=6624&amp;oldid=prev</id>
		<title>&gt;Trappist the monk at 17:06, 10 October 2024</title>
		<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Native_name&amp;diff=6624&amp;oldid=prev"/>
		<updated>2024-10-10T17:06:54Z</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(&amp;#039;strict&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
local getArgs = require (&amp;#039;Module:Arguments&amp;#039;).getArgs;&lt;br /&gt;
local lang_module = require (&amp;#039;Module:Lang&amp;#039;);&lt;br /&gt;
local yes_no = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local defined_values = {&lt;br /&gt;
	italic = {[&amp;#039;no&amp;#039;]=&amp;#039;no&amp;#039;, [&amp;#039;off&amp;#039;]=&amp;#039;no&amp;#039;},										-- values accepted by |italic= and |italics=; {{lang}} expects &amp;#039;no&amp;#039; so &amp;#039;off&amp;#039; must be translated&lt;br /&gt;
	paren = {[&amp;#039;no&amp;#039;]=true, [&amp;#039;off&amp;#039;]=true, [&amp;#039;omit&amp;#039;]=true},							-- values accepted by |paren=&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local messages_t = {													&lt;br /&gt;
	tag_required = &amp;#039;an IETF language tag as parameter {{{1}}} is required&amp;#039;,		-- for {{native name}}&lt;br /&gt;
	name_required = &amp;#039;a name as parameter {{{2}}} is required&amp;#039;,&lt;br /&gt;
																&lt;br /&gt;
	tag_required_idx = &amp;#039;an IETF language tag in |tag%s= is required&amp;#039;,			-- for {{native name}} when called from {{native name list}}&lt;br /&gt;
	name_required_idx = &amp;#039;a name in |name%s= is required&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
	empty_list = &amp;#039;list is empty&amp;#039;,												-- for {{native name list}}&lt;br /&gt;
	positional = &amp;#039;positional parameters not supported&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
	br_list = &amp;#039;&amp;amp;lt;br /&amp;gt; lists not allowed&amp;#039;,									-- for {{native name checker}}&lt;br /&gt;
	list_markup = &amp;#039;list markup expected for multiple names&amp;#039;,&lt;br /&gt;
	malformed_param = &amp;#039;parameter value is malformed&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local help_links_t = {&lt;br /&gt;
	[&amp;#039;native name&amp;#039;] = &amp;#039;[[Template:Native name|help]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;native name checker&amp;#039;] = &amp;#039;[[Template:Native name checker|help]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;native name list&amp;#039;] = &amp;#039;[[Template:Native name list|help]]&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local error_cats_t = {&lt;br /&gt;
	[&amp;#039;native name&amp;#039;] = &amp;#039;[[Category:Native name template errors]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;native name checker&amp;#039;] = &amp;#039;[[Category:Native name checker template errors]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;native name list&amp;#039;] = &amp;#039;[[Category:Native name list template errors]]&amp;#039;,&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 &amp;#039;&amp;#039;;&lt;br /&gt;
	if index then&lt;br /&gt;
		local message = string.format (msg, index);&lt;br /&gt;
		return string.format (&amp;#039;&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s&amp;#039;, template, message, help_links_t[template], cat)&lt;br /&gt;
	end&lt;br /&gt;
	return string.format (&amp;#039;&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s&amp;#039;, 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 &amp;#039;no&amp;#039; or &amp;#039;off&amp;#039;; {{lang}} expects &amp;#039;no&amp;#039; so &amp;#039;off&amp;#039; must be translated&lt;br /&gt;
	args_t.italics - alias of |italic=&lt;br /&gt;
	args_t.paren - accepts &amp;#039;omit&amp;#039;, &amp;#039;off&amp;#039;, or &amp;#039;no&amp;#039;&lt;br /&gt;
	args_t.icon - alias of paren&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;
	args_t.suppress_empty_list_error - when set to &amp;#039;yes&amp;#039;, suppresses an &amp;#039;empty&amp;#039; error message; mostly for use within another template&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 &amp;#039;mis&amp;#039; 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 &amp;#039;native name&amp;#039;;	-- for error messaging; use &amp;#039;native name list&amp;#039; when called from native_name_list(), etc&lt;br /&gt;
&lt;br /&gt;
	if not (args_t[1] or args_t[2]) and yes_no (args_t.suppress_empty_list_error) then&lt;br /&gt;
		return &amp;#039;&amp;#039;;																-- if empty list error is suppressed, return empty string&lt;br /&gt;
	elseif 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;
	elseif 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 &amp;#039;100%&amp;#039;;&lt;br /&gt;
	args_t.fontsize = nil;														-- unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	if not lang_module._is_ietf_tag (args_t[1]) then&lt;br /&gt;
		args_t[1] = lang_module._tag_from_name ({args_t[1]});&lt;br /&gt;
		if args_t[1]:find (&amp;#039;Error&amp;#039;) 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;
	end&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], [&amp;#039;italic&amp;#039;]=args_t.italic, [&amp;#039;template&amp;#039;]=template}));&lt;br /&gt;
	if not defined_values.paren[args_t.paren] then&lt;br /&gt;
		table.insert (out_t, &amp;#039;&amp;amp;nbsp;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
		table.insert (out_t, table.concat ({&lt;br /&gt;
			&amp;#039;&amp;lt;span class=&amp;quot;languageicon&amp;quot; style=&amp;quot;font-size:&amp;#039;,&lt;br /&gt;
			args_t.parensize,&lt;br /&gt;
			&amp;#039;; font-weight:normal&amp;quot;&amp;gt;&amp;#039;}));&lt;br /&gt;
&lt;br /&gt;
		if args_t.nolink then&lt;br /&gt;
			table.insert (out_t, table.concat ({&amp;#039;(&amp;#039;, lang_module._name_from_tag ({args_t[1], [&amp;#039;template&amp;#039;]=template}), &amp;#039;)&amp;#039;}));&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 ({&amp;#039;(&amp;#039;, lang_module._name_from_tag ({args_t[1], [&amp;#039;link&amp;#039;] =&amp;#039;yes&amp;#039;, [&amp;#039;template&amp;#039;]=template}), &amp;#039;)&amp;#039;}));&lt;br /&gt;
			else&lt;br /&gt;
				table.insert (out_t, &amp;#039;(language?)&amp;#039;);							-- 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;#039;&amp;lt;/span&amp;gt;&amp;#039;);&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=|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 &amp;#039;no&amp;#039; or &amp;#039;off&amp;#039;&lt;br /&gt;
	args_t.italicsn - alias of |italicn=&lt;br /&gt;
	args_t.parenn - accepts &amp;#039;omit&amp;#039;, &amp;#039;off&amp;#039;, or &amp;#039;no&amp;#039;&lt;br /&gt;
	args_t.iconn - alias of paren&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;
	args_t.suppress_empty_list_error - when set to &amp;#039;yes&amp;#039;, suppresses an &amp;#039;empty list&amp;#039; error message; mostly for use within another template&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, &amp;#039;native name list&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local unsorted_enumerators_t = {}											-- unsorted  k/v table of tagn and namen enumerators where k is the enumerator and v is always true&lt;br /&gt;
&lt;br /&gt;
	for param, _ in pairs (args_t) do											-- loop through all parameters&lt;br /&gt;
		local enumerator = mw.ustring.match (param, &amp;quot;^tag(%d+)$&amp;quot;)				-- is this a |tagn= parameter?  extract enumerator if present&lt;br /&gt;
		if enumerator then														-- if there is an enumerator&lt;br /&gt;
			unsorted_enumerators_t[tonumber(enumerator)] = true					-- add enumerator to the table&lt;br /&gt;
		else&lt;br /&gt;
			local name_match = mw.ustring.match (param, &amp;quot;^name(%d+)$&amp;quot;)			-- is this a |tagn= parameter?  extract enumerator if present&lt;br /&gt;
			if name_match then													-- if there is an enumerator&lt;br /&gt;
				unsorted_enumerators_t[tonumber (name_match)] = true			-- add enumerator to the table&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local enumerators_t = {}													-- will hold a sorted sequence of enumerators&lt;br /&gt;
	for n, _ in pairs (unsorted_enumerators_t) do								-- loop through the k/v table of enumerators&lt;br /&gt;
		table.insert (enumerators_t, n)											-- add the enumerator to the sequence&lt;br /&gt;
	end&lt;br /&gt;
	table.sort (enumerators_t)													-- and ascending sort&lt;br /&gt;
&lt;br /&gt;
	local list_t = {};															-- list of formatted native names goes here&lt;br /&gt;
&lt;br /&gt;
	for _, n in ipairs (enumerators_t) do										-- loop through the sorted enumerators&lt;br /&gt;
		table.insert (list_t, table.concat ({&lt;br /&gt;
			_native_name ({														-- go render the native name&lt;br /&gt;
				args_t[&amp;#039;tag&amp;#039;..n],&lt;br /&gt;
				args_t[&amp;#039;name&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;italic&amp;#039;] = args_t[&amp;#039;italic&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;italics&amp;#039;] = args_t[&amp;#039;italics&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;paren&amp;#039;] = args_t[&amp;#039;paren&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;icon&amp;#039;] = args_t[&amp;#039;icon&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;parensize&amp;#039;] = args_t[&amp;#039;parensize&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;fontsize&amp;#039;] = args_t[&amp;#039;fontsize&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;nolink&amp;#039;] = args_t[&amp;#039;nolink&amp;#039;..n],&lt;br /&gt;
				[&amp;#039;template&amp;#039;] = &amp;#039;native name list&amp;#039;,								-- for error messaging&lt;br /&gt;
				[&amp;#039;index&amp;#039;] = n,													-- for error messaging&lt;br /&gt;
			}),&lt;br /&gt;
			args_t[&amp;#039;postfix&amp;#039;..n] or &amp;#039;&amp;#039;,&lt;br /&gt;
		}));&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if 0 == #list_t then&lt;br /&gt;
		return (yes_no (args_t.suppress_empty_list_error) and &amp;#039;&amp;#039;) or			-- return empty string when error suppressed&lt;br /&gt;
			error_msg (messages_t.empty_list, &amp;#039;native name list&amp;#039;);				-- otherwise error&lt;br /&gt;
	elseif 1 == #list_t then&lt;br /&gt;
		return list_t[1];														-- return the very short list; TODO: add error?&lt;br /&gt;
	else&lt;br /&gt;
		return require (&amp;#039;Module:List&amp;#039;).unbulleted (list_t);						-- use unbulleted list from module&lt;br /&gt;
	end&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=|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;#039;&amp;lt;br /&amp;gt;&amp;#039; 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 (&amp;#039;lang=&amp;quot;%a%a%a?[%-&amp;quot;]%a*&amp;#039;, &amp;#039;%1&amp;#039;);&lt;br /&gt;
	if 0 == count then&lt;br /&gt;
		return table.concat ({value, error_msg (messages_t.malformed_param, &amp;#039;native name checker&amp;#039;)}, &amp;#039; &amp;#039;);	-- 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;#039;&amp;lt;div class=&amp;quot;plainlist *&amp;quot; *&amp;gt;&amp;#039;) or not value:find (&amp;#039;&amp;lt;/div&amp;gt;$&amp;#039;) then	-- must be wrapped in &amp;#039;plainlist&amp;#039; div&lt;br /&gt;
			return table.concat ({value, error_msg (messages_t.list_markup, &amp;#039;native name checker&amp;#039;)}, &amp;#039; &amp;#039;);&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if value:find (&amp;#039;&amp;lt; */? *[Bb][Rr] */? *&amp;gt;&amp;#039;) 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, &amp;#039;native name checker&amp;#039;)}, &amp;#039; &amp;#039;);&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>&gt;Trappist the monk</name></author>
	</entry>
</feed>