---
title: SRT 자막
subtitle: Lingo.dev CLI를 통한 SRT 자막 파일의 AI 번역
---

## SRT 자막이란 무엇인가요?

SRT(SubRip) 자막은 비디오 자막을 저장하는 데 사용되는 일반 텍스트 파일 형식입니다. 각 자막 항목에는 순차적 번호, 타임스탬프 및 자막 텍스트가 포함되어 있어 가장 널리 지원되는 자막 형식 중 하나입니다.

예시:

```srt
1
00:00:01,000 --> 00:00:03,500
제품 데모에 오신 것을 환영합니다

2
00:00:04,000 --> 00:00:06,500
이 비디오에서는 빠르게
시작하는 방법을 보여드리겠습니다

3
00:00:07,000 --> 00:00:09,500
먼저, 대시보드로 이동하세요 📊
```

## Lingo.dev CLI란 무엇인가요?

**Lingo.dev CLI**는 AI를 사용하여 앱과 콘텐츠를 번역하기 위한 무료 오픈소스 CLI입니다. 기존 파이프라인과 통합하면서 전통적인 번역 관리 소프트웨어를 대체하도록 설계되었습니다.

자세한 내용은 [개요](/cli)를 참조하세요.

## 이 가이드에 대하여

이 가이드는 **Lingo.dev CLI**를 사용하여 SRT 자막 파일을 번역하는 방법을 설명합니다.

다음 내용을 배우게 됩니다:

- 처음부터 프로젝트 생성하기
- 번역 파이프라인 구성하기
- AI로 번역 생성하기

## 사전 요구 사항

**Lingo.dev CLI**를 사용하려면 Node.js v18 이상이 설치되어 있는지 확인하세요:

```bash
❯ node -v
v22.17.0
```

## 1단계. 프로젝트 설정하기

프로젝트 디렉토리에 `i18n.json` 파일을 생성하세요:

```json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}
```

이 파일은 번역할 언어와 파일 시스템에서 지역화 가능한 콘텐츠가 존재하는 위치를 포함하여 번역 파이프라인의 동작을 정의합니다.

사용 가능한 속성에 대해 자세히 알아보려면 [i18n.json](/cli/i18n-json-configuration)을 참조하세요.

## 2단계. 소스 로케일 구성하기

_소스 로케일_은 콘텐츠가 원래 작성된 언어와 지역입니다. 소스 로케일을 구성하려면 `i18n.json` 파일에서 `locale.source` 속성을 설정하세요:

```json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}
```

소스 로케일은 [BCP 47 언어 태그](https://developer.mozilla.org/en-US/docs/Glossary/BCP_47_language_tag)로 제공되어야 합니다.

**Lingo.dev CLI**가 지원하는 로케일 코드의 전체 목록은 [지원되는 로케일 코드](/cli/supported-locales)를 참조하세요.

## 3단계. 대상 로케일 구성하기

_대상 로케일_은 콘텐츠를 번역하고자 하는 언어와 지역입니다. 대상 로케일을 구성하려면 `i18n.json` 파일에서 `locale.targets` 속성을 설정하세요:

```json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}
```

## 4단계. 소스 콘텐츠 생성하기

아직 생성하지 않았다면, 번역할 콘텐츠가 포함된 하나 이상의 SRT 자막 파일을 생성하세요. 이 파일들은 경로 어딘가에 소스 로케일이 포함된 위치에 있어야 합니다(예: `en/`과 같은 디렉토리 이름이나 `messages.en.srt`와 같은 파일 이름의 일부로).

## 5단계. 버킷 생성하기

1. `i18n.json` 파일에서 `buckets` 객체에 `"srt"` 객체를 추가하세요:

    ```json
    {
      "$schema": "https://lingo.dev/schema/i18n.json",
      "version": "1.10",
      "locale": {
        "source": "en",
        "targets": ["es"]
      },
      "buckets": {
        "srt": {}
      }
    }
    ```

2. `"srt"` 객체에서 하나 이상의 `include` 패턴 배열을 정의하세요:

    ```json
    {
      "$schema": "https://lingo.dev/schema/i18n.json",
      "version": "1.10",
      "locale": {
        "source": "en",
        "targets": ["es"]
      },
      "buckets": {
        "srt": {
          "include": ["./[locale]/example.srt"]
        }
      }
    }
    ```

   이 패턴들은 어떤 파일을 번역할지 정의합니다.

   패턴 자체는:

   - 구성된 로케일의 플레이스홀더로 `[locale]`을 포함해야 합니다
   - 파일 경로를 가리킬 수 있습니다(예: `"[locale]/video.srt"`)
   - 와일드카드 플레이스홀더로 별표를 사용할 수 있습니다(예: `"[locale]/*.srt"`)

   재귀적 글로브 패턴(예: `**/*.srt`)은 지원되지 않습니다.

## 6단계. LLM 구성하기

**Lingo.dev CLI**는 AI로 콘텐츠를 번역하기 위해 대규모 언어 모델(LLM)을 사용합니다. 이러한 모델 중 하나를 사용하려면 지원되는 제공업체의 API 키가 필요합니다.

가능한 빨리 시작하려면 매월 10,000 토큰의 무료 사용량을 제공하는 자체 호스팅 플랫폼인 **Lingo.dev Engine**을 사용하는 것이 좋습니다:

1. [Lingo.dev 계정에 가입하세요](/auth).
2. 다음 명령을 실행하세요:

   ```bash
   npx lingo.dev@latest login
   ```

   이렇게 하면 기본 브라우저가 열리고 인증을 요청합니다.

3. 안내에 따르세요.

## 7단계. 번역 생성하기

'i18n.json' 파일이 있는 디렉토리에서 다음 명령어를 실행하세요:

```bash
npx lingo.dev@latest run
```

이 명령어는 다음을 수행합니다:

1. 'i18n.json' 파일을 읽습니다.
2. 번역이 필요한 파일들을 찾습니다.
3. 파일에서 번역 가능한 콘텐츠를 추출합니다.
4. 구성된 LLM을 사용하여 추출된 콘텐츠를 번역합니다.
5. 번역된 콘텐츠를 파일 시스템에 다시 작성합니다.

번역이 처음 생성될 때 'i18n.lock' 파일이 생성됩니다. 이 파일은 어떤 콘텐츠가 번역되었는지 추적하여 이후 실행 시 불필요한 재번역을 방지합니다.

## 예시

### en/example.srt

```srt
1
00:00:01,000 --> 00:00:03,500
Welcome to our product demo

2
00:00:04,000 --> 00:00:06,500
In this video, we'll show you
how to get started quickly

3
00:00:07,000 --> 00:00:09,500
First, navigate to your dashboard 📊

4
00:00:10,000 --> 00:00:12,500
This process takes about 5 minutes

5
00:00:13,000 --> 00:00:15,500
Click the <i>Create New</i> button to begin
```

### es/example.srt

```srt
1
00:00:01,000 --> 00:00:03,500
Bienvenido a nuestra demostración de producto

2
00:00:04,000 --> 00:00:06,500
En este video, te mostraremos
cómo empezar rápidamente

3
00:00:07,000 --> 00:00:09,500
Primero, navega a tu panel de control 📊

4
00:00:10,000 --> 00:00:12,500
Este proceso toma aproximadamente 5 minutos

5
00:00:13,000 --> 00:00:15,500
Haz clic en el botón <i>Crear Nuevo</i> para comenzar
```

### i18n.json

```json
{
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {
    "srt": {
      "include": ["./[locale]/example.srt"]
    }
  },
  "$schema": "https://lingo.dev/schema/i18n.json"
}
```

### i18n.lock

```yml
version: 1
checksums:
  424142ee2f7c4f944722042f761b30eb:
    1#00:00:01,000-00:00:03,500: 5a2215cdfd6d9e9162efbdee57b89c27
    2#00:00:04,000-00:00:06,500: ecb7d6cb214b6db6d02e6e98cdfea178
    3#00:00:07,000-00:00:09,500: 3eee55196aea6ac13fb19eae7e7ffaf6
    4#00:00:10,000-00:00:12,500: a6cc802efe3431c7a986ac5d42d62ce1
    5#00:00:13,000-00:00:15,500: f73ef0a42ea51efb4e1e5fd2276ef243
```
