ķàþî þüšĥ
Šĥàŕé ýöüŕ çĥéçķöüţ'š ŵöŕķ ŵîţĥ ţĥé ţéàḿ. À þüšĥ šéñđš ţĥé çöñţéñţ, ţéŕḿš
éđîţš, ṽöîçé ƃîñđîñĝ, đéçîšîöñš àñđ ţĥé
šéţţîñĝš ţĥé ŕéçîþé öŵñš ţö ţĥé
ŵöŕķšþàçé, ŵĥéŕé ţĥé ƃŕöŵšéŕ, Ķàþî Đéšķţöþ àñđ éṽéŕý öţĥéŕ çĥéçķöüţ ŕéàđ ţĥéḿ.
kapi push öñļý ḿöṽéš çöñţéñţ àñđ đŕàƒţš ñöţĥîñĝ. Ŵîţĥ ţĥé þŕöĵéçţ'š
bowrain.converge þöļîçý àţ îţš đéƒàüļţ on-push, ţĥé šéŕṽéŕ šţàŕţš à ŕüñ
ŵĥéñ ţĥé þüšĥ ļàñđš.
Üšàĝé
kapi push [paths...] [flags]
Éẋàḿþļéš
# Push all local changes to the server
kapi push
# Push specific files
kapi push src/locales/en/
# Show what would be pushed without uploading
kapi push --dry-run
# Re-upload every block, ignoring what the server already holds
kapi push --force
# Push only local terms edits (no content, no automations)
kapi push --concepts
# Example output:
# Pushed 47 blocks (scanned 12 files)
Öþţîöñš
| Ƒļàĝ | Đéšçŕîþţîöñ | Đéƒàüļţ |
|---|---|---|
--force | Ŕé-üþļöàđ éṽéŕýţĥîñĝ, éṽéñ üñçĥàñĝéđ ƃļöçķš | false |
--dry-run | Šĥöŵ ŵĥàţ ŵöüļđ ƃé üþļöàđéđ ŵîţĥöüţ šéñđîñĝ | false |
--stream | Ţàŕĝéţ šţŕéàḿ (đéƒàüļţ: àüţö-đéţéçţéđ ƒŕöḿ ĝîţ/ÇÎ) | $auto |
--concepts | Šýñç öñļý ļöçàļ ţéŕḿš éđîţš ţö ţĥé ŵöŕķšþàçé (đîŕéçţ éđîţš + ĝöṽéŕñéđ çĥàñĝé-šéţ); ñö çöñţéñţ ţŕàñšþöŕţ, ñö àüţöḿàţîöñš | false |
Ţĥé þŕöţöçöļ
À þüšĥ đéçļàŕéš îţš ţŕéé àñđ üþļöàđš öñļý ŵĥàţ ţĥé šéŕṽéŕ ļàçķš. Ţĥé šàḿé
þŕöţöçöļ šéŕṽéš kapi push, kapi up, àñđ ţĥé šéŕṽéŕ-šîđé çöññéçţöŕš, àñđ
kapi pull ŕéàđš ţĥé šàḿé ţŕéé ƃàçķ.
- Šçàñ. ķàþî ŕéàđš ţĥé ŕéçîþé'š
collections:, éẋţŕàçţš éṽéŕý ƃļöçķ, àñđ çöḿþüţéš à ĥàšĥ öƒ éàçĥ îţéḿ'š çöñţéñţ, îñļîñé çöđéš îñçļüđéđ, šö à çĥàñĝéđ ļîñķ çöüñţš àš à çĥàñĝéđ ƃļöçķ. ΃ à ƒîļé à çöļļéçţîöñ çöṽéŕš çàññöţ ƃé ŕéàđ (îţ ƒàîļš ţö þàŕšé, öŕ îţ îš à çàţàļöĝ îñ à šçĥéḿà ţĥîš ķàþî đöéš ñöţ ŕéàđ), ţĥé þüšĥ šţöþš ƃéƒöŕé šéñđîñĝ àñýţĥîñĝ àñđ ñàḿéš ţĥé ƒîļé àñđ ţĥé ŕéàšöñ. À ƒîļé ţĥàţ ñö ƒöŕḿàţ ŕéàđš îš ļéƒţ öüţ öƒ ţĥé ţŕéé, àñđ ţĥé šéŕṽéŕ ķééþš ŵĥàţ îţ ĥöļđš àţ ţĥàţ þàţĥ. - Đéçļàŕé ţĥé ţŕéé. Ţĥé çļîéñţ šéñđš ţĥé šéŕṽéŕ îţš ŵĥöļé ţŕéé: éṽéŕý ţŕàçķéđ îţéḿ, îţš þàţĥ, îţš çöļļéçţîöñ àñđ ţĥé þöîñţ îţ šîţš àţ, àñđ îţš ĥàšĥ. Ţĥé šéŕṽéŕ đš ţĥàţ àĝàîñšţ ţĥé ţŕéé îţ ĥöļđš àñđ àñšŵéŕš ŵîţĥ ţĥé îţéḿš îţ ñééđš.
- Üþļöàđ. Öñļý ţĥé îţéḿš ţĥé šéŕṽéŕ àšķéđ ƒöŕ ţŕàṽéļ, îñ çĥüñķš, ţö þŕéšîĝñéđ üþļöàđ ÜŔĻš (öŕ ţĥŕöüĝĥ ţĥé šéŕṽéŕ ŵĥéñ ţĥé ƃļöƃ šţöŕé îš ñöţ ŕéàçĥàƃļé ƒŕöḿ ţĥé çļîéñţ). Ḿéđîà àššéţš ŕéƒéŕéñçéđ ƃý ţĥé çöñţéñţ ţŕàṽéļ ţĥé šàḿé ŵàý.
- Çöḿḿîţ. Ţĥé çļîéñţ çöḿḿîţš à ḿàñîƒéšţ ñàḿîñĝ ŵĥàţ îţ üþļöàđéđ. Ţĥé
šéŕṽéŕ ṽàļîđàţéš îţ, àñšŵéŕš
202, àñđ à ŵöŕķéŕ àþþļîéš ţĥé þüšĥ: çöñţéñţ îš šţöŕéđ, àñđ ţĥé öüţþüţ'šingestƒîéļđ šàýš ŵĥéţĥéŕ ţĥé þüšĥ ŵàš àþþļîéđ öŕ ǫüéüéđ ŵĥéñ ţĥé çöḿḿàñđ ŕéţüŕñéđ.
Ƃéçàüšé ţĥé þüšĥ đéçļàŕéš ţĥé ŵĥöļé ţŕéé, ţĥé šéŕṽéŕ àļšö ĥàñđļéš:
- Đéļéţîöñš. À þàţĥ þŕéšéñţ îñ ţĥé ļàšţ ţŕéé àñđ àƃšéñţ ƒŕöḿ ţĥîš öñé îš ŕéţîŕéđ öñ ţĥé šéŕṽéŕ, öñ ţĥîš šţŕéàḿ.
- Ŕéñàḿéš. Àñ îţéḿ ŵîţĥ ţĥé šàḿé çöñţéñţ àţ à ñéŵ þàţĥ îš à ŕéñàḿé, šö îţš ţàŕĝéţš, đéçîšîöñš àñđ ĥîšţöŕý ḿöṽé ŵîţĥ îţ îñšţéàđ öƒ šţàŕţîñĝ öṽéŕ.
- Çöļļéçţîöñš àñđ þöîñţš. Éàçĥ îţéḿ àŕŕîṽéš ŵîţĥ ţĥé çöļļéçţîöñ àñđ ţĥé çööŕđîñàţéš ţĥé ŕéçîþé ŕéšöļṽéđ ƒöŕ îţ; ţĥé ŵöŕķšþàçé'š þŕöƒîļé çàŕđš àŕé đéŕîṽéđ ƒŕöḿ ţĥàţ đéçļàŕàţîöñ. Ţĥé šéŕṽéŕ ŕéƒüšéš çöñţéñţ àţ à þöîñţ ŵĥöšé àẋîš ñö ŕéçîþé đéçļàŕéš.
.kapi/sync/sync-cache.json ŕéçöŕđš ţĥé ļàšţ ţŕéé ţĥé çļîéñţ đéçļàŕéđ àñđ ţĥé
ŕéƒ îţ ŵàš çöḿḿîţţéđ àš. Îţ îš ĝîţîĝñöŕéđ àñđ šüŕṽîṽéš đéļéţîñĝ .kapi/work/.
Đéļéţîñĝ îţ ļöšéš àñ àñöñýḿöüš þŕöĵéçţ'š çļàîḿ ţöķéñ. Öţĥéŕŵîšé ţĥé ñéẋţ þüšĥ
đéçļàŕéš ţĥé ţŕéé àĝàîñ, àñđ ţĥé šéŕṽéŕ àñšŵéŕš ŵîţĥ ŵĥàţ îţ ļàçķš.
Đéçîšîöñš ţĥé šéŕṽéŕ àççéþţš
Þüšĥ çàŕŕîéš ţĥé þŕöĵéçţ'š çöḿḿîţţéđ đéçîšîöñ ŕéçöŕđ ŵîţĥ ţĥé çöñţéñţ îţ àþþļîéš ţö. Ţĥé šéŕṽéŕ đéçîđéš ŕéṽîéŵ, šö àñ àþþŕöṽàļ šéñţ ţĥîš ŵàý ƒöļļöŵš ţĥé šàḿé ŕüļéš àš öñé ḿàđé îñ ţĥé ŵéƃ àþþ. Ýöü ñééđ ŕéṽîéŵ þéŕḿîššîöñ ƒöŕ ţĥàţ ļàñĝüàĝé îñ ţĥàţ þŕöĵéçţ, àñđ ţĥé ŵöŕķšþàçé'š šéþàŕàţîöñ öƒ đüţîéš àþþļîéš ŵîţĥ ýöü àš ţĥé đéçîđéŕ.
À þüšĥ àļšö çàŕŕîéš ĥöŵ éàçĥ ţŕàñšļàţîöñ ŵàš ŵŕîţţéñ, ƒŕöḿ ţĥé þŕöĵéçţ'š ŕéçöŕđ öƒ îţš çĥàñĝéš: ţĥé šöüŕçé à ŕüñ ḿàđé îţ ƒŕöḿ, àñđ ŵĥö ŵŕöţé îţ.
- Ţĥé šéŕṽéŕ ĝŕàđéš à ţŕàñšļàţîöñ à ŕüñ öñ ýöüŕ ḿàçĥîñé þŕöđüçéđ àĝàîñšţ ţĥàţ šöüŕçé, àš îţ ĝŕàđéš öñé îţ đŕàƒţéđ îţšéļƒ. ΃ ţĥé šöüŕçé çĥàñĝéđ šîñçé, îñ îţš ŵöŕđîñĝ öŕ àñ îñļîñé çöđé šüçĥ àš à ļîñķ, ţĥé đàšĥƃöàŕđ šĥöŵš îţ àš šţàļé, àš ýöüŕ ḿàçĥîñé đöéš (šéé Ŵĥàţ àñ àþþŕöṽàļ ļéàṽéš ƃéĥîñđ).
- À ţŕàñšļàţîöñ ýöü ŵŕöţé ƃý ĥàñđ (ŵîţĥ
kapi apply, îñ Ķàþî Đéšķţöþ, öŕ ţĥŕöüĝĥ àñ àĝéñţ ŵöŕķîñĝ ƒöŕ ýöü) çöüñţš àš ýöüŕš ƒöŕ šéþàŕàţîöñ öƒ đüţîéš. Ŵĥéñ ţĥé ŵöŕķšþàçé þöļîçý ƃļöçķš àþþŕöṽîñĝ ýöüŕ öŵñ ŵöŕķ, ţĥé šéŕṽéŕ ŕéƒüšéš ýöüŕ àþþŕöṽàļ öƒ îţ, îñ ţĥé šàḿé þüšĥ öŕ à ļàţéŕ öñé. - À ţŕàñšļàţîöñ ţĥàţ à ŕüñ þŕöđüçéđ, öŕ ţĥàţ
kapi pullöŕkapi mergeƃŕöüĝĥţ îñ, ñàḿéš ñö àüţĥöŕ.
Éàçĥ ţŕàñšļàţîöñ'š ŕéçöŕđ îš šéñţ öñçé, àñđ àĝàîñ ŵĥéñ îţ çĥàñĝéš.
Ţĥé çöñţéñţ ļàñđš éîţĥéŕ ŵàý. Ţĥé þüšĥ ŕéþöŕţš éàçĥ ṽéŕđîçţ ţĥé šéŕṽéŕ ŕéƒüšéđ, þéŕ ļàñĝüàĝé, àñđ ţĥé ţŕàñšļàţîöñ šţàýš àŵàîţîñĝ ŕéṽîéŵ:
Pushed 47 blocks (12 uploaded), 512 words (scanned 12 files)
2 approvals not accepted for fr-FR: no review permission
1 approval not accepted for de-DE: separation of duties
3 local record(s) now match the platform; they will not be sent again
Ţĥé ļàšţ ļîñé šĥöŵš ţĥé þŕöĵéçţ'š ŕéçöŕđ üþđàţéđ ţö ţĥé šéŕṽéŕ'š àñšŵéŕ, šö ţĥé ñéẋţ þüšĥ đöéš ñöţ šéñđ ţĥé šàḿé ŕéƒüšéđ ṽéŕđîçţš àĝàîñ.
Ŵîţĥđŕàŵîñĝ àñ àþþŕöṽàļ ñééđš ţĥé šàḿé þéŕḿîššîöñ. À þüšĥ ţĥàţ ļöŵéŕš à ţàŕĝéţ ţĥé šéŕṽéŕ ĥöļđš àš àþþŕöṽéđ, ŵîţĥ ţĥé ţŕàñšļàţîöñ àñđ îţš šöüŕçé üñçĥàñĝéđ, ŵîţĥđŕàŵš ţĥé àþþŕöṽàļ. Ţĥé ŵîţĥđŕàŵàļ àþþļîéš öñļý ŵĥéñ ýöü ĥöļđ ŕéṽîéŵ þéŕḿîššîöñ ƒöŕ ţĥàţ ļàñĝüàĝé. Öţĥéŕŵîšé ţĥé ţŕàñšļàţîöñ šţàýš àþþŕöṽéđ, ţĥé þüšĥ ŕéþöŕţš ţĥé đéḿöţîöñ îţ đîđ ñöţ àþþļý, àñđ ķàþî ŕéšţöŕéš ţĥé þŕöĵéçţ'š ŕéçöŕđ ţö ŵĥàţ ţĥé šéŕṽéŕ ĥöļđš:
1 demotion not accepted for nb-NO: withdrawing an approved translation needs review permission
1 local record(s) now match the platform; they will not be sent again
À ŕéĵéçţîöñ àþþļîéš ţö ţĥé ţŕàñšļàţîöñ îţ ñàḿéš. ΃ ţĥé šéŕṽéŕ ŕéþļàçéđ ţĥàţ ţŕàñšļàţîöñ àƒţéŕ ýöüŕ ŵöŕķîñĝ çöþý ļàšţ þüļļéđ, ţĥé ŕéĵéçţîöñ ļéàṽéš ţĥé šéŕṽéŕ'š ţŕàñšļàţîöñ àš îţ îš, ŵîţĥ îţš ŕüñĝ àñđ îţš ŕéçöŕđ. Ţĥé þüšĥ ŕéþöŕţš ţĥé ŕéĵéçţîöñ îţ đîđ ñöţ àþþļý, àñđ ķàþî ŕéþļàçéš ţĥé þŕöĵéçţ'š ŕéçöŕđ ŵîţĥ ţĥé šéŕṽéŕ'š. Þüļļ ƃéƒöŕé ŕéĵéçţîñĝ, šö ţĥàţ ţĥé ŕéĵéçţîöñ ñàḿéš ţĥé ţŕàñšļàţîöñ öñ ţĥé šéŕṽéŕ.
1 demotion not accepted for nb: the rejection names a translation the platform no longer holds
1 local record(s) now match the platform; they will not be sent again
Àñ éđîţéđ ţŕàñšļàţîöñ ļàñđš àţ ţŕàñšļàţéđ, àš àñ éđîţ ḿàđé îñ ţĥé ŵéƃ àþþ đöéš. Ţàķîñĝ ƃàçķ àñ àþþŕöṽàļ àţ ŕéṽîéŵéđ îš öŕđîñàŕý ţŕàñšļàţîöñ ŵöŕķ àñđ ñééđš ñö ŕéṽîéŵ þéŕḿîššîöñ.
kapi up þŕîñţš ţĥé šàḿé ļîñéš àƒţéŕ îţš þüšĥ þĥàšé, öñ à çöññéçţéđ þŕöĵéçţ àñđ
àƒţéŕ kapi up --local. Ŵîţĥ --json îţ ŵŕîţéš ţĥéḿ àš öñé governance ŕéçöŕđ
îñ îţš ÑĐĴŠÖÑ šţŕéàḿ, ŵîţĥ ţĥé ƒîéļđ ñàḿéš kapi push --json üšéš:
{"type":"governance","verdicts_refused":[{"locale":"nb","kind":"demotion","reason":"the rejection names a translation the platform no longer holds","count":1}],"verdicts_retired":1}
Ţéŕḿš éđîţš
Ŵĥéñ ţĥé þŕöĵéçţ îš çļàîḿéđ îñţö à ŵöŕķšþàçé àñđ à ƃàšéļîñé ŵàš þüļļéđ (šéé
kapi pull), þüšĥ àļšö ŕéçöñçîļéš ļöçàļ ţéŕḿš éđîţš îñ
ţĥé ƃöüñđ ţéŕḿš šţöŕé àĝàîñšţ ţĥàţ ƃàšéļîñé. Öŕđîñàŕý éđîţš, šüçĥ àš
đéƒîñîţîöñš, ñöţéš, þŕöþöšéđ ţéŕḿš àñđ ñöñ-ĝöṽéŕñéđ ŕéļàţîöñš, àþþļý đîŕéçţļý
ţĥŕöüĝĥ ţĥé çöñçéþţ éñđþöîñţš. Ĝöṽéŕñéđ éđîţš, šüçĥ àš à ţéŕḿ šéţ ţö
forbidden öŕ preferred, àñ üñ-ƒöŕƃîđđîñĝ, à replaced_by ŕéļàţîöñ, öŕ à
çöñçéþţ đéļéţé, ĝö îñţö à šîñĝļé šüƃḿîţţéđ çĥàñĝé-šéţ þŕöþöšàļ ƒöŕ
ŕéṽîéŵ, ŵîţĥ ţĥé šàḿé šéþàŕàţîöñ öƒ đüţîéš ţĥé
Çöñţéẋţ ĥüƃ éñƒöŕçéš. Þüšĥ ŕéþöŕţš ŵĥàţ
àþþļîéđ đîŕéçţļý àñđ ŵĥàţ îţ þŕöþöšéđ, ŵîţĥ à ļîñķ ţö ŕéṽîéŵ ţĥé çĥàñĝé-šéţ.
Ţĥé ṽöîçé ƃîñđîñĝ
Ŵĥéñ ţĥé ŕéçîþé ƃîñđš à ṽöîçé þŕöƒîļé (defaults.voice, öŕ à þŕöƒîļé'š öŵñ
voice:), þüšĥ çàŕŕîéš îţ îñţö ţĥé
ŵöŕķšþàçé Çöñţéẋţ ĥüƃ, ḿàţçĥéđ ƃý þŕöƒîļé ñàḿé: çŕéàţéđ öñ
ƒîŕšţ þüšĥ, ļéƒţ àļöñé ŵĥéñ ţĥé çöñţéñţ îš üñçĥàñĝéđ, àñđ öţĥéŕŵîšé àþþļîéđ àš
à ñéŵ þŕöƒîļé ṽéŕšîöñ. Ţĥé þŕéṽîöüš šéŕṽéŕ-šîđé ṽéŕšîöñ šţàýš îñ ţĥé
ṽéŕšîöñ ĥîšţöŕý, àñđ ṽöçàƃüļàŕý ŕüļéš ţĥé šéŕṽéŕ þŕöḿöţéđ ƒŕöḿ çöŕŕéçţîöñš àŕé
ķéþţ. Ţĥé öüţþüţ ŕéþöŕţš ŵĥéţĥéŕ ţĥé ṽöîçé ŵàš çàŕŕîéđ, šķîþþéđ, öŕ ŵöüļđ ƃé
þüšĥéđ öñ à đŕý ŕüñ.
Éẋîţ çöđéš
0: šüççéšš (çĥàñĝéš þüšĥéđ öŕ àļŕéàđý üþ ţö đàţé)1: éŕŕöŕ (šéŕṽéŕ ŕéĵéçţéđ, ñéţŵöŕķ éŕŕöŕ, àñđ šö öñ)
Ŕéļàţéđ çöḿḿàñđš
kapi pull: ƒéţçĥ ţĥé šéŕṽéŕ'š çĥàñĝéš îñţö ţĥé ţŕéékapi status: çöṽéŕàĝé, šĥîþ šţàñđîñĝ, àñđ ŵĥàţ îš þéñđîñĝkapi diff: ţĥé çĥàñĝéđ ƃļöçķš, þéŕ ƒîļékapi up: þüšĥ, ŕüñ öñ ţĥé šéŕṽéŕ, þüļļ
Ŵĥéñ ţö üšé
Þüšĥ ţö Ƃöŵŕàîñ Šéŕṽéŕ ţö:
- Šĥàŕé ýöüŕ ŵöŕķ ŵîţĥ ýöüŕ ţéàḿ, àñđ ļéţ ţĥé šéŕṽéŕ çàţçĥ ţĥé þŕöĵéçţ üþ
- Šéñđ ţéŕḿš éđîţš: öŕđîñàŕý éđîţš ļàñđ đîŕéçţļý; ĝöṽéŕñéđ éđîţš ţŕàṽéļ üþ àš à çĥàñĝé-šéţ þŕöþöšàļ
- Çàŕŕý ţĥé ṽöîçé þŕöƒîļé ţĥé ŕéçîþé ƃîñđš
- Îñţéĝŕàţé ŵîţĥ ÇÎ/ÇĐ þîþéļîñéš, ŵĥéŕé
kapi upîš üšüàļļý ţĥé ƃéţţéŕ ṽéŕƃ ƃéçàüšé îţ àļšö ŵàîţš ƒöŕ ţĥé ŕüñ àñđ þüļļš ţĥé ŕéšüļţš
Ƃéšţ þŕàçţîçéš
- Ŕüñ
kapi statusƃéƒöŕé þüšĥîñĝ ţö šéé ŵĥàţ çĥàñĝéđ - Þüļļ ƒîŕšţ îƒ ŵöŕķîñĝ ŵîţĥ à ţéàḿ, šö ţĥé ţŕéé ýöü đéçļàŕé îš çüŕŕéñţ
- Üšé
--dry-runŵĥéñ üñšüŕé àƃöüţ ŵĥàţ ŵîļļ ƃé üþļöàđéđ