模組:Vgr/sandbox
外观
![]() | 这是Module:Vgr(差异)的沙盒。 |
local labelList = {
{'KR', '-{zh-cn:韩国; zh-tw:南韓;}-'};
{'JP', '日本'};
{'WW', '全球'};
{'NA', '北美'};
{'PAL', '[[PAL区|PAL]]'};
{'EU', '欧洲'};
{'AU', '澳-{}-洲'}; -- 兼容{{Vgrelease new}}的使用参数
{'AUS', '澳-{}-洲'}; -- 兼容{{Vgrelease}}的使用参数
{'CN', '[[中国大陆|大陆]]'};
{'TWHK', '台港'};
{'TW', '台湾'};
{'HK', '香港'};
{'SEA', '东南亚'};
{'SG', '新加坡'};
{'MY', '马来西亚'};
{'INT', '[[国际版]]'};
}
local function getDate(a)
a = a or '<span class="error">请检查输入</span>'
local function conv( a )
local month = {'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'}
if string.len(a) <= 7 then
return a
end
for i, v in ipairs(month) do
if string.find(a, '^' .. v .. ' +%d%d%d%d') then
return mw.language.new( 'zh' ):formatDate( 'Y年M', a, nil )
end
end
return mw.language.new( 'zh' ):formatDate( 'Y年Mj日', a, nil )
end
local _, ret = pcall( conv, a )
if not _ then
ret = a
end
return ret
end
local function getLabel( inp )
local ret = inp
for i, v in ipairs( labelList ) do
if inp == v[1] then
ret = v[2]
break
end
end
return (ret and ret or '<span class="error">请检查输入</span>')
end
local function item( label, data )
local ret
label = getLabel( label )
data = getDate( data )
if _style == '2' then
ret = data .. '(' .. label .. ')'
else
ret = label .. ':' .. data
end
ret = '<li>' .. ret .. '</li>'
return ret
end
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
_style = args.s
return p._main(args)
end
function p._main(args)
-- Main module code goes here.
ret = ''
for i, v in ipairs( labelList ) do
if args[v[1]] then
ret = ret .. item( v[1], args[v[1]] )
end
end
for i = 1, math.huge, 2 do
if args[i] or args[i+1] then
ret = ret .. item( args[i], args[i+1] )
else
break
end
end
if ret ~= '' then
ret = '<!-- Generated by {{Vgrelease}}. -->' .. -- 供[[Module:Infobox VG]]自动判别格式,请勿移除此HTML注释
'<ul style="list-style: none none; line-height: inherit; margin: 0px;">' .. ret .. '</ul>'
else
ret = nil
end
return ret
end
return p