Àđđ ļàñĝüàĝéš
Àđđ à ţàŕĝéţ ļàñĝüàĝé, àñđ ķàþî ķééþš îţ çàüĝĥţ üþ ŵîţĥ ţĥé šöüŕçé: îţ ŕéüšéš éàŕļîéŕ ţŕàñšļàţîöñš, ţŕàñšļàţéš ţĥé ŕéšţ, àñđ ĥöļđš ƃàçķ ƒöŕ ŕéṽîéŵ ŵĥàţ ñééđš à þéŕšöñ. À ļàñĝüàĝé ţĥàţ îš ƃéĥîñđ îš þéñđîñĝ ŵöŕķ àñđ ñéṽéŕ ƃŕéàķš à ƃüîļđ.
Îñ Ķàþî Đéšķţöþ ýöü àđđ à ļàñĝüàĝé ŵîţĥ Ļàñĝüàĝéš + àñđ çļîçķ Ƃŕîñĝ üþ ţö đàţé. Öñ ţĥé çöḿḿàñđ ļîñé ýöü đéçļàŕé îţ îñ ţĥé ŕéçîþé àñđ ŕüñ kapi up. Àñ àššîšţàñţ çàñ đö éîţĥéŕ ƒöŕ ýöü.
Îñ ţĥé îñšţàļļéđ ķàþî, đéçļàŕîñĝ à ţàŕĝéţ ļàñĝüàĝé îñ ţĥé ŕéçîþé àļšö àđđš ţĥé ļàñĝüàĝé çöḿḿàñđš (translate, pseudo-translate, memory) ţö kapi --help. Ƃéƒöŕé ţĥàţ, kapi help languages ļîšţš ţĥéḿ.
- Đéšķţöþ
- Àĝéñţ (Çļàüđé)
- ÇĻÎ
- Àđđ ţĥé ļöçàļéš. Îñ Þŕöĵéçţ Šéţţîñĝš, àđđ ţĥé ţàŕĝéţ ļàñĝüàĝéš ýöü ţŕàñšļàţé îñţö (ƒöŕ éẋàḿþļé
fr,de). Öñ à þŕöĵéçţ îñ öñé ļàñĝüàĝé, Ļàñĝüàĝéš + îñ ţĥé šîđéƃàŕ öþéñš ţĥé šàḿé çĥöîçé, àñđ öñçé ýöü šàṽé ţĥé ƒîŕšţ ţàŕĝéţ îţ ƃéçöḿéš Ļàñĝüàĝéš, ŵîţĥ Ŕéṽîéŵ ƃéšîđé îţ.


- Ƃŕîñĝ üþ ţö đàţé. Ƃàçķ öñ ţĥé þŕöĵéçţ ṽîéŵ, ţĥé çöṽéŕàĝé þàñéļ šĥöŵš öñé ŕöŵ þéŕ ļöçàļé àĝàîñšţ ţĥé šĥîþ ĝàţé. Þļàñ… þŕéṽîéŵš ţĥé þéñđîñĝ ŵöŕķ ƒîŕšţ: çöñţéñţ-ḿéḿöŕý ļéṽéŕàĝé, ŕéḿàîñîñĝ ÀÎ ŵöŕķ, à ţöķéñ éšţîḿàţé, ñöţĥîñĝ ŵŕîţţéñ. Ţĥéñ çļîçķ Ƃŕîñĝ üþ ţö đàţé; ķàþî ŕüñš ţĥé đéƒàüļţ ƒļöŵ öṽéŕ éṽéŕý ļöçàļé ţĥàţ îš šĥöŕţ öƒ îţš ĝàţé, ļööþîñĝ üñţîļ éàçĥ šçöþé šĥîþš öŕ à ĝàţé ĥöļđš îţ ƃàçķ ƒöŕ à þéŕšöñ.
- Ŕéṽîéŵ. Çļîçķ à šĥîþ-ĝàţé çéļļ ţö öþéñ ţĥé Ŕéṽîéŵ ǫüéüé ƒöŕ ţĥàţ ļöçàļé: îñšþéçţ éàçĥ ţŕàñšļàţîöñ, éđîţ îƒ ñééđéđ, àþþŕöṽé öŕ ŕéĵéçţ. Àþþŕöṽàļš ŕàîšé ţĥé àþþŕöṽéđ çöṽéŕàĝé ţĥàţ àñ
{ established: … }ĝàţé ḿéàšüŕéš; ţĥé ŕéçîþé šþéļļš ţĥé àþþŕöṽéđ ŕüñĝestablished.
Àđđîñĝ ţŵö ţàŕĝéţ ļöçàļéš îñ Þŕöĵéçţ Šéţţîñĝš, þŕéššîñĝ Ƃŕîñĝ üþ ţö đàţé, ŵàţçĥîñĝ çöṽéŕàĝé çļîḿƃ, àñđ öþéñîñĝ ţĥé Ŕéṽîéŵ ǫüéüé ƒŕöḿ à ĝàţé çéļļ.
Àšķ ƒöŕ ţĥé öüţçöḿé:
Àđđ Ƒŕéñçĥ àñđ Ĝéŕḿàñ ţö ţĥîš þŕöĵéçţ àñđ ƃŕîñĝ ƃöţĥ üþ ţö đàţé.
Çļàüđé àđđš target_languages ţö ţĥé ŕéçîþé, ŕüñš kapi up, ŕéàđš kapi status ƒöŕ ŵĥàţ îš ŵàîţîñĝ ƒöŕ à þéŕšöñ, àñđ ĝöéš ţĥŕöüĝĥ ţĥé ŕéṽîéŵ ŵöŕķļîšţ ŵîţĥ ýöü; ýöü àþþŕöṽé, îţ ŕéçöŕđš ţĥé đéçîšîöñš ŵîţĥ kapi apply. Šéé Üšé ŵîţĥ Çļàüđé.
Đéçļàŕé ţĥé ļöçàļéš îñ ţĥé ŕéçîþé (öŕ þàšš --target-locale àţ kapi init ţîḿé):
defaults:
source_language: en
target_languages: [fr, de]
collections:
- path: "src/locales/en/*.json"
target: "src/locales/{lang}"
Ţĥé target: šàýš ŵĥéŕé à ţŕàñšļàţéđ ƒîļé ĝöéš. kapi add ŵŕîţéš îţ ƒöŕ ýöü
(kapi add "src/locales/en/*.json" --target "src/locales/{lang}"), îñçļüđîñĝ öñ
à þàţţéŕñ kapi init àļŕéàđý àđđéđ ŵîţĥöüţ öñé. Îţ ŕéƒüšéš à ţàŕĝéţ ţĥàţ ļàñđš
ƃàçķ îñšîđé ţĥé þàţţéŕñ îţ çöḿéš ƒŕöḿ, ŵĥîçĥ ŵöüļđ ḿàķé ţĥé çöļļéçţîöñ ŕé-ţŕàçķ
îţš öŵñ öüţþüţ àš šöüŕçé, àñđ à þàţţéŕñ ŵĥöšé éñţŕý àļŕéàđý đéçļàŕéš à
đéŕéñţ ţàŕĝéţ, ŵĥîçĥ ýöü çĥàñĝé îñ ţĥé ŕéçîþé.
À ƒîļé ƃéļöñĝš ţö ţĥé ƒîŕšţ éñţŕý îñ ţĥé ŕéçîþé ŵĥöšé þàţţéŕñ ḿàţçĥéš îţ, šö à
ţàŕĝéţ àþþļîéš ţö ţĥé ƒîļéš îţš éñţŕý çļàîḿš. kapi add çöüñţš ţĥöšé, ñàḿéš
éàçĥ öţĥéŕ ƒîļé ŵîţĥ ţĥé éñţŕý ţĥàţ çļàîḿš îţ, àñđ ŕéƒüšéš à þàţţéŕñ ŵĥöšé
éṽéŕý ƒîļé àñ éàŕļîéŕ éñţŕý çļàîḿš.
Ţĥéñ çàţçĥ üþ, îñšþéçţ, àñđ ĝàţé:
kapi up # run the default flow; stop where a gate holds content back
kapi status # per-locale coverage and ship-gate standing (never fails)
kapi status --review # the worklist: translated blocks awaiting a person
kapi check --ship # enforce the gates: the pre-release bar, exit 3 when unmet
kapi up ñééđš à ţŕàñšļàţîöñ þŕöṽîđéŕ ƒöŕ ĻĻḾ ţŕàñšļàţîöñ; šéé Çĥööšé à ţŕàñšļàţîöñ ḿöđéļ. Àþþŕöṽé ŕéṽîéŵéđ ƃļöçķš ŵîţĥ à decide öþéŕàţîöñ ţĥŕöüĝĥ kapi apply; šéé Ŕéṽîéŵ & àþþŕöṽé.
Ĥöŵ ţĥé ĝàţé ŵöŕķš
Éàçĥ ţŕàñšļàţîöñ çļîḿƃš à ļàđđéŕ (đŕàƒţ, ţŕàñšļàţéđ, àþþŕöṽéđ). À šĥîþ ĝàţé îš à šéţ öƒ çöṽéŕàĝé ţĥŕéšĥöļđš öṽéŕ ţĥàţ ļàđđéŕ, šüçĥ àš { translated: 100, established: 80 }.
ķàþî üþ þŕöđüçéš ţŕàñšļàţîöñš, ŕéṽîéŵ þŕöḿöţéš ţĥéḿ, àñđ ţĥé šĥîþ ĝàţé ŕéļéàšéš à ļàñĝüàĝé.
Ţĥé ķàþî ļööþ éẋþļàîñš ţĥé ḿöđéļ.
Ñéẋţ
- Ţŕàñšļàţé ŵîţĥ ýöüŕ ÀÎ: ţĥé ţŕàñšļàţîöñ ļööþ îñ đéþţĥ.
- Šĥîþ ĝàţéš & ÇÎ: ŕüñ
kapi check --shipöñ éṽéŕý ÞŔ. - Ŕéṽîéŵ & àþþŕöṽé: ţĥé ĥüḿàñ ĥàļƒ öƒ ţĥé ļööþ.