<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ta">
	<id>https://wiki1.tamilar.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALang%2Futilities</id>
	<title>Module:Lang/utilities - திருத்த வரலாறு</title>
	<link rel="self" type="application/atom+xml" href="https://wiki1.tamilar.wiki/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ALang%2Futilities"/>
	<link rel="alternate" type="text/html" href="https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;action=history"/>
	<updated>2026-06-02T07:09:29Z</updated>
	<subtitle>விக்கியில் இப்பக்கத்துக்கான திருத்த வரலாறு</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=391914&amp;oldid=prev</id>
		<title>imported&gt;Legoktm: Replacing Module:No globals with require(&#039;strict&#039;) (more info) #noglobals</title>
		<link rel="alternate" type="text/html" href="https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=391914&amp;oldid=prev"/>
		<updated>2026-01-07T02:29:00Z</updated>

		<summary type="html">&lt;p&gt;Replacing Module:No globals with require(&amp;#039;strict&amp;#039;) (&lt;a href=&quot;https://meta.wikimedia.org/wiki/User:Legoktm/No_globals&quot; class=&quot;extiw&quot; title=&quot;m:User:Legoktm/No globals&quot;&gt;more info&lt;/a&gt;) #noglobals&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;ta&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← பழைய திருத்தம்&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;02:29, 7 சனவரி 2026 இல் நிலவும் திருத்தம்&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;வரிசை 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;வரிசை 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;require&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;(&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Module:No globals&lt;/del&gt;&#039;);&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&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;require(&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;strict&lt;/ins&gt;&#039;);&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&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;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&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;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-92347:rev-391914:wikidiff2=table:1.14.1:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Legoktm</name></author>
	</entry>
	<entry>
		<id>https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=92347&amp;oldid=prev</id>
		<title>imported&gt;Sukanthi: &quot;require (&#039;Module:No globals&#039;);   ----------------------------&lt; I S _ C J K &gt;------------------------------------------------------------------  return true if code is one of the listed Chinese, Japanese, Korean ISO 639 codes, false else.    local function is_cjk_code (code) local cjk = 		{ 		[&#039;zh&#039;] = true, [&#039;cdo&#039;] = true, [&#039;cjy&#039;] = true, [&#039;cmn&#039;] = true,			-- C...&quot;-இப்பெயரில் புதிய பக்கம் உருவாக்கப்பட்டுள்ளது</title>
		<link rel="alternate" type="text/html" href="https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=92347&amp;oldid=prev"/>
		<updated>2024-02-29T10:46:22Z</updated>

		<summary type="html">&lt;p&gt;&amp;quot;require (&amp;#039;Module:No globals&amp;#039;);   --[[--------------------------&amp;lt; I S _ C J K &amp;gt;------------------------------------------------------------------  return true if code is one of the listed Chinese, Japanese, Korean ISO 639 codes, false else.  ]]  local function is_cjk_code (code) local cjk = 		{ 		[&amp;#039;zh&amp;#039;] = true, [&amp;#039;cdo&amp;#039;] = true, [&amp;#039;cjy&amp;#039;] = true, [&amp;#039;cmn&amp;#039;] = true,			-- C...&amp;quot;-இப்பெயரில் புதிய பக்கம் உருவாக்கப்பட்டுள்ளது&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;ta&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← பழைய திருத்தம்&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;10:46, 29 பெப்பிரவரி 2024 இல் நிலவும் திருத்தம்&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ta&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(வேறுபாடு ஏதுமில்லை)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki:diff:1.41:old-237066:rev-92347 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Sukanthi</name></author>
	</entry>
	<entry>
		<id>https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=237066&amp;oldid=prev</id>
		<title>imported&gt;Aswn: *திருத்தம்*</title>
		<link rel="alternate" type="text/html" href="https://wiki1.tamilar.wiki/w/index.php?title=Module:Lang/utilities&amp;diff=237066&amp;oldid=prev"/>
		<updated>2020-03-01T06:12:28Z</updated>

		<summary type="html">&lt;p&gt;*திருத்தம்*&lt;/p&gt;
&lt;p&gt;&lt;b&gt;புதிய பக்கம்&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require (&amp;#039;Module:No globals&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S _ C J K &amp;gt;------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return true if code is one of the listed Chinese, Japanese, Korean ISO 639 codes, false else.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_cjk_code (code)&lt;br /&gt;
local cjk =&lt;br /&gt;
		{&lt;br /&gt;
		[&amp;#039;zh&amp;#039;] = true, [&amp;#039;cdo&amp;#039;] = true, [&amp;#039;cjy&amp;#039;] = true, [&amp;#039;cmn&amp;#039;] = true,			-- Chinese language codes&lt;br /&gt;
		[&amp;#039;cpi&amp;#039;] = true, [&amp;#039;cpx&amp;#039;] = true, [&amp;#039;czh&amp;#039;] = true, [&amp;#039;czo&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;gan&amp;#039;] = true, [&amp;#039;hak&amp;#039;] = true, [&amp;#039;hsn&amp;#039;] = true, [&amp;#039;ltc&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;lzh&amp;#039;] = true, [&amp;#039;mnp&amp;#039;] = true, [&amp;#039;nan&amp;#039;] = true, [&amp;#039;och&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;wuu&amp;#039;] = true, [&amp;#039;yue&amp;#039;] = true, [&amp;#039;zhx&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;ja&amp;#039;] = true, [&amp;#039;jpx&amp;#039;] = true, [&amp;#039;ojp&amp;#039;] = true,							-- Japanese language codes&lt;br /&gt;
		[&amp;#039;ko&amp;#039;] = true, [&amp;#039;okm&amp;#039;] = true, [&amp;#039;oko&amp;#039;] = true,							-- Korean language codes&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	return cjk[code] or false;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E T _ I T A L I C S &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Created for use with Template:Infobox book and Template:Infobox document and perhaps others to replace hard-coded&lt;br /&gt;
italic markup in the call to {{lang}}.  This module attempts to make sure that {{lang}} correctly applies italic&lt;br /&gt;
markup according to MOS:FOREIGNITALIC.  &lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function set_italics (frame)&lt;br /&gt;
	local code = frame.args[1] or frame.args[&amp;#039;code&amp;#039;] or &amp;#039;&amp;#039;;						-- empty string causes &amp;#039;yes&amp;#039; return; {{lang}} will handle the missing code error&lt;br /&gt;
	local text = frame.args[2] or frame.args[&amp;#039;text&amp;#039;] or &amp;#039;&amp;#039;;						-- empty string causes &amp;#039;yes&amp;#039; return; {{lang}} will handle the missing text error&lt;br /&gt;
	&lt;br /&gt;
	local is_latn = require (&amp;quot;Module:Unicode data&amp;quot;).is_Latin;&lt;br /&gt;
	&lt;br /&gt;
	if is_cjk_code (code) and not is_latn (text) then							-- is_latn() is in Module:Lang&lt;br /&gt;
		return  &amp;#039;no&amp;#039;;															-- only case for &amp;#039;no&amp;#039; &lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;yes&amp;#039;;																-- everything else is yes&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I N _ L A N G &amp;gt;----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{in lang}}&lt;br /&gt;
&lt;br /&gt;
Module entry point from an {{#invoke:lang/utilities/sanbox|in_lang|&amp;lt;code&amp;gt;|&amp;lt;code2&amp;gt;|&amp;lt;code3&amp;gt;|&amp;lt;code...&amp;gt;|link=yes|template=Link language}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;languageicon&amp;quot;&amp;gt;(in &amp;lt;language&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function in_lang (frame)&lt;br /&gt;
	local getArgs = require (&amp;#039;Module:Arguments&amp;#039;).getArgs;&lt;br /&gt;
	local synonym_table = mw.loadData (&amp;#039;Module:Lang/ISO 639 synonyms&amp;#039;);				-- ISO 639-2/639-2T code translation to 639-1 code&lt;br /&gt;
	local args = getArgs(frame);&lt;br /&gt;
	local list = {};&lt;br /&gt;
	local cats = {};&lt;br /&gt;
	local maint_msgs = {};&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		local template = (args[&amp;#039;template&amp;#039;] and table.concat ({&amp;#039;{{&amp;#039;, args[&amp;#039;template&amp;#039;], &amp;#039;}}: &amp;#039;})) or &amp;#039;&amp;#039;;	-- make template name (if provided by the template)&lt;br /&gt;
		return table.concat ({&amp;#039;&amp;lt;span style=\&amp;quot;font-size:100%; font-style:normal;\&amp;quot; class=\&amp;quot;error\&amp;quot;&amp;gt;error: &amp;#039;, template, &amp;#039;missing language tag&amp;lt;/span&amp;gt;&amp;#039;});&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local module = &amp;#039;Module:Lang&amp;#039; .. (frame:getTitle():match (&amp;#039;/sandbox&amp;#039;) or &amp;#039;&amp;#039;);	-- if this module is the sandbox,&lt;br /&gt;
	local name_from_tag = require (module)._name_from_tag;						-- use Module:Lang/sandbox; Module:Lang else&lt;br /&gt;
&lt;br /&gt;
	local namespace = mw.title.getCurrentTitle().namespace;						-- used for categorization&lt;br /&gt;
	local this_wiki_lang = mw.language.getContentLanguage().code;				-- get this wiki&amp;#039;s language code&lt;br /&gt;
&lt;br /&gt;
	for i, lang in ipairs (args) do&lt;br /&gt;
		local code = args[i]:lower();&lt;br /&gt;
		local t = {code, [&amp;#039;link&amp;#039;] = args[&amp;#039;link&amp;#039;], [&amp;#039;template&amp;#039;] = args[&amp;#039;template&amp;#039;]};	-- build an &amp;#039;args&amp;#039; table&lt;br /&gt;
		lang = name_from_tag (t)												-- get the language name&lt;br /&gt;
		table.insert (list, lang)												-- add this language or error message to the list&lt;br /&gt;
&lt;br /&gt;
		if &amp;#039;ca-valencia&amp;#039; ~= code then											-- except for valencian&lt;br /&gt;
			code = code:match (&amp;#039;^%a%a%a?%f[^%a]&amp;#039;);								-- strip off region, script, and variant tags so that they aren&amp;#039;t used to make category names&lt;br /&gt;
		end&lt;br /&gt;
		if synonym_table[code] then												-- if 639-2/639-2T code has a 639-1 synonym&lt;br /&gt;
			if (0 == namespace) then&lt;br /&gt;
				table.insert (cats, table.concat ({&amp;#039;[[Category:Lang and lang-xx code promoted to ISO 639-1|&amp;#039;, code ..&amp;#039;]]&amp;#039;}));&lt;br /&gt;
			end&lt;br /&gt;
			table.insert (maint_msgs, &amp;#039; &amp;lt;span class=&amp;quot;lang-comment&amp;quot; style=&amp;quot;font-style:normal; display:none; color:#33aa33; margin-left:0.3em&amp;quot;&amp;gt;&amp;#039;)&lt;br /&gt;
			table.insert (maint_msgs, table.concat ({&amp;#039;code: &amp;#039;, code, &amp;#039; promoted to code: &amp;#039;, synonym_table[code]}));&lt;br /&gt;
			table.insert (maint_msgs, &amp;#039;&amp;lt;/span&amp;gt;;&amp;#039;);&lt;br /&gt;
			code = synonym_table[code];											-- use the synonym&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if (0 == namespace) then												-- when in article space&lt;br /&gt;
			if lang:find (&amp;#039;error&amp;#039;) then											-- add error category (message provided by Module:Lang)&lt;br /&gt;
				table.insert (cats, &amp;#039;[[Category:in lang template errors]]&amp;#039;);&lt;br /&gt;
			elseif this_wiki_lang ~= code then									-- categorize article only when code is not this wiki&amp;#039;s language code&lt;br /&gt;
				if lang:match (&amp;#039;%[%[.-|.-%]%]&amp;#039;) then							-- wikilinked individual language name&lt;br /&gt;
					lang = lang:match (&amp;#039;%[%[.-|(.-)%]%]&amp;#039;);&lt;br /&gt;
				elseif lang:match (&amp;#039;%[%[.-%]%]&amp;#039;) then							-- wikilinked collective languages name&lt;br /&gt;
					lang = lang:match (&amp;#039;%[%[(.-)%]%]&amp;#039;);&lt;br /&gt;
				end																-- neither of these then plain-text language name&lt;br /&gt;
&lt;br /&gt;
				if lang:find (&amp;#039;மொழி&amp;#039;) then									-- add appropriate language-name category&lt;br /&gt;
					table.insert (cats, table.concat ({&amp;#039;[[பகுப்பு:Articles with &amp;#039;, lang, &amp;#039;-collective sources (&amp;#039;, code, &amp;#039;)]]&amp;#039;}));&lt;br /&gt;
				else&lt;br /&gt;
					table.insert (cats, table.concat ({&amp;#039;[[பகுப்பு:Articles with &amp;#039;, lang, &amp;#039;-language sources (&amp;#039;, code, &amp;#039;)]]&amp;#039;}));&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local result = {&amp;#039;&amp;lt;span class=&amp;quot;languageicon&amp;quot;&amp;gt;(&amp;#039;};							-- opening span and (&lt;br /&gt;
	table.insert (result, &amp;#039;yes&amp;#039; == args[&amp;#039;cap&amp;#039;] and &amp;#039;In &amp;#039; or &amp;#039;in &amp;#039;);				-- add capitalized or uncapitalized &amp;#039;in&amp;#039;&lt;br /&gt;
	table.insert (result, mw.text.listToText (list, &amp;#039;, &amp;#039;, (2 &amp;lt; #list) and &amp;#039;, and &amp;#039; or &amp;#039; and &amp;#039; ));	-- and concatenate the language list&lt;br /&gt;
&lt;br /&gt;
	table.insert (result, &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;);											-- add closing ) and closing span&lt;br /&gt;
	table.insert (result, table.concat (maint_msgs) or &amp;#039;&amp;#039;);				-- add maint messages, if any&lt;br /&gt;
	table.insert (result, table.concat (cats));									-- add categories&lt;br /&gt;
	return table.concat (result);												-- make a big string and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N I H O N G O _ E R R O R &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
creates an error message for {{nihongo}}, {{nihongo3}}, and nihongo foot}} when these template are missing &amp;lt;japanese&amp;gt;&lt;br /&gt;
or &amp;lt;romaji&amp;gt; inputs; names the offending template, links to template page, and adds article to Category:Nihongo template errors&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function nihongo_error (template)&lt;br /&gt;
	local msg = {&amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot; style=&amp;quot;font-size:100%&amp;quot;&amp;gt;error: {{&amp;#039;};&lt;br /&gt;
	table.insert (msg, template);&lt;br /&gt;
	table.insert (msg, &amp;#039;}}: Japanese or romaji text required ([[Template:&amp;#039;);&lt;br /&gt;
	table.insert (msg, template);&lt;br /&gt;
	table.insert (msg, &amp;#039;|help]])&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
	if 0 == mw.title.getCurrentTitle().namespace then&lt;br /&gt;
		table.insert (msg, &amp;#039;[[Category:Nihongo template errors]]&amp;#039;);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat (msg);	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N I H O N G O _ R E N D E R E R &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
shared support function for nihingo(), nihongo3(), and nihongo_foot().  Calculates an index into formatting{}&lt;br /&gt;
from set/unset parameters:&lt;br /&gt;
	args[1] (english) has a value of 8 (set) or 0 (unset)&lt;br /&gt;
	args[2] (japanese) has a value of 4&lt;br /&gt;
	args[3] (romaji) has a value of 2&lt;br /&gt;
	args[4] (extra) has a value of 1&lt;br /&gt;
index, the sum of these values, gets the appropriate format string from formatting{} table with associated values&lt;br /&gt;
from the formatting[index][2] table&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function nihongo_renderer (args, formatting, extra2)&lt;br /&gt;
	local output;&lt;br /&gt;
	local index = 0;															-- index into formatting{}&lt;br /&gt;
	local param_weight = {8, 4, 2, 1};											-- binary parameter weights: [1] = english (8), [2] = japanese (4), [3] = romaji (2), [4] = extra (1)&lt;br /&gt;
&lt;br /&gt;
	for i=1, 5 do																-- spin through args[1] – args[4]&lt;br /&gt;
		index = index + (args[i] and param_weight[i] or 0);						-- calculate an index into formatting{}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	output = (0 ~= index) and string.format (formatting[index][1] and formatting[index][1], formatting[index][2][1], formatting[index][2][2], formatting[index][2][3], formatting[index][2][4]) or nil;&lt;br /&gt;
&lt;br /&gt;
	if extra2 then																-- always just attached to the end (if there is an end) so not part of formatting{}&lt;br /&gt;
		output = output and (output .. &amp;#039; &amp;#039; .. extra2) or &amp;#039;&amp;lt;5p4n&amp;gt;&amp;#039; .. extra2;	-- &amp;lt;5p4n&amp;gt; and &amp;lt;/5p4n&amp;gt;: place holders for font-weight style spans; akin to stripmarkers, to be replaced&lt;br /&gt;
	end																			-- (nihongo and nihongo3) or removed (nihongo foot)&lt;br /&gt;
&lt;br /&gt;
	return output and (output .. &amp;#039;&amp;lt;/5p4n&amp;gt;&amp;#039;) or &amp;#039;&amp;#039;;								-- where there is output, add secret tag close&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; N I H O N G O &amp;gt;----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
An experiment to see how to implement {{nihongo}} using Module:Lang for language and transliteration markup&lt;br /&gt;
&lt;br /&gt;
{{Nihongo|&amp;lt;English&amp;gt;|&amp;lt;japanese&amp;gt;|&amp;lt;romaji&amp;gt;|&amp;lt;extra&amp;gt;|&amp;lt;extra2&amp;gt;|lead=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;English&amp;gt;, &amp;lt;japanese&amp;gt;, and &amp;lt;romaji&amp;gt; are positional parameters&lt;br /&gt;
	&amp;lt;English&amp;gt;: rendered as presented; purports to be English translation of &amp;lt;kanji/kana&amp;gt;&lt;br /&gt;
	&amp;lt;japanese&amp;gt;: Japanese language text using Japanese script; TODO: require?&lt;br /&gt;
	&amp;lt;romaji&amp;gt;: Hepburn romanization (transliteration); TODO: in Module:Lang/data change tooltip text to &amp;#039;Hepburn romanization&amp;#039;?&lt;br /&gt;
&amp;lt;extra&amp;gt; and &amp;lt;extra2&amp;gt; are positional or named: |extra= and |extra2=; mixing can be problematic&lt;br /&gt;
	&amp;lt;extra&amp;gt; is rendered as presented preceeded with &amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&lt;br /&gt;
	&amp;lt;extra2&amp;gt; is rendered as presented preceeded with &amp;lt;space&amp;gt;&lt;br /&gt;
|lead=: takes one value &amp;#039;yes&amp;#039;; renders language name same as {{lang-ja}} but also adds [[Hepburn romanization|Hepburn]]:&amp;lt;space&amp;gt; ahead of the romanization; TODO: in Module:Lang, turnoff tooltip for transl when |lead=yes&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo (frame)&lt;br /&gt;
	local lang_module = require (&amp;#039;Module:Lang&amp;#039; .. (frame:getTitle():match (&amp;#039;/sandbox&amp;#039;) or &amp;#039;&amp;#039;));	-- if this module is the sandbox, use Module:lang/sandbox; Module:Lang else&lt;br /&gt;
&lt;br /&gt;
	local args = require (&amp;#039;Module:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local english, japanese, romaji, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- meaningful names&lt;br /&gt;
	args[4] = extra or args[4];													-- ensure that extra is &amp;#039;positional&amp;#039; for use by nihongo_renderer()&lt;br /&gt;
&lt;br /&gt;
	local lead = &amp;#039;yes&amp;#039; == args.lead;											-- make boolean&lt;br /&gt;
&lt;br /&gt;
	if not (japanese or romaji) then											-- not present, return an error message&lt;br /&gt;
		return nihongo_error (&amp;#039;nihongo&amp;#039;);&lt;br /&gt;
	end&lt;br /&gt;
	if japanese then&lt;br /&gt;
		japanese = lead and lang_module._lang_xx_inherit ({[&amp;#039;code&amp;#039;]=&amp;#039;ja&amp;#039;, japanese, [&amp;#039;template&amp;#039;]=&amp;#039;nihongo&amp;#039;}) or lang_module._lang ({&amp;#039;ja&amp;#039;, japanese, [&amp;#039;template&amp;#039;]=&amp;#039;nihongo&amp;#039;});	-- add ja script with/without language prefix&lt;br /&gt;
	end&lt;br /&gt;
	if romaji then&lt;br /&gt;
		romaji = (lead and english and &amp;#039;[[Hepburn romanization|Hepburn]]: &amp;#039; or &amp;#039;&amp;#039;) .. lang_module._transl ({&amp;#039;ja&amp;#039;, &amp;#039;hepburn&amp;#039;, romaji}) or nil;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local formatting = {														-- &amp;lt;5p4n&amp;gt; and &amp;lt;/5p4n&amp;gt;: place holders for font-weight style spans; akin to stripmarkers, replaced  before function returns&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {extra}}, 												-- 1 - (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {romaji}},													-- 2 - romaji&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romaji, extra}},										-- 3 - romaji (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {japanese}},												-- 4 - japanese&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s, %s)&amp;#039;, {japanese, extra}},									-- 5 - (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romaji, japanese}},									-- 6 - romaji (japanese)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romaji, japanese, extra}},						-- 7 - romaji (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {english}},												-- 8 - english&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {english, extra}},									-- 9 - english (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {english, romaji}},									-- 10 - english (romaji)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {english, romaji, extra}},						-- 11 - english (romaji, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {english, japanese}},									-- 12 - english (japanese)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {english, japanese, extra}},						-- 13 - english (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {english, japanese, romaji}},						-- 14 - english (japanese, romaji)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s, %s)&amp;#039;, {english, japanese, romaji, extra}},			-- 15 - english (japanese, romaji, extra)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	local ret_string = nihongo_renderer (args, formatting, extra2)&lt;br /&gt;
	ret_string = ret_string:gsub (&amp;#039;&amp;lt;5p4n&amp;gt;&amp;#039;, &amp;#039;&amp;lt;span style=&amp;quot;font-weight: normal&amp;quot;&amp;gt;&amp;#039;):gsub (&amp;#039;&amp;lt;/5p4n&amp;gt;&amp;#039;, &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;);	-- replace &amp;#039;secret&amp;#039; tags with proper tags&lt;br /&gt;
	return ret_string;															-- because gsub returns the number of replacements made as second return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; N I H O N G O 3 &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
An experiment to see how to implement {{nihongo3}} using Module:Lang for language and transliteration markup&lt;br /&gt;
&lt;br /&gt;
Similar to {{nihongo}} but changes rendered order and does not support |lead=&lt;br /&gt;
&lt;br /&gt;
{{Nihongo3|&amp;lt;English&amp;gt;|&amp;lt;japanese&amp;gt;|&amp;lt;romaji&amp;gt;|&amp;lt;extra&amp;gt;|&amp;lt;extra2&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;English&amp;gt;, &amp;lt;japanese&amp;gt;, and &amp;lt;romaji&amp;gt; are positional parameters&lt;br /&gt;
	&amp;lt;English&amp;gt;: rendered as presented; purports to be English translation of &amp;lt;kanji/kana&amp;gt;&lt;br /&gt;
	&amp;lt;japanese&amp;gt;: Japanese language text using Japanese script; TODO: require?&lt;br /&gt;
	&amp;lt;romaji&amp;gt;: Hepburn romanization (transliteration); TODO: in Module:Lang/data change tooltip text to &amp;#039;Hepburn romanization&amp;#039;?&lt;br /&gt;
&amp;lt;extra&amp;gt; and &amp;lt;extra2&amp;gt; are positional or named: |extra= and |extra2=; mixing can be problematic&lt;br /&gt;
	&amp;lt;extra&amp;gt; is rendered as presented preceeded with &amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&lt;br /&gt;
	&amp;lt;extra2&amp;gt; is rendered as presented preceeded with &amp;lt;space&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo3 (frame)&lt;br /&gt;
	local lang_module = require (&amp;#039;Module:Lang&amp;#039; .. (frame:getTitle():match (&amp;#039;/sandbox&amp;#039;) or &amp;#039;&amp;#039;));	-- if this module is the sandbox, use Module:lang/sandbox; Module:Lang else&lt;br /&gt;
	local args = require (&amp;#039;Module:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local english, japanese, romaji, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- meaningful names&lt;br /&gt;
	args[4] = extra or args[4];													-- ensure that extra is &amp;#039;positional&amp;#039; for use by nihongo_renderer()&lt;br /&gt;
&lt;br /&gt;
	if not (japanese or romaji) then											-- not present, return an error message&lt;br /&gt;
		return nihongo_error (&amp;#039;nihongo3&amp;#039;);&lt;br /&gt;
	end&lt;br /&gt;
	japanese = japanese and lang_module._lang ({&amp;#039;ja&amp;#039;, japanese}) or nil;&lt;br /&gt;
	romaji = romaji and lang_module._transl ({&amp;#039;ja&amp;#039;, &amp;#039;hepburn&amp;#039;, romaji}) or nil;&lt;br /&gt;
	&lt;br /&gt;
	local formatting = {														-- &amp;lt;5p4n&amp;gt; and &amp;lt;/5p4n&amp;gt;: place holders for font-weight style spans; akin to stripmarkers, replaced  before function returns&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {extra}}, 												-- 1 - (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {romaji}},													-- 2 - romaji&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romaji, extra}},										-- 3 - romaji (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {japanese}},												-- 4 - japanese&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s, %s)&amp;#039;, {japanese, extra}},									-- 5 - (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romaji, japanese}},									-- 6 - romaji (japanese)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romaji, japanese, extra}},						-- 7 - romaji (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {english}},												-- 8 - english&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {english, extra}},									-- 9 - english (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romaji, english}},									-- 10 - romaji (english)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romaji, english, extra}},						-- 11 - romaji (english, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {english, japanese}},									-- 12 - english (japanese)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {english, japanese, extra}},						-- 13 - english (japanese, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romaji, japanese, english}},						-- 14 - romaji (japanese, english)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s, %s)&amp;#039;, {romaji, japanese, english, extra}},			-- 15 - romaji (japanese, english, extra)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	local ret_string = nihongo_renderer (args, formatting, extra2)&lt;br /&gt;
	ret_string = ret_string:gsub (&amp;#039;&amp;lt;5p4n&amp;gt;&amp;#039;, &amp;#039;&amp;lt;span style=&amp;quot;font-weight: normal&amp;quot;&amp;gt;&amp;#039;):gsub (&amp;#039;&amp;lt;/5p4n&amp;gt;&amp;#039;, &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;);	-- replace &amp;#039;secret&amp;#039; tags with proper tags&lt;br /&gt;
	return ret_string;															-- because gsub returns the number of replacements made as second return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; N I H O N G O _ F O O T &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
An experiment to see how to implement {{nihongo_foot}} using Module:Lang for language and transliteration markup&lt;br /&gt;
&lt;br /&gt;
{{Nihongo foot|&amp;lt;English&amp;gt;|&amp;lt;japanese&amp;gt;|&amp;lt;romaji&amp;gt;|&amp;lt;extra&amp;gt;|&amp;lt;extra2&amp;gt;|&amp;lt;post&amp;gt;|lead=yes|group}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;English&amp;gt;, &amp;lt;japanese&amp;gt;, and &amp;lt;romaji&amp;gt; are positional parameters&lt;br /&gt;
	&amp;lt;English&amp;gt;: rendered as presented; purports to be English translation of &amp;lt;kanji/kana&amp;gt;&lt;br /&gt;
	&amp;lt;japanese&amp;gt;: Japanese language text using Japanese script; TODO: require?&lt;br /&gt;
	&amp;lt;romaji&amp;gt;: Hepburn romanization (transliteration); TODO: in Module:Lang/data change tooltip text to &amp;#039;Hepburn romanization&amp;#039;?&lt;br /&gt;
&amp;lt;extra&amp;gt; and &amp;lt;extra2&amp;gt; are positional or named: |extra= and |extra2=; mixing can be problematic&lt;br /&gt;
	&amp;lt;extra&amp;gt; is rendered as presented preceeded with &amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&lt;br /&gt;
	&amp;lt;extra2&amp;gt; is rendered as presented preceeded with &amp;lt;space&amp;gt;&lt;br /&gt;
&amp;lt;post&amp;gt; is positional or named: |post= is a postscript character preceding the &amp;lt;ref&amp;gt;..&amp;lt;/ref&amp;gt; tag (after &amp;lt;English&amp;gt;)&lt;br /&gt;
|lead=: takes one value &amp;#039;yes&amp;#039;; renders language name same as {{lang-ja}} but also adds [[Hepburn romanization|Hepburn]]:&amp;lt;space&amp;gt; ahead of the romanization;&lt;br /&gt;
	TODO: in Module:Lang, turnoff tooltip for transl when |lead=yes&lt;br /&gt;
	in the live template |lead= also adds the Help:Installing Japanese character sets link; this is not supported in this code (nihongo nor nihongo3 have this support)&lt;br /&gt;
|group=: the group attribute in &amp;lt;ref group=&amp;quot;...&amp;quot;&amp;gt; and in {{reflist}}&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo_foot (frame)&lt;br /&gt;
	local lang_module = require (&amp;#039;Module:Lang&amp;#039; .. (frame:getTitle():match (&amp;#039;/sandbox&amp;#039;) or &amp;#039;&amp;#039;));	-- if this module is the sandbox, use Module:lang/sandbox; Module:Lang else&lt;br /&gt;
	local args = require (&amp;#039;Module:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local english, japanese, romaji, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- meaningful names&lt;br /&gt;
	args[4] = extra or args[4];													-- ensure that extra is &amp;#039;positional&amp;#039; for use by nihongo_renderer()&lt;br /&gt;
	local post = args[6] or args.post;&lt;br /&gt;
	local group = args.group;&lt;br /&gt;
	local lead = &amp;#039;yes&amp;#039; == args.lead;											-- make boolean&lt;br /&gt;
&lt;br /&gt;
	if not (japanese or romaji) then											-- not present, return an error message&lt;br /&gt;
		return nihongo_error (&amp;#039;nihongo foot&amp;#039;);&lt;br /&gt;
	end&lt;br /&gt;
	if japanese then&lt;br /&gt;
		japanese = lead and lang_module._lang_xx_inherit ({[&amp;#039;code&amp;#039;]=&amp;#039;ja&amp;#039;, japanese}) or lang_module._lang ({&amp;#039;ja&amp;#039;, japanese});	-- add ja script with/without language prefix&lt;br /&gt;
	end&lt;br /&gt;
	if romaji then&lt;br /&gt;
		romaji = (lead and &amp;#039;[[Hepburn romanization|Hepburn]]: &amp;#039; or &amp;#039;&amp;#039;) .. lang_module._transl ({&amp;#039;ja&amp;#039;, &amp;#039;hepburn&amp;#039;, romaji}) or nil;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local formatting = {&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {extra}}, 														-- 1 - extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {romaji}},														-- 2 - romaji&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {romaji, extra}},											-- 3 - romaji, extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {japanese}},														-- 4 - japanese&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {japanese, extra}},											-- 5 - japanese, extra&lt;br /&gt;
		{&amp;#039;%s %s&amp;#039;, {japanese, romaji}},											-- 6 - japanese romaji&lt;br /&gt;
		{&amp;#039;%s %s, %s&amp;#039;, {japanese, romaji, extra}},								-- 7 - japanese romaji, extra&lt;br /&gt;
																				-- from here english is used in the mapping but not rendered by nihongo_renderer so not included in the table&lt;br /&gt;
		{&amp;#039;&amp;#039;, {&amp;#039;&amp;#039;}},																-- 8 - english&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {extra}},														-- 9 - extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {romaji}},														-- 10 - romaji&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {romaji, extra}},											-- 11 - romaji, extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {japanese}},														-- 12 - japanese&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {japanese, extra}},											-- 13 - japanese, extra&lt;br /&gt;
		{&amp;#039;%s %s&amp;#039;, {japanese, romaji}},											-- 14 - japanese romaji&lt;br /&gt;
		{&amp;#039;%s %s, %s&amp;#039;, {japanese, romaji, extra}},								-- 15 - japanese romaji, extra&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	if english and post then													-- rewrite english to include |post=&lt;br /&gt;
		english = english .. post;												-- if english has a value append post else just post&lt;br /&gt;
	elseif post then&lt;br /&gt;
		english = post;															-- english not set, use post&lt;br /&gt;
	elseif not english then														-- neither are set&lt;br /&gt;
		english = &amp;#039;&amp;#039;;															-- make english an empty string for concatenation&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if japanese or romaji or extra or extra2 then								-- no ref tag when none of these are set (it would be empty)&lt;br /&gt;
		local content = nihongo_renderer (args, formatting, extra2);&lt;br /&gt;
		content = content:gsub (&amp;#039;&amp;lt;5p4n&amp;gt;&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;&amp;lt;/5p4n&amp;gt;$&amp;#039;, &amp;#039;&amp;#039;, 1);			-- strip secret &amp;lt;5p4n&amp;gt; and &amp;lt;/5p4n&amp;gt; tags added by nihongo_renderer(); spans not used by this template&lt;br /&gt;
&lt;br /&gt;
		return english .. frame:extensionTag ({name=&amp;#039;ref&amp;#039;, args={group=group}, content=content});	-- english with attached reference tag&lt;br /&gt;
	else&lt;br /&gt;
		return english;															-- nothing to be inside ref tag so just return english&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   F U N C T I O N S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	in_lang = in_lang,&lt;br /&gt;
	nihongo = nihongo,&lt;br /&gt;
	nihongo3 = nihongo3,&lt;br /&gt;
	nihongo_foot = nihongo_foot,&lt;br /&gt;
	set_italics = set_italics,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>imported&gt;Aswn</name></author>
	</entry>
</feed>