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

模块:libnames

来自THBWiki
跳到导航 跳到搜索
[创建] Template-info.svg 模块文档
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