Quality Gate
Dumaraan ang bawat salin sa isang deterministic na validation gate bago ito isulat sa disk. Nahuhuli ng quality gate ang mga karaniwang failure mode ng machine translation — walang tahimik na fallback, walang basurang isinusulat sa inyong mga locale file.
Mga Pagsusuri sa Validation
| Pagsusuri | Ano ang Nahuhuli Nito | Gate Label |
|---|---|---|
| Walang laman/blangko | Nagbalik ang model ng empty string o whitespace | [GATE] empty |
| Source echo | Ibinalik ng model ang orihinal na English input | [GATE] source-echo |
| Hallucination loop | Paulit-ulit na trigram pattern (hal., "Qo' Qo' Qo'") | [GATE] hallucination |
| Paglobo ng haba | Ang output ay masyadong mas mahaba kaysa source | [GATE] length |
| Pagsunod sa script | Maling script para sa target locale | [GATE] script |
| ICU plural categories | Nawawalang kinakailangang plural forms para sa locale | [GATE] icu-plural |
Walang Laman/Blangko
Tinatanggihan ang mga salin na empty string, whitespace-only, o null. Nahuhuli nito ang mga model na walang ibinabalik para sa mahihirap na key.
Source Echo
Tinutukoy kapag ibinalik ng model ang English source text sa halip na isalin ito. Karaniwan ito sa maiikling string at mga prompt na kulang sa detalye.
Hallucination Loop
Sinusuri ang mga trigram (3-character) pattern sa output. Kung may anumang trigram na umuulit nang higit sa threshold na bilang kaugnay ng haba ng output, tinatanggihan ang salin. Nahuhuli nito ang mga degenerate output tulad ng "Qo' Qo' Qo' Qo' Qo'".
Paglobo ng Haba
Tinatanggihan ang mga salin kung saan lumalampas ang haba ng output sa maxLengthRatio × source length (default: 4×). Nahuhuli nito ang mga hallucination ng model na lumilikha ng napakahabang teksto para sa maikling input.
Maaaring i-configure sa pamamagitan ng maxLengthRatio sa inyong config.
Pagsunod sa Script
Para sa mga locale na may naka-configure na field na script (hal., "script": "cans" para sa Plains Cree Syllabics), vine-validate na ang output ay naglalaman ng mga non-ASCII character na angkop para sa target script. Tinatanggihan ang Latin-only na output para sa Arabic, CJK, o Syllabics locale.
Ano ang Mangyayari Kapag Nabigo
- Nila-log ang nabigong salin sa stderr na may prefix na
[GATE], ang pangalan ng key, ang dahilan, at preview ng value - Ang key ay hindi isinusulat sa locale file
- Magsisimula ang retry cascade (tingnan sa ibaba)
[GATE] hero.title: source-echo — "Welcome to our platform"
[GATE] nav.about: hallucination — "À À À À À À À À"
Retry Cascade
Kapag nabigo ang isang batch (JSON parse error o mga pagtanggi ng quality gate), muling sumusubok ang champollion gamit ang unti-unting mas maliliit na batch:
Full batch (80 keys) → parse error
└→ Half batch (40 keys) → 2 failures
└→ Individual keys (1 each) → isolates the 2 problem keys
Nililimitahan ang retry budget ng maxRetries (default: 3, maaaring i-configure per-language). Pinipigilan nito ang runaway token spend sa mga key na paulit-ulit na nabibigo.
Pagkatapos maubos ang mga retry, ila-log at lalaktawan ang mga problemang key. Susubukan muli ang mga ito sa susunod na run ng sync.
Prompt Caching
Ang system message (register, mga tuntunin sa grammar, mga tala sa style) ay inihihiwalay mula sa user message (ang mga key na isasalin). Sinadya ang paghahating ito:
- Ang system message ay magkapareho sa lahat ng batch para sa isang partikular na locale
- Ang mga provider tulad ng Anthropic at Google ay nagka-cache ng mga inuulit na system message
- Resulta: nagbabayad ang unang batch ng buong token cost, at ang mga kasunod na batch ay nagbabayad lamang para sa user message
Maaari nitong makabuluhang mapababa ang token costs para sa mga proyektong may maraming batch.
ICU MessageFormat Validation
Vine-validate ng command na integrity ang mga ICU MessageFormat plural pattern laban sa CLDR plural rules. Kung gumagamit ang inyong source file ng ICU syntax tulad ng:
"items": "{count, plural, one {# item} other {# items}}"
Tinitiyak ng Champollion na kasama sa mga isinaling bersyon ang lahat ng kinakailangang plural category para sa target locale. Halimbawa, nangangailangan ang Arabic ng anim na category (zero, one, two, few, many, other) — hindi lamang one at other.
Patakbuhin ang champollion integrity upang suriin ang pagkakumpleto ng plural sa lahat ng locale.
Pagpapatupad ng Terminolohiya
Para sa mga coached pair na may dictionary, nagpapatakbo ang champollion ng post-translation terminology check. Pagkatapos makapasa sa quality gate, tinitiyak nito kung talagang ginamit ng LLM ang kinakailangang mga termino mula sa dictionary.
[TERM] en→fr: 2 term violation(s)
• hero.title: "dashboard" → expected "tableau de bord" but got "panneau de contrôle"
Ang mga paglabag sa terminolohiya ay mga babala, hindi blocking errors. Isinusulat pa rin ang salin sa disk. Sinadya ito — maaaring may valid na dahilan ang LLM sa pagpili ng alternatibo (konteksto, grammar), at mas makasasama kaysa makabubuti ang pag-block dahil sa mga hindi tugmang termino.
Upang ayusin ang mga paglabag, i-update ang coaching dictionary o mano-manong i-edit ang locale file.
Tingnan Din
- Paano Gumagana ang Sync — kung saan pumapasok ang quality gate sa pipeline
- Mga Paraan ng Pagsasalin — mga paraang nagpapakain sa gate
- Mga Script Converter — post-gate na script conversion
- Coaching Data — pagpapahusay ng kalidad ng salin upstream
- Translation Memory — pag-cache ng mga na-validate na salin
- CLI Reference — sync — mga sync flag kabilang ang retry behavior
- CLI Reference — integrity — ICU plural auditing