Module:TNTTools: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
no edit summary
(Created page with 'local p = {} local TNT = require('Module:TNT') local SA = require('Module:SimpleArgs') function TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' t...')
 
No edit summary
Line 5:
 
function TNTTabFull (TNTTab)
if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then
TNTTab = 'I18n/'..TNTTab
end
if (string.sub(TNTTab, string.len(TNTTab)-3)) ~= '.tab' then
TNTTab = TNTTab..'.tab'
end
return TNTTab
end --TNTTabFull
 
function p.GetTabTrans (TNTTab, S, CaseSensitive)
CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true
local Wds = TNT.format (TNTTabFull(TNTTab), S)
if not CaseSensitive then
Wds = string.lower (Wds)
end
return mw.text.split (Wds, '|')
end --GetTabTrans
 
function p.GetSTransWithParams (TNTTab, S, ...)
return TNT.format (TNTTabFull(TNTTab), S, {...}) or ''
end
 
function p.GetTabOr1TransTabTransCS (TNTTab, S, MaxTransCaseSensitive)
CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true
local Trans = p.GetTabTrans (TNTTab, S)
local Wds = TNT.format (TNTTabFull(TNTTab), S)
if WithTrans then
if not CaseSensitive then
tab = mw.text.split (Trans, '|')
Wds = string.lower (Wds)
if #tab > MaxTrans then
end
error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s.tab]]',#tab,S,TNTTab), 0)
return mw.text.split (Wds, '|')
-- Translation not required
end --TabTransCS
end
 
return tab
function p.GetTabTransTabTransMT (TNTTab, S, CaseSensitiveMaxTrans)
else
local FN = TNTTabFull(TNTTab)
return Trans
local tab = mw.text.split (TransTNT.format (FN, S), '|')
end
if #tab > MaxTrans then
end --GetTabOr1Trans
error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s.tab]]',#tab,S,TNTTabFN), 0)
-- Translation not required
end
return tab
end --TabTransMT
 
function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S)
if (S == nil) or (S == '') then
error('Not arguments trying to find "'..val..'"') --It doesn't require translation, only for degug
end
local Arr = p.GetTabTransTabTransCS (TNTTab, S, CaseSensitive)
if not CaseSensitive then
val = string.lower (val)
end
for I, W in ipairs(Arr) do
if W == val then
return true
end
end
end
return false
end --SFoundInTNTArr
 
function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...)
local Arr = unpack(arg)
if Arr == nil then
error('Not arguments trying to find "'..val..'"') --It doesn't require translation, only for degug
end
local Idx = 0
for I, W in ipairs(Arr) do
if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then
Idx = I
break
end
end
end
return Idx
end --IdxFromTabTrans
 
function p.Str (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.GetStrArgsFromPos (args, NArgs, 3)
return TNT.format (TNTTabFull(args[1]), args[2], unpack(tab))
end --Str
 
function p.FoundStrBool (frame)
local args = SA.GetArgs (frame)
return p.SFoundInTNTArr (args[1], args[2], SA.GetBoolFromArgs (args,3), args[4])
end
function p.FoundStrNum (frame)
local args = SA.GetArgs (frame)
if p.SFoundInTNTArr (args[1], args[2], SA.GetBoolFromArgs (args,3), args[4]) then
return 1
else
return 0
end
end --FoundStrNum
function p.FoundIdx (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.GetStrArgsFromPos (args, NArgs, 4)
return p.IdxFromTabTrans (args[1], args[2], SA.GetBoolFromArgs (args,3), tab)
end --FoundIdx
return p
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu