Ţŕàñšļàţé ŵîţĥ ýöüŕ ÀÎ
Ĝöàļ: ţĥé šàḿé çöñţéñţ îñ öţĥéŕ ļàñĝüàĝéš: öñļý ţĥé ţéẋţ çĥàñĝéš; ķéýš, ţàĝš, àñđ šţŕüçţüŕé ŕöüñđ-ţŕîþ ƃàçķ îñţàçţ. Îñ à þŕöĵéçţ ţĥé ṽéŕƃ îš kapi up: îţ çàţçĥéš éṽéŕý ţàŕĝéţ ļàñĝüàĝé üþ ţö îţš šĥîþ ĝàţé àñđ þàŕķš ŵĥàţ ñééđš à þéŕšöñ. Ƒöŕ à ļööšé ƒîļé, kapi translate đöéš öñé ƒîļé, öñé ļàñĝüàĝé. Ţĥé ţŕàđé-öƒƒš ƃéĥîñđ ţĥé ḿöđéļ çĥöîçé ļîṽé îñ Çĥööšé à ţŕàñšļàţîöñ ḿöđéļ; ĥöŵ ţŕàñšļàţîöñ ŵöŕķš àš à ţööļ îñ Ţŕàñšļàţîöñ.
Ţĥé ļööþ šéţţļéš ţĥé šöüŕçé ƃéƒöŕé îţ ƒàñš öüţ: çöñţéñţ ƃéļöŵ ţĥé þŕöĵéçţ'š source_gate ĥöļđš (source_not_ready) ƒöŕ à šöüŕçé ŕéṽîéŵ ŕàţĥéŕ ţĥàñ ƃéîñĝ ţŕàñšļàţéđ îñţö éṽéŕý ļàñĝüàĝé, šö à đéƒéçţ îñ ţĥé šöüŕçé îš ƒîẋéđ öñçé ŕàţĥéŕ ţĥàñ öñçé þéŕ ļöçàļé; šéé Šöüŕçé ƒîŕšţ.
- Đéšķţöþ
- Àĝéñţ (Çļàüđé)
- ÇĻÎ
Öþéñ ýöüŕ þŕöĵéçţ: ţĥé çöṽéŕàĝé þàñéļ šĥöŵš öñé ŕöŵ þéŕ ļöçàļé àĝàîñšţ îţš šĥîþ ĝàţé.
- Ƃŕîñĝ üþ ţö đàţé. Çļîçķ Ƃŕîñĝ üþ ţö đàţé: kapi ŕüñš ţĥé þŕöĵéçţ'š đéƒàüļţ ƒļöŵ öṽéŕ éṽéŕý ļöçàļé šĥöŕţ öƒ îţš ĝàţé, ļööþîñĝ üñţîļ éàçĥ šçöþé šĥîþš öŕ þàŕķš. Þŕöĝŕéšš îš þéŕ-ƒîļé àñđ ļîṽé.
- Ŵàţçĥ çöṽéŕàĝé çļîḿƃ. Ŕöŵš ḿöṽé ţöŵàŕđ ţĥéîŕ ĝàţé àš ţŕàñšļàţîöñš ļàñđ; àñýţĥîñĝ à ḿàçĥîñé çàñ'ţ đéçîđé þàŕķš ƒöŕ ŕéṽîéŵ.
- Ŕéṽîéŵ ţĥé þàŕķéđ üñîţš. Öþéñ ţĥé Ŕéṽîéŵ ǫüéüé ƒŕöḿ à šĥîþ-ĝàţé çéļļ; šéé Ŕéṽîéŵ & àþþŕöṽé.
Ƒöŕ à öñé-öƒƒ ƒîļé ŵîţĥ ñö þŕöĵéçţ, üšé à ǫüîçķ ţööļ: þîçķ ţĥé ţŕàñšļàţé ţööļ, à ƒîļé, àñđ à ţàŕĝéţ ļàñĝüàĝé.
Ţĥé ŕéṽîéŵ ǫüéüé à ŕüñ þàŕķš ŵöŕķ îñţö: éṽéŕý ļàñĝüàĝé îñ öñé ļîšţ, öñé üñîţ îñ ƒöçüš ŵîţĥ ţĥé çöñţéẋţ ƃéĥîñđ îţ, àñđ à đéçîšîöñ ţàķéñ ƒŕöḿ ţĥé ķéýƃöàŕđ.
Ŵîţĥ kapi çöññéçţéđ, àšķ:
Ţŕàñšļàţé
src/locales/en.jsonîñţö Ƒŕéñçĥ àñđ Ĝéŕḿàñ, ķééþ ţĥé þļàçéĥöļđéŕš îñţàçţ, àñđ ƒîẋ àñýţĥîñĝ ţĥé çĥéçķš ƒļàĝ.
Ţĥé àššîšţàñţ ŕöüţéš ţĥé ŵöŕķ ţĥŕöüĝĥ kapi šö ţĥé ĝüàŕđŕàîļš àþþļý: àþþŕöṽéđ ţéŕḿš ƒŕöḿ ţĥé ţéŕḿš šţöŕé, ṽöîçé þŕöƒîļé îñ ţĥé þŕöḿþţ, þļàçéĥöļđéŕ îñţéĝŕîţý çĥéçķéđ àƒţéŕ. Îñ à þŕöĵéçţ îţ ŕüñš kapi up àñđ ŕéàđš kapi status ƒöŕ ŵĥàţ þàŕķéđ; ƒöŕ à šîñĝļé đöçüḿéñţ îţ ţŕàñšļàţéš ƃļöçķ ƃý ƃļöçķ àñđ ļàñđš ţĥé ŕéšüļţ ţĥŕöüĝĥ ţĥé ƒàîţĥƒüļ ŕöüñđ-ţŕîþ. Éîţĥéŕ ŵàý îţ ƒîñîšĥéš ƃý çĥéçķîñĝ, àñđ ƒîẋéš ŵĥàţ ţĥé ĝàţé ƒļàĝš ƃéƒöŕé ţéļļîñĝ ýöü îţ'š đöñé.
Îñ à þŕöĵéçţ: ţĥé ŕéçîþé đéçļàŕéš ţĥé ļàñĝüàĝéš àñđ çöñţéñţ, šö ţĥé ŵĥöļé ĵöƃ îš öñé ṽéŕƃ:
kapi up # catch every locale up to its ship gate; park the rest
kapi up --passes 1 # a single pass (the behavior of the bare 'kapi run')
kapi status # coverage per locale: informational, never fails
up ŕé-đéŕîṽéš çöṽéŕàĝé ƒŕöḿ ţĥé ŵöŕķîñĝ ţŕéé éàçĥ þàšš àñđ ŕüñš ţĥé ƒļöŵ öñļý ƒöŕ ţĥé ļöçàļéš šţîļļ šĥöŕţ öƒ ţĥéîŕ ĝàţé. Ţĥé þŕöĵéçţ šţöŕé ŕéüšéš ŵĥàţ ýöü'ṽé àļŕéàđý ţŕàñšļàţéđ, šö à ŕüñ öñļý ţöüçĥéš ŵĥàţ çĥàñĝéđ; šéé Ŕéüšé ŵĥàţ ýöü'ṽé ţŕàñšļàţéđ.
Àđ-ĥöç: öñé ƒîļé, öñé ļàñĝüàĝé, ƒļàĝš ƒöŕ éṽéŕýţĥîñĝ:
kapi translate -i src/locales/en.json --target-lang fr -o src/locales/fr.json
kapi translate -i guide.md --target-lang de # documents work the same way
Ţĥé đéƒàüļţ éñĝîñé îš àñ ĻĻḾ; kapi models setup đéţéçţš ŵĥàţ ýöü àļŕéàđý ĥàṽé (à Çļàüđé Çöđé šîĝñ-îñ, àñ ÀÞÎ ķéý îñ ţĥé éñṽîŕöñḿéñţ, öŕ à ļöçàļ Öļļàḿà ḿöđéļ) àñđ šàṽéš îţ àš ţĥé đéƒàüļţ (Çĥööšé à ţŕàñšļàţîöñ ḿöđéļ).
Ñéẋţ
- Àđđ ļàñĝüàĝéš: ţĥé ƒüļļ öñ-ŕàḿþ: ļöçàļéš →
up→ ŕéṽîéŵ → ĝàţéš. - Éšţîḿàţé à ŕüñ'š çöšţ: šîžé ţĥé ĵöƃ ƒîŕšţ.
- Ķééþ ţéŕḿš çöñšîšţéñţ: éñƒöŕçé ýöüŕ àþþŕöṽéđ ţéŕḿš.
- Šĥîþ ĝàţéš & ÇÎ:
kapi check --shipƃéƒöŕé à ŕéļéàšé.