- 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
- 有任何意见、建议、求助、反馈都可以在 讨论板 提出
- THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
模块:libnames
跳到导航
跳到搜索
[创建]
模块文档

local libnames = {}
local libstr = require('Module:libstr')
function libnames.getCharaTemplateName(charaname)
local CharaTemplateName = mw.text.jsonDecode(
mw.title.new('模块:libnames/CharaTemplateName.json'):getContent())
local charaname_short = CharaTemplateName[charaname] or charaname
return charaname_short
end
function libnames.getWorkSymbol(work_name)
-- 通过完整作品名获取作品首字母缩写
local WorkSymbol = mw.text.jsonDecode(
mw.title.new('模块:libnames/WorkSymbol.json'):getContent())
local word_symbol = WorkSymbol[work_name] or work_name
return word_symbol
end
function libnames.getWorkTemplateName(work_id_or_name)
-- 获取作品模板名
if tonumber(work_id_or_name) ~= nil then
-- 数字直接查映射表
local frame = mw.getCurrentFrame()
return frame:callParserFunction('#getmap:符卡名作品', work_id_or_name) or '输入错误'
else
return libnames.getWorkSymbol(work_id_or_name)
end
end
function libnames.getCardName(charaname, work_symbol, card_id, lang)
local frame = mw.getCurrentFrame()
charaname = libnames.getCharaTemplateName(charaname)
local lang_id = '日文'
if lang == 'zh' then
lang_id = '中文'
end
local mapname = charaname..'符卡名/'..lang_id
local raw_name = frame:callParserFunction(
'#getmap:'..mapname, work_symbol..'-'..card_id) or '输入错误'
if lang == 'zh' then
return libstr.split(raw_name, ';')
else
return {raw_name}
end
end
return libnames