dev
Documentation icon Module documentation
[create]

The documentation for this module is missing. Click here to create it.

--------------------------------------------------------------------------------
-- This is a helper module for [[Template:int]]
--
-- @module int
-- @alias  this
-- @attribution [[mw:Module:Int|Module:Int]] (MediaWiki)
-- @see [[mw:Module:Int|Original module on MediaWiki]]
-- @see {{T|int}}
--------------------------------------------------------------------------------
local this = {}

--[[
-- @param {Frame} frame
-- @return {string}
--]]
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 = mw.getCurrentFrame():preprocess('{{PAGELANGUAGE}}')
	end

	if (msg:exists() and not msg:isDisabled()) or lang == 'qqx' then
		local msgstr = msg:inLanguage(lang):plain()
		return frame:preprocess(msgstr)
	else
		return args.missing ~= ''
			and args.missing
			or '⧼' .. args[1] .. '⧽'
	end
end

return this