[Next] 다국어 처리

정은·2025년 6월 23일

다국어 처리 시 사용할 수 있는 라이브러리 & 솔루션 정리

항목next-intli18nextLokaliseCrowdin
역할Next.js 전용 다국어 렌더링범용 i18n 라이브러리 (React, Vue 등 호환)번역 협업/관리 플랫폼번역 협업/관리 플랫폼
형태라이브러리라이브러리SaaS 플랫폼SaaS 플랫폼
Next.js 적합성✅ 최적화됨 (app router 완전 대응)❌ 직접 설정 필요 / 예전 방식 위주◯ JSON 변환으로 연동◯ JSON 변환으로 연동
타입 지원✅ TypeScript 완전 대응 (제네릭 기반)◯ 약한 편--
ICU 메시지 포맷 지원◯ (추가 패키지 필요)
번역 관리 UI❌ 없음❌ 없음✅ 웹 UI + 워크플로✅ 웹 UI + 번역가 마켓 포함
협업 번역❌ 수동 처리❌ 수동 처리✅ 번역가, 리뷰어 초대 가능✅ AI 보조 번역, 맥락 제공
자동화 (CI/CD)◯ JSON 수동 배포◯ JSON 수동 배포✅ GitHub, CLI, Figma 연동✅ GitHub, CLI, Notion 연동
무료 사용 가능 여부◯ 500 keys까지 무료◯ OSS나 소규모에 무료 티어

추천 사용 시점 요약

상황추천 조합
개인/스타트업 + 빠른 개발next-intl + 수동 JSON 관리
기존에 i18next를 써본 적 있다면i18next + next-i18next 플러그인 활용
번역가와 협업, 자동화 필요next-intl + Lokalise or Crowdin
오픈소스 프로젝트 운영next-intl + Crowdin (무료 티어 제공)
번역 프로세스까지 전부 관리하고 싶을 때i18next + Lokalise or Crowdin

예시 구조도

📁 app/
   └─ [locale]/
       └─ page.tsx         ← Next.js 다국어 라우팅
📁 messages/
   └─ en.json              ← 번역 사전 (next-intl 또는 i18next 용)
   └─ ko.json
📁 tools/
   └─ i18n.ts              ← next-intl 또는 i18next 초기화

간단 요약

next-intl vs i18next

next-intl은 Next.js 앱 전용
i18next는 범용이지만 설정 복잡

Lokalise vs Crowdin
비슷하지만, Lokalise는 워크플로 자동화 강점 / Crowdin은 AI 번역·시장 연결 강점

함께 쓰는 구조는
next-intl or i18next로 앱 구성 + Lokalise/Crowdin으로 번역 관리 자동화

0개의 댓글