Vikiiqtibos uzwikiquote https://uz.wikiquote.org/wiki/Bosh_sahifa MediaWiki 1.47.0-wmf.6 first-letter Media Maxsus Munozara Foydalanuvchi Foydalanuvchi munozarasi Vikiiqtibos Vikiiqtibos munozarasi Fayl Fayl munozarasi MediaWiki MediaWiki munozarasi Andoza Andoza munozarasi Yordam Yordam munozarasi Turkum Turkum munozarasi TimedText TimedText talk Modul Modul munozarasi Event Event talk Modul:TNTTools 828 5419 31178 14650 2026-06-16T02:25:11Z Uzume 246 string.len(TNTTab)-3) -> -4 31178 Scribunto text/plain require("strict") local p = {} local checkType = require('libraryUtil').checkType local TNT = require('Module:TNT') --local SD = require('Module:SimpleDebug') function p.TNTTabFull (TNTTab) if (type(TNTTab) == 'table' and type(TNTTab.args) == 'table') then -- Probably a Scribunto Frame object TNTTab = TNTTab.args[1] if (TNTTab == '') then TNTTab = nil end end checkType('TNTTabFull', 1, TNTTab, 'string') if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab, S, IsMsg, params) TNTTab = p.TNTTabFull (TNTTab) local SEnd = TNT.format(TNTTab, S, unpack(params)) or '' if SEnd == '' 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 SEnd end --I18nStr 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 --TabTransCS function p.TabTransMT (TNTTab, S, MaxTrans) local FN = p.TNTTabFull(TNTTab) local tab = mw.text.split (TNT.format (FN, S), '|') if #tab > MaxTrans then error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s]]',#tab,S,FN)) -- 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.TabTransCS (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 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 return Idx end --IdxFromTabTrans return p ce7j8jutp8cdxu3hk2nzm7jin4npobv