全站通知:
模块:Description
刷
历
编
跳到导航
跳到搜索
本模块用于模板:Description,替代了曾用的 #switch 写法,提高了运行的效率。
大部分数据均由游戏中导出,如需手动添加,请补至页面模块:Description/data/overrides的末尾。
[ 查看 | 编辑 | 历史 | 刷新 ]上述文档的内容来自模块:Description/doc。
local utils = require("Module:Utils")
local en_name_lower_to_id = mw.loadData("Module:Items/en/name/ids")
local zh_id_to_name = mw.loadData("Module:Items/zh/ids/name")
local data2 = mw.loadData("Module:Items/zh/name/desc")
local data3 = mw.loadData("Module:Items/zh/id/desc")
local overrides = mw.loadData("Module:Description/data/overrides")
local p = {}
function p.getDesc(input)
local text = utils.getArg(input)
if not text then
return ""
end
local normalizedText = text:lower():gsub("_", " ")
if overrides[normalizedText] then
local overrideDesc = overrides[normalizedText]
if overrideDesc then
return overrideDesc
end
end
if data2[normalizedText] then
return data2[normalizedText]
end
local id = en_name_lower_to_id[normalizedText]
if id then
local zhName = zh_id_to_name[id]
if zhName and data2[zhName] then
return data2[zhName]
end
end
if data3[normalizedText] then
return data3[normalizedText]
end
return ""
end
function p.debug2()
local results = {}
for key, _ in pairs(overrides) do
local test = key:lower()
if test ~= key then table.insert(results, "大小写不一致:" .. key) end
local tmp = p.getDesc(key)
if tmp ~= "" then
tmp = key .. '=' ..tmp
table.insert(results, tmp)
end
end
return table.concat(results, "\n")
end
p.description = p.getDesc
return p