muzuiget / dualsub-support

Dualsub - Dual Subtitles for YouTube
https://www.dualsub.xyz/
281 stars 24 forks source link

[建議][Suggestion]備選字幕與頻道白名單功能 #276

Closed CrazyLayKer closed 2 years ago

CrazyLayKer commented 3 years ago

目前版本開啟字幕後,需要播放中影片具有選擇的字幕才會顯示,建議增加功能可自訂優先順序選擇字幕語言。

例如,第一字幕與第二字幕可分別自訂排序: 第一字幕 1.英文 2.英文(自動)3.關閉 第二字幕 1.中文 2.英文 3.英文(自動)

或與機器翻譯組合: 第一字幕 1.英文 2.英文(自動)3.關閉 第二字幕 1.中文 2.英文 + 機器翻譯 中文 3.英文(自動) + 機器翻譯 中文

如此一來便可實現: 1.有「中文」,字幕僅顯示第二字幕並顯示中文 2.有「英文」,第一字幕顯示英文,第二字幕顯示機器翻譯之英文 3.有「英文(自動)」,第一字幕顯示英文(自動),第二字幕顯示機器翻譯之英文(自動)

另,頻道白名單功能,即指定特定頻道不顯示字幕。

muzuiget commented 3 years ago

你这个设计看上去有点复杂。自动选择功能我确实有打算重做,已经有一些想法,迟点我会写个详细帖子供大家讨论。

这里简单说一下:

把代码编辑框移动到“插件”设置页面,也就是新加一个“自动选择”的插件类型,这样好处就样式插件一样,不同网站可以使用不同代码,勾选一下网站的单选框方便临时禁用或者启用。

改进现有的语法,姑且叫 DSL 语法,把字幕序号移动到最前面,这样空白值可以省略不写:

现在
[zh-hans, zh][][][1]
[en][zh-hans][][1]
[en][][][2]

变成
1=[zh-hans, zh]
1=[en][zh-hans]
2=[en]

再提供一个 JSON 语法,以实现更复杂的功能,例如针对某个频道使用不同方案。

DSL 语法内部会转成等价 JSON 语法,然后最终 JSON 对象会当成规则配置来进行匹配。

muzuiget commented 3 years ago

v1.68.0 里已经把代码编辑框移动到“插件”设置页面,新加两种插件类型,对应两种工作模式。

后续更新再修改语法。