Lumaktaw sa pangunahing nilalaman

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.

ParaanKeyGinagawa Nito
llm (default)OPENROUTER_API_KEYLLM sa pamamagitan ng OpenRouter — 200+ modelo, auto-routing
llm-coachedOPENROUTER_API_KEYLLM + mga tuntunin sa grammar, mga dictionary, mga tala sa style
openaiOPENAI_API_KEYDirect OpenAI API (gpt-4o, gpt-4o-mini)
anthropicANTHROPIC_API_KEYDirect Anthropic API (Claude Sonnet, Haiku, Opus)
geminiGEMINI_API_KEYDirect 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.

ParaanKeyGinagawa Nito
google-translateGOOGLE_TRANSLATE_API_KEYGoogle Cloud Translation API v2 (130+ wika)
deeplDEEPL_API_KEYDeepL API na may suporta sa glossary (30+ wika)
microsoft-translatorMICROSOFT_TRANSLATOR_API_KEYAzure Cognitive Services Translator (100+ wika)
libretranslate(self-hosted)Self-hosted LibreTranslate (AGPL, libre)

Infrastructure

ParaanKeyGinagawa 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:

  1. Bina-batch ang mga key (default 80/batch) kasama ang mga tagubilin sa register at context
  2. Ipinapadala sa OpenRouter bilang structured prompt
  3. Pina-parse ang JSON response
  4. Vina-validate ang bawat salin sa pamamagitan ng quality gate
  5. 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:

  1. Naglo-load ng coaching data mula sa .champollion/coaching/<locale>.json o sa directory na coaching/ ng isang plugin
  2. Ini-inject ang mga tuntunin sa grammar, mga termino sa dictionary, at mga tala sa style sa system prompt
  3. Isinasama bilang kinakailangang terminolohiya ang mga termino sa dictionary na tumutugma sa mga source key
  4. 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:

.champollion/coaching/fr.json
{
"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 :fx sa 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:

champollion.config.json
{
"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

champollion.config.json
{
"pairs": {
"en:fr": {
- "method": "llm",
- "model": "openai/gpt-4o"
+ "method": "openai",
+ "model": "gpt-4o"
}
}
}
Environment variables
- 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

champollion.config.json
{
"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):

ParaanGastos / 1K KeyBilisKalidadPinakamainam Para sa
gemini (Flash)Libre (sa loob ng tier)MabilisMagandaPagsisimula, mga personal na proyekto
google-translate~$0.02PinakamabilisSapatMataas na dami, mga wikang Europeo
deepl~$0.02MabilisMagandaMga wikang Europeo, terminolohiya
microsoft-translator~$0.01MabilisSapatMga environment ng Azure, malawak na coverage ng wika
libretranslateLibre (self-hosted)Nag-iibaKatamtamanAir-gapped, GDPR, CI pipelines
gemini (Pro)~$0.07KatamtamanNapakagandaSensitibo sa kalidad, free quota
openai (GPT-4o-mini)~$0.01MabilisMagandaBudget LLM
openai (GPT-4o)~$0.10KatamtamanNapakagandaSensitibo sa kalidad
anthropic (Haiku)~$0.01MabilisMagandaBudget LLM
anthropic (Sonnet)~$0.10KatamtamanNapakagandaSensitibo sa kalidad
anthropic (Opus)~$0.50MabagalMahusayPinakamataas na kalidad
llm (OpenRouter)Nag-iiba ayon sa modeloNag-iibaNag-iibaPaghahambing 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. :::


Tingnan Din