Module:Int: Difference between revisions
Jump to navigation
Jump to search
check message in the target language, not the default, still return missing message markup if message does not exist (and is not just disabled) |
m 1 revision imported |
||
(No difference)
|
Latest revision as of 06:14, 2 December 2023
Documentation for this module may be created at Module:Int/doc
-- This is a helper module for [[Template:int]]
local templateTranslation = require('Module:Template translation')
local this = {}
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 lang
if args.lang and args.lang ~= '' and mw.language.isValidCode(args.lang) then
lang = args.lang
else
lang = templateTranslation.getLanguage()
end
local msg = mw.message.new(mw.text.trim(args[1]), arguments):inLanguage(lang)
if msg:exists() or lang == 'qqx' then
if msg:isDisabled() then
return args.missing or ''
else
local msgstr = msg:plain()
return frame:preprocess(msgstr)
end
else
return args.missing ~= ''
and args.missing
or '⧼' .. args[1] .. '⧽'
end
end
return this