MarLant
用于处理SubRip/SRT字幕的Sublime Text插件
详细信息
安装
- 总计 72
- Win 39
- Mac 23
- Linux 10
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
读取文件
MarLant
关于
用于处理SubRip/SRT字幕的Sublime Text插件。
以下截图和演示视频中使用的UI主题和颜色方案:One Dark。
特性
- SubRip / SRT语法高亮显示
- 各种处理字幕的功能
- SubRip格式验证和额外检查
- 文本行长度
- 标题持续时间
- 未闭合HTML标签
- 等等
- 标题管理
- 重编号标题序数
- 插入新的标题
- 将标题分成两部分
- 将两个标题合并为一个
- 移动所有时间
- 翻译
- 在分割视图中打开翻译文件
- 生成空翻译文件
- 项目字典
- SubRip格式验证和额外检查
可以从以下位置调用命令:
- 命令面板(
CTRL/COMMAND + SHIFT + P
) (所有命令) - 标签页上下文菜单(创建/打开翻译文件)
- 文本区域上下文菜单(插入、分割和合并标题)
演示
验证文件
https://user-images.githubusercontent.com/6904927/168665456-589fd743-86a5-4c4d-97b2-56a6ca40435a.mp4
合并和分割标题
https://user-images.githubusercontent.com/6904927/168662707-c775db65-b73e-4347-b8fa-209741ea85b9.mp4
创建和打开翻译文件
https://user-images.githubusercontent.com/6904927/168663924-b1236762-3207-480e-895e-aa7754f62cf5.mp4
安装
- 通过Package Control
CTRL/COMMAND + SHIFT + P
→Package Control: Install Package
→MarLant
- 手动
- 克隆仓库并将它的文件夹(
marlant
)复制到/path/to/Sublime Text/Packages/
- 可以通过
CTRL/COMMAND + SHIFT + P
→Preferences: Browse Packages
打开包的确切路径 - 您可能想要跳过复制
.gitattributes
文件中列出的资源- 或者直接下载最新标签的存档
- 可以通过
- 克隆仓库并将它的文件夹(
要求
- Sublime Text v4099或更高版本
- Python插件宿主v3.8或更高版本
颜色方案中的代码高亮显示
如果您没有为text.srt
作用域添加语法高亮规则,您可以通过以下规则在其基础上添加这些规则(这些是为暗色主题设计的)通过Settings
→ Customize Color Scheme
{
"variables":
{
},
"globals":
{
},
"rules":
[
{
"name": "SRT title ordinal",
"scope": "text.srt variable.function markup.bold",
"font_style": "bold",
"foreground": "#efc778"
},
{
"name": "SRT title timecode",
"scope": "text.srt variable.function markup.italic",
"font_style": "italic",
"foreground": "#c56ddf"
},
{
"name": "SRT title timecode divider",
"scope": "text.srt variable.function",
"foreground": "#c56ddf"
},
{
"name": "SRT title HTML tags",
"scope": "text.srt comment.srt markup.bold.srt",
"foreground": "#5f697a"
},
{
"name": "SRT title text in HTML tags",
"scope": "text.srt markup.italic.srt",
"font_style": "italic",
"foreground": "#abb2bf"
}
]
}
要获取特定元素的scope值,请将光标放在该元素上,然后打开Tools
→ Developer
→ Show Scope Name
。
使用项目
如您所知,Sublime Text有项目,该插件可以使用项目文件来存储某些设置。
以下是一个项目示例
{
"folders":
[
{
"path": ".",
"folder_exclude_patterns":
[
".git"
]
}
],
"settings":
{
"marlant":
{
"dictionary":
{
"Sverre": "Сварре",
"Thorvald": "Турвальд"
},
"validation":
{
"excluded-titles":
{
"gutta-paa-skauen-s01e01-den-femte-mann.srt":
[
3,
5,
38
],
"gutta-paa-skauen-s01e02-koppen.srt":
[
12,
25
]
}
}
}
}
}
如您所见,翻译/编辑人员已将一些标题编号添加到排除标题列表中(按文件),因此现在这些将不会包含在大多数验证检查中。
另一个示例是项目字典。它可以帮助维护对某些事物(如字符名称)的翻译/拼写一致性,因此翻译者不必回去查找他们之前的方式。
常见问题解答
没有可用插件命令
请确保活动文件/视图具有SubRip/SRT语法/作用域,因为插件功能仅在那里启用。
有按键绑定吗
虽然不是直接支持,但您当然可以为任何插件命令创建自己的快捷键。要在控制台中获取命令名称及其参数,请启用命令记录(sublime.log_commands(True)
)。
例如,以下添加了两个快捷键:在当前标题之前和之后插入新标题
{
"keys": ["super+alt+i", "super+alt+b"],
"command": "marlant_insert_new_title",
"args": {"after_current_title": false }
},
{
"keys": ["super+alt+i", "super+alt+a"],
"command": "marlant_insert_new_title",
"args": {"after_current_title": true }
}
为什么需要Sublime Text 4以及最低版本为v4099
版本4一般是因为那时添加了Python插件宿主v3.8。v4099具体则是作为最小的版本,因为这个版本有最新的插件宿主v3.8.8。但当然,该插件也可能与非常早期的v4050一起良好工作。
为什么需要Python 3.8插件主机要求
这主要是因为添加了Python 3.6才有的f-string,因此在插件宿主v3.3中不可用。
该插件根据GPLv3授权,会不会将它传播给所有其他GPLv3
目的是如果您使用此插件源创建其他东西,并且/或者将其重新分发(原样或修改),那么确实会被 GPLv3感染。但出于仅在Sublime Text中使用插件的目的,GPLv3条款不应有任何限制/要求。
谁杀了劳拉·帕尔默
总有一天,我的日志会有些话要说。
致谢
- SubRip / SRT语法定义是基于这个实现,使用SublimeSyntaxConvertor工具转换为
.sublime-syntax
格式。 - 时间码解析和编写是基于从srt-shift代码。
- 感谢
- OdatNurd提供他的Plugin 101 - How to write Packages for Sublime视频课程
- 友好并乐于助人的Sublime Text社区回答我的(《有时愚蠢》)问题