- 작성자
1. 블로그 번역, 왜 자동화해야 하나
블로그를 한국어와 영어로 동시에 운영하면 독자층이 넓어집니다. 하지만 글을 쓸 때마다 수동으로 번역하면:
- 한 글당 30분~1시간 추가 소요
- 코드 블록, 링크, 프론트매터가 깨지기 쉬움
- 번역 퀄리티가 일정하지 않음
이 글에서는 Claude Code 안에서 명령어 하나로 블로그 글을 자동 번역하는 파이프라인을 만드는 과정을 공유합니다.

2. 핵심 과제: 마크다운 구조 보존
일반 번역기로 마크다운 파일을 번역하면 구조가 깨집니다:

번역하면 안 되는 것들:
- 코드 블록 — 변수명, 함수명 등 절대 번역하면 안 됨
- 이미지 경로 —
/static/images/...그대로 유지 - MDX 컴포넌트 —
<Component />태그 보존 - 프론트매터 구조 — YAML 형식 유지, title/summary만 번역
번역해야 하는 것들:
- 제목(title)과 요약(summary)
- 본문 텍스트
- 이미지 alt 텍스트
3. 구현 방법
3.1 번역 프롬프트
AI에게 정확한 규칙을 알려주는 게 핵심입니다:
Translate this Korean MDX blog post to English.
RULES:
1. Translate ONLY the text content (paragraphs, headings, lists)
2. Translate frontmatter title and summary fields
3. DO NOT translate:
- Code blocks (``` ... ```)
- Inline code (`...`)
- Image paths (/static/images/...)
- MDX component tags
- HTML comments
- URLs
4. Keep the same markdown formatting (##, **, -, etc.)
5. Keep the same frontmatter structure (date, tags, category unchanged)
6. Maintain technical accuracy for programming terms
7. Use natural, fluent English — not literal translation
3.2 파일 구조 활용
이 블로그는 en/과 ko/ 폴더에 같은 파일명으로 저장하면 자동으로 언어 전환 버튼이 나타납니다:
data/blog/
├── ko/my-post.mdx ← 한국어 원본
└── en/my-post.mdx ← 영어 번역본 (자동 생성)
번역 스크립트는 이 구조를 활용합니다:
ko/폴더에서 새 글 감지- AI로 번역
en/폴더에 같은 파일명으로 저장
3.3 Claude Code에서 실행
Claude Code 안에서 스킬로 등록해두면 명령어 하나로 실행됩니다:
# 전체 번역 실행
/translate
# 특정 글만 번역
/translate my-post

4. 번역 품질 높이기
4.1 기술 용어 일관성
프로그래밍 용어는 번역하지 않거나 일관되게 번역해야 합니다:
번역하지 않는 용어: API, SDK, JSON, REST, GraphQL, Docker
일관되게 번역: 스마트 컨트랙트 → smart contract, 가스비 → gas fee
4.2 톤 맞추기
한국어 글의 톤(~합니다, ~해요)을 영어에서도 유지합니다. 기술 블로그는 보통 친근하지만 전문적인 톤을 사용합니다.
4.3 검수 포인트
자동 번역 후 확인할 것:
- 코드 블록이 온전한지
- 링크가 작동하는지
- 기술 용어가 정확한지
- 문맥에 맞는 자연스러운 표현인지
5. 정리
| 항목 | 내용 |
|---|---|
| 번역 대상 | 제목, 요약, 본문 텍스트 |
| 보존 대상 | 코드 블록, 이미지 경로, 컴포넌트, URL |
| 실행 방법 | Claude Code에서 /translate 명령어 |
| 소요 시간 | 글당 약 30초 (AI 번역) vs 30분+ (수동) |
한 번 세팅해두면 글을 쓸 때마다 명령어 하나로 번역이 끝납니다. 블로그를 다국어로 운영하는 비용이 거의 제로에 가까워집니다.