<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pttlink.org/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://wiki.pttlink.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ATNTTools"/>
	<link rel="alternate" type="text/html" href="https://wiki.pttlink.org/index.php?title=Module:TNTTools&amp;action=history"/>
	<updated>2026-05-05T01:36:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.pttlink.org/index.php?title=Module:TNTTools&amp;diff=11319&amp;oldid=prev</id>
		<title>Kg7qin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.pttlink.org/index.php?title=Module:TNTTools&amp;diff=11319&amp;oldid=prev"/>
		<updated>2022-01-24T08:03:45Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:03, 24 January 2022&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key mediawiki:diff::1.12:old-11318:rev-11319 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kg7qin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pttlink.org/index.php?title=Module:TNTTools&amp;diff=11318&amp;oldid=prev</id>
		<title>Mediawiki&gt;ExE Boss: Add support for {{#invoke:TNTTools|TNTTabFull|…}}</title>
		<link rel="alternate" type="text/html" href="https://wiki.pttlink.org/index.php?title=Module:TNTTools&amp;diff=11318&amp;oldid=prev"/>
		<updated>2021-10-05T10:14:16Z</updated>

		<summary type="html">&lt;p&gt;Add support for {{&lt;a href=&quot;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Scribunto#.23invoke&quot; class=&quot;extiw&quot; title=&quot;mw:Special:MyLanguage/Extension:Scribunto&quot;&gt;#invoke&lt;/a&gt;:&lt;a href=&quot;/wiki/Module:TNTTools&quot; title=&quot;Module:TNTTools&quot;&gt;TNTTools&lt;/a&gt;|TNTTabFull|…}}&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;quot;Module:No globals&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local checkType = require('libraryUtil').checkType&lt;br /&gt;
local TNT = require('Module:TNT')&lt;br /&gt;
--local SD = require('Module:SimpleDebug')&lt;br /&gt;
&lt;br /&gt;
function p.TNTTabFull (TNTTab)&lt;br /&gt;
	if (type(TNTTab) == 'table' and type(TNTTab.args) == 'table') then&lt;br /&gt;
		-- Probably a Scribunto Frame object&lt;br /&gt;
		TNTTab = TNTTab.args[1]&lt;br /&gt;
		if (TNTTab == '') then&lt;br /&gt;
			TNTTab = nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	checkType('TNTTabFull', 1, TNTTab, 'string')&lt;br /&gt;
	if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then&lt;br /&gt;
		TNTTab = 'I18n/'..TNTTab&lt;br /&gt;
	end	&lt;br /&gt;
	if (string.sub(TNTTab, string.len(TNTTab)-3)) ~= '.tab' then&lt;br /&gt;
		TNTTab = TNTTab..'.tab'&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 'Data:'..p.TNTTabFull(TNTTab)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function p.LnkTNTTab (TNTTab)&lt;br /&gt;
	return '[['..p.TNTTabCommons(TNTTab)..']]'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local 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 ''&lt;br /&gt;
	if SEnd == '' then&lt;br /&gt;
		SEnd = TNT.formatInLanguage('en',TNTTab, S, unpack(params))&lt;br /&gt;
		if IsMsg then&lt;br /&gt;
			local icon = '[[File:Arbcom ru editing.svg|12px|Not found &amp;quot;'..S..'&amp;quot; in current language. Click here for to edit it.|link='..p.TNTTabCommons(TNTTab)..']]'&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, '|')&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), '|')&lt;br /&gt;
	if #tab &amp;gt; MaxTrans then&lt;br /&gt;
		error (string.format('Found %s translations for &amp;quot;%s&amp;quot;. Search in [[:commons:data:%s]]',#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 == '') then&lt;br /&gt;
		error('Not arguments trying to find &amp;quot;'..val..'&amp;quot;') --It doesn'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('Not arguments trying to find &amp;quot;'..val..'&amp;quot;') --It doesn'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>Mediawiki&gt;ExE Boss</name></author>
	</entry>
</feed>