Module:TNTTools: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
m
6 revisions imported
(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...')
 
m (6 revisions imported)
 
(5 intermediate revisions by 2 users not shown)
Line 2:
 
local TNT = require('Module:TNT')
--local SASD = require('Module:SimpleArgsSimpleDebug')
 
function p.TNTTabFull (TNTTab)
if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then
TNTTab = 'I18n/'..TNTTab
Line 14:
end --TNTTabFull
 
function p.GetTabTransTNTTabCommons (TNTTab, S, CaseSensitive)
return 'Commons:Data:'..p.TNTTabFull(TNTTab)
end
 
function p.StrLnkTNTTab (frameTNTTab)
return '[['..p.TNTTabCommons(TNTTab)..']]'
end
 
function p.GetTabOr1TransI18nStr (TNTTab, S, MaxTransIsMsg, params)
TNTTab = p.TNTTabFull (TNTTab)
local SEnd = TNT.format(TNTTab, S, unpack(params)) or ''
if WithTransSEnd == '' then
SEnd = TNT.formatInLanguage('en',TNTTab, S, unpack(params))
if IsMsg then
local icon = '[[File:Arbcom ru editing.svg|12px|Not found "'..S..'" in current language. Click here for to edit it.|link='..p.TNTTabCommons(TNTTab)..']]'
SEnd = SEnd..icon
end
end
return tabSEnd
end --StrI18nStr
 
function p.GetMsgP (TNTTab, S, ...)
return I18nStr (TNTTab, S, true, {...})
end
 
function p.GetStrP (TNTTab, S, ...)
return I18nStr (TNTTab, S, false, {...})
end
 
function p.TabTransCS (TNTTab, S, CaseSensitive)
CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true
local Wds = TNT.format (p.TNTTabFull(TNTTab), S)
if not CaseSensitive then
Wds = string.lower (Wds)
end
return mw.text.split (Wds, '|')
end --GetTabTransTabTransCS
 
function p.GetSTransWithParamsTabTransMT (TNTTab, S, ...MaxTrans)
returnlocal TNTFN = p.format (TNTTabFull(TNTTab), S, {...}) or ''
local tab = mw.text.split (TransTNT.format (FN, S), '|')
end
if #tab > MaxTrans then
 
error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s.tab]]',#tab,S,TNTTabFN), 0)
function p.GetTabOr1Trans (TNTTab, S, MaxTrans)
-- Translation not required
local Trans = p.GetTabTrans (TNTTab, S)
if WithTrans then
tab = mw.text.split (Trans, '|')
if #tab > MaxTrans then
error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s.tab]]',#tab,S,TNTTab), 0)
-- Translation not required
end
return tab
else
return Trans
end
return Transtab
end --GetTabOr1Trans
end --TabTransMT
 
function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S)
Line 45 ⟶ 66:
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)
Line 72 ⟶ 93:
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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu