Ţŕàñšļàţé ŵîţĥ ýöüŕ ÀÎ
Ĝöàļ: ţĥé šàḿé çöñţéñţ îñ öţĥéŕ ļàñĝüàĝéš, ŵîţĥ öñļý ţĥé ţéẋţ çĥàñĝéđ àñđ ţĥé ķéýš, ţàĝš àñđ šţŕüçţüŕé îñţàçţ. Îñ à þŕöĵéçţ ţĥé ṽéŕƃ îš kapi up: îţ çàţçĥéš éṽéŕý ţàŕĝéţ ļàñĝüàĝé üþ ţö îţš šĥîþ ĝàţé àñđ ĥöļđš ƃàçķ ƒöŕ ŕéṽîéŵ ŵĥàţ ñééđš à þéŕšöñ. Ƒöŕ à ļööšé ƒîļé, kapi translate đöéš öñé ƒîļé, öñé ļàñĝüàĝé. Ţĥé ţŕàđé-öƒƒš ƃéĥîñđ ţĥé ḿöđéļ çĥöîçé ļîṽé îñ Çĥööšé à ţŕàñšļàţîöñ ḿöđéļ; ĥöŵ ţŕàñšļàţîöñ ŵöŕķš àš à ţööļ îñ Ţŕàñšļàţîöñ.
Ţĥé ļööþ šéţţļéš ţĥé šöüŕçé ƒîŕšţ. Çöñţéñţ ƃéļöŵ ţĥé þŕöĵéçţ'š translate_after ļéṽéļ ĥöļđš (source_not_ready) ƒöŕ à šöüŕçé ŕéṽîéŵ, šö ýöü ƒîẋ à đéƒéçţ îñ ţĥé šöüŕçé öñçé àñđ ñöţ öñçé þéŕ ļöçàļé; šéé Šöüŕçé ƒîŕšţ.
- Đéšķţöþ
- Àĝéñţ (Çļàüđé)
- ÇĻÎ
Öþéñ ýöüŕ þŕöĵéçţ: ţĥé çöṽéŕàĝé þàñéļ šĥöŵš öñé ŕöŵ þéŕ ļöçàļé àĝàîñšţ îţš šĥîþ ĝàţé.
- Ƃŕîñĝ üþ ţö đàţé. Çļîçķ Ƃŕîñĝ üþ ţö đàţé: ķàþî ŕüñš ţĥé þŕöĵéçţ'š đéƒàüļţ ƒļöŵ öṽéŕ éṽéŕý ļöçàļé šĥöŕţ öƒ îţš ĝàţé, ļööþîñĝ üñţîļ éàçĥ šçöþé šĥîþš öŕ ŵàîţš ƒöŕ ŕéṽîéŵ. Þŕöĝŕéšš îš þéŕ-ƒîļé àñđ ļîṽé.
- Ŵàţçĥ çöṽéŕàĝé çļîḿƃ. Ŕöŵš ḿöṽé ţöŵàŕđ ţĥéîŕ ĝàţé àš ţŕàñšļàţîöñš ļàñđ; àñýţĥîñĝ à ḿàçĥîñé çàñ'ţ đéçîđé ŵàîţš ƒöŕ ŕéṽîéŵ.
- Ŕéṽîéŵ ţĥé ŵàîţîñĝ ƃļöçķš. Öþéñ ţĥé Ŕéṽîéŵ ǫüéüé ƒŕöḿ à šĥîþ-ĝàţé çéļļ; šéé Ŕéṽîéŵ & àþþŕöṽé.
Ƒöŕ à öñé-öƒƒ ƒîļé ŵîţĥ ñö þŕöĵéçţ, üšé à ǫüîçķ ţööļ: þîçķ ţĥé ţŕàñšļàţé ţööļ, à ƒîļé, àñđ à ţàŕĝéţ ļàñĝüàĝé.
Ţĥé ŕéṽîéŵ ǫüéüé ŵĥéŕé à ŕüñ ļéàṽéš ţĥé ŵöŕķ à þéŕšöñ đéçîđéš: éṽéŕý ļàñĝüàĝé îñ öñé ļîšţ, öñé ƃļöçķ îñ ƒöçüš ŵîţĥ ţĥé çöñţéẋţ ƃéĥîñđ îţ, àñđ à đéçîšîöñ ţàķéñ ƒŕöḿ ţĥé ķéýƃöàŕđ.
Ŵîţĥ ķàþî çöññéçţéđ, àšķ:
Ţŕàñšļàţé
src/locales/en.jsonîñţö Ƒŕéñçĥ àñđ Ĝéŕḿàñ, ķééþ ţĥé þļàçéĥöļđéŕš îñţàçţ, àñđ ƒîẋ àñýţĥîñĝ ţĥé çĥéçķš ƒļàĝ.
Ţĥé àššîšţàñţ ŕöüţéš ţĥé ŵöŕķ ţĥŕöüĝĥ ķàþî šö ţĥé ĝüàŕđŕàîļš àþþļý: àþþŕöṽéđ ţéŕḿš ƒŕöḿ ţĥé ţéŕḿš šţöŕé, ṽöîçé þŕöƒîļé îñ ţĥé þŕöḿþţ, þļàçéĥöļđéŕ îñţéĝŕîţý çĥéçķéđ àƒţéŕ. Îñ à þŕöĵéçţ îţ ŕüñš kapi up àñđ ŕéàđš kapi status ƒöŕ ŵĥàţ ŵàîţš ƒöŕ ŕéṽîéŵ; ƒöŕ à šîñĝļé đöçüḿéñţ îţ ţŕàñšļàţéš ƃļöçķ ƃý ƃļöçķ àñđ ŵŕîţéš ţĥé ŕéšüļţ ƃàçķ ŵîţĥ ţĥé ƒîļé'š šţŕüçţüŕé ķéþţ. Éîţĥéŕ ŵàý îţ ƒîñîšĥéš ƃý çĥéçķîñĝ, àñđ ƒîẋéš ŵĥàţ ţĥé ĝàţé ƒļàĝš ƃéƒöŕé ţéļļîñĝ ýöü îţ'š đöñé.
Îñ à þŕöĵéçţ: ţĥé ŕéçîþé đéçļàŕéš ţĥé ļàñĝüàĝéš àñđ çöñţéñţ, šö ţĥé ŵĥöļé ĵöƃ îš öñé ṽéŕƃ:
kapi up # catch every locale up to its ship gate; the rest waits for review
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
--target-lang ţàķéš öñé ļàñĝüàĝé ţàĝ, àñđ ķàþî ŕéƒüšéš à ļîšţ šüçĥ àš fr,de ƃéƒöŕé îţ ŕéàđš àñýţĥîñĝ. Ƒöŕ šéṽéŕàļ ļàñĝüàĝéš, ŕüñ ţĥé çöḿḿàñđ öñçé þéŕ ļàñĝüàĝé, öŕ đéçļàŕé ţĥé ļàñĝüàĝéš îñ à þŕöĵéçţ àñđ ŕüñ kapi up.
Ţĥé đéƒàüļţ éñĝîñé îš àñ ĻĻḾ; kapi models setup đéţéçţš ŵĥàţ ýöü àļŕéàđý ĥàṽé (à Çļàüđé Çöđé šîĝñ-îñ, àñ ÀÞÎ ķéý îñ ţĥé éñṽîŕöñḿéñţ, öŕ à ļöçàļ Öļļàḿà ḿöđéļ) àñđ šàṽéš îţ àš ţĥé đéƒàüļţ (Çĥööšé à ţŕàñšļàţîöñ ḿöđéļ).
Ñéẋţ
- Àđđ ļàñĝüàĝéš: ţĥé ƒüļļ öñ-ŕàḿþ: ļöçàļéš →
up→ ŕéṽîéŵ → ĝàţéš. - Éšţîḿàţé à ŕüñ'š çöšţ: šîžé ţĥé ĵöƃ ƒîŕšţ.
- Ķééþ ţéŕḿš çöñšîšţéñţ: éñƒöŕçé ýöüŕ àþþŕöṽéđ ţéŕḿš.
- Šĥîþ ĝàţéš & ÇÎ:
kapi check --shipƃéƒöŕé à ŕéļéàšé.