Arkitektura
Ang ecosystem ng pagsasalin ng Champollion ay binubuo ng tatlong independiyenteng tool na nagtutulungan sa pamamagitan ng malinaw na tinukoy na mga contract. Wala sa mga ito ang umaasa sa isa’t isa sa build time. Nakikipag-ugnayan ang mga ito sa pamamagitan ng iisang method plugin format at isang REST API contract.
Ang Tatlong Bahagi
champollion (proyektong ito)
Ang open-source na developer tool. Nagsasalin ng mga locale file gamit ang mga pluggable method. Walang dependencies, opsyonal ang config, at gumagana agad mula sa simula.
Mga built-in na method:
llm→ OpenRouter / anumang LLM (200+ models)llm-coached→ LLM + coaching sa grammar/dictionaryopenai→ Direktang OpenAI API (GPT-4o, GPT-4o-mini)anthropic→ Direktang Anthropic API (Claude Sonnet, Haiku, Opus)gemini→ Direktang Google Gemini API (Flash, Pro — may available na free tier)google-translate→ Google Cloud Translation API v2deepl→ DeepL API na may suporta sa glossarymicrosoft-translator→ Azure Cognitive Services Translatorlibretranslate→ Self-hosted LibreTranslate (AGPL, libre)api→ Simpleng pipe papunta sa anumang remote REST endpoint
Eval Harness (kasamang proyekto)
Isang research tool para sa pag-develop, pag-test, at pag-benchmark ng mga translation method. Kapag umabot na sa katanggap-tanggap na kalidad ang isang method, nag-e-export ang harness ng isang method plugin — isang method.json manifest at mga opsyonal na coaching data file.
Hindi kailanman tumatakbo ang harness sa loob ng champollion. Isa itong hiwalay na tool na gumagawa ng static output (mga JSON file). Binabasa lamang ng Champollion ang mga file na iyon.
Champollion Translate (nakaplano)
Isang metered API service na nagho-host ng mga proprietary translation method sa server-side — ang mga prompt, coaching data, at linguistic pipeline ay hindi kailanman umaalis sa server.
Paano Sila Nag-uugnayan
Eval Harness → champollion (one-way export)
Contract: Plugin Specification
Champollion Translate → champollion (API sa runtime)
Ang APIMethod ng Champollion ay isang dumb pipe. Ipinapadala nito palabas ang mga key at tumatanggap pabalik ng mga salin. Wala itong anumang translation logic at wala ring proprietary content.
Ano ang Alam ng Bawat Bahagi Tungkol sa Iba
| Tool | May alam tungkol sa champollion? | May alam tungkol sa Champollion Translate? | May alam tungkol sa harness? |
|---|---|---|---|
| champollion | (ito ang champollion) | Oo — tinatawag ito ng api method | Hindi — binabasa lamang ang plugin exports |
| Champollion Translate | Oo — sinisilbihan ang mga request nito | (ito ang Champollion Translate) | Hindi — tumatanggap ng mga na-deploy na method |
| Eval Harness | Oo — nag-e-export ng plugin format | Hindi — hiwalay na dine-deploy ang mga method | (ito ang harness) |
Mga Scenario ng User
Scenario 1: Libre, zero-config (karamihan ng user)
export OPENROUTER_API_KEY=sk-...
npx champollion sync
Gumagamit ng built-in na llm method. Walang plugins, walang Champollion Translate, walang harness.
Scenario 2: Google Translate baseline
export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync
Gumagamit ng built-in na google-translate method. Hindi kailangan ng plugins.
Scenario 3: Open plugin na may kasamang coaching
champollion plugin install ./french-formal-v1/
champollion sync
May type: "llm-coached" ang plugin → ginagamit ng champollion ang sariling OpenRouter key ng user. Lokal ang coaching data (walang server call).
Scenario 4: DIY coaching (walang plugin, walang harness)
{
"pairs": {
"en:fr": { "method": "llm-coached" }
}
}
Pinapanatili ng user ang sarili nilang mga grammar rule at dictionary sa .champollion/coaching/fr.json.
Mga Language Card
Ang bawat wika sa champollion ay kino-configure sa pamamagitan ng isang Language Card — isang unified JSON file na naglalaman ng register presets, formality rules, method support flags, typography conventions, genealogical classification, at linguistic reference data.
Ang mga card ay nilo-load agad sa import. Naglalaman ang bawat card ng lahat ng metadata na kailangan ng translation engine at developer docs — walang hiwalay na reference tier. Nabubuo ang mga card mula sa authoritative sources (IANA, CLDR, Glottolog, WALS) gamit ang scripts/generate-language-card.mjs at scripts/build-language-tree.mjs, pagkatapos ay human-curated para sa linguistic accuracy.
Mga Prinsipyo sa Disenyo
- Walang circular dependencies. One-way ang mga bridge.
- Ang Champollion ang lightweight core. Walang dependencies, opsyonal ang config. Additive ang plugins at API.
- Arkitektural ang IP protection. Nananatili sa server-side ang mga proprietary technique. Walang kasamang proprietary ang npm package.
- Ang plugin format ang contract. Dumadaloy ang lahat sa pamamagitan ng
method.json. - May iisang tungkulin ang bawat tool. Harness → mag-develop ng methods. Champollion Translate → mag-host ng methods. Champollion → magsalin ng files.
Tingnan Din
- Translation Methods — kung paano gumagana ang bawat built-in method
- Plugin Specification — ang method.json manifest format
- Eval Harness — ang kasamang research tool
- Pag-serve ng Method sa pamamagitan ng API — pagho-host ng custom translation pipelines
- Sumuporta sa isang Low-Resource Language — ang use case na nagtulak sa arkitekturang ito