docs: init docs
All checks were successful
Build and Release / Build (darwin-arm64) (push) Successful in 19s
Build and Release / Build (darwin-amd64) (push) Successful in 20s
Build and Release / Build (linux-arm64) (push) Successful in 17s
Build and Release / Build (linux-amd64) (push) Successful in 20s
Build and Release / Build (windows-arm64) (push) Successful in 16s
Build and Release / Build (windows-amd64) (push) Successful in 19s
Build and Release / Create Release (push) Has been skipped
Deploy docs / deploy (push) Successful in 45s

This commit is contained in:
CDN 2025-04-23 14:16:16 +08:00
parent ba66894e42
commit deae4a6272
Signed by: CDN
GPG key ID: 0C656827F9F80080
20 changed files with 2887 additions and 1 deletions

229
docs/zh-Hans/commands.md Normal file
View file

@ -0,0 +1,229 @@
---
title: 命令参考
description: 所有Sub-CLI命令的详细文档
---
# 命令参考
本页面提供了所有可用Sub-CLI命令的详细文档、选项和用法。
## 全局选项
这些选项在所有Sub-CLI命令中都可用
```
help 显示命令的帮助信息
```
## convert
`convert` 命令将字幕文件在不同格式之间转换,尽可能保留信息,同时适应目标格式的功能。
### 用法
```
sub-cli convert <源文件> <目标文件>
```
### 参数
| 参数 | 描述 |
|----------|-------------|
| `<源文件>` | 源字幕文件的路径 |
| `<目标文件>` | 要创建的目标字幕文件的路径 |
### 支持的格式转换
| 源格式 | 目标格式 | 注意 |
|---------------|---------------|-------|
| SRT (.srt) | SRT, VTT, LRC, TXT | - |
| VTT (.vtt) | SRT, VTT, LRC, TXT | - |
| LRC (.lrc) | SRT, VTT, LRC, TXT | - |
| TXT (.txt) | — | TXT只能作为目标格式不能作为源格式 |
### 功能保留
转换过程旨在尽可能保留更多功能,但某些特定于格式的功能可能会丢失或适应:
#### SRT功能
- **保留**: 文本内容、时间线(开始和结束时间)、基本样式(粗体、斜体、下划线)
- **在某些格式中丢失**: 转换为LRC或TXT等格式时的HTML样式标签
#### VTT功能
- **保留**: 文本内容、时间线、标题、CSS样式当目标格式支持时
- **在某些格式中丢失**: 转换为SRT或LRC时的定位、对齐和高级样式
#### LRC功能
- **保留**: 文本内容、时间线、元数据(标题、艺术家、专辑)
- **结构限制**: LRC只支持开始时间戳没有结束时间戳不像SRT和VTT
- **从LRC转换时的适应**: 当转换为SRT/VTT时LRC中每行的单一时间戳会转换为开始+结束时间对。结束时间的计算方式为:
- 使用下一个条目的开始时间作为当前条目的结束时间
- 对于最后一个条目添加默认时长通常3-5秒来创建结束时间
- **转换为LRC时丢失**: 当其他格式转换为LRC时任何结束时间戳信息都会被丢弃
#### TXT功能
- **仅输出**: 纯文本格式只包含没有任何时间或样式的文本内容
### 技术细节
转换器使用中间表示法,尽可能保留特定格式的数据。转换分两步进行:
1. 将源格式转换为中间表示
2. 将中间表示转换为目标格式
这种方法最大限度地减少信息丢失,确保尽可能准确的转换。
### 示例
```bash
# 从SRT转换为WebVTT
sub-cli convert subtitles.srt subtitles.vtt
# 从LRC转换为纯文本去除时间信息
sub-cli convert lyrics.lrc transcript.txt
# 从WebVTT转换为SRT
sub-cli convert subtitles.vtt subtitles.srt
```
## sync
`sync` 命令将源字幕文件的时间/时间戳应用到目标字幕文件,同时保留目标文件的内容。
### 用法
```
sub-cli sync <源文件> <目标文件>
```
### 参数
| 参数 | 描述 |
|----------|-------------|
| `<源文件>` | 带有参考时间线的源字幕文件的路径 |
| `<目标文件>` | 要同步的目标字幕文件的路径 |
### 支持的格式
目前,同步仅适用于相同格式的文件之间:
- SRT到SRT
- LRC到LRC
### 行为详情
#### 对于LRC文件
- **当条目数匹配时**: 源时间线直接应用于目标内容。
- **当条目数不同时**: 源时间线使用线性插值进行缩放以匹配目标内容。
- **从目标保留**: 所有内容文本和元数据(艺术家、标题等)。
- **在目标中修改**: 只更新时间戳。
#### 对于SRT文件
- **当条目数匹配时**: 源的开始和结束时间直接应用于目标条目。
- **当条目数不同时**: 使用缩放方法:
- 开始时间取自按比例匹配的源条目
- 结束时间根据源条目时长计算
- 保持条目之间的时间关系
- **从目标保留**: 所有字幕文本内容。
- **在目标中修改**: 更新时间戳并标准化条目编号从1开始顺序编号
### 边缘情况
- 如果源文件没有时间信息,目标保持不变。
- 如果源时长计算导致负值会应用默认的3秒时长。
- 当条目数不同时,命令会显示警告但会继续进行缩放同步。
- 目标文件中的特定格式功能(如样式、对齐方式、元数据)会被保留。同步操作只替换时间戳,不会更改任何其他格式或内容功能。
### 示例
```bash
# 使用另一个SRT文件作为参考来同步SRT文件
sub-cli sync reference.srt target.srt
# 使用另一个LRC文件作为参考来同步LRC文件
sub-cli sync reference.lrc target.lrc
```
## fmt
`fmt` 命令根据其特定格式的约定标准化和格式化字幕文件。
### 用法
```
sub-cli fmt <文件>
```
### 参数
| 参数 | 描述 |
|----------|-------------|
| `<文件>` | 要格式化的字幕文件的路径 |
### 支持的格式
| 格式 | 扩展名 | 格式化操作 |
|--------|-----------|-------------------|
| SRT | `.srt` | 标准化条目编号从1开始顺序<br>格式化时间戳为`00:00:00,000`格式<br>确保条目之间适当的间距 |
| LRC | `.lrc` | 组织元数据标签<br>标准化时间戳格式`[mm:ss.xx]`<br>确保正确的内容对齐 |
| VTT | `.vtt` | 验证WEBVTT头<br>标准化提示标识符<br>格式化时间戳为`00:00:00.000`格式<br>组织样式信息 |
### 格式特定详情
#### SRT格式化
格式化器解析SRT文件提取所有条目确保从1开始的顺序编号并以一致的格式将文件写回。这保留了所有内容和时间信息同时标准化结构。
#### LRC格式化
对于LRC文件格式化器保留所有元数据和内容但标准化时间戳的格式并确保正确对齐。这使文件更易于阅读并与不同的LRC解析器更兼容。
#### VTT格式化
格式化WebVTT文件时命令确保适当的头格式、顺序提示标识符和标准时间戳格式。所有VTT特定功能如样式、定位和注释都被保留。
### 示例
```bash
# 格式化SRT文件
sub-cli fmt subtitles.srt
# 格式化LRC文件
sub-cli fmt lyrics.lrc
# 格式化VTT文件
sub-cli fmt subtitles.vtt
```
## version
显示Sub-CLI的当前版本。
### 用法
```
sub-cli version
```
## help
显示一般帮助信息或特定命令的帮助。
### 用法
```
sub-cli help [命令]
```
### 参数
| 参数 | 描述 |
|----------|-------------|
| `[命令]` | (可选)要获取帮助的特定命令 |
### 示例
```bash
# 显示一般帮助
sub-cli help
# 显示convert命令的帮助
sub-cli help convert
```

67
docs/zh-Hans/config.ts Normal file
View file

@ -0,0 +1,67 @@
export const zhHansThemeConfig = {
nav: [
{ text: '首页', link: '/zh-Hans/' },
],
sidebar: [
{
text: '介绍',
items: [
{ text: '快速开始', link: '/zh-Hans/getting-started' },
{ text: '安装指南', link: '/zh-Hans/installation' }
]
},
{
text: '使用',
items: [
{ text: '命令示例', link: '/zh-Hans/examples' },
{ text: '命令参考', link: '/zh-Hans/commands' }
]
},
{
text: '项目',
items: [
{ text: '提供反馈', link: '/zh-Hans/feedback' }
]
}
],
// from https://github.com/vuejs/vitepress
editLink: {
pattern: 'https://git.owu.one/wholetrans/sub-cli/edit/main/docs/:path',
text: '在 Owu Git 编辑此页面'
},
footer: {
message: 'Sub-CLI 基于 AGPL-3.0 许可发布',
copyright: `版权所有 © 2024-${new Date().getFullYear()} WholeTrans`
},
docFooter: {
prev: '上一页',
next: '下一页'
},
outline: {
label: '页面导航'
},
lastUpdated: {
text: '最后更新于'
},
notFound: {
title: '页面未找到',
quote: '但如果你不改变方向,并且继续寻找,你可能最终会到达你所前往的地方。',
linkLabel: '前往首页',
linkText: '回到首页'
},
langMenuLabel: '切换语言',
returnToTopLabel: '返回顶部',
sidebarMenuLabel: '菜单',
darkModeSwitchLabel: '主题',
lightModeSwitchTitle: '切换到浅色模式',
darkModeSwitchTitle: '切换到深色模式',
skipToContentLabel: '跳转到内容'
}

63
docs/zh-Hans/examples.md Normal file
View file

@ -0,0 +1,63 @@
---
title: 命令示例
description: Sub-CLI命令实际应用的实用示例
---
# 命令示例
本页面提供了Sub-CLI命令在常见字幕处理任务中的实用示例。
## 格式转换示例
在各种字幕格式之间进行转换:
```bash
# 从SRT转换为WebVTT
sub-cli convert subtitles.srt subtitles.vtt
# 从LRC转换为SRT
sub-cli convert lyrics.lrc subtitles.srt
# 从WebVTT转换为纯文本去除时间戳
sub-cli convert subtitles.vtt plain_text.txt
# 从SRT转换为LRC
sub-cli convert subtitles.srt lyrics.lrc
```
## 同步示例
在字幕文件之间同步时间轴:
```bash
# 使用另一个SRT文件作为参考来同步SRT文件
sub-cli sync reference.srt target.srt
# 使用另一个LRC文件作为参考来同步LRC文件
sub-cli sync reference.lrc target.lrc
```
注意同步功能仅适用于相同格式的文件之间。如果源文件和目标文件之间的条目数不同Sub-CLI将显示警告并适当地缩放时间轴。
## 格式化示例
格式化字幕文件以确保样式一致:
```bash
# 格式化SRT文件
sub-cli fmt subtitles.srt
# 格式化LRC文件
sub-cli fmt lyrics.lrc
# 格式化WebVTT文件
sub-cli fmt subtitles.vtt
```
格式化确保:
- 顺序条目编号
- 一致的时间戳格式
- 适当的间距和换行
- 格式特定的标准合规性
这些示例展示了Sub-CLI在处理各种字幕操作任务方面的多功能性。有关每个命令和所有可用选项的详细信息请参阅[命令参考](/zh-Hans/commands)页面。

81
docs/zh-Hans/feedback.md Normal file
View file

@ -0,0 +1,81 @@
---
title: 提供反馈
description: 分享您的体验和建议帮助改进Sub-CLI
---
# 提供反馈
您的反馈对Sub-CLI的持续开发和改进非常宝贵。我们欢迎各种类型的反馈包括错误报告、功能请求、可用性建议和一般评论。
## 提供反馈的方式
### 问题追踪
报告错误或请求功能的最佳方式是通过我们的问题追踪器:
1. 访问[Sub-CLI Issues](https://git.owu.one/wholetrans/sub-cli/issues)页面
2. 点击"New Issue"
3. 尽可能详细地填写相关信息
4. 提交工单
### 电子邮件
如果您愿意,可以直接通过电子邮件发送反馈:
`hello@wholetrans.org`(示例邮箱)
### 社区渠道
加入我们的社区讨论Sub-CLI分享您的经验并获取帮助
::: info
目前没有专门的Sub-CLI频道。您可以加入我们的`#general`聊天室进行一般性问题讨论。
:::
- Matrix空间[#wholetrans:mtx.owu.one](https://matrix.to/room/#wholetrans:mtx.owu.one)
您可以在我们的[关于](https://wholetrans.org/about)页面找到更多联系信息。
## 报告错误
报告错误时,请包括:
1. **Sub-CLI版本**`sub-cli version`的输出
2. **操作系统**:您的操作系统名称和版本
3. **重现步骤**:重现问题的详细步骤
4. **预期行为**:您期望发生的情况
5. **实际行为**:实际发生的情况
6. **附加上下文**:任何其他相关信息,如命令输出、错误消息或截图
## 功能请求
请求新功能时,请包括:
1. **使用场景**:描述您尝试解决的特定场景或问题
2. **建议解决方案**:您对实现该功能的想法
3. **考虑的替代方案**:您考虑过的任何替代解决方案
4. **附加上下文**:任何其他可能帮助我们理解请求的相关信息
## 贡献指南
有兴趣为Sub-CLI做贡献我们欢迎各种形式的贡献从代码改进到文档更新。
### 代码贡献
1. Fork存储库
2. 创建功能分支
3. 进行更改
4. 提交拉取请求
### 文档贡献
在我们的文档中发现错误或遗漏?有改进的想法?我们欢迎:
- 文档修复和改进
- 示例和教程
## 谢谢!
您的反馈和贡献有助于使Sub-CLI对每个人都更好。我们感谢您花时间和精力帮助我们改进工具。

View file

@ -0,0 +1,47 @@
---
title: 快速开始
description: Sub-CLI 介绍及其功能
---
# Sub-CLI 快速开始
Sub-CLI 是一款专为字幕处理和生成设计的命令行工具。无论您需要转换字幕格式、同步时间轴还是格式化字幕文件Sub-CLI 都能为您的所有字幕需求提供功能支持。
## Sub-CLI 能做什么?
- **转换**在多种字幕格式之间转换SRT、VTT、LRC、TXT
- **同步**:字幕文件之间的时间轴同步
- **格式化**:确保字幕文件具有一致的样式
## 主要特点
- **格式灵活性**:支持多种字幕格式,包括 SRT、VTT、LRC 和纯文本
- **时间轴同步**:轻松将字幕与音频/视频内容对齐
- **格式特定功能保留**:在转换过程中保持格式特定的功能
- **简洁的命令界面**:简单、直观的命令,提高工作效率
## 快速导航
准备开始使用?以下是下一步去向:
- [安装指南](/zh-Hans/installation) - 下载并设置 Sub-CLI
- [命令示例](/zh-Hans/examples) - 查看 Sub-CLI 实际应用的示例
- [命令参考](/zh-Hans/commands) - 所有可用命令的详细文档
- [提供反馈](/zh-Hans/feedback) - 分享您的体验,帮助我们改进 Sub-CLI
## 基本用法
安装后,您可以使用简单的命令开始使用 Sub-CLI
```bash
# 将字幕从一种格式转换为另一种格式
sub-cli convert input.srt output.vtt
# 在两个字幕文件之间同步时间轴
sub-cli sync source.srt target.srt
# 格式化字幕文件
sub-cli fmt subtitle.srt
```
查看[命令示例](/zh-Hans/examples)页面获取更多详细使用场景。

26
docs/zh-Hans/index.md Normal file
View file

@ -0,0 +1,26 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
hero:
name: "Sub-CLI"
# text: "字幕处理命令行工具"
tagline: "字幕处理命令行工具"
actions:
- theme: brand
text: 快速开始
link: /zh-Hans/getting-started
- theme: alt
text: 命令参考
link: /zh-Hans/commands
features:
- title: 一站式工作流
details: (开发中) Sub-CLI 能够全程参与从原始音频/视频(生肉)到多语言、带完整样式字幕的生产工作流
- title: 自动化,但亦可交互
details: (即将推出) 你可以用预先调校好的参数将 Sub-CLI 集成到您的工作流中,也可以启动 TUI 并根据交互式界面完成任务。
- title: 批量处理
details: (即将推出) 按照你期望的并发度,利用每一台你想利用的设备批量处理多个文件。
- title: 开箱即用的集成
details: (即将推出) 注册 Sub-CLI 账户,即可同时接入多个提供商,利用云服务处理你的媒体文件。
---

View file

@ -0,0 +1,107 @@
---
title: 安装指南
description: 如何在您的系统上下载并安装 Sub-CLI
---
# 安装指南
按照以下简单步骤,在您的计算机上安装并运行 Sub-CLI。
## 下载正确的版本
Sub-CLI 适用于各种操作系统和架构。访问[发布页](https://git.owu.one/wholetrans/sub-cli/releases)下载适合您系统的版本。
### 了解应下载哪个版本
发布文件的命名遵循以下模式:
```
sub-cli-[操作系统]-[架构][.exe]
```
其中:
- **操作系统**是您的操作系统windows, darwin, linux
- **架构**是您计算机的处理器类型amd64, arm64
- `.exe`扩展名仅适用于Windows版本
### 我需要哪个版本?
以下是一个简单的选择指南:
| 操作系统 | 处理器类型 | 下载文件 |
|------------------|----------------|---------------|
| Windows | Intel/AMD大多数PC | `sub-cli-windows-amd64.exe` |
| Windows | ARM如Surface Pro X等 | `sub-cli-windows-arm64.exe` |
| macOS | Intel Mac | `sub-cli-darwin-amd64` |
| macOS | Apple SiliconM系列处理器 | `sub-cli-darwin-arm64` |
| Linux | Intel/AMD大多数PC/服务器) | `sub-cli-linux-amd64` |
| Linux | ARM树莓派基于ARM的VPS等 | `sub-cli-linux-arm64` |
如果您不确定系统架构大多数现代计算机使用amd64也称为x86_64架构。
## 安装步骤
::: tip
如果只想临时使用,您只需将 sub-cli 放在当前目录或你期望的位置,无需将其加入环境变量。
:::
### Windows
1. 从发布页面下载适合的`.exe`文件
2. 将文件移动到您选择的位置(例如,`C:\Users\[用户名]\bin\`
3. 可选将该文件夹添加到PATH环境变量中以便从任何位置运行Sub-CLI
- 右键点击"此电脑"并选择"属性"
- 点击"高级系统设置"
- 点击"环境变量"
- 在"系统变量"下,找到"Path"变量,选择它并点击"编辑"
- 点击"新建"并添加包含Sub-CLI可执行文件的文件夹路径
- 点击所有对话框上的"确定"保存更改
### macOS (Darwin)
1. 从发布页面下载适合的文件
2. 打开终端
3. 使用以下命令使文件可执行:
```bash
chmod +x path/to/downloaded/sub-cli-darwin-[架构]
```
4. 可选将其移动到PATH中的位置以便更容易访问
```bash
sudo mv path/to/downloaded/sub-cli-darwin-[架构] ~/.local/bin/sub-cli
```
### Linux
1. 从发布页面下载适合的文件
2. 打开终端
3. 使用以下命令使文件可执行:
```bash
chmod +x path/to/downloaded/sub-cli-linux-[架构]
```
4. 可选将其移动到PATH中的位置以便更容易访问
```bash
sudo mv path/to/downloaded/sub-cli-linux-[架构] ~/.local/bin/sub-cli
```
## 验证安装
要验证Sub-CLI是否正确安装打开命令提示符或终端并运行
```bash
sub-cli version
```
您应该看到显示的Sub-CLI当前版本号。
## 故障排除
如果在安装过程中遇到任何问题:
- 确保您已下载适合您操作系统和架构的正确版本
- 确保文件具有可执行权限在macOS和Linux上
- 验证文件位于命令提示符或终端可访问的位置
- 如果您已将其添加到PATH中尝试重启命令提示符或终端
如需进一步帮助,请访问我们的[反馈页面](/zh-Hans/feedback)报告问题。