Þàüšé & ŕéšüḿé à ƃîĝ ŕüñ
Ĝöàļ: à ƃîĝ ŕüñ ţĥàţ đöéšñ'ţ ĥàṽé ţö ƒîñîšĥ îñ öñé šîţţîñĝ. À .kpz îš à šîñĝļé ƒîļé ĥöļđîñĝ àñ éñţîŕé ŕüñ îñ þŕöĝŕéšš: þüļļ šöüŕçéš îñţö îţ, ŵöŕķ àš ƒàŕ àš ýöü ĝéţ, šéţ îţ đöŵñ, àñđ ŕéšüḿé éẋàçţļý ŵĥéŕé ýöü ļéƒţ öƒƒ, ļàţéŕ öŕ öñ àñöţĥéŕ ḿàçĥîñé. Îţš çöñƒîĝüŕàţîöñ (ļàñĝüàĝéš, öüţþüţ ļàýöüţ) ŕîđéš îñšîđé ţĥé ƒîļé: ñö þŕöĵéçţ, ñö šéŕṽéŕ. Ţĥé þàŕçéļ ḿöđéļ šîţš îñšîđé ţĥé Þŕöĵéçţš çöñçéþţ; ţĥé þàçķàĝé ƒöŕḿàţ îš îñ ţĥé þŕöĵéçţ àŕçĥîṽé ŕéƒéŕéñçé.
- Đéšķţöþ
- Àĝéñţ (Çļàüđé)
- ÇĻÎ
Ţĥé .kpz ŵöŕķšþàçé ļîƒéçýçļé îš à ÇĻÎ çàþàƃîļîţý; Kapi Đéšķţöþ đöéš ñöţ đŕîṽé à þàŕçéļ đîŕéçţļý. Ŵĥéŕé Đéšķţöþ ḿééţš îţ: à þŕöĵéçţ ýöü ŵöŕķ öñ ṽîšüàļļý çàñ ƃé šñàþšĥöţţéđ ƒŕöḿ ţĥé ÇĻÎ (kapi pack) ƒöŕ à çöļļéàĝüé, àñđ ţĥé ţŕàñšļàţéđ ƒîļéš à merge éḿîţš öþéñ àñđ þŕéṽîéŵ îñ Đéšķţöþ ļîķé àñý öţĥéŕš. Ƒöŕ þàüšîñĝ àñđ ŕéšüḿîñĝ þŕöĵéçţ ŵöŕķ ṽîšüàļļý, ţĥé þŕöĵéçţ šţöŕé àļŕéàđý þéŕšîšţš ƃéţŵééñ šéššîöñš; ŕéöþéñ ţĥé þŕöĵéçţ.
Ĥàñđ ţĥé þàŕçéļ öṽéŕ ļîķé ýöü ŵöüļđ ţö à þéŕšöñ:
Ĥéŕé'š
work.kpzƒŕöḿ ţĥé ṽéñđöŕ: ƒîñîšĥ ţĥé Ƒŕéñçĥ þàšš, ŕüñ ţĥé çĥéçķš, àñđ ḿéŕĝé ţĥé ƒîļéš öüţ.
Ţĥé àššîšţàñţ îñšþéçţš îţ (kapi info), ŕéšüḿéš ţĥé ŵöŕķ îñ þļàçé, àñđ ḿéŕĝéš ŵĥéñ đöñé. Ƃéçàüšé þŕöĝŕéšš îš đéŕîṽéđ ƒŕöḿ ţĥé çöñţéñţ îţšéļƒ (ţĥé öṽéŕļàýš þŕéšéñţ), ŕéšüḿîñĝ îš îđéḿþöţéñţ: ţĥé àššîšţàñţ çàñ'ţ đöüƃļé-ţŕàñšļàţé ŵĥàţ'š àļŕéàđý đöñé.
Ţĥé ļîƒéçýçļé îš ƒöüŕ ṽéŕƃš öṽéŕ öñé ƒîļé:
kapi extract src/**/*.json -o work.kpz \
--target-lang fr,qps --out 'locales/{lang}/{name}.{ext}' # ingest + record config
kapi translate work.kpz --target-lang fr # transform in place
kapi pseudo-translate work.kpz --target-lang qps # …work accumulates
kapi info work.kpz # documents, locales, dirty?
kapi pack work.kpz # eject the cache → the shareable file
kapi merge work.kpz -o locales/ # emit the finished files
Ŵĥàţ'š ĥàþþéñîñĝ üñđéŕñéàţĥ:
- Éẋţŕàçţ ŕéçöŕđš à šḿàļļ ŕéçîþé (ţàŕĝéţ ļöçàļéš, öüţþüţ ļàýöüţ) šö ļàţéŕ šţéþš ñééđ ñö ƒļàĝš. Ƃý đéƒàüļţ ţĥé
.kpzçàŕŕîéš îđéñţîţý + à ŕöüñđ-ţŕîþ šķéļéţöñ, ñöţ ŕàŵ ƃýţéš;--with-sourceéḿƃéđš ţĥé öŕîĝîñàļš ƒöŕ öƒƒļîñé ŕé-éẋţŕàçţîöñ. - Ţŕàñšƒöŕḿš ŕüñ àĝàîñšţ à ŵöŕķîñĝ çàçĥé ķéýéđ ţö ţĥé
.kpz; ţĥé ƒîļé îţšéļƒ çĥàñĝéš öñļý ŵĥéñ ýöüpack(öŕ þàšš--packöñ à ţŕàñšƒöŕḿ).infoŕéþöŕţšdirtyŵĥéñ ţĥé çàçĥé ĥöļđš üñþàçķéđ ŵöŕķ. Ŕé-ŕüññîñĝ à ţŕàñšƒöŕḿ ŕéüšéš ŵöŕķ àļŕéàđý đöñé, šö ÀÎ šţéþš ñéṽéŕ ŕüñ ţŵîçé. - Ḿéŕĝé ŕéþļàýš ţĥé šţöŕéđ ţŕàñšļàţîöñš öñţö ţĥé šöüŕçé àñđ ŵŕîţéš öñé ƒîļé þéŕ šöüŕçé × ļöçàļé; îţ ñéṽéŕ ŕé-ŕüñš à ţööļ öŕ çàļļš à þŕöṽîđéŕ. Ŵîţĥ ñö
-oîţ üšéš ţĥé ŕéçîþé'š ļàýöüţ. - Àñöţĥéŕ ḿàçĥîñé ĵüšţ ŕéçéîṽéš ţĥé þàçķéđ ƒîļé: ţĥé ƒîŕšţ çöḿḿàñđ ŕéƃüîļđš ţĥé çàçĥé ƒŕöḿ ţĥé
.kpzàļöñé.
Öñé ţĥîñĝ ţö àṽöîđ: ŕüññîñĝ à .kpz ŵöŕķšþàçé àñđ à kapi þŕöĵéçţ öṽéŕ ţĥé šàḿé çöñţéñţ. Üšé ţĥé þàŕçéļ ŵĥéñ ţĥéŕé îš ñö þŕöĵéçţ.
Ţŕý îţ
Ŵàļķ ţĥé ļîƒéçýçļé àš ñàŕŕàţéđ çöḿḿàñđš, ļîṽé îñ ýöüŕ ƃŕöŵšéŕ:
Ļöàđîñĝ ţĥé ŵàļķţĥŕöüĝĥ…
Ţĥéñ đö îţ ýöüŕšéļƒ: ŵöŕķ, þàçķ, ŕéöþéñ öñ à ƒŕéšĥ þàţĥ (à šţàñđ-îñ ƒöŕ àñöţĥéŕ ḿàçĥîñé), àñđ ŵàţçĥ kapi ŕéƃüîļđ ţĥé ŵöŕķšþàçé ƒŕöḿ ţĥé ƒîļé àļöñé:
Ñéẋţ
- Ţĥé Kapi ƒöŕḿàţ ƒàḿîļý &
.kpzþàçķàĝé: ţĥé þàçķàĝé ƒöŕḿàţ àñđ îţš ŵöŕķîñĝ-šţàţé ḿéḿƃéŕš. - Ĥàñđ öƒƒ ţö ţŕàñšļàţöŕš: ţĥé ƃîļîñĝüàļ îñţéŕçĥàñĝé þŕöƒîļé öƒ ţĥé šàḿé ŕöüñđ-ţŕîþ.