Module:Int: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
Content deleted Content added
m Changed protection settings for "Module:Int": High-risk template or module (more info) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
 
Tsukushi (talk | contribs)
m 1 revision imported
 
(One intermediate revision by one other user not shown)
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 = {}
local templateTranslation = require 'Module:Template translation'


function this.renderIntMessage(frame)
function this.renderIntMessage(frame)
local args = frame.args
local args = frame.args
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(pargs) do
local n = tonumber(k) or 0
local n = tonumber(k) or 0
if (n >= 2) then
if (n >= 2) then
arguments[n - 1] = mw.text.trim(v)
arguments[n - 1] = mw.text.trim(v)
end
end
end
end


local lang
local msg = mw.message.new(mw.text.trim(args[1]), arguments)
if args.lang and args.lang ~= '' and mw.language.isValidCode(args.lang) then
local lang
lang = args.lang
if args.lang and args.lang ~= '' and mw.language.isValidCode(args.lang) then
else
lang = args.lang
lang = templateTranslation.getLanguage()
else
end
lang = templateTranslation.getLanguage()
local msg = mw.message.new(mw.text.trim(args[1]), arguments):inLanguage(lang)
end

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



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