模組:InfoboxImageVariant

文档图示 模块文档

本模块爲資訊框處理模組Module:InfoboxImage的擴展版,支援需要字詞轉換的場合。

用法

可用參數同Module:InfoboxImage,但參數名後可附綴“-cn”“-tw”等地區代碼。若不附綴地區代碼則為各用字模式共用。

|image = {{#invoke:InfoboxImageVariant|main  | size={{{image_size|}}}       | sizedefault=frameless  | image={{{image|}}}           | alt={{{alt|}}}  | image-hans={{{image-hans|}}} | alt-hans = {{{alt-hans|}}}  | image-hant={{{image-hant|}}} | alt-hant = {{{alt-hant|}}}  | image-cn={{{image-cn|}}}     | alt-cn={{{alt-cn|}}}  | image-hk={{{image-hk|}}}     | alt-hk={{{alt-hk|}}}  | image-mo={{{image-mo|}}}     | alt-mo={{{alt-mo|}}}  | image-my={{{image-my|}}}     | alt-my={{{alt-my|}}}  | image-sg={{{image-sg|}}}     | alt-sg={{{alt-sg|}}}  | image-tw={{{image-tw|}}}     | alt-tw={{{alt-tw|}}}}}

例子

{{#invoke:InfoboxImageVariant|main  | size = 300px  | image-hans = Milky Way Spiral Arm zh hans.svg | alt-hans = 银河系螺旋结构示意图  | image-hant = Milky Way Spiral Arm zh hant.svg | alt-hant = 銀河系螺旋結構示意圖}}
银河系螺旋结构示意图

require('Module:No globals')local infoboxImage = require('Module:InfoboxImage').InfoboxImagelocal lc = require('Module:WikitextLC').selectivelocal getArgs = require('Module:Arguments').getArgslocal p = {}function p.main(frame)local args = getArgs(frame)return p._main(args)endfunction p._main(args)local variety = {'', '-hans', '-hant', '-cn', '-hk', '-mo', '-my', '-sg', '-tw'}local varietyHans = {'-hans', '-cn', '-my', '-sg'}local varietyHant = {'-hant', '-hk', '-mo', '-tw'}local hansIndicator, hantIndicator = false, falsefor i, v in ipairs(varietyHans) doif args['image' .. v] thenhansIndicator = truebreakendendfor i, v in ipairs(varietyHant) doif args['image' .. v] thenhantIndicator = truebreakendendif hansIndicator and hantIndicator thenlocal content = {}for i, v in ipairs(variety) doif args['image' .. v] thencontent['zh' .. v] = infoboxImage{args = {image = args['image' .. v],size = args['size' .. v] or args.size,maxsize = args['maxsize' .. v] or args.maxsize,sizedefault = args['sizedefault' .. v] or args.sizedefault,link = args['link' .. v] or args.link,title = args['title' .. v] or args.title,border = args['border' .. v] or args.border,upright = args['upright' .. v] or args.upright,thumbtime = args['thumbtime' .. v] or args.thumbtime,center = args['center' .. v] or args.center,alt = args['alt' .. v] or args.alt,} }endendreturn lc(content)endfor i, v in ipairs(variety) doif args['image' .. v] thenreturn infoboxImage{args = {image = args['image' .. v],size = args['size' .. v] or args.size,maxsize = args['maxsize' .. v] or args.maxsize,sizedefault = args['sizedefault' .. v] or args.sizedefault,link = args['link' .. v] or args.link,title = args['title' .. v] or args.title,border = args['border' .. v] or args.border,upright = args['upright' .. v] or args.upright,thumbtime = args['thumbtime' .. v] or args.thumbtime,center = args['center' .. v] or args.center,alt = args['alt' .. v] or args.alt,} }endendendreturn p