Mga Paraan ng Pagsasalin
Sinusuportahan ng Champollion ang sampung paraan ng pagsasalin. Maaaring gumamit ng ibang paraan ang bawat pares ng wika — hindi kayo nakakandado sa iisang lapit para sa buong proyekto ninyo.
Paghahambing ng mga Paraan
Mga LLM Provider
Nakatuon sa kalidad, Markdown-aware, at compatible sa coaching. Pinakamainam para sa mga proyektong maraming content.
| Paraan | Key | Ginagawa Nito |
|---|---|---|
llm (default) | OPENROUTER_API_KEY | LLM sa pamamagitan ng OpenRouter — 200+ modelo, auto-routing |
llm-coached | OPENROUTER_API_KEY | LLM + mga tuntunin sa grammar, mga dictionary, mga tala sa style |
openai | OPENAI_API_KEY | Direct OpenAI API (gpt-4o, gpt-4o-mini) |
anthropic | ANTHROPIC_API_KEY | Direct Anthropic API (Claude Sonnet, Haiku, Opus) |
gemini | GEMINI_API_KEY | Direct Google Gemini API (Flash, Pro) — free tier |
Tradisyonal na MT
Nakatuon sa bilis at gastos. Pinakamainam para sa mataas na dami ng key-value pairs.
| Paraan | Key | Ginagawa Nito |
|---|---|---|
google-translate | GOOGLE_TRANSLATE_API_KEY | Google Cloud Translation API v2 (130+ wika) |
deepl | DEEPL_API_KEY | DeepL API na may suporta sa glossary (30+ wika) |
microsoft-translator | MICROSOFT_TRANSLATOR_API_KEY | Azure Cognitive Services Translator (100+ wika) |
libretranslate | (self-hosted) | Self-hosted LibreTranslate (AGPL, libre) |
Infrastructure
| Paraan | Key | Ginagawa Nito |
|---|---|---|
api | (bawat provider) | Manipis na HTTP client para sa anumang REST translation endpoint |
Decision Tree
llm — Pagsasalin gamit ang LLM (Default)
Nagsasalin sa pamamagitan ng anumang LLM sa OpenRouter. Ito ang default na paraan at ang pinaka-versatile.
Paano ito gumagana:
- Bina-batch ang mga key (default 80/batch) kasama ang mga tagubilin sa register at context
- Ipinapadala sa OpenRouter bilang structured prompt
- Pina-parse ang JSON response
- Vina-validate ang bawat salin sa pamamagitan ng quality gate
- Isinusulat ang mga pumapasang salin, nire-retry o nire-reject ang mga failure
Kailan gagamitin: Karamihan ng mga proyekto. Lalo na ang mga site na maraming content at may Markdown, kung saan kailangang ma-shield ang mga code block at shortcode.
Configuration:
{
"defaultMethod": "llm",
"model": "google/gemini-3.5-flash"
}
llm-coached — Coached LLM Translation
Kapareho ng llm, ngunit may mga tuntunin sa grammar, mga term dictionary, at mga tala sa style na ini-inject sa bawat prompt.
Paano ito gumagana:
- Naglo-load ng coaching data mula sa
.champollion/coaching/<locale>.jsono sa directory nacoaching/ng isang plugin - Ini-inject ang mga tuntunin sa grammar, mga termino sa dictionary, at mga tala sa style sa system prompt
- Isinasama bilang kinakailangang terminolohiya ang mga termino sa dictionary na tumutugma sa mga source key
- Nagpapatuloy ang pagsasalin tulad ng sa
llm, kung saan nagdaragdag ng precision ang coaching data
Kailan gagamitin: Mga wikang low-resource, terminolohiyang domain-specific (legal, medical), pormal na mga register, o anumang kaso kung saan hindi sapat ang precision ng generic na LLM output.
Format ng coaching data:
{
"grammar_rules": [
"French adjectives agree in gender and number with the noun they modify",
"Use 'vous' for formal contexts, 'tu' for informal"
],
"dictionary": {
"dashboard": "tableau de bord",
"deployment": "déploiement",
"settings": "paramètres"
},
"style_notes": "Prefer active voice. Avoid anglicisms where a native French term exists."
}
Tingnan din: Gabay sa mga Wikang Low-Resource
openai — Direct OpenAI API
Direktang nagsasalin sa pamamagitan ng OpenAI Chat Completions API. Walang OpenRouter middleman — key ninyo, account ninyo, usage dashboard ninyo.
Mga modelo: gpt-4o (default), gpt-4o-mini
Mga feature:
- ✅ Markdown-aware (pagsasalin ng content)
- ✅ Suporta sa coaching (mga tuntunin sa grammar, mga dictionary override, mga tala sa style)
- ✅ JSON mode para sa structured key-value output
- ✅ Exponential backoff na may retry
Configuration:
{
"pairs": {
"en:fr": { "method": "openai", "model": "gpt-4o-mini" }
}
}
export OPENAI_API_KEY=sk-proj-...
Kunin ang inyong key sa platform.openai.com/api-keys.
anthropic — Direct Anthropic API
Direktang nagsasalin sa pamamagitan ng Anthropic Messages API. Ginagamit ang parameter na system para sa coaching data, na nagpapagana sa prompt caching ng Anthropic.
Mga modelo: claude-sonnet-4-6 (default), claude-haiku-4-5, claude-opus-4-7
Mga feature:
- ✅ Markdown-aware (pagsasalin ng content)
- ✅ Suporta sa coaching (mga tuntunin sa grammar, mga dictionary override, mga tala sa style)
- ✅ System prompt caching (ina-amortize ang gastos sa coaching sa maraming batch)
- ✅ Exponential backoff na may retry
Configuration:
{
"pairs": {
"en:ja": { "method": "anthropic", "model": "claude-haiku-4-5" }
}
}
export ANTHROPIC_API_KEY=sk-ant-...
Kunin ang inyong key sa console.anthropic.com.
gemini — Direct Google Gemini API
Direktang nagsasalin sa pamamagitan ng Google Gemini generateContent API. May available na free tier — ang pinakamainam na panimulang punto na walang gastos.
Mga modelo: gemini-2.5-flash (default), gemini-2.5-pro
Mga feature:
- ✅ Markdown-aware (pagsasalin ng content)
- ✅ Suporta sa coaching (mga tuntunin sa grammar, mga dictionary override, mga tala sa style)
- ✅ JSON response mode sa pamamagitan ng
responseMimeType - ✅ Free tier (malaking daily quota)
- ✅ Exponential backoff na may retry
Configuration:
{
"pairs": {
"en:ko": { "method": "gemini", "model": "gemini-2.5-pro" }
}
}
export GEMINI_API_KEY=AI...
Kunin ang inyong key sa aistudio.google.com/apikey.
Model Validation
Vina-validate ng mga direct LLM provider (openai, anthropic, gemini) ang inyong model string sa unang paggamit. Nahuhuli nito ang tatlong kategorya ng pagkakamali:
Maling format ng paraan — Paggamit ng OpenRouter-style model path sa isang direct provider:
[WARN] OpenAI: model "google/gemini-3.5-flash" looks like an OpenRouter path.
Direct providers use bare model names (e.g., "gpt-4o").
To use OpenRouter models, set method to 'llm' instead.
Maling provider — Paggamit ng modelo mula sa ibang provider:
[WARN] Gemini: model "claude-sonnet-4-6" is an Anthropic model.
This provider (gemini) cannot serve Anthropic models.
Use --method anthropic or set "method": "anthropic" in config.
Deprecated o maling spelling na modelo — Sa unang API call, kinukuha ng champollion ang live model list ng provider at sinusuri ang inyong modelo laban dito:
[WARN] Gemini: model "gemini-1.5-flash" not found in available models.
Similar models: gemini-2.0-flash, gemini-2.5-flash, gemini-2.5-pro
The API call will proceed — the provider will give the final verdict.
:::note Mga babala ito, hindi mga error Nagla-log ng mga warning ang model validation ngunit hindi nito hinaharangan ang API call. Ang provider API ang nagbibigay ng final verdict — maaaring tumugma ang pangalan ng isang model sa hinaharap sa ibang pattern, at ayaw naming mag-gate batay sa heuristics. :::
google-translate — Google Cloud Translation API
Direktang integration sa Google Cloud Translation API v2. Ginagamit ang REST API — walang SDK, walang service account. API key lamang.
Kailan gagamitin: Mataas na dami ng key-value string pairs kung saan mas mahalaga ang bilis at gastos kaysa nuance. Sinusuportahan ang 130+ wika out of the box.
Mga limitasyon:
- ⚠️ Walang Markdown awareness. Masisira nito ang mga code block, shortcode, at interpolation variable.
- Walang kontrol sa register/tone
- Walang coaching o pagpapatupad ng terminolohiya
npx champollion sync --method google-translate
:::tip Auto-detection
Kung GOOGLE_TRANSLATE_API_KEY lamang ang naka-set (walang OpenRouter key), awtomatikong lilipat ang champollion sa Google Translate. Walang kailangang baguhin sa config.
:::
deepl — DeepL API
Direktang integration sa DeepL translation API. Sinusuportahan ang mga glossary para sa consistent na terminolohiya.
Kailan gagamitin: Mga wikang Europeo kung saan mahusay ang DeepL (German, French, Spanish, Dutch, Polish, atbp.). Ipinapatupad ng suporta sa glossary ang consistent na terminolohiya nang walang coaching data.
Mga feature:
- ✅ Awtomatikong detection ng free/pro endpoint (suffix na
:fxsa mga free key) - ✅ Paglikha at pamamahala ng glossary
- ✅ Kontrol sa formality level
- ⚠️ Walang Markdown awareness — key-value pairs lamang
Configuration:
{
"pairs": {
"en:de": { "method": "deepl" }
}
}
export DEEPL_API_KEY=your-key-here
Kunin ang inyong key sa deepl.com/pro-api.
microsoft-translator — Azure Cognitive Services
Direktang integration sa Microsoft Translator Text API v3.
Kailan gagamitin: Mga enterprise environment na may kasalukuyang Azure infrastructure. Sinusuportahan ang 100+ wika, kabilang ang marami na hindi saklaw ng Google Translate.
Mga feature:
- ✅ Hanggang 100 segment bawat request (mataas na throughput)
- ✅ Optional na region parameter para sa latency optimization
- ⚠️ Walang Markdown awareness — key-value pairs lamang
- ⚠️ Walang pagsasalin ng content — key-value pairs lamang
Configuration:
{
"pairs": {
"en:ar": { "method": "microsoft-translator" }
}
}
export MICROSOFT_TRANSLATOR_API_KEY=your-key
export MICROSOFT_TRANSLATOR_REGION=global # optional
Kunin ang inyong key mula sa Azure Portal → Cognitive Services → Translator.
libretranslate — Self-Hosted Translation
Self-hosted open-source translation gamit ang LibreTranslate. Tumatakbo nang lokal o sa sarili ninyong infrastructure — zero API costs, buong data sovereignty.
Kailan gagamitin: Mga proyektong nangangailangan ng offline translation, pagsunod sa data privacy (GDPR), o zero-cost operation. Lalo itong kapaki-pakinabang para sa mga CI pipeline na hindi dapat umasa sa external APIs.
Mga feature:
- ✅ Self-hosted — walang external API calls
- ✅ Libre at open source (AGPL-3.0)
- ✅ Available ang Docker deployment
- ⚠️ Walang Markdown awareness — key-value pairs lamang
- ⚠️ Walang pagsasalin ng content — key-value pairs lamang
- ⚠️ Nag-iiba ang kalidad ayon sa pares ng wika
Setup:
# Run LibreTranslate locally with Docker
docker run -d -p 5000:5000 libretranslate/libretranslate
# Configure (optional — defaults to localhost:5000)
export LIBRETRANSLATE_API_URL=http://localhost:5000/translate
{
"pairs": {
"en:es": { "method": "libretranslate" }
}
}
api — Remote Translation API
Isang manipis na HTTP client para sa mga community-hosted o IP-protected translation endpoint. Nagpapadala ang Champollion ng mga key palabas at tumatanggap ng mga salin pabalik — wala itong anumang translation logic.
Kailan gagamitin: Kapag ang mga paraan ng pagsasalin ay naka-host sa server-side (hal., proprietary coaching data, fine-tuned models, FST pipelines na hindi maaaring i-distribute).
{
"pairs": {
"en:crk": {
"method": "api",
"endpoint": "https://api.example.com/v1/translate",
"apiKey": "your-key"
}
}
}
:::note OCAP-Compatible Community Translation
Ang paraang api ang tulay patungo sa OCAP-compatible community-hosted translation. Maaaring i-host ng mga pamayanang Katutubo at mga pamayanang may minoryang wika ang sarili nilang translation endpoints — pinananatili ang coaching data, fine-tuned models, at linguistic IP sa ilalim ng kontrol ng komunidad — habang kumokonekta ang Champollion sa kanila bilang manipis na client.
Tingnan ang Sumuporta sa Wikang Low-Resource para sa buong walkthrough ng community hosting, at Pag-serve ng Paraan sa pamamagitan ng API para sa mga requirement ng endpoint. :::
Per-Pair Configuration
Ang tunay na lakas ay ang paghahalo ng mga paraan bawat pares ng wika:
{
"version": 3,
"pairs": {
"en:fr": { "method": "deepl" },
"en:ja": { "method": "openai", "model": "gpt-4o" },
"en:ko": { "method": "gemini" },
"en:ar": { "method": "microsoft-translator" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
Isinasalin nito ang French sa pamamagitan ng DeepL (suporta sa glossary), Japanese sa pamamagitan ng OpenAI (kalidad), Korean sa pamamagitan ng Gemini (free tier), Arabic sa pamamagitan ng Microsoft Translator (coverage), at Plains Cree sa pamamagitan ng coached plugin (specialized).
Mga Plugin
Ang mga plugin ay pre-packaged translation recipes para sa partikular na mga pares ng wika. Mga JSON manifest ang mga ito — hindi code — na nagsasabi sa champollion kung aling paraan ang gagamitin, kasama ang mga setting, at kung anong kalidad ang na-benchmark.
:::tip Mula eval harness hanggang production sa isang command
Ang mga plugin na dinevelop at napatunayan sa eval harness ay maaaring direktang i-install — ang paraang vina-validate ninyo roon ay dine-deploy dito gamit ang isang command na plugin install. Tingnan ang MT Evaluation para sa buong workflow ng evaluation.
:::
champollion plugin install ./french-formal-v1/
champollion plugin list
champollion plugin remove french-formal-v1
Tingnan ang Plugin Specification para sa buong format ng manifest.
Paglipat ng mga Provider
Lilipat sa pagitan ng mga paraan? Nagbabago ang model format at env var — narito ang mapa:
OpenRouter → Direct Provider
{
"pairs": {
"en:fr": {
- "method": "llm",
- "model": "openai/gpt-4o"
+ "method": "openai",
+ "model": "gpt-4o"
}
}
}
- export OPENROUTER_API_KEY=sk-or-v1-...
+ export OPENAI_API_KEY=sk-proj-...
Mahahalagang pagkakaiba:
- Ginagamit ng OpenRouter ang format na
provider/model(hal.,openai/gpt-4o). Gumagamit ang mga direct provider ng mga bare model name (hal.,gpt-4o). - May sariling env var ang bawat direct provider (
OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY). - Kung maling model format ang gamitin ninyo, magbibigay ng babala ang champollion — tingnan ang Model Validation.
Direct Provider → OpenRouter
{
"pairs": {
"en:ja": {
- "method": "anthropic",
- "model": "claude-sonnet-4-6"
+ "method": "llm",
+ "model": "anthropic/claude-sonnet-4-6"
}
}
}
:::tip Kailan gagamit ng OpenRouter kumpara sa Direct Gamitin ang OpenRouter kapag nais ninyong lumipat sa pagitan ng mga modelo nang hindi nagpapalit ng env vars, o kapag nais ninyo ng access sa 200+ modelo mula sa iisang key. Gumamit ng direct providers kapag nais ninyo ng mas simpleng billing, mas mababang latency (walang middleman), o access sa mga provider-specific feature tulad ng prompt caching ng Anthropic. :::
Paghahambing ng Gastos
Tinatayang gastos bawat 1,000 naisaling key (ipinapalagay ang ~10 token bawat key, 80 key bawat batch):
| Paraan | Gastos / 1K Key | Bilis | Kalidad | Pinakamainam Para sa |
|---|---|---|---|---|
gemini (Flash) | Libre (sa loob ng tier) | Mabilis | Maganda | Pagsisimula, mga personal na proyekto |
google-translate | ~$0.02 | Pinakamabilis | Sapat | Mataas na dami, mga wikang Europeo |
deepl | ~$0.02 | Mabilis | Maganda | Mga wikang Europeo, terminolohiya |
microsoft-translator | ~$0.01 | Mabilis | Sapat | Mga environment ng Azure, malawak na coverage ng wika |
libretranslate | Libre (self-hosted) | Nag-iiba | Katamtaman | Air-gapped, GDPR, CI pipelines |
gemini (Pro) | ~$0.07 | Katamtaman | Napakaganda | Sensitibo sa kalidad, free quota |
openai (GPT-4o-mini) | ~$0.01 | Mabilis | Maganda | Budget LLM |
openai (GPT-4o) | ~$0.10 | Katamtaman | Napakaganda | Sensitibo sa kalidad |
anthropic (Haiku) | ~$0.01 | Mabilis | Maganda | Budget LLM |
anthropic (Sonnet) | ~$0.10 | Katamtaman | Napakaganda | Sensitibo sa kalidad |
anthropic (Opus) | ~$0.50 | Mabagal | Mahusay | Pinakamataas na kalidad |
llm (OpenRouter) | Nag-iiba ayon sa modelo | Nag-iiba | Nag-iiba | Paghahambing ng modelo, experimentation |
:::note Mga pagtataya ito Nakadepende ang aktuwal na gastos sa haba ng inyong source text, batch size, at mga pagbabago sa pricing ng provider. Tingnan ang kasalukuyang pricing page ng bawat provider para sa eksaktong rates. :::