# gt: General Translation CLI tool: SRT
URL: https://generaltranslation.com/zh/docs/cli/reference/formats/srt-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 使用 General Translation CLI 翻译 SubRip 字幕文件。SRT 文件格式的 API 参考。

CLI 会翻译 SubRip (`.srt`) 字幕文件中的字幕条目文本，同时保留字幕条目编号、时间戳、分隔符和标记。需要 `gt` 2.22.2 或更高版本才能支持此格式。

## 概览 [#overview]

| 主题                | 说明                                 |
| ----------------- | ---------------------------------- |
| [配置](#config)     | 匹配源文件与译文文件的 `.srt` 路径。             |
| [翻译行为](#behavior) | 保留字幕条目编号、时间轴行、分隔符和字幕标记。            |
| [编码](#encoding)   | 解码并还原带字节顺序标记 (BOM) 的文本编码。          |
| [验证](#validation) | CLI 会跳过空文件；API 会拒绝不含任何有效字幕条目的非空文档。 |

## 配置 [#config]

在 `files` 下添加一个 `srt` 条目，并在其中设置 `include` 数组，数组元素为 glob 模式。使用 `[locale]` 占位符，以便 CLI 找到源文件，并将翻译保存到对应的区域设置路径下。

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "fr"],
  "files": {
    "srt": {
      "include": ["subtitles/[locale]/**/*.srt"]
    }
  }
}
```

使用此配置时，源字幕来自 `subtitles/en/`，翻译后的字幕保存在 `subtitles/es/` 和 `subtitles/fr/` 下。使用 [`transform`](/docs/cli/reference/config#files) 重命名 `output` 路径。

SRT 仅支持 `SRT` 输出格式，无法通过 `transformationFormat` 转换为其他文件格式。有关通用的文件键，请参阅[配置参考](/docs/cli/reference/config#files)。

## 翻译行为 [#behavior]

仅翻译字幕条目 (cue) 文本。流水线会保留源文档中的以下部分不变：

* 字幕条目编号
* 时间轴行，包括末尾的位置数据
* 空行分隔符以及有效字幕条目之外的内容
* 字幕标记，例如 `<i>`、`<b>`、`<u>`、`<font>`，以及开头的 `{\an1}`–`{\an9}` 位置标签

译文行沿用该字幕条目检测到的源换行符，未改动的分隔符则保持原样。对于未更改的字幕条目，其现有翻译可以复用。[`--force`](/docs/cli/reference/commands/translate#flags) 选项会跳过所有复用，而词汇表重新翻译则会刷新涉及已更改术语的字幕条目。

## 编码 [#encoding]

对于不带字节顺序标记的 SRT 文件，CLI 会按 UTF-8 读取。如果文件以字节顺序标记 (BOM) 开头，CLI 支持 UTF-8、UTF-16 (小端序或大端序) 以及 UTF-32 (小端序或大端序) 。下载的翻译文件会沿用源文件的编码和字节顺序标记。

如果源文件在上传后被移动或删除，CLI 会沿用现有翻译后文件的编码；如果两个文件都不存在，则默认使用 UTF-8。

不带字节顺序标记的 UTF-16 或 UTF-32 文件会被当作 UTF-8 处理。请在翻译前为其添加相应的字节顺序标记，或将其另存为 UTF-8。

## 验证 [#validation]

CLI 会跳过空的 SRT 文件，并在命令摘要中列出该文件。API 要求至少包含一个带有有效时间轴行的字幕条目。缺少有效时间轴行的块会保持原样，不会被翻译。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
