<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AJapon%C3%AAs</id>
	<title>Módulo:Japonês - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AJapon%C3%AAs"/>
	<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Japon%C3%AAs&amp;action=history"/>
	<updated>2026-07-05T11:59:58Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Japon%C3%AAs&amp;diff=2566&amp;oldid=prev</id>
		<title>Tavoraadmin: Importando predefinição/módulo da Wikipédia em português para manter layout</title>
		<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Japon%C3%AAs&amp;diff=2566&amp;oldid=prev"/>
		<updated>2026-07-05T06:11:28Z</updated>

		<summary type="html">&lt;p&gt;Importando predefinição/módulo da Wikipédia em português para manter layout&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M E N S A G E N S _ D E _ E R R O &amp;gt;--------------------------------------------&lt;br /&gt;
&lt;br /&gt;
mensagens de erro; as chaves dessa tabela são os nomes da base da predefinição:&lt;br /&gt;
	&amp;#039;japonês&amp;#039;, &amp;#039;nihongo3&amp;#039;, &amp;#039;nihongo krt&amp;#039;, &amp;#039;japonês nota&amp;#039; → &amp;#039;japonês&amp;#039; etc.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local err_msg = {&lt;br /&gt;
	[&amp;#039;japonês&amp;#039;] = &amp;#039;Texto em japonês ou romaji necessário&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local err_cat = {&lt;br /&gt;
	[&amp;#039;japonês&amp;#039;] = &amp;#039;[[Categoria:!Erros na predefinição japonês]]&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C O N F I G U R A Ç Ã O &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
definição de configuração para as várias predefinições. As chaves dessa tabela são os nomes das predefinições sem espaçamento&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local cfg = {&lt;br /&gt;
	[&amp;#039;japonês&amp;#039;] = {&lt;br /&gt;
		tag = &amp;#039;ja&amp;#039;,&lt;br /&gt;
		system = &amp;#039;hepburn&amp;#039;,&lt;br /&gt;
		system_link = &amp;#039;[[Sistema Hepburn|Hepburn]]&amp;#039;,&lt;br /&gt;
		err_msg = err_msg[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		err_cat = err_cat[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		},&lt;br /&gt;
	[&amp;#039;nihongo3&amp;#039;] = {&lt;br /&gt;
		tag = &amp;#039;ja&amp;#039;,&lt;br /&gt;
		system = &amp;#039;hepburn&amp;#039;,&lt;br /&gt;
		err_msg = err_msg[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		err_cat = err_cat[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		},&lt;br /&gt;
	[&amp;#039;nihongo krt&amp;#039;] = {&lt;br /&gt;
		tag = &amp;#039;ja&amp;#039;,&lt;br /&gt;
		system = &amp;#039;hepburn&amp;#039;,&lt;br /&gt;
		err_msg = err_msg[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		err_cat = err_cat[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		},&lt;br /&gt;
	[&amp;#039;japonês nota&amp;#039;] = {&lt;br /&gt;
		tag = &amp;#039;ja&amp;#039;,&lt;br /&gt;
		system = &amp;#039;hepburn&amp;#039;,&lt;br /&gt;
		system_link = &amp;#039;[[Sistema Hepburn|Hepburn]]&amp;#039;,&lt;br /&gt;
		err_msg = err_msg[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		err_cat = err_cat[&amp;#039;japonês&amp;#039;],&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M E N S A G E M _ D E _ E R R O &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Cria uma mensagem de erro para {{japonês}}, {{nihongo3}}, {{nihongo krt}} e {{japonês nota}} quando essas predefinições não têm entradas &amp;lt;japonês&amp;gt;&lt;br /&gt;
ou &amp;lt;romaji&amp;gt;; nomeia a predefinição incorreta, vincula à página da predefinição e adiciona o artigo à Categoria:Erros de predefinição do Nihongo&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function error_message (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;erro em {{&amp;#039;};&lt;br /&gt;
	table.insert (msg, template);&lt;br /&gt;
	table.insert (msg, &amp;#039;}}: &amp;#039;);&lt;br /&gt;
	table.insert (msg, cfg[template].err_msg);&lt;br /&gt;
	table.insert (msg, &amp;#039; ([[Predefinição:&amp;#039;);&lt;br /&gt;
	table.insert (msg, template);&lt;br /&gt;
	table.insert (msg, &amp;#039;|ajuda]])&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
	if 0 == mw.title.getCurrentTitle().namespace then&lt;br /&gt;
		table.insert (msg, cfg[template].err_cat);&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; R E N D E R E R &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Função de suporte compartilhado para nihingo(), nihongo3() e nihongo_foot().  Calcula um índice em formatação{}&lt;br /&gt;
a partir de parâmetros definidos ou não:&lt;br /&gt;
	args[1] (texto traduzido) tem o valor de 8 (definido) o 0 (não definido)&lt;br /&gt;
	args[2] (texto nativo) tem o valor de 4&lt;br /&gt;
	args[3] (texto romanizado) tem o valor de 2&lt;br /&gt;
	args[4] (extra) tem o valor de 1&lt;br /&gt;
o índice, a soma desses valores, obtém a string de formatação apropriada da tabela formatting{} com valores associados&lt;br /&gt;
da tabela formatting[index][2]&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function renderer (args, formatting, extra2)&lt;br /&gt;
	local output;&lt;br /&gt;
	local index = 0;															-- índice de formatting{}&lt;br /&gt;
	local param_weight = {8, 4, 2, 1};											-- parâmetro binário de pesos: [1] = translation (8), [2] = japanese (4), [3] = romaji (2), [4] = extra (1)&lt;br /&gt;
&lt;br /&gt;
	for i=1, 5 do																-- roda por args[1] – args[4]&lt;br /&gt;
		index = index + (args[i] and param_weight[i] or 0);						-- calcula um índice para 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																-- sempre apenas anexado ao final (se houver um final), portanto, não faz parte da formatação{}&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; e &amp;lt;/5p4n&amp;gt;: espaços reservados para o estilo de peso da fonte; semelhante a marcadores de faixa, a serem substituídos&lt;br /&gt;
	end																			-- (japonês e nihongo3) ou removido (japonês nota)&lt;br /&gt;
&lt;br /&gt;
	return output and (output .. &amp;#039;&amp;lt;/5p4n&amp;gt;&amp;#039;) or &amp;#039;&amp;#039;;								-- Onde houver saída, adicione a tag de fechamento&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; R O M A N I Z E D _ K E R N &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Adiciona kerning quando o primeiro ou o último caractere do texto romanizado entrar em contato com parênteses adjacentes de abertura ou fechamento&lt;br /&gt;
&lt;br /&gt;
Neste exemplo, sem kerning, os caracteres romanizados &amp;#039;j&amp;#039; e &amp;#039;V&amp;#039; estão em itálico e, portanto, entrarão em contato com os parênteses&lt;br /&gt;
	(&amp;lt;i lang=\&amp;quot;ja-Latn\&amp;quot; title=\&amp;quot;Hepburn transliteration\&amp;quot;&amp;gt;jV&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ret_string&amp;gt; é a saída formatada da predefinição (exceto pelo fato de que a string mágica &amp;#039;&amp;lt;5p4n&amp;gt;&amp;#039; ainda não foi substituída)&lt;br /&gt;
&amp;lt;romanized&amp;gt; é o retorno de lang_module._transl(), portanto, não está entre parênteses&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function romanized_kern (ret_string, romanized)&lt;br /&gt;
	if not romanized or (&amp;#039;&amp;#039; == romanized) then									-- se romanized não estiver definido&lt;br /&gt;
		return ret_string;														-- então não há nada a ser feito&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local romanized_text = romanized:gsub (&amp;#039;%b&amp;lt;&amp;gt;&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;\&amp;#039;\&amp;#039;+&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;%[%[&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;%]%]&amp;#039;, &amp;#039;&amp;#039;);	-- remove tags html&lt;br /&gt;
&lt;br /&gt;
	romanized = romanized:gsub (&amp;#039;([%(%)%.%%%+%-%*%?%[%^%$%]])&amp;#039;, &amp;#039;%%%1&amp;#039;);		-- caracteres de padrão de escape lua&lt;br /&gt;
&lt;br /&gt;
	local romanized_has_leading_paren = ret_string:match (&amp;#039;%(&amp;#039; .. romanized);	-- tem valor se (&amp;lt;romanized&amp;gt;; senão nil&lt;br /&gt;
	local romanized_has_trailing_paren = ret_string:match (romanized .. &amp;#039;%)&amp;#039;);	-- tem valor se &amp;lt;romanized&amp;gt;); senão nil&lt;br /&gt;
&lt;br /&gt;
	local kern_lead_pattern = &amp;#039;^[jpy]&amp;#039;;											-- lista de caracteres que, quando em itálico, entram em contato com parênteses da esquerda&lt;br /&gt;
	local kern_tail_pattern = &amp;#039;[dfijkltCEFHIJKMNPR-Z\&amp;#039;&amp;quot;%?!%]]$&amp;#039;;				-- lista de caracteres que, quando em itálico, entram em contato com parênteses da direita&lt;br /&gt;
&lt;br /&gt;
	local kern_right = &amp;#039;&amp;lt;span style=&amp;quot;margin-right:.09em&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;%1&amp;#039;;			-- %1 é a captura de &amp;lt;romanized&amp;gt;&lt;br /&gt;
	local kern_left = &amp;#039;%1&amp;lt;span style=&amp;quot;margin-left:.09em&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&amp;#039;;				-- %1 é a captura de &amp;lt;romanized&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	if romanized_has_leading_paren and romanized_text:match (kern_lead_pattern) then&lt;br /&gt;
		ret_string = ret_string:gsub (&amp;#039;%((&amp;#039; .. romanized .. &amp;#039;)&amp;#039;, kern_right);		-- Substitua &amp;#039;(&amp;#039; simples por &amp;#039;(&amp;#039; com kerning; &amp;lt;romanized&amp;gt; incluído aqui para garantir que seja adicionado kerning ao &amp;#039;(&amp;#039; correto&lt;br /&gt;
	end&lt;br /&gt;
	if romanized_has_trailing_paren and romanized_text:match (kern_tail_pattern) then&lt;br /&gt;
		ret_string = ret_string:gsub (&amp;#039;(&amp;#039; .. romanized .. &amp;#039;)%)&amp;#039;, kern_left);		-- Substitua &amp;#039;)&amp;#039; simples por &amp;#039;)&amp;#039; com kerning; &amp;lt;romanized&amp;gt; incluído aqui para garantir que seja adicionado kerning ao &amp;#039;)&amp;#039; correto&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ret_string;															-- done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C O M M O N &amp;gt;------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Suporte comum para {{nihongo}}&lt;br /&gt;
&lt;br /&gt;
ordem de renderização: is translated, native, romanized&lt;br /&gt;
&lt;br /&gt;
&amp;lt;template&amp;gt; é usado para selecionara a tabela cfg apropriada&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function common (frame, template)&lt;br /&gt;
	local lang_module = require (&amp;#039;Módulo:Lang&amp;#039;);&lt;br /&gt;
	local args = require (&amp;#039;Módulo:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local translation, native, romanized, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- nomes significativos&lt;br /&gt;
	args[4] = extra or args[4];													-- garantir que extra seja &amp;quot;posicional&amp;quot; para uso por renderer()&lt;br /&gt;
&lt;br /&gt;
	local lead = require (&amp;#039;Módulo:yesno&amp;#039;)(args.lead or args.prefixo);&lt;br /&gt;
&lt;br /&gt;
	if not (native or romanized) then											-- se não presente, retorna uma mensagem de erro&lt;br /&gt;
		return error_message (template);&lt;br /&gt;
	end&lt;br /&gt;
	if native and native ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		native = ((lead and &amp;#039;[[Língua japonesa|japonês]]: &amp;#039;) or &amp;#039;&amp;#039;) .. lang_module._lang ({cfg[template].tag, native, [&amp;#039;template&amp;#039;]=template});	-- adiciona script ja com/sem prefixo língua&lt;br /&gt;
	end&lt;br /&gt;
	if romanized then&lt;br /&gt;
		romanized = (lead and translation and (cfg[template].system_link .. &amp;#039;: &amp;#039;) or &amp;#039;&amp;#039;) .. lang_module._transl ({&amp;#039;ja&amp;#039;, cfg[template].system, romanized, [&amp;#039;template&amp;#039;]=template}) or nil;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local formatting = {														-- &amp;lt;5p4n&amp;gt; e &amp;lt;/5p4n&amp;gt;: espaços reservados para intervalos de estilo de peso de fonte; semelhante a marcadores de faixa, substituídos antes do retorno da função&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;, {romanized}},												-- 2 - romanized&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, extra}},									-- 3 - romanized (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {native}},												-- 4 - native&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s; %s)&amp;#039;, {native, extra}},									-- 5 - (native; extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, native}},									-- 6 - romanized (native)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s; %s)&amp;#039;, {romanized, native, extra}},						-- 7 - romanized (native; extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {translation}},											-- 8 - translation&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, extra}},								-- 9 - translation (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, romanized}},							-- 10 - translation (romanized)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s; %s)&amp;#039;, {translation, romanized, extra}},					-- 11 - translation (romanized; extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, native}},								-- 12 - translation (native)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s; %s)&amp;#039;, {translation, native, extra}},					-- 13 - translation (native; extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {translation, native, romanized}},				-- 14 - translation (native, romanized)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s; %s)&amp;#039;, {translation, native, romanized, extra}},		-- 15 - translation (native, romanized; extra)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	local ret_string = renderer (args, formatting, extra2)&lt;br /&gt;
	ret_string = romanized_kern (ret_string, romanized);						-- aplica o kern no texto romanizado quando apropriado&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;);	-- substitui para as tags adequadas&lt;br /&gt;
&lt;br /&gt;
	return ret_string;															-- porque o gsub retorna o número de substituições feitas como segundo valor de retorno&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C O M M O N _ R O M A N I Z E D _ N A T I V E _ T R A N S L A T E D &amp;gt;----------&lt;br /&gt;
&lt;br /&gt;
Suporte comum para {{nihongo3}}&lt;br /&gt;
&lt;br /&gt;
ordem de renderização: is romanized, native, translated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;template&amp;gt; é usado para selecionara a tabela cfg apropriada&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function common_romanized_native_translated (frame, template)&lt;br /&gt;
	local lang_module = require (&amp;#039;Módulo:Lang&amp;#039;);&lt;br /&gt;
	local args = require (&amp;#039;Módulo:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local translation, native, romanized, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- nomes significativos&lt;br /&gt;
	args[4] = extra or args[4];													-- garantir que extra seja &amp;quot;posicional&amp;quot; para uso por renderer()&lt;br /&gt;
&lt;br /&gt;
	if not (native or romanized) then											-- se não presente, retorna uma mensagem de erro&lt;br /&gt;
		return error_message (template);&lt;br /&gt;
	end&lt;br /&gt;
	native = native and lang_module._lang ({cfg[template].tag, native, [&amp;#039;template&amp;#039;]=template}) or nil;&lt;br /&gt;
	romanized = romanized and lang_module._transl ({cfg[template].tag, cfg[template].system, romanized, [&amp;#039;template&amp;#039;]=template}) or nil;&lt;br /&gt;
	&lt;br /&gt;
	local formatting = {														-- &amp;lt;5p4n&amp;gt; e &amp;lt;/5p4n&amp;gt;: espaços reservados para intervalos de estilo de peso de fonte; semelhante a marcadores de faixa, substituídos antes do retorno da função&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;, {romanized}},												-- 2 - romanized&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, extra}},									-- 3 - romanized (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s)&amp;#039;, {native}},												-- 4 - native&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;(%s, %s)&amp;#039;, {native, extra}},									-- 5 - (native, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, native}},									-- 6 - romanized (native)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romanized, native, extra}},						-- 7 - romanized (native, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {translation}},											-- 8 - translation&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, extra}},								-- 9 - translation (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, translation}},							-- 10 - romanized (translation)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romanized, translation, extra}},					-- 11 - romanized (translation, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, native}},								-- 12 - translation (native)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {translation, native, extra}},					-- 13 - translation (native, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romanized, native, translation}},				-- 14 - romanized (native, translation)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s, %s)&amp;#039;, {romanized, native, translation, extra}},		-- 15 - romanized (native, translation, extra)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	local ret_string = 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;);	-- substitui para as tags adequadas&lt;br /&gt;
	return ret_string;															-- porque o gsub retorna o número de substituições feitas como segundo valor de retorno&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C O M M O N _ N A T I V E _ R O M A N I Z E D _ T R A N S L A T E D &amp;gt;----------&lt;br /&gt;
&lt;br /&gt;
Suporte comum para {{nihongo krt}}&lt;br /&gt;
&lt;br /&gt;
ordem de renderização: is native, romanized, translated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;template&amp;gt; é usado para selecionara a tabela cfg apropriada&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function common_native_romanized_translated (frame, template)&lt;br /&gt;
	local lang_module = require (&amp;#039;Módulo:Lang&amp;#039;);&lt;br /&gt;
	local args = require (&amp;#039;Módulo:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local translation, native, romanized, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- nomes significativos&lt;br /&gt;
	args[4] = extra or args[4];													-- garantir que extra seja &amp;quot;posicional&amp;quot; para uso por renderer()&lt;br /&gt;
&lt;br /&gt;
	if not (native or romanized) then											-- se não presente, retorna uma mensagem de erro&lt;br /&gt;
		return error_message (template);&lt;br /&gt;
	end&lt;br /&gt;
	native = native and lang_module._lang ({cfg[template].tag, native, [&amp;#039;template&amp;#039;]=template}) or nil;&lt;br /&gt;
	romanized = romanized and lang_module._transl ({cfg[template].tag, cfg[template].system, romanized, [&amp;#039;template&amp;#039;]=template}) or nil;&lt;br /&gt;
	&lt;br /&gt;
	local formatting = {														-- &amp;lt;5p4n&amp;gt; e &amp;lt;/5p4n&amp;gt;: espaços reservados para intervalos de estilo de peso de fonte; semelhante a marcadores de faixa, substituídos antes do retorno da função&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;, {romanized}},												-- 2 - romanized&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, extra}},									-- 3 - romanized (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s&amp;#039;, {native}},													-- 4 - native&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s)&amp;#039;, {native, extra}},										-- 5 - native (extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s)&amp;#039;, {native, romanized}},									-- 6 - native (romanized)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s, %s)&amp;#039;, {native, romanized, extra}},						-- 7 - native (romanized, extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt;&amp;#039;, {translation}},											-- 8 - translation&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {translation, extra}},								-- 9 - translation (extra)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s)&amp;#039;, {romanized, translation}},							-- 10 - romanized (translation)&lt;br /&gt;
		{&amp;#039;%s&amp;lt;5p4n&amp;gt; (%s, %s)&amp;#039;, {romanized, translation, extra}},					-- 11 - romanized (translation, extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s)&amp;#039;, {native, translation}},								-- 12 - native (translation)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s, %s)&amp;#039;, {native, translation, extra}},					-- 13 - native (translation, extra)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s, %s)&amp;#039;, {native, romanized, translation}},				-- 14 - native (romanized, translation)&lt;br /&gt;
		{&amp;#039;&amp;lt;5p4n&amp;gt;%s (%s, %s, %s)&amp;#039;, {native, romanized, translation, extra}},		-- 15 - native (romanized, translation, extra)&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	local ret_string = renderer (args, formatting, extra2)&lt;br /&gt;
	ret_string = romanized_kern (ret_string, romanized);						-- aplica o kern no texto romanizado quando apropriado&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;);	-- substitui para as tags adequadas&lt;br /&gt;
	return ret_string;															-- porque o gsub retorna o número de substituições feitas como segundo valor de retorno&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C O M M O N _ F O O T &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Suporte comum para {{nihongo foot}}&lt;br /&gt;
&lt;br /&gt;
ordem de renderização: is translated&amp;lt;ref&amp;gt;native, romanized&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;template&amp;gt; é usado para selecionara a tabela cfg apropriada&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function common_foot (frame, template)&lt;br /&gt;
	local lang_module = require (&amp;#039;Módulo:Lang&amp;#039;);&lt;br /&gt;
	local args = require (&amp;#039;Módulo:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	&lt;br /&gt;
	local translation, native, romanized, extra, extra2 = args[1], args[2], args[3], args.extra or args[4], args.extra2 or args[5];	-- nomes significativos&lt;br /&gt;
	args[4] = extra or args[4];													-- garantir que extra seja &amp;quot;posicional&amp;quot; para uso por renderer()&lt;br /&gt;
	local post = args[6] or args[&amp;#039;pós&amp;#039;];&lt;br /&gt;
	local group = args.group or args.grupo or &amp;#039;lower-alpha&amp;#039;;&lt;br /&gt;
	local ref_name = args.ref_name or args.ref_nome;&lt;br /&gt;
	local lead = require (&amp;#039;Módulo:yesno&amp;#039;)(args.lead or args.prefixo);&lt;br /&gt;
&lt;br /&gt;
	if not (native or romanized) then											-- se não presente, retorna uma mensagem de erro&lt;br /&gt;
		return error_message (template);&lt;br /&gt;
	end&lt;br /&gt;
	if native and native ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		native = ((lead and &amp;#039;[[Língua japonesa|japonês]]: &amp;#039;) or &amp;#039;&amp;#039;) .. lang_module._lang ({cfg[template].tag, native, [&amp;#039;template&amp;#039;]=template});	-- adiciona script ja com/sem prefixo língua&lt;br /&gt;
	end&lt;br /&gt;
	if romanized then&lt;br /&gt;
		romanized = (lead and (cfg[template].system_link .. &amp;#039;: &amp;#039;) or &amp;#039;&amp;#039;) .. lang_module._transl ({&amp;#039;ja&amp;#039;, cfg[template].system, romanized, [&amp;#039;template&amp;#039;]=template}) 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;, {romanized}},													-- 2 - romanized&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {romanized, extra}},											-- 3 - romanized, extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {native}},														-- 4 - native&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {native, extra}},											-- 5 - native, extra&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {native, romanized}},										-- 6 - native romanized&lt;br /&gt;
		{&amp;#039;%s, %s, %s&amp;#039;, {native, romanized, extra}},								-- 7 - native romanized, extra&lt;br /&gt;
																				-- a partir daqui, translation é usado no mapeamento, mas não é renderizado pelo renderizador, portanto não é incluído na tabela&lt;br /&gt;
		{&amp;#039;&amp;#039;, {&amp;#039;&amp;#039;}},																-- 8 - translation&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {extra}},														-- 9 - extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {romanized}},													-- 10 - romanized&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {romanized, extra}},											-- 11 - romanized, extra&lt;br /&gt;
		{&amp;#039;%s&amp;#039;, {native}},														-- 12 - native&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {native, extra}},											-- 13 - native, extra&lt;br /&gt;
		{&amp;#039;%s, %s&amp;#039;, {native, romanized}},										-- 14 - native romanized&lt;br /&gt;
		{&amp;#039;%s, %s, %s&amp;#039;, {native, romanized, extra}},								-- 15 - native romanized, extra&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	if translation and post then												-- reescreve translation para incluir |pós=&lt;br /&gt;
		translation = translation .. post;										-- se translation possui valor, concatena com post, senão apenas post&lt;br /&gt;
	elseif post then&lt;br /&gt;
		translation = post;														-- translation não definido, use post&lt;br /&gt;
	elseif not translation then													-- nenhum é definido&lt;br /&gt;
		translation = &amp;#039;&amp;#039;;														-- faça translation ser uma string vazia para concatenação&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if native or romanized or extra or extra2 then								-- nenhuma tag de referência quando nenhuma delas estiver definida (ela estaria vazia)&lt;br /&gt;
		local content = 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);			-- Retirar as tags &amp;lt;5p4n&amp;gt; e &amp;lt;/5p4n&amp;gt; adicionadas por renderer(); spans não usados por essa predefinição&lt;br /&gt;
&lt;br /&gt;
		if translation:match (&amp;#039;\&amp;#039;\&amp;#039;+$&amp;#039;) then									-- se &amp;lt;translation&amp;gt; é itálico, negrito, ou ambos&lt;br /&gt;
			local text = translation:gsub (&amp;#039;%b&amp;lt;&amp;gt;&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;\&amp;#039;\&amp;#039;+&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;%[%[&amp;#039;, &amp;#039;&amp;#039;):gsub (&amp;#039;%]%]&amp;#039;, &amp;#039;&amp;#039;);	-- remove a marcação&lt;br /&gt;
			if text:match (&amp;#039;[dfijkltCEFHIJKMNPR-Z\&amp;#039;&amp;quot;%?!%]]$&amp;#039;) then				-- quando &amp;lt;translation&amp;gt; termina com um desses caracteres&lt;br /&gt;
				translation =  &amp;#039;&amp;lt;span style=&amp;quot;margin-right:.09em&amp;quot;&amp;gt;&amp;#039; .. translation .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;	-- adiciona kerning&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		return translation .. frame:extensionTag ({name=&amp;#039;ref&amp;#039;, args={group=group, name=ref_name}, content=content});	-- translation com a tag de referência&lt;br /&gt;
	else&lt;br /&gt;
		return translation;															-- nada para estar dentro da tag ref, então só retorna translation&lt;br /&gt;
	end&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;
Implementa {{japonês}} usando Módulo:Lang para marcação de linguagem e transliteração&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo (frame)&lt;br /&gt;
	return common (frame, &amp;#039;japonês&amp;#039;)&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;
Implementa {{nihongo}} usando Módulo:Lang para marcação de linguagem e transliteração&lt;br /&gt;
&lt;br /&gt;
Similar a {{japonês}}, mas altera a ordem de renderização e não suporta |prefixo=&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo3 (frame)&lt;br /&gt;
	return common_romanized_native_translated (frame, &amp;#039;nihongo3&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; N I H O N G O _ K R T &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Implementa {{nihongo krt}} usando Módulo:Lang para marcação de linguagem e transliteração&lt;br /&gt;
&lt;br /&gt;
Similar a {{japonês}}, mas altera a ordem de renderização e não suporta |prefixo=&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo_krt (frame)&lt;br /&gt;
	return common_native_romanized_translated (frame, &amp;#039;nihongo krt&amp;#039;)&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;
Implementa {{japonês nota}} usando Módulo:Lang para marcação de linguagem e transliteração&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function nihongo_foot (frame)&lt;br /&gt;
	return common_foot (frame, &amp;#039;japonês nota&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; F U N Ç Õ E S _ E X P O R T A D A S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	nihongo = nihongo,&lt;br /&gt;
	nihongo3 = nihongo3,&lt;br /&gt;
	nihongo_krt = nihongo_krt,&lt;br /&gt;
	nihongo_foot = nihongo_foot,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Tavoraadmin</name></author>
	</entry>
</feed>