“模块:Lyrics”的版本间差异

删除92字节 、​ 2020年11月10日 (二) 11:23
无编辑摘要
 
function module.name2color(names,text,lang) --按角色名转换成的颜色给文字上色及加title和语言标识。
if names == '' then
if names:find(',') then --如果颜色标识中有逗号,则说明有多位角色,使用渐变色。
return module.langWrap(text, lang)
ifelseif names:find(',') then --如果颜色标识中有逗号,则说明有多位角色,使用渐变色。
names=mw.text.split(names, ',') --将角色列表全部转为小写后,在逗号处分割成table。
local result="<span lang=\""..lang.."\" title=\"" --放置上色结果的span。title内放置角色全名
for i=1,len do --为每一行进行一次。
local orig_line=orig[i] --准备转换颜色标识。
if orig_line:find('{@') then --如果有颜色标识,
orig_line=orig_line:gsub("{([^}]+)}([^{@]+)", function(n1,n2n) return module.name2colorlangWrap(n1,n2n,llang) end) --则把开头没有颜色标识替换成有表示的文字加上语言标识的颜色span,
orig_line=orig_line:gsub("@([^@]*)@([^{<@]+)", function(nn1,n2) return module.langWrapname2color(nn1,n2,llang) end) --并把开头没有颜色表示的文字加上标识替换成有语言标识的颜色span。
orig_line=orig_line:gsub("{}([^{]+)", function(n) return module.langWrap(n,llang) end) --并把空颜色标识后的文字加上语言标识。
else --如果没有颜色标识,
orig_line=module.langWrap(orig_line,llang) --则直接添加语言标识。
16,874

个编辑