Difference between revisions of "Module:Int"

From Game Detectives Wiki
Jump to: navigation, search
(preprocess)
(trim arguments)
Line 7: Line 7:
 
     local pargs = (frame:getParent() or {}).args
 
     local pargs = (frame:getParent() or {}).args
 
     local arguments = {}
 
     local arguments = {}
     for k, v in pairs(pargs) do
+
     for k, v in pairs(args) do
 
         local n = tonumber(k) or 0
 
         local n = tonumber(k) or 0
 
         if (n >= 2) then
 
         if (n >= 2) then
             arguments[n - 1] = v
+
             arguments[n - 1] = mw.text.trim(v)
 
         end
 
         end
 
     end
 
     end
  
     local msg = mw.message.new(args[1], arguments)
+
     local msg = mw.message.new(mw.text.trim(args[1]), arguments)
 
     local lang = templateTranslation.getLanguage()
 
     local lang = templateTranslation.getLanguage()
 
     if (msg:exists() and not msg:isDisabled()) then
 
     if (msg:exists() and not msg:isDisabled()) then

Revision as of 23:39, 28 January 2017

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

-- This is a helper module for Template:int
local this = {}
local templateTranslation = require 'Module:Template translation'

function this.renderIntMessage(frame)
    local args = frame.args
    local pargs = (frame:getParent() or {}).args
    local arguments = {}
    for k, v in pairs(args) do
        local n = tonumber(k) or 0
        if (n >= 2) then
            arguments[n - 1] = mw.text.trim(v)
        end
    end

    local msg = mw.message.new(mw.text.trim(args[1]), arguments)
    local lang = templateTranslation.getLanguage()
    if (msg:exists() and not msg:isDisabled()) then
        local msgstr = msg:inLanguage(lang):plain()
        return frame:preprocess(msgstr)
    else
        return '⧼' .. args[1] .. '⧽'
    end
end

return this