2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Lyrics/Roma

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]

该模板为{{LyricsKai}}的改造,用于全文添加罗马字。

其余参数与{{LyricsKai}}相同,但比{{LyricsKai}}增加参数“photrans”、“fold”和“name”:

  • photrans:该参数中填入原文的罗马字,注意要一一对应,如果该段落不需要罗马字则填入零宽空格​(原文无内容行无需填入)。
  • fold:由于默认设置罗马字为折叠状态,可以设置其参数为“on”使其默认展开。
  • name:源自{{折叠标签}}的参数,当一个条目里有多段落歌词时可自行设置名称注意要将{{LyricsKai/Roma/button}}同时设置

另有{{LyricsKai/Roma/button}}为辅助,当本模板使用name时需要同步加入参数,另有一个匿名参数,设为“off”时去掉{{photrans/button}}。

若要实现当指针悬停于歌词上时改变歌词背景颜色,请参考使用衍生模板{{LyricsKai/Roma/hover}}。

范例

来自旧约汎化街

[
关闭罗马字显示罗马字
]
本段落中所使用的歌词,其著作权属于原著作权人,仅以介绍为目的引用。
悠久の街 自我の濫觴らんしょうyuukyuu no machi jiga no ranshou
www
きずは深くふしを添えるkizu wa fukaku fushi o soeru
明日の日を待つばかりにasu no hi o matsu bakari ni
戻る戻る 壊落かいらくを経て戻るmodoru modoru kairaku o hete modoru
困窮の民 日を跨げばkonkyuu no tami hi o matageba
たねを掘り返し右往左往tane o horikaeshi uousaou
数は約二万四千kazu wa yaku niman yonsen
急ぐ急ぐ 慌て再迷ふためき急ぐisogu isogu awate futameki isogu
芸術アート微苦ほろにがく苛まれaato horonigaku sainamare
或制御卓あるコンソールに目を移すaru konsooru ni me o utsusu
汗が額を撫でて落ちるase ga hitai o nadete ochiru
「さよなら社燕秋鴻バイバイ、また明冂あし"sayonara baibai, mata ashi
泥路ダート・走り出し灰塗はいまみdaato hashiridashi haimamire
或瀝青路あるアスファルトで目を焼いたaru asufaruto de me o yaita
壊れた街路に身をおとkowareta gairo ni mi o otosu
「さよなら牽衣頓足バイバイ、また明日」"sayonara baibai, mata ashita"
—今刻んだ—ima kizanda
—今拓いた—ima hiraita
対自核フラクタル—furakutaru wa
—繰り返した—kurikaeshita
重油槽じゅうゆタンクまみれている 極彩色ごくさいしき球体ボールを掴むjuuyu tanku ni mamirete iru gokusaishiki no booru o tsukamu
眼球規模がんきゅうサイズを指先で 搬ぶ搬ぶ 呼吸を止めて搬ぶgankyuu saizu o yubisaki de hakobu hakobu kokyuu o tomete hakobu
作業場ヤード・細長くあいだ縫いyaado hosonagaku aidanui
或回線に歩絡プラグを挿すarukaisen ni puragu o sasu
脳がゆるした永遠とわの隙間nou ga yurushita towa no sukima
「さよなら陽関三畳バイバイ、また明冂あし"sayonara baibai, mata ashi
物質ハード旧四核きゅうよんかくを囲いhaado kyuuyonkaku o kakoi
或半球へと背を向けるaruhankyuu e to se o mukeru
実験室に響く音色jikkenshitsu ni hibiku neiro
「さよなら愛別離苦バイバイ、また明日」"sayonara baibai, mata ashita"
—今刻んだ—ima kizanda
—今拓いた—ima hiraita
対自核フラクタル—furakutaru wa
—繰り返した—kurikaeshita
—今刻んだ—ima kizanda
—今拓いた—ima hiraita
対自核フラクタル—furakutaru wa
—繰り返した—kurikaeshita

对比

未使用

<div style="float:right">
{|
|-
|[{{折叠标签|l|text-on=显示罗马字|text-off=关闭罗马字|css-on=color:#0645ad|css-off=color:#0645ad}}]||{{photrans/button}}
|}</div>
{{LyricsKai
|containerstyle=background:radial-gradient(150px,#B9DDE7,#D4F1F6,#B9DDE7,#FDFEFA)
|original=
{{ruby|悠久の街 自我の{{Photrans|濫觴|らんしょう}}|{{折叠属性|l|off|div=yuukyuu no machi jiga no ranshou|tag=span}}}}
{{ruby|{{Photrans|創|きず}}は深く{{Photrans|節|ふし}}を添える|{{折叠属性|l|off|div=kizu wa fukaku fushi o soeru|tag=span}}}}
{{ruby|明日の日を待つばかりに|{{折叠属性|l|off|div=asu no hi o matsu bakari ni|tag=span}}}}
{{ruby|戻る戻る {{Photrans|壊落|かいらく}}を経て戻る|{{折叠属性|l|off|div=modoru modoru kairaku o hete modoru|tag=span}}}}

{{ruby|困窮の民 日を跨げば|{{折叠属性|l|off|div=konkyuu no tami hi o matageba|tag=span}}}}
{{ruby|{{Photrans|胤|たね}}を掘り返し右往左往|{{折叠属性|l|off|div=tane o horikaeshi uousaou|tag=span}}}}
{{ruby|数は約二万四千|{{折叠属性|l|off|div=kazu wa yaku niman yonsen|tag=span}}}}
{{ruby|急ぐ急ぐ 慌て{{Photrans|再迷|ふため}}き急ぐ|{{折叠属性|l|off|div=isogu isogu awate futameki isogu|tag=span}}}}

{{ruby|{{Photrans|芸術|アート}}・{{Photrans|微苦|ほろにが}}く苛まれ|{{折叠属性|l|off|div=aato horonigaku sainamare|tag=span}}}}
{{ruby|{{Photrans|或制御卓|あるコンソール}}に目を移す|{{折叠属性|l|off|div=aru konsooru ni me o utsusu|tag=span}}}}
{{ruby|汗が額を撫でて落ちる|{{折叠属性|l|off|div=ase ga hitai o nadete ochiru|tag=span}}}}
{{ruby|「さよなら{{Photrans|社燕秋鴻|バイバイ}}、また{{Photrans|明冂|あし}}|{{折叠属性|l|off|div="sayonara baibai, mata ashi|tag=span}}}}

{{ruby|{{Photrans|泥路|ダート}}・走り出し{{Photrans|灰塗|はいまみ}}れ|{{折叠属性|l|off|div=daato hashiridashi haimamire|tag=span}}}}
{{ruby|{{Photrans|或瀝青路|あるアスファルト}}で目を焼いた|{{折叠属性|l|off|div=aru asufaruto de me o yaita|tag=span}}}}
{{ruby|壊れた街路に身を{{Photrans|墜|おと}}す|{{折叠属性|l|off|div=kowareta gairo ni mi o otosu|tag=span}}}}
{{ruby|「さよなら{{Photrans|牽衣頓足|バイバイ}}、また明日」|{{折叠属性|l|off|div="sayonara baibai, mata ashita"|tag=span}}}}

{{ruby|—今刻んだ|{{折叠属性|l|off|div=—ima kizanda|tag=span}}}}
{{ruby|—今拓いた|{{折叠属性|l|off|div=—ima hiraita|tag=span}}}}
{{ruby|—{{Photrans|対自核|フラクタル}}は|{{折叠属性|l|off|div=—furakutaru wa|tag=span}}}}
{{ruby|—繰り返した|{{折叠属性|l|off|div=—kurikaeshita|tag=span}}}}

{{ruby|{{Photrans|重油槽|じゅうゆタンク}}に{{Photrans|塗|まみ}}れている {{Photrans|極彩色|ごくさいしき}}の{{Photrans|球体|ボール}}を掴む|{{折叠属性|l|off|div=juuyu tanku ni mamirete iru gokusaishiki no booru o tsukamu|tag=span}}}}
{{ruby|{{Photrans|眼球規模|がんきゅうサイズ}}を指先で 搬ぶ搬ぶ 呼吸を止めて搬ぶ|{{折叠属性|l|off|div=gankyuu saizu o yubisaki de hakobu hakobu kokyuu o tomete hakobu|tag=span}}}}

{{ruby|{{Photrans|作業場|ヤード}}・細長く{{Photrans|間|あいだ}}縫い|{{折叠属性|l|off|div=yaado hosonagaku aidanui|tag=span}}}}
{{ruby|或回線に{{Photrans|歩絡|プラグ}}を挿す|{{折叠属性|l|off|div=arukaisen ni puragu o sasu|tag=span}}}}
{{ruby|脳が{{Photrans|赦|ゆる}}した{{Photrans|永遠|とわ}}の隙間|{{折叠属性|l|off|div=nou ga yurushita towa no sukima|tag=span}}}}
{{ruby|「さよなら{{Photrans|陽関三畳|バイバイ}}、また{{Photrans|明冂|あし}}|{{折叠属性|l|off|div="sayonara baibai, mata ashi|tag=span}}}}

{{ruby|{{Photrans|物質|ハード}}・{{Photrans|旧四核|きゅうよんかく}}を囲い|{{折叠属性|l|off|div=haado kyuuyonkaku o kakoi|tag=span}}}}
{{ruby|或半球へと背を向ける|{{折叠属性|l|off|div=aruhankyuu e to se o mukeru|tag=span}}}}
{{ruby|実験室に響く音色|{{折叠属性|l|off|div=jikkenshitsu ni hibiku neiro|tag=span}}}}
{{ruby|「さよなら{{Photrans|愛別離苦|バイバイ}}、また明日」|{{折叠属性|l|off|div="sayonara baibai, mata ashita"|tag=span}}}}

{{ruby|—今刻んだ|{{折叠属性|l|off|div=—ima kizanda|tag=span}}}}
{{ruby|—今拓いた|{{折叠属性|l|off|div=—ima hiraita|tag=span}}}}
{{ruby|—{{Photrans|対自核|フラクタル}}は|{{折叠属性|l|off|div=—furakutaru wa|tag=span}}}}
{{ruby|—繰り返した|{{折叠属性|l|off|div=—kurikaeshita|tag=span}}}}

{{ruby|—今刻んだ|{{折叠属性|l|off|div=—ima kizanda|tag=span}}}}
{{ruby|—今拓いた|{{折叠属性|l|off|div=—ima hiraita|tag=span}}}}
{{ruby|—{{Photrans|対自核|フラクタル}}は|{{折叠属性|l|off|div=—furakutaru wa|tag=span}}}}
{{ruby|—繰り返した|{{折叠属性|l|off|div=—kurikaeshita|tag=span}}}}
|translated=
www
}}

使用后

{{LyricsKai/Roma/button}}
{{LyricsKai/Roma
|containerstyle=background:radial-gradient(150px,#B9DDE7,#D4F1F6,#B9DDE7,#FDFEFA)
|original=
悠久の街 自我の{{Photrans|濫觴|らんしょう}}
{{Photrans|創|きず}}は深く{{Photrans|節|ふし}}を添える
明日の日を待つばかりに
戻る戻る {{Photrans|壊落|かいらく}}を経て戻る

困窮の民 日を跨げば
{{Photrans|胤|たね}}を掘り返し右往左往
数は約二万四千
急ぐ急ぐ 慌て{{Photrans|再迷|ふため}}き急ぐ

{{Photrans|芸術|アート}}・{{Photrans|微苦|ほろにが}}く苛まれ
{{Photrans|或制御卓|あるコンソール}}に目を移す
汗が額を撫でて落ちる
「さよなら{{Photrans|社燕秋鴻|バイバイ}}、また{{Photrans|明冂|あし}}

{{Photrans|泥路|ダート}}・走り出し{{Photrans|灰塗|はいまみ}}れ
{{Photrans|或瀝青路|あるアスファルト}}で目を焼いた
壊れた街路に身を{{Photrans|墜|おと}}す
「さよなら{{Photrans|牽衣頓足|バイバイ}}、また明日」

—今刻んだ
—今拓いた
—{{Photrans|対自核|フラクタル}}は
—繰り返した

{{Photrans|重油槽|じゅうゆタンク}}に{{Photrans|塗|まみ}}れている {{Photrans|極彩色|ごくさいしき}}の{{Photrans|球体|ボール}}を掴む
{{Photrans|眼球規模|がんきゅうサイズ}}を指先で 搬ぶ搬ぶ 呼吸を止めて搬ぶ

{{Photrans|作業場|ヤード}}・細長く{{Photrans|間|あいだ}}縫い
或回線に{{Photrans|歩絡|プラグ}}を挿す
脳が{{Photrans|赦|ゆる}}した{{Photrans|永遠|とわ}}の隙間
「さよなら{{Photrans|陽関三畳|バイバイ}}、また{{Photrans|明冂|あし}}

{{Photrans|物質|ハード}}・{{Photrans|旧四核|きゅうよんかく}}を囲い
或半球へと背を向ける
実験室に響く音色
「さよなら{{Photrans|愛別離苦|バイバイ}}、また明日」

—今刻んだ
—今拓いた
—{{Photrans|対自核|フラクタル}}は
—繰り返した

—今刻んだ
—今拓いた
—{{Photrans|対自核|フラクタル}}は
—繰り返した
|translated=
www
|photrans=
yuukyuu no machi jiga no ranshou
kizu wa fukaku fushi o soeru
asu no hi o matsu bakari ni
modoru modoru kairaku o hete modoru

konkyuu no tami hi o matageba
tane o horikaeshi uousaou
kazu wa yaku niman yonsen
isogu isogu awate futameki isogu

aato horonigaku sainamare
aru konsooru ni me o utsusu
ase ga hitai o nadete ochiru
"sayonara baibai, mata ashi

daato hashiridashi haimamire
aru asufaruto de me o yaita
kowareta gairo ni mi o otosu
"sayonara baibai, mata ashita"

—ima kizanda
—ima hiraita
—furakutaru wa
—kurikaeshita

juuyu tanku ni mamirete iru gokusaishiki no booru o tsukamu
gankyuu saizu o yubisaki de hakobu hakobu kokyuu o tomete hakobu

yaado hosonagaku aidanui
arukaisen ni puragu o sasu
nou ga yurushita towa no sukima
"sayonara baibai, mata ashi

haado kyuuyonkaku o kakoi
aruhankyuu e to se o mukeru
jikkenshitsu ni hibiku neiro
"sayonara baibai, mata ashita"

—ima kizanda
—ima hiraita
—furakutaru wa
—kurikaeshita

—ima kizanda
—ima hiraita
—furakutaru wa
—kurikaeshita
}}
local p = {}
 
local getArgs = require('Module:Arguments').getArgs
local lang = require('Module:Lang')
 
function p._lyrics(args, hookTrigger, customArgs)
	local original = args.original or ''
	local translated = args.translated or ''
	local photrans = args.photrans or ''
	if hookTrigger then
		original, translated = hookTrigger('preSplit', original, translated, customArgs)
	end
 
	--mw.text.split的效率太低啦,我愿称之为shit
	local orig = {}
	local iter = mw.ustring.gmatch(original..'\n', '([^\n]*)\n')
	for val in iter do
		table.insert(orig, val)
	end
	local tran = {}
	local iter = mw.ustring.gmatch(translated..'\n', '([^\n]*)\n')
	for val in iter do
		table.insert(tran, val)
	end
	local phot = {}
	local iter = mw.ustring.gmatch(photrans..'\n', '([^\n]*)\n')
	for val in iter do
		table.insert(phot, val)
	end
 
	local llang = args.llang or 'ja'
	local rlang = args.rlang or 'zh'
	local lstyle = args.lstyle or ''
	local rstyle = args.rstyle or ''
 
	local html = mw.html.create('div')
					:addClass('Lyrics')
					:css('width', args.width)
					:cssText(args.containerstyle or '')
 
	if ((args['hasRuby'] or '') ~= '') or (not args.colorsMode and (args.original or ''):find('<ruby')) then
		html:addClass('Lyrics-has-ruby')
	else
		html:addClass('Lyrics-no-ruby')
	end
 
	local hastran = true
	if #tran == 1 and tran[1] == '' then
		hastran = false
	else
		html:addClass('Lyrics-has-translate')
	end
 
	if hookTrigger then
		hookTrigger('preParse', orig, hastran and tran or false, customArgs)
	end
 
 	local fold = args.fold or 'mw-collapsed'
 	if fold ~= 'on' then
 		fold = ''
 	end
	local lines = {}
	local len = math.max(#orig, #tran)
	local ruby = {}
 	local name = args.name or 'l'
	for i=1, #orig do
		if phot[i] == nil then 
			error("第" .. i .. "行日语歌词" .. '"' .. orig[i] .. '"' .. "没有对应的罗马音。请检查确保original参数和photrans参数的行数相等。")
		end
		local fuck = '<ruby><rb data-id="template-ruby">'..orig[i]..'<span class="template-ruby-hidden">(</span></rb><rt style="font-size:0.75em"><span class="mw-collapsible ' .. fold ..'mw-collapsed " id="mw-customcollapsible-'..name..'" style="">'..phot[i]..'</span></rt><span class="template-ruby-hidden">)</span></ruby>'
		table.insert( ruby , fuck )
	end
 
	for i=1, len do
		local line = mw.html.create('div'):addClass('Lyrics-line')
			:tag('div')
				:addClass('Lyrics-original')
				:cssText(lstyle)
				:node(lang.wrap(ruby[i] or '', llang))
				:done()
		if hastran then
			line:tag('div')
				:addClass('Lyrics-translated')
				:cssText(rstyle)
				:node(lang.wrap(tran[i] or '', rlang))
				:done()
		end
		table.insert(lines, tostring(line))
	end
 
	if hookTrigger then
		hookTrigger('postParse', lines, customArgs)
	end
	html:node(table.concat(lines))
	-- Clear the floating
	html:tag('div'):cssText('clear:both')
	html = tostring(html)
 
	if hookTrigger then
		html = hookTrigger('preOutput', html, customArgs)
	end
 
	local copyright = ''
	local frame = mw.getCurrentFrame()
	local LDC = frame:callParserFunction{ name = '#var', args = { 'LDC', '0' } }
	if LDC ~= '1' and args.override ~= '1' then
		copyright = '<small>本段落中所使用的歌词,其著作权属于' .. (args.author or '原著作权人') .. ',仅以介绍为目的引用。</small>'
	elseif LDC == '1' and args.override == '1' then
		copyright = frame:expandTemplate{ title = 'ac', args = { '不必要使用override参数的音乐条目' } }
	end
	local css = frame:extensionTag{ name = 'templatestyles', args = { src = 'Template:LyricsKai/styles.css' } }
 
	return copyright .. css .. html
end
 
function p.lyrics(frame)
	local args = getArgs(frame, {wrappers='Template:LyricsKai/Roma'})
	return p._lyrics(args)
end
 
return p