지원 언어
champollion은 50개 언어를 위한 구조화된 구성 파일인 Language Cards를 제공해요. 각 카드에는 레지스터 프리셋, 격식 체계 메타데이터, 메서드 지원 플래그, 타이포그래피 규칙, 스크립트 정보가 담겨 있어요. LLM이 알고 있는 언어라면 무엇이든 구성 파일에 한 줄만 추가하면 사용할 수 있어요 — 여기 나열된 것들은 큐레이션된 프로덕션 준비 완료 레지스터를 갖춘 언어들이에요.
번역 메서드
각 언어는 다음 번역 메서드 중 하나 이상을 사용할 수 있어요:
| 아이콘 | 메서드 | 작동 방식 | 비용 |
|---|---|---|---|
| 🟢 | Google Translate | 신경망 MT 기반. 130개 이상의 언어. 키-값 문자열 전용 — Markdown 콘텐츠는 안전하게 번역할 수 없어요. | ~$20/1M chars |
| 🔵 | LLM (OpenRouter) | 모델이 아는 모든 언어. 레지스터 유도 프롬프트. 키-값 + Markdown 콘텐츠 처리. | 모델에 따라 다름 |
| 🟣 | LLM-Coached | LLM + 문법 사전 + 프롬프트에 주입된 코칭 데이터. 형태론적으로 복잡한 언어에 가장 적합. | 모델에 따라 다름 |
| 🟠 | API (Plugin) | HTTP를 통해 제공되는 커뮤니티 호스팅 번역 파이프라인. OCAP-compatible. | 제공자에 따라 다름 |
Google Translate의 경우 GOOGLE_TRANSLATE_API_KEY를, LLM 메서드의 경우 OPENROUTER_API_KEY를 설정하세요. 자세한 내용은 Translation Methods를 참고하세요.
우선 언어
웹 및 모바일 애플리케이션에서 가장 흔히 요청되는 로케일들로, champollion이 권장하는 접근성 우선 순서로 나열되어 있어요.
| 깃발 | 언어 | 코드 | LLM | Coached | 스크립트 | 비고 | |
|---|---|---|---|---|---|---|---|
| 🇸🇦 | Arabic | ar | ✅ | ✅ | ✅ | — | RTL. 현대 표준 아랍어 (فصحى). |
| 🇵🇭 | Filipino (Taglish) | tl / fil | ✅ | ✅ | ✅ | — | Docusaurus 구성에서는 fil를 사용하세요. champollion이 둘 다 해석해요. |
| 🇫🇷 | French | fr | ✅ | ✅ | ✅ | — | Vous 형식. 성 중립적 (Connecté·e). |
| 🇪🇸 | Spanish | es | ✅ | ✅ | ✅ | — | 중립적 라틴 아메리카 스페인어. |
| 🇩🇪 | German | de | ✅ | ✅ | ✅ | — | Sie 형식. 성 중립적 (Benutzer:innen). |
| 🇯🇵 | Japanese | ja | ✅ | ✅ | ✅ | — | 본문은 です/ます, UI 라벨은 する. |
| 🇨🇳 | Chinese (Simplified) | zh | ✅ | ✅ | ✅ | — | 简体中文. |
| 🇮🇹 | Italian | it | ✅ | ✅ | ✅ | — | Lei 형식. |
| 🇧🇷 | Portuguese (BR) | pt | ✅ | ✅ | ✅ | — | 브라질 포르투갈어. |
| 🇰🇷 | Korean | ko | ✅ | ✅ | ✅ | — | 해요체 정중한 레지스터. |
주요 세계 언어
| 깃발 | 언어 | 코드 | LLM | Coached | 스크립트 | 비고 | |
|---|---|---|---|---|---|---|---|
| 🇧🇩 | Bengali | bn | ✅ | ✅ | ✅ | — | শুদ্ধ ভাষা 선호. |
| 🇧🇬 | Bulgarian | bg | ✅ | ✅ | ✅ | — | |
| 🇨🇿 | Czech | cs | ✅ | ✅ | ✅ | — | Vykání (vy 형식). |
| 🇩🇰 | Danish | da | ✅ | ✅ | ✅ | — | |
| 🇬🇷 | Greek | el | ✅ | ✅ | ✅ | — | 현대 Δημοτική. |
| 🇮🇷 | Persian | fa | ✅ | ✅ | ✅ | — | RTL. |
| 🇫🇮 | Finnish | fi | ✅ | ✅ | ✅ | — | 문법적 성 없음. |
| 🇮🇱 | Hebrew | he | ✅ | ✅ | ✅ | — | RTL. |
| 🇮🇳 | Hindi | hi | ✅ | ✅ | ✅ | — | शुद्ध हिन्दी. 영어 차용어 최소화. |
| 🇭🇺 | Hungarian | hu | ✅ | ✅ | ✅ | — | Ön 형식. |
| 🇮🇩 | Indonesian | id | ✅ | ✅ | ✅ | — | |
| 🇲🇾 | Malay | ms | ✅ | ✅ | ✅ | — | |
| 🇳🇱 | Dutch | nl | ✅ | ✅ | ✅ | — | U 형식. |
| 🇳🇴 | Norwegian | nb | ✅ | ✅ | ✅ | — | Bokmål. |
| 🇵🇱 | Polish | pl | ✅ | ✅ | ✅ | — | Pan/Pani 형식. |
| 🇵🇹 | Portuguese (EU) | pt-PT | ✅ | ✅ | ✅ | — | 유럽 포르투갈어. |
| 🇷🇴 | Romanian | ro | ✅ | ✅ | ✅ | — | |
| 🇷🇺 | Russian | ru | ✅ | ✅ | ✅ | — | Вы 형식. |
| 🇸🇰 | Slovak | sk | ✅ | ✅ | ✅ | — | Vykanie (vy 형식). |
| 🇷🇸 | Serbian | sr | ✅ | ✅ | ✅ | 🔤 Latin→Cyrillic | 결정론적 스크립트 변환기. |
| 🇸🇪 | Swedish | sv | ✅ | ✅ | ✅ | — | |
| 🇰🇪 | Swahili | sw | ✅ | ✅ | ✅ | — | |
| 🇹🇭 | Thai | th | ✅ | ✅ | ✅ | — | ครับ/ค่ะ 정중 어조사. |
| 🇹🇷 | Turkish | tr | ✅ | ✅ | ✅ | — | Siz 형식. |
| 🇺🇦 | Ukrainian | uk | ✅ | ✅ | ✅ | — | Ви 형식. |
| 🇵🇰 | Urdu | ur | ✅ | ✅ | ✅ | — | RTL. آپ 형식. |
| 🇻🇳 | Vietnamese | vi | ✅ | ✅ | ✅ | — | |
| 🇹🇼 | Chinese (Traditional) | zh-TW | ✅ | ✅ | ✅ | — | 繁體中文. |
| 🇬🇪 | Georgian | ka | ✅ | ✅ | — | — | ქართული. Kartvelian 어족. |
| 🇳🇬 | Yoruba | yo | ✅ | ✅ | — | — | Èdè Yorùbá. 성조 언어 (3성조). |
지역 변종
| 깃발 | 언어 | 코드 | LLM | Coached | 스크립트 | 비고 | |
|---|---|---|---|---|---|---|---|
| 🇲🇽 | Mexican Spanish | es-MX | ✅ | ✅ | ✅ | — | Tú 형식. 따뜻한 레지스터. |
| 🇨🇦 | Canadian French | fr-CA | ✅ | ✅ | ✅ | — | 퀘벡 관용 표현. |
토착어 및 저자원 언어
이 언어들은 상업용 MT 서비스에서 지원되지 않아요. champollion은 언어 커뮤니티가 OCAP principles에 따라 자체 메서드를 구축할 수 있는 도구를 제공해요.
| 언어 | 코드 | LLM | Coached | 스크립트 | 상태 | ||
|---|---|---|---|---|---|---|---|
| 🪶 | Plains Cree | crk | ❌ | ✅ | ✅ | 🔤 SRO→Syllabics | 🚧 개발 중 |
| 🌄 | Quechua | qu | ✅ | ✅ | — | — | Runasimi. 증거성 접미사. |
:::info Plains Cree는 활발히 개발 중이에요 Plains Cree를 위한 레지스터, 코칭 인프라, 스크립트 변환기, 평가 하네스는 모두 작동하지만, 번역 파이프라인은 아직 출시되지 않았어요. 저희는 출시 전 품질을 보장하기 위해 OCAP principles에 따라 언어 커뮤니티와 협력하고 있어요. 전체 이야기와 기여 방법은 Support a Low-Resource Language를 참고하세요. :::
:::tip 더 많은 저자원 언어 추가하기 champollion의 메서드 플러그인 시스템은 바로 이를 위해 설계되었어요. 언어 커뮤니티는 맞춤형 번역 메서드를 구축하고, 자체 통제 하에 호스팅하며, API method를 통해 제공할 수 있어요. Method Leaderboard는 모든 언어 쌍의 점수를 추적해요 — 메서드를 구축하고, 하네스를 실행하고, 최고 점수를 차지하세요. :::
인공어
Conlang은 LLM 레지스터와 선택적 스크립트 변환기를 통해 지원돼요. 실제 언어와 동일한 인프라를 사용해요 — 품질 게이트, 코칭 시스템, 스크립트 변환 파이프라인이 똑같이 작동해요.
| 언어 | 코드 | LLM | 스크립트 | 비고 | ||
|---|---|---|---|---|---|---|
| 🖖 | Klingon | tlh | ❌ | ✅ | 🔤 Romanization→pIqaD | PUA 폰트 필요. Marc Okrand 어휘. |
| 🧝 | Sindarin (Tolkien Elvish) | x-elvish-s | ❌ | ✅ | 🔤 Latin→Tengwar | CSUR PUA 폰트 필요. |
| 🏴☠️ | Pirate English | x-pirate | ❌ | ✅ | — | 레지스터 전용. 항해 비유. |
| 🦸 | Kryptonian | x-kryptonian | ❌ | ✅ | 🔤 Latin→Kryptonian | PUA 폰트 필요. |
| 🎭 | Shakespearean English | x-shakespeare | ❌ | ✅ | — | 레지스터 전용. Thee/thou, -eth/-est 형식. |
| 🐸 | Yoda-speak | x-yoda | ❌ | ✅ | — | 레지스터 전용. OSV 어순. |
PUA 폰트 요구사항, Unicode 제약, 직접 추가하는 방법은 Conlangs, Scripts & Orthography를 참고하세요.
언어 프리셋
init 마법사는 빠른 설정을 위한 프리셋 이름을 지원해요. 프리셋을 개별 코드와 함께 섞어 사용할 수 있어요.
| 프리셋 | 확장 결과 |
|---|---|
european | fr, de, es, it, pt, nl |
asian | ja, zh, ko |
global | fr, es, de, ja, zh, ko, pt, ar |
nordic | da, fi, nb, sv |
# Mix presets with individual codes
champollion init
# → Target languages: european, ja
# → Resolves to: fr, de, es, it, pt, nl, ja
모든 언어 추가하기
champollion은 LLM이 아는 모든 언어로 번역할 수 있어요 — 위 표는 내장 레지스터 프리셋이 있는 언어들을 나열한 것일 뿐이에요. 목록에 없는 언어를 추가하려면, 구성 파일에 해당 언어의 BCP-47 코드를 포함하세요:
{
"languages": {
"sw": {},
"am": {
"register": "Formal Amharic. Professional register with Geʽez script."
}
}
}
LLM은 해당 언어에 대한 학습 지식을 사용해 번역해요. register을 설정하면 어조, 격식, 정서법 관례를 제어할 수 있어요. 자세한 내용은 Configuration을 참고하세요.
Language Cards
각 내장 언어에는 Language Card가 있어요 — 모든 메타데이터(레지스터, 격식, 메서드 지원, 타이포그래피 규칙, 계통 분류, 언어적 과제, NLP 리소스)를 담은 shared/language-cards/의 통합 JSON 파일이에요.
통합 카드 아키텍처
각 카드는 import 시 즉시 로드돼요. 별도의 참조 계층은 없어요 — 모든 데이터는 언어별 단일 파일에 들어 있어요. 카드는 권위 있는 출처로부터 보강돼요:
| 출처 | 데이터 |
|---|---|
| Glottolog | 어족 분류, 계통 체인, Glottocode |
| WALS | 속(genus) 분류, 유형론적 특징 |
| CLDR | 스크립트, 방향, 복수형 규칙, 타이포그래피 |
| ISO 15924 | 스크립트 코드 |
주요 카드 필드
| 필드 | 내용 |
|---|---|
nativeName | 내명(Endonym) — 해당 언어가 자신을 부르는 이름, 고유 스크립트로 표기 (예: ქართული, Runasimi) |
classification | 계통적 기준점: 어족, 속, Glottolog의 전체 계통 체인 |
contactInfluences | 보편적 접촉 역사 — 차용 층위, 상층, 하층 |
| 격식 체계 | T-V 구분, 화법 등급, 경어, 어조사 등 |
| 레지스터 프리셋 | 해당 언어의 특성에 맞춘 명명된 LLM 프롬프트 프리셋 |
| 메서드 지원 | 이 언어를 지원하는 번역 API |
| 성별 가이드 | 문법적 성 규칙 및 포용적 글쓰기 팁 |
| 스크립트/방향 | ISO 15924 스크립트 코드 및 RTL/LTR |
| 규칙 | 타이포그래피(따옴표, 간격), 대소문자, 복수형 범주 |
glottocode | 상호 참조를 위한 정규 Glottolog 식별자 |
dataSources | 출처 추적 (예: ["glottolog-5.3", "cldr-48"]) |
새 Language Card 스캐폴딩
권위 있는 데이터 출처(IANA, CLDR, Glottolog)로부터 카드를 스캐폴딩하려면 생성기를 사용하세요:
# Preview what would be generated
node scripts/generate-language-card.mjs sw --dry-run
# Generate a unified card
node scripts/generate-language-card.mjs sw
생성기는 메타데이터(코드, 스크립트, 방향, 복수형, 따옴표, 메서드 지원, 분류)를 자동으로 채우고, 언어적 판단이 필요한 필드는 사람의 큐레이션을 위해 TODO로 표시해요.
프리셋 키 사용하기
전체 레지스터 텍스트를 작성하는 대신, 프리셋 키 이름을 사용할 수 있어요:
{
"languages": {
"fr": "casual-tu",
"ko": "formal-hapsyo",
"ja": "polite"
}
}
Champollion이 키를 전체 레지스터 프롬프트로 해석해요. 각 언어의 사용 가능한 프리셋을 확인하려면 npx champollion init을 실행하세요.
프리셋 예시
| 언어 | 프리셋 | 기본값 |
|---|---|---|
| French | formal-vous, casual-tu | formal-vous |
| Korean | polite-haeyo, formal-hapsyo, casual-hae | polite-haeyo |
| Japanese | polite, formal-keigo, casual | polite |
| German | formal-Sie, casual-du | formal-Sie |
| Thai | neutral-professional, polite-male, polite-female | neutral-professional |
| Spanish | neutral-professional, formal-usted, casual-tuteo | neutral-professional |
전체 사양(필드 검증 및 PR 체크리스트 포함)은 Contributing a Language Card를 참고하세요.
참고 자료
- Configuration — 언어 설정을 포함한 전체 구성 참조
- Translation Methods — 각 메서드의 작동 방식
- Script Converters — 결정론적 스크립트 변환 파이프라인
- Conlangs, Scripts & Orthography — PUA 폰트, Unicode, conlang 추가하기
- Support a Low-Resource Language — 소외된 언어를 위한 메서드 구축