<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitcrush.io/laserwiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATNTTools</id>
	<title>Module:TNTTools - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://bitcrush.io/laserwiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATNTTools"/>
	<link rel="alternate" type="text/html" href="https://bitcrush.io/laserwiki/index.php?title=Module:TNTTools&amp;action=history"/>
	<updated>2026-04-13T02:24:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://bitcrush.io/laserwiki/index.php?title=Module:TNTTools&amp;diff=4549&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;local p = {}  local TNT = require(&#039;Module:TNT&#039;) --local SD = require(&#039;Module:SimpleDebug&#039;)  function p.TNTTabFull (TNTTab) 	if (string.sub(TNTTab, 1, 5)) ~= &#039;I18n/&#039; then 		TNT...&quot;</title>
		<link rel="alternate" type="text/html" href="https://bitcrush.io/laserwiki/index.php?title=Module:TNTTools&amp;diff=4549&amp;oldid=prev"/>
		<updated>2020-09-17T17:45:19Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local TNT = require(&amp;#039;Module:TNT&amp;#039;) --local SD = require(&amp;#039;Module:SimpleDebug&amp;#039;)  function p.TNTTabFull (TNTTab) 	if (string.sub(TNTTab, 1, 5)) ~= &amp;#039;I18n/&amp;#039; then 		TNT...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local TNT = require(&amp;#039;Module:TNT&amp;#039;)&lt;br /&gt;
--local SD = require(&amp;#039;Module:SimpleDebug&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p.TNTTabFull (TNTTab)&lt;br /&gt;
	if (string.sub(TNTTab, 1, 5)) ~= &amp;#039;I18n/&amp;#039; then&lt;br /&gt;
		TNTTab = &amp;#039;I18n/&amp;#039;..TNTTab&lt;br /&gt;
	end	&lt;br /&gt;
	if (string.sub(TNTTab, string.len(TNTTab)-3)) ~= &amp;#039;.tab&amp;#039; then&lt;br /&gt;
		TNTTab = TNTTab..&amp;#039;.tab&amp;#039;&lt;br /&gt;
	end	&lt;br /&gt;
	return TNTTab&lt;br /&gt;
end --TNTTabFull&lt;br /&gt;
&lt;br /&gt;
function p.TNTTabCommons (TNTTab)&lt;br /&gt;
	return &amp;#039;Commons:Data:&amp;#039;..p.TNTTabFull(TNTTab)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.LnkTNTTab (TNTTab)&lt;br /&gt;
	return &amp;#039;[[&amp;#039;..p.TNTTabCommons(TNTTab)..&amp;#039;]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function I18nStr (TNTTab, S, IsMsg, params)&lt;br /&gt;
	TNTTab = p.TNTTabFull (TNTTab)&lt;br /&gt;
	local SEnd = TNT.format(TNTTab, S, unpack(params)) or &amp;#039;&amp;#039;&lt;br /&gt;
	if SEnd == &amp;#039;&amp;#039; then&lt;br /&gt;
		SEnd = TNT.formatInLanguage(&amp;#039;en&amp;#039;,TNTTab, S, unpack(params))&lt;br /&gt;
		if IsMsg then&lt;br /&gt;
			local icon = &amp;#039;[[File:Arbcom ru editing.svg|12px|Not found &amp;quot;&amp;#039;..S..&amp;#039;&amp;quot; in current language. Click here for to edit it.|link=&amp;#039;..p.TNTTabCommons(TNTTab)..&amp;#039;]]&amp;#039;&lt;br /&gt;
			SEnd = SEnd..icon	&lt;br /&gt;
		end	&lt;br /&gt;
	end	&lt;br /&gt;
	return SEnd&lt;br /&gt;
end --I18nStr&lt;br /&gt;
&lt;br /&gt;
function p.GetMsgP (TNTTab, S, ...)&lt;br /&gt;
	return I18nStr (TNTTab, S, true, {...})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.GetStrP (TNTTab, S, ...)&lt;br /&gt;
	return I18nStr (TNTTab, S, false, {...})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.TabTransCS (TNTTab, S, CaseSensitive)&lt;br /&gt;
	CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true&lt;br /&gt;
	local Wds = TNT.format (p.TNTTabFull(TNTTab), S)&lt;br /&gt;
	if not CaseSensitive then&lt;br /&gt;
		Wds = string.lower (Wds)&lt;br /&gt;
	end	&lt;br /&gt;
    return mw.text.split (Wds, &amp;#039;|&amp;#039;)&lt;br /&gt;
end --TabTransCS&lt;br /&gt;
&lt;br /&gt;
function p.TabTransMT (TNTTab, S, MaxTrans)&lt;br /&gt;
	local FN = p.TNTTabFull(TNTTab)&lt;br /&gt;
	local tab = mw.text.split (TNT.format (FN, S), &amp;#039;|&amp;#039;)&lt;br /&gt;
	if #tab &amp;gt; MaxTrans then&lt;br /&gt;
		error (string.format(&amp;#039;Found %s translations for &amp;quot;%s&amp;quot;. Search in [[:commons:data:%s]]&amp;#039;,#tab,S,FN)) &lt;br /&gt;
							-- Translation not required&lt;br /&gt;
	end&lt;br /&gt;
	return tab&lt;br /&gt;
end --TabTransMT&lt;br /&gt;
&lt;br /&gt;
function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S)&lt;br /&gt;
	if (S == nil) or (S == &amp;#039;&amp;#039;) then&lt;br /&gt;
		error(&amp;#039;Not arguments trying to find &amp;quot;&amp;#039;..val..&amp;#039;&amp;quot;&amp;#039;) --It doesn&amp;#039;t require translation, only for degug&lt;br /&gt;
	end	&lt;br /&gt;
	local Arr = p.TabTransCS (TNTTab, S, CaseSensitive)&lt;br /&gt;
	if not CaseSensitive then&lt;br /&gt;
		val = string.lower (val)&lt;br /&gt;
	end	&lt;br /&gt;
	for I, W in ipairs(Arr) do&lt;br /&gt;
		if W == val then&lt;br /&gt;
			return true&lt;br /&gt;
		end	&lt;br /&gt;
	end	&lt;br /&gt;
	return false&lt;br /&gt;
end --SFoundInTNTArr&lt;br /&gt;
&lt;br /&gt;
function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...)&lt;br /&gt;
	local Arr = unpack(arg)&lt;br /&gt;
	if Arr == nil then&lt;br /&gt;
		error(&amp;#039;Not arguments trying to find &amp;quot;&amp;#039;..val..&amp;#039;&amp;quot;&amp;#039;) --It doesn&amp;#039;t require translation, only for degug&lt;br /&gt;
	end	&lt;br /&gt;
	local Idx = 0&lt;br /&gt;
	for I, W in ipairs(Arr) do&lt;br /&gt;
		if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then&lt;br /&gt;
			Idx = I&lt;br /&gt;
			break&lt;br /&gt;
		end	&lt;br /&gt;
	end	&lt;br /&gt;
	return Idx&lt;br /&gt;
end	--IdxFromTabTrans&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>