Difference between revisions of "Module:Int"
Jump to navigation
Jump to search
>Shirayuki (preprocess) |
>Shirayuki (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( | 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