지난달 우리는 전통적인 번역 회사를 통해 $150,000에서 $300,000 사이의 비용이 들었을 프로젝트를 단 $660에 완성했습니다. 이는 118개 페이지를 30개 언어로 번역한 것으로, 언어당 약 $22입니다. 아니요, 오타가 아닙니다. 그리고 품질이 형편없지도 않습니다.

이 프로젝트를 어떻게 해낼 수 있었는지 정확히 설명하고 싶습니다 -- 아키텍처, 도구, 프롬프트 엔지니어링, 품질 보증 프로세스, 그리고 솔직한 트레이드오프까지요. 저렴한 것이 반드시 형편없다는 뜻은 아니지만, 노력을 어디에 투자할지에 대해 똑똑해야 한다는 뜻입니다.

목차

프로젝트 범위

클라이언트는 유럽, 아시아, 라틴 아메리카 시장으로 확장하는 B2B SaaS 회사였습니다. 그들의 마케팅 사이트는 118개 페이지로 구성되어 있었습니다: 랜딩 페이지, 기능 페이지, 블로그 게시물, 법률 페이지, 문서입니다. 콘텐츠는 원래 영어로 작성되었습니다.

목표 언어는 스페인어, 프랑스어, 독일어, 일본어, 한국어, 중국어 만다린처럼 일반적인 것들을 포함했고, 에스토니아어, 라트비아어, 리투아니아어, 슬로베니아어처럼 번역자를 찾기 어려운 언어들도 포함했습니다. 총 30개 언어입니다.

콘텐츠 양에 대한 간단한 계산:

지표 수량
총 페이지 118
페이지당 평균 단어 수 ~620
총 영어 단어 ~73,160
총 번역 단어 ~2,194,800 (73,160 × 30)
언어 30
총 비용 ~$660
언어당 비용 ~$22
번역 단어당 비용 $0.0003

참고로, 전문 인간 번역은 언어 쌍에 따라 보통 단어당 $0.10에서 $0.30 정도입니다. 단어당 $0.20의 중간값에서, 우리는 언어당 $14,632 또는 총 $438,960을 예상할 수 있습니다. 기계 번역을 사용하고 가벼운 인간 검토를 하는 예산 회사들도 단어당 $0.05-0.08을 청구합니다.

전통적인 번역이 왜 그렇게 비싼가

번역 업계를 깎아내리고 싶지는 않습니다. 인간 번역가는 놀라운 작업을 하고, 특정 콘텐츠 유형의 경우 대체할 수 없습니다. 하지만 비용을 증가시키는 요인들은 다음과 같습니다:

단어당 가격 모델은 모든 단어가 인간의 인지 노력을 필요로 하는 시대를 위해 설계되었습니다. 번역가는 기술 콘텐츠의 경우 하루에 2,000-3,000단어를 처리할 수 있습니다. 73,160단어를 보면, 언어당 24-36개의 번역가 일입니다. 30개 언어를 곱하면 720-1,080 명-일의 작업량이 됩니다.

희귀한 언어 쌍은 더 비쌉니다. 품질 높은 영어-라트비아어 기술 번역자를 찾기는 쉽지 않습니다. 공급과 수요가 작용합니다.

프로젝트 관리 오버헤드는 실제입니다. 번역 회사는 번역가, 검토자, 클라이언트 사이를 조정하는 프로젝트 관리자를 보유하고 있습니다. 이 오버헤드는 단어당 가격에 포함됩니다.

문맥 전환은 시간이 걸립니다. 당신의 마케팅 사본을 번역하는 번역가는 브랜드 음성, 제품 용어, 청중을 이해해야 합니다. 이 준비 시간은 프로젝트 전체에 분산되지만, 실제입니다.

이 모든 것이 낭비적이지는 않습니다 -- 단지 비싼 것입니다. 그리고 이러한 지역에서 제품-시장 부합을 검증하기 전에 번역에 $400K를 쓰는 회사에게는 힘든 결정입니다.

우리의 AI 번역 아키텍처

우리가 구축한 시스템입니다. 이것은 단일 API 호출이 아닙니다 -- 파이프라인입니다.

단계 1: 콘텐츠 추출 및 세분화

사이트는 Next.js로 구축되었으므로 우리의 작업이 더 쉬워졌습니다. 모든 콘텐츠는 구조화된 데이터 파일에 있었습니다(블로그 게시물의 경우 MDX, UI 문자열의 경우 JSON, 헤드리스 CMS의 구조화된 콘텐츠).

우리는 모든 콘텐츠 소스를 크롤링하고 정규화된 중간 형식을 생성하는 스크립트를 작성했습니다:

interface TranslationUnit {
  id: string;           // "homepage.hero.title" 같은 고유 키
  source: string;       // 영어 텍스트
  context: string;      // 이것이 나타나는 위치 (페이지, 섹션)
  type: 'heading' | 'paragraph' | 'ui-string' | 'legal' | 'meta';
  maxLength?: number;   // 공간 제약이 있는 UI 문자열의 경우
  glossaryTerms: string[]; // 이 단위에서 발견된 제품별 용어
}

이것이 중요합니다. 전체 페이지를 LLM에 던지고 최고의 결과를 바라면 안 됩니다. 콘텐츠를 번역 단위로 세분화하면 문맥을 제어할 수 있고, 다양한 콘텐츠 유형을 다르게 처리할 수 있으며, 나중에 증분 업데이트가 가능합니다.

단계 2: 용어집 및 스타일 가이드 생성

단 한 단어를 번역하기 전에 우리는 용어집을 만들었습니다. 여기에는:

  • 제품 이름 (절대 번역하지 않음)
  • 선호 번역과 함께 기술 용어
  • 브랜드 특화 구문
  • 콘텐츠 유형별 톤 가이드라인

우리는 실제로 Claude를 사용하여 영어 콘텐츠를 분석하고 일관된 번역이 필요한 용어를 식별함으로써 초기 용어집을 구축했습니다. 그런 다음 클라이언트가 검토하고 승인했습니다.

단계 3: Claude API를 사용한 배치 번역

우리는 실제 번역을 위해 Claude 3.5 Sonnet API (현재 Claude 4 Sonnet이 이용 가능하고 이를 위해 더 나음)를 사용했습니다. Claude를 GPT-4o나 Gemini보다 선택한 이유는 무엇입니까?

  • 복잡한 시스템 프롬프트를 일관되게 따르는 데 더 뛰어남
  • 우리의 테스트에서 로망스어와 게르만 언어에서 더 자연스러운 결과
  • 200K 콘텍스트 윈도우를 통해 모든 요청에 전체 용어집과 스타일 가이드를 포함할 수 있음
  • 우리의 사용 사례에서 가격이 경쟁력 있음

우리는 번역 단위를 20-30개 그룹으로 일괄 처리하여 페이지 및 콘텐츠 유형별로 정렬했습니다. 각 배치에는 용어집, 스타일 가이드, 텍스트가 어디에 나타나는지에 대한 문맥이 포함되었습니다.

import anthropic
import json

client = anthropic.Anthropic()

def translate_batch(units: list[dict], target_lang: str, glossary: dict, style_guide: str) -> list[dict]:
    system_prompt = f"""You are a professional translator specializing in {target_lang} 
    localization for B2B software companies.
    
    GLOSSARY (use these exact translations):
    {json.dumps(glossary[target_lang], indent=2, ensure_ascii=False)}
    
    STYLE GUIDE:
    {style_guide}
    
    RULES:
    - Preserve all markdown formatting
    - Never translate product names listed in the glossary
    - Adapt idioms naturally -- don't translate literally
    - For UI strings with maxLength, stay within the character limit
    - Output valid JSON matching the input structure"""
    
    user_prompt = f"""Translate the following translation units to {target_lang}.
    Return JSON array with same structure, replacing 'source' with 'translation'.
    
    {json.dumps(units, indent=2, ensure_ascii=False)}"""
    
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=8192,
        system=system_prompt,
        messages=[{"role": "user", "content": user_prompt}]
    )
    
    return json.loads(response.content[0].text)

단계 4: 자동화된 품질 검사

번역 후, 모든 단위는 자동화된 검사를 거쳤습니다:

  • 형식 보존: 마크다운, HTML 태그, 변수가 살아남았습니까?
  • 길이 검증: UI 문자열이 최대 길이 내에 있습니까?
  • 용어집 준수: 제품 이름이 번역되지 않았습니까?
  • 자리 표시자 무결성: {variable} 자리 표시자가 온전합니까?
  • 역번역 샘플링: 출력의 10%를 영어로 역번역하고 의미론적 유사성 비교

번역 단위의 약 3-4%가 하나 이상의 검사에 실패했고 특정 수정 지시사항으로 두 번째 패스를 거쳤습니다.

단계 5: 조합 및 통합

번역된 단위는 Next.js 앱이 예상하는 형식으로 다시 조합되었습니다 -- JSON 로케일 파일, 번역된 MDX, CMS 항목입니다. 우리는 라우팅 및 로케일 관리를 위해 next-intl을 사용했습니다.

실제로 중요한 프롬프트 엔지니어링

사람들이 텍스트를 ChatGPT에 던지고 "AI 번역"이라고 부르는 것을 본 적이 있습니다. 이것은 당신에게 아마도 70% 품질을 제공합니다. 70%과 95% 사이의 격차는 전적으로 당신이 어떻게 프롬프트하는지에 있습니다.

바늘을 움직인 것은 다음과 같습니다:

문맥이 모든 것입니다

모델에 "이것을 프랑스어로 번역하세요"라고 말하면 일반적인 출력을 얻습니다. "이것은 프랑스의 IT 이사를 대상으로 하는 B2B SaaS 랜딩 페이지의 히어로 헤드라인을 번역하고, 자신감 있지만 공격적이지 않은 톤을 유지하세요"라고 말하면 사용 가능한 것을 얻습니다.

우리는 페이지 유형, 목표 청중, 각 콘텐츠 블록의 목적을 모든 요청에 포함했습니다.

언어별 소수 샷 예제

각 언어에 대해 우리가 원하는 톤을 캡처하는 5-10개의 예제 번역을 만들었습니다. 이것들은 시스템 프롬프트에 들어갔습니다. 팀이나 우리 네트워크에 모국어 사용자가 있는 언어(약 8개 중 30개)의 경우, 우리는 그들에게 이 예제들을 작성하도록 했습니다. 나머지의 경우, 우리는 그것들을 생성한 다음 역번역 비교를 통해 개선했습니다.

용어집 적용

이것은 명백해 보이지만 당신이 할 수 있는 가장 영향력 있는 일입니다. 용어집 없이, 모델은 당신의 제품 이름 "CloudSync"를 일부 언어에서 "클라우드 동기화"의 동등물로 번역할 것입니다. 페이지 전체에서 같은 기능에 다양한 용어를 사용할 것입니다. 일관성 부족은 신뢰를 해칩니다.

청킹 전략

우리는 한 번에 500-800단어를 번역하고, 페이지 섹션별로 그룹화하는 것이 가장 좋은 결과를 준다는 것을 발견했습니다. 너무 작으면 (개별 문장) 문맥을 잃게 됩니다. 너무 크면 (전체 페이지) 품질이 출력 끝을 향해 저하됩니다.

비용 분석: $22는 어디에 쓰일까

비용에 대해 구체적으로 살펴봅시다.

비용 요소 언어당 총계 (30개 언어)
Claude API (번역) $16.40 $492.00
Claude API (QA/역번역) $3.20 $96.00
Claude API (용어집 생성) $0.80 $24.00
기타 API 호출 (재시도, 수정) $1.60 $48.00
총 API 비용 $22.00 $660.00

이것은 파이프라인을 구축하는 엔지니어링 시간(약 40시간)을 포함하지 않습니다. 하지만 그 파이프라인은 이제 재사용 가능합니다. 클라이언트가 새로운 블로그 게시물을 추가할 때, 모든 30개 언어로 번역하는 것은 약 $2-4의 API 비용이 들고 CI/CD 파이프라인에서 자동으로 실행됩니다.

당시 우리의 프로젝트에서 Claude API 가격책정 (Claude 3.5 Sonnet 사용)은 입력 토큰 100만 개당 $3, 출력 토큰 100만 개당 $15였습니다. Claude 4 Sonnet에서는 가격책정이 비슷하지만 더 나은 품질을 얻어 재시도가 줄어듭니다.

모국어 사용자 없이 품질 보증하기

이것이 사람들이 가장 의심하는 부분이고, 솔직히 그들이 그렇게 해야 합니다. 우리의 실제 QA 프로세스입니다:

자동화된 검사 (문제의 ~60% 포착)

내가 언급한 형식 보존, 길이, 용어집 검사입니다. 이것들은 결정적이고 가장 창피한 오류를 포착합니다 -- 깨진 HTML, 누락된 변수, 번역된 브랜드 이름.

역번역 비교 (남은 문제의 ~25% 포착)

우리는 각 언어의 무작위 10% 샘플을 다른 모델 (GPT-4o)로 영어로 역번역하고 의미론적 유사성을 원본과 비교했습니다. 역번역이 크게 벗어나면 검토 대상으로 표시했습니다.

모국어 사용자 특정 검사 (미묘함 문제의 대부분 포착)

모국어 사용자가 접근할 수 있는 8개 언어(스페인어, 프랑스어, 독일어, 포르투갈어, 일본어, 한국어, 중국어 만다린, 네덜란드어)의 경우, 우리는 각각 15-20개 페이지를 검토하도록 했습니다. 그들의 피드백은 조명이 되었습니다:

  • 전반적 품질: 정보 콘텐츠의 경우 8-9/10
  • 마케팅 헤드라인: 6-7/10 (더 많은 창의적 적응 필요)
  • 기술 문서: 9/10
  • 법률 페이지: 7/10 (허용 가능하지만 완벽하지는 않음)

그들의 피드백에 기반하여, 우리는 더 창의적인 프롬프트를 사용하여 마케팅 헤드라인에 대한 두 번째 패스를 수행했으며, 이것들을 8/10으로 올렸습니다.

커뮤니티 피드백 루프

클라이언트는 모든 페이지에 작은 "더 나은 번역 제안" 링크를 추가했습니다. 출시 후 첫 달 동안, 그들은 모든 언어에서 약 140개의 제안을 받았습니다 -- 모든 번역된 콘텐츠의 약 0.04%. 대부분의 제안은 오류보다는 스타일 선호도였습니다.

Next.js에서의 기술 구현

사이트는 next-intl을 사용한 국제화를 위해 Next.js App Router를 사용합니다. 높은 수준의 설정입니다:

// middleware.ts
import createMiddleware from 'next-intl/middleware';

export default createMiddleware({
  locales: ['en', 'es', 'fr', 'de', 'ja', 'ko', 'zh', /* ... 23개 더 */],
  defaultLocale: 'en',
  localePrefix: 'as-needed'
});

헤드리스 CMS 통합의 경우, 번역된 콘텐츠는 로케일 변형으로 저장됩니다. MDX의 블로그 게시물은 로케일별로 별도의 파일을 얻습니다. UI 문자열은 JSON 메시지 파일에 있습니다.

빌드는 모든 로케일/페이지 조합에 대해 정적 페이지를 생성합니다. 그것은 118 × 31 (영어 포함) = 3,658개의 페이지입니다. ISR (증분 정적 재생성)을 사용하면, 이것은 완전히 관리 가능합니다.

주목할 가치가 있는 한 가지: 우리는 SEO를 위해 hreflang 태그를 프로그래밍으로 구현했습니다. 각 페이지는 모든 언어 변형으로 연결됩니다. 이것은 Google이 다국어 사이트 구조를 이해하는 데 중요합니다.

// app/[locale]/layout.tsx
export function generateMetadata({ params: { locale } }) {
  const alternates = {
    languages: Object.fromEntries(
      locales.map(l => [l, `/${l}${pathname}`])
    )
  };
  return { alternates };
}

AI 번역이 잘못 처리하는 것들

AI 번역이 완벽하다고 말하면 솔직하지 않을 것입니다. 일관되게 어려워하는 부분은 다음과 같습니다:

마케팅 말장난과 재미있는 표현. 당신의 헤드라인이 영어로 영리하면, AI는 그것을 문자 그대로 번역하거나 (영리함을 잃음) 대상 언어 재미있는 표현을 시도할 것인데, 그것이 완벽하게 작동하지 않습니다. 우리는 창의적 지시와 함께 마케팅 헤드라인의 약 15%를 수동으로 다시 썼습니다.

문화적 적응. 번역과 지역화는 같은 것이 아닙니다. AI는 당신의 미국 사례 연구가 "401(k) 제공자"에 대해 일본에서 아무것도 의미하지 않는다는 것을 알지 못할 것입니다. 예제에서 달러 기호를 현지 통화로 바꾸지 않을 것입니다. 빨간색이 중국에서는 행운을 의미하지만 서방에서는 위험을 의미한다는 것을 알지 못할 것입니다. 이것은 인간의 생각이 필요합니다.

법적 정밀성. 서비스 약관 및 개인 정보 보호 정책의 경우, AI 번역은 90%까지 수행합니다. 하지만 법적 언어는 정확해야 하고, 일부 관할권에서는 법적으로 공증된 번역이 필요합니다. 우리는 클라이언트가 실제 비즈니스를 하고 있는 12개 시장 (다른 18개와 반대)에서 법률 페이지를 전문가 검토를 위해 표시했습니다.

경어 체계. 일본어, 한국어, 태국어는 복잡한 형식성 체계를 가지고 있습니다. AI는 때때로 같은 페이지 내에서 형식적 및 비형식적 등록을 혼합했습니다. 우리의 용어집과 스타일 가이드가 도움이 되었지만, 특정 검사는 몇 가지 불일치를 포착했습니다.

성별 일치 (성별 있는 언어). 프랑스어, 스페인어, 독일어, 아랍어 -- 원본 영어가 성별 중립적일 때, AI는 선택을 해야 합니다. 때때로 일관성이 없습니다. 우리의 자동화된 검사는 관련된 번역 단위에서 성별 마커를 비교함으로써 대부분의 이것들을 포착했습니다.

여전히 인간 번역에 돈을 써야 할 때

AI 번역이 언어당 $22인 것이 올바른 선택인 경우:

  • 당신이 새로운 시장을 테스트하고 있고 완벽함보다 속도가 필요할 때
  • 당신의 콘텐츠가 주로 정보 또는 기술적일 때
  • 당신이 10개 이상의 대상 언어가 필요할 때 (언어당 절감액이 복합됨)
  • 당신이 자주 번역해야 할 때 (블로그 게시물, 체인지로그, 문서)

다음과 같은 경우 인간 번역에 돈을 쓰세요:

  • 법적 책임이 관련되어 있을 때 (계약, 준수 문서)
  • 브랜드 음성이 중요할 때 (태그라인, 캠페인)
  • 당신이 규제 산업에 있을 때 (의료, 금융)
  • 당신이 1-3개의 대상 언어를 가지고 있고 그를 위한 예산이 있을 때
  • 문화적 적응이 언어적 정확성만큼 중요할 때

우리가 대부분의 클라이언트에 대해 발견한 최적의 지점? AI 번역은 대량이고, 중요한 10-20%에 대한 인간 검토. 이것은 보통 총 비용을 언어당 $22 대신 $50-100으로 가져오지만, 모든 콘텐츠 유형에서 거의 인간 품질입니다.

다국어 웹사이트 빌드를 고려 중이신가요? 연락 주세요 -- 우리는 여러 프로젝트에서 이 파이프라인을 정제했고 Next.js, Astro, 또는 다른 프레임워크이든 당신의 스택에 맞게 조정할 수 있습니다. 국제화 프로젝트를 범위 조정하는 방법에 대해 가격 페이지를 확인하세요.

FAQ

2025년의 AI 번역 품질이 인간 번역과 어떻게 비교됩니까?

정보 및 기술 콘텐츠의 경우, 격차가 급격히 좁혀졌습니다. 맹검 테스트에서, 모국어 사용자는 대부분의 유럽 및 동아시아 언어에 대해 Claude와 GPT-4o 번역을 인간 번역 품질의 85-92%로 평가합니다. 창의적 마케팅 사본 (70-80%)과 법적 텍스트 (75-85%)의 경우 격차가 더 큽니다. 라트비아어나 에스토니아어와 같은 덜 흔한 언어의 경우, AI 품질은 실제로 기계 번역과 가벼운 편집을 사용하는 예산 인간 번역 회사에서 얻을 수 있는 것과 비슷합니다.

2025년 웹사이트를 번역하는 가장 저렴한 방법은 무엇입니까?

가장 저렴한 접근법은 Claude나 GPT-4o와 같은 모델에 직접 API 접근하는 것으로, 단어당 약 $0.0002-0.0005가 소요됩니다. Weglot ($15-50/월) 또는 Lokalise와 같은 서비스는 단어당 더 비싸지만 인프라를 처리합니다. Google Translate API는 단어당 더 저렴합니다 (~100만 문자당 $20) 하지만 품질은 최첨단 LLM보다 눈에 띄게 낮습니다. QA 패스를 포함한 우리의 파이프라인 접근법은 번역된 단어당 약 $0.0003이 소요되었습니다.

AI 번역이 아랍어와 히브리어와 같은 오른쪽에서 왼쪽으로 가는 언어에 적용됩니까?

네, 하지만 기술 구현을 신중하게 처리해야 합니다. Claude의 아랍어와 히브리어 번역 품질은 좋습니다 -- 우리의 아랍어 특정 검사는 8/10을 기록했습니다. 더 어려운 부분은 프론트엔드에서의 RTL 레이아웃 구현입니다. CSS 논리 속성 (margin-left 대신 margin-inline-start)과 적절한 dir="rtl" 속성이 필수입니다. 반전할 필요가 있는 UI 요소를 계획하세요.

30개 언어로 번역된 웹사이트에 대해 SEO를 어떻게 처리합니까?

세 가지가 가장 중요합니다: 모든 페이지의 적절한 hreflang 태그, 로케일 특화 URL (서브 디렉토리 /fr/ 또는 /de/가 잘 작동함), 번역된 메타데이터 (제목, 설명, Open Graph 태그). 우리는 이 모든 것을 프로그래밍으로 생성합니다. 로케일 특화 사이트맵을 Google Search Console에 제출하는 것을 잊지 마세요. 30개 언어 사이트 출시 후 3개월 내에 클라이언트는 비영어 쿼리의 유기 트래픽이 340% 증가했습니다.

AI가 기술 전문 용어를 포함하는 웹사이트 콘텐츠를 번역할 수 있습니까?

이것이 실제로 AI 번역이 빛나는 곳입니다. 기술 전문 용어는 보통 일관되고 잘 정의되어 있어서, 모델의 강점을 활용합니다. 핵심은 승인된 번역과 함께 특정 용어의 용어집을 구축하는 것입니다. 용어집 없이, 모델은 사이트 전체에서 "배포 파이프라인"을 세 가지 다르게 번역할 수 있습니다. 하나를 사용하면, 완벽하게 일관됩니다.

전체 웹사이트를 AI 번역하는 데 얼마나 걸립니까?

우리의 파이프라인은 모든 118개 페이지를 약 6시간의 계산 시간 내에 모든 30개 언어로 번역했으며, 속도 제한을 사용하여 병렬 API 요청을 실행했습니다. 파이프라인을 구축하는 엔지니어링 시간은 첫 번째 프로젝트를 위해 약 40시간이었습니다. 같은 파이프라인을 사용하는 후속 프로젝트는 설정 및 사용자 정의를 위해 8-15시간의 엔지니어링 시간, 계산 시간을 소요합니다.

번역된 사이트에서 콘텐츠를 업데이트해야 할 때는 어떻게 되나요?

이것이 세분화된 번역 단위 접근법이 엄청나게 수익성이 있는 곳입니다. 페이지가 변경되면, 우리는 이전 버전에 대해 번역 단위를 비교합니다. 변경되거나 새로운 단위만 다시 번역됩니다. 모든 30개 언어에서 블로그 게시물을 업데이트하는 것은 몇 센트의 비용이 들고 CI/CD에서 자동으로 발생합니다. 우리는 정확히 무엇이 낡았는지 알기 위해 번역 단위 해시를 추적합니다.

$22 언어당은 어떤 웹사이트에서도 현실적입니까, 아니면 특정 유형만입니까?

$22 수치는 우리의 프로젝트의 콘텐츠 양 (~73K 단어)과 콘텐츠 유형 (B2B SaaS 마케팅 및 문서)에 특화되었습니다. 당신의 마일리지는 다를 것입니다. 500K 단어의 콘텐츠가 많은 사이트는 언어당 $100-150이 소요될 수 있습니다. 간단한 10개 페이지의 마케팅 사이트는 언어당 $3-5이 소요될 수 있습니다. 비용은 단어 수에 따라 선형으로 복합되고 복잡성과 함께 약간입니다. 고정 비용은 파이프라인을 구축하거나 구성하는 엔지니어링 시간입니다.