模組:Vgname/testcases
外观
![]() | 這是Module:Vgname的測試樣例頁,測試結果請見討論頁。 |
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local p = {}
local languageList = {
-- 请在下方区域更新语言代码
{'de', '德语', '德语版名'},
{'fi', '芬兰语', '芬兰语版名'},
{'ja', '日语', '日版名'},
{'ko', '韩语', '韩版名'},
{'ru', '俄语', '俄版名'},
}
local function bold(cont)
if yesno(_bold) ~= false then
cont = '<b>' .. cont .. '</b>'
end
return cont
end
local function italic(cont)
cont = '<i>' .. cont .. '</i>'
return cont
end
local function returnIndexInLanguageList(t)
for i, v in ipairs(languageList) do
if t[v[1]] ~= '' then
return i
end
end
end
local function main(t)
local ret = t[1]
ret = bold(ret)
if yesno(t.bracket) ~= false then
ret = '《' .. ret .. '》'
end
return ret
end
local function orig(t)
local ret = ''
local indexInLanguageList = returnIndexInLanguageList(t)
local lang = languageList[indexInLanguageList]
if indexInLanguageList then
if yesno(_diff) then
ret = lang[3]
else
ret = lang[2]
end
ret = ret .. ':<span lang="' .. lang[1] .. '" xml:lang"' .. lang[1] .. '">-{' .. t[lang[1]] .. '}-</span>'
end
return ret
end
local function eng(t)
local ret = ''
if t.na ~= '' then
ret = '美版名:<span lang="en" xml:lang="en">-{' .. italic(t.na) .. '}-</span>'
if t.eu ~= '' then
ret = ret .. ',欧版名:<span lang="en" xml:lang="en">-{' .. italic(t.eu) .. '}-</span>'
end
elseif t.eu ~= '' then
ret = '欧版名:<span lang="en" xml:lang="en">-{' .. italic(t.eu) .. '}-</span>'
elseif t.en ~= '' and yesno(_diff) then
ret = '英文版名:<span lang="en" xml:lang="en">-{' .. italic(t.en) .. '}-</span>'
elseif t.en ~= '' then
ret = '英语:<span lang="en" xml:lang="en">-{' .. italic(t.en) .. '}-</span>'
end
return ret
end
local function trans(t)
end
function p.vgname(frame)
local ret = ''
local _ret = ''
local args = getArgs(frame, {
parentOnly = true;
valueFunc = function (key, value)
if value == nil then
return ''
else
return value
end
end;
})
_bold = args.bold
_diff = args.diff
------------------------------------------------------------------------
ret = orig(args)
_ret = eng(args)
if ret ~= '' and _ret ~= '' then
ret = ret .. ',' .. _ret
elseif ret == '' and _ret == '' then
_ret = '<span class="error">本模板仅用于非中文作品,请检查是否使用正确的代码作语言参数名。</span>'
else
ret = ret .. _ret
end
---------------------------------------------------------------
return ret
end
return p