设置指南
语言代码
在扩展设置的文档中,你会看到“语言代码”这个术语,这是每种字幕语言的惟一标识符。
如果你把鼠标悬停在“字幕语言”菜单的菜单条目上,悬浮提示所显示的就是该菜单条目的语言代码。
语言代码通常格式为 语言大类-语言子类.语言版本
,后两者有时也可以没有。
以下是一些常见的语言代码及其意义:
语言代码 | 语言大类 | 语言子类 | 语言版本 |
---|---|---|---|
en | 英语 | ||
en-us | 英语 | 美式英语 | |
en-gb | 英语 | 英式英语 | |
en.asr | 英语 | 自动字幕 | |
en.cc | 英语 | 带解说字幕 | |
zh | 中文 | ||
zh-hans | 中文 | 简体中文 | |
zh-hant | 中文 | 繁体中文 |
在扩展设置选项中“显示指定语言“,如果填写语言代码,就会只显示对应的菜单条目,例如仅显示英文和中文:
en, en-us, en-gb, en.asr, en.cc, zh, zh-hans, zh-hant
你会看到,你需要把所有可能的语言代码都填上,而且每个视频网站的对“语言子类“和”语言版本“的选择偏好都不一致的,比如繁体中文不使用 zh-hant
,而是 zh-tw
或 zh-hk
。
如果支持 *
通配符效果,那么就可以简写为:en*, zh*
。然而这个值得作为默认行为,所以把 *
省略了,最终简单填写 zh, en
就行了。
也就是设置选项的“语言代码”可能有两个意思,分别是“表达式”和“字面值”:
- 表达式
en
匹配以en
开头的字面值。 - 表达式需要整个单词匹配,也就是表达式
e
不会匹配字面值en
。
以下是一些示例:
表达式 | 匹配字面值 |
---|---|
en | en , en-us , en.cc , en-us.cc |
en-us | en-us , en-us.cc |
en.cc | en.cc |
en-us.cc | en-us.cc |
使用自动选择
自动选择功能让你通过编写代码来设置各个字幕菜单,减少手动操作。
代码通过扩展内建的插件系统来配置,新建一个插件,类型为“自动选择 (标准模式)”。
当同时满足以下两个条件,自动选择代码会被执行:
- 所有”字幕语言”菜单都是关闭,无论是主动还是被动关闭。
- 字幕菜单需要刷新,包括网页初始化、修改相关设置选项引起布局变动。
代码可以很简单,也可以很复杂,为了方便理解,先从最常见的示例开始,最后才说明具体格式。
以下示例都使用这几个视频信息:
视频名称 | 视频可用字幕语言 |
---|---|
A1 | zh-hans ,en |
A2 | zh-hant ,en |
B | en |
实现需求:显示两种字幕语言,尽量可能上中下英,简体中文优先,如果没有原始中文,就从英语机器翻译。
使用示例 1
代码:
[zh-hans, zh]
[en]
结果:
视频名称 | #1 字幕语言 | #1 机器翻译 | #2 字幕语言 | #2 机器翻译 |
---|---|---|---|---|
A1 | zh-hans | en | ||
A2 | zh-hant | en | ||
B | en |
可以看到,A1 和 A2 满足需求,但是 B 在第一个字幕设置了英语,需求应该是使用机翻中文。
使用示例 2
代码:
[zh-hans, zh]
[en][zh-hans]
[en]
这里第 2 行第 2 个方括号 [zh-hans]
,表示设置“机器翻译”菜单。
结果:
视频名称 | #1 字幕语言 | #1 机器翻译 | #2 字幕语言 | #2 机器翻译 |
---|---|---|---|---|
A1 | zh-hans | en | zh-hans | |
A2 | zh-hant | en | zh-hans | |
B | en | zh-hans | en |
可以看到,B 满足需求,然而 A1 和 A2 却设置了两种中文,分别是原始和机翻中文,因为前两行都匹配成功了。
使用示例 3
代码:
[zh-hans, zh][][][1]
[en][zh-hans][][1]
[en][][][2]
这里末尾的 [1]
和 [2]
表示限制字幕序号。
结果:
视频名称 | #1 字幕语言 | #1 机器翻译 | #2 字幕语言 | #2 机器翻译 |
---|---|---|---|---|
A1 | zh-hans | en | ||
A2 | zh-hant | en | ||
B | en | zh-hans | en |
三个视频都实现了需求。
代码格式
格式为 [字幕语言][机器翻译][主题样式][限制序号]
:
- 一个菜单对应一个方括号。
- 可以用英文逗号分隔多个值。
- 最后的限制序号用
0
表示没有限制。 - 末尾连续的
[]
可以省略。
也就是你可以 3 个菜单一起设置,例如代码 [en][zh-hans][中文学习]
,表示:
[en]
原始语言为英语。[zh-hans]
机器翻译成简体中文。[中文学习]
应用“中文学习“主题样式。
如果某行的格式不合法,该行将会被忽略,所以可以 #
开头来添加注释,例如:
# 临时取消某行代码
#[en]
如果某个方括号找不到匹配值,那么整行代码匹配失败,将继续从下一行开始匹配。每行代码只匹配一次,如果某行代码匹配成功,下一个字幕将从下一行开始匹配。
# 下面这行永远失败,因为字幕序号总是从 1 开始
[en][][][2]
[zh][][][1]
有几个特殊变量:
LAST
上一次使用的值。CLOSE
设置成关闭。SKIP
相当于LAST
和CLOSE
组合。
代码:
# 除了”字幕语言“菜单外,其余菜单都强制设置成关闭。
[zh][CLOSE][CLOSE]
# 下面几行意义相同
[zh]
[zh][][]
[zh][SKIP][SKIP]
[zh][LAST, CLOSE][LAST, CLOSE]
备注
“字幕语言“和“机器翻译”中的填的值是语言代码表达式,见本页面顶部的“语言代码“,“主题样式”都是字面值,需要完整匹配。
特殊变量 LAST
表示的“上次使用的值”,通过自动选择功能切换的菜单,不会被保存为“上次使用的值”,直到你手动切换一次任意一个菜单。