# gt: General Translation CLI tool: SRT
URL: https://generaltranslation.com/ru/docs/cli/reference/formats/srt-files.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Перевод файлов субтитров SubRip с помощью General Translation CLI. Справочник API для формата файлов SRT.

CLI переводит текст реплик в файлах субтитров SubRip (`.srt`), сохраняя номера реплик, метки времени, разделители и разметку. Требуется `gt` версии 2.22.2 или выше.

## Обзор [#overview]

| Тема                                | Описание                                                                                  |
| ----------------------------------- | ----------------------------------------------------------------------------------------- |
| [Конфигурация](#config)             | Сопоставление путей к исходным и переведённым файлам `.srt`.                              |
| [Поведение перевода](#behavior) | Сохранение номеров реплик, строк тайминга, разделителей и разметки субтитров.             |
| [Кодировка](#encoding)              | Декодирование и восстановление текстовых кодировок с меткой порядка байтов (BOM).         |
| [Валидация](#validation)            | Пропуск пустых файлов и отклонение документов, не содержащих ни одной корректной реплики. |

## Конфигурация [#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), чтобы переименовать выходные пути.

Для SRT поддерживается только выходной формат `SRT`: преобразовать такие файлы в другой формат с помощью `transformationFormat` нельзя. Общие ключи для файлов описаны в [справочнике по конфигурации](/docs/cli/reference/config#files).

## Поведение перевода [#behavior]

Переводится только текст реплик. Конвейер оставляет без изменений следующие части исходного документа:

* Номера реплик
* Метки времени начала и конца, включая данные о позиционировании
* Разделители в виде пустых строк и содержимое за пределами корректных реплик
* Разметку субтитров, например `<i>`, `<b>`, `<u>`, `<font>`, а также начальные теги позиционирования `{\an1}`–`{\an9}`

В переведённых строках используется тот же символ конца строки, что был обнаружен в исходной реплике, а незатронутые разделители остаются без изменений. Существующие переводы неизменённых реплик могут использоваться повторно, если только вы не запустите принудительный повторный перевод.

## Кодировка [#encoding]

CLI читает SRT-файлы без метки порядка байтов (BOM) как UTF-8. Если файл начинается с BOM, поддерживаются кодировки UTF-8, UTF-16 (little-endian или big-endian) и UTF-32 (little-endian или big-endian). Скачанные переводы сохраняются в той же кодировке и с той же BOM, что и исходный файл.

Файл в кодировке UTF-16 или UTF-32 без BOM обрабатывается как UTF-8. Перед переводом добавьте в него соответствующую BOM или сохраните его в кодировке UTF-8.

## Валидация [#validation]

CLI пропускает пустой SRT-файл и указывает его в итоговой сводке команды. API требует, чтобы в файле была хотя бы одна реплика с корректной строкой тайминга. Блоки без корректной строки тайминга остаются без изменений и не переводятся.

## Sitemap

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