Difference between revisions of "Module:Int"
m
Linkify “Template:int”; format module source
>Tacsipacsi (allow passing custom language, second try) |
>ExE Boss m (Linkify “Template:int”; format module source) |
||
Line 1: | Line 1: | ||
-- This is a helper module for Template:int | -- This is a helper module for [[Template:int]] | ||
local templateTranslation = require('Module:Template translation') | |||
local this = {} | local this = {} | ||
function this.renderIntMessage(frame) | function this.renderIntMessage(frame) | ||
local args = frame.args | |||
local pargs = (frame:getParent() or {}).args | |||
local arguments = {} | |||
for k, v in pairs(pargs) 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 | |||
if args.lang and args.lang ~= '' and mw.language.isValidCode(args.lang) then | |||
lang = args.lang | |||
else | |||
lang = templateTranslation.getLanguage() | |||
end | |||
if (msg:exists() and not msg:isDisabled()) then | |||
local msgstr = msg:inLanguage(lang):plain() | |||
return frame:preprocess(msgstr) | |||
else | |||
return '⧼' .. args[1] .. '⧽' | |||
end | |||
end | end | ||
return this | return this |