tntfallback

Documentation for this module may be created at Module:TNTFallback/doc

-------------------------------------------------------------------------------- -- This module implements a wrapper for [[Module:TNT]] that allows returning -- a fallback message; used by {{Documentation}}. -- -- @module TNTFallback -- @alias  p -- @author [[User:ExE Boss]] -- @require [[Module:No globals]] -- @require [[Module:TNT]] --------------------------------------------------------------------------------  require("strict"); local TNT = require("Module:TNT");  local p = {};  -------------------------------------------------------------------------------- -- Based on [[Module:TNT]]'s `msg` function, -- but takes an optional `fallback` parameter. -------------------------------------------------------------------------------- function p.msg(frame) local dataset, key; local params = { n = 0 }; local lang = nil; local fallback = nil;  for k, v in pairs(frame.args) do if (k == 1) then dataset = v; elseif (k == 2) then key = v; elseif (type(k) == "number" and k > 2) then local i = k - 2; params[i] = v; params.n = math.max(params.n, i); elseif ((k == "lang") and (v ~= "_")) then lang = v; elseif ((k == "fallback") and (v ~= "")) then fallback = v; end end  local result; if (lang) then result = TNT.formatInLanguage(lang, dataset, key, unpack(params, 1, params.n)); else result = TNT.format(dataset, key, unpack(params, 1, params.n)); end  if (fallback and ( -- not translated (result and result == TNT.formatInLanguage("en", dataset, key, unpack(params, 1, params.n))) -- no message or (not result) )) then if (not lang) then if (frame:callParserFunction("int:lang") ~= "en") then return mw.message.newRawMessage(fallback, unpack(params, 1, params.n)):plain(); end elseif (lang ~= "en") then return mw.message.newRawMessage(fallback, unpack(params, 1, params.n)):plain(); end end  return result; end  return p; 

Tags:

🔥 Trending searches on Wiki chiTumbuka:

KuwaitMellaJackson County, ColoradoKanyankhunde, MzimbaCampo (São Martinho)Baton Rouge, LouisianaCalheta (Azores)AndorraManga Larga (Santa Clara)TerceiraKapiri, RumphiPeter MutharikaAzerbaijanSan Diego County, CaliforniaJames K. PolkOlival BastoNew York CityNigeriaTeixosoVimbuzaIndonesiaJoko WidodoSan Miguel del PadrónAustriaThese articles need immediate reviewIranPlaya, CubaBoma la MangochiSenteradaBrancaBeirasMayendeloKyivVancouverWong Tai Sin, Hong KongMarinhaisLumbira, BlantyreViladasensCovid-19Albertville, GautengAfghanistanLivingstonLesothoJoyce BandaMsumbaTwenty-seventh Amendment to the United States ConstitutionYokohamaEritrea🡆 More