Šķîþ ţö ḿàîñ çöñţéñţ

ķàþî šéŕîàļîžàţîöñ ƒöŕḿàţš

Ţĥéšé àŕé ţĥé ƒöŕḿàţš ķàþî ŵŕîţéš ƒöŕ îţšéļƒ: ţĥé öñ-đîšķ šĥàþéš îţ üšéš ţö ḿöṽé îţš öŵñ çöñţéñţ, ḿéḿöŕý, ţéŕḿîñöļöĝý, àññöţàţîöñš àñđ đéçîšîöñš ƃéţŵééñ çöḿḿàñđš, ḿàçĥîñéš àñđ þéöþļé.

Ţĥéý àŕé đîšţîñçţ ƒŕöḿ ţĥé ƒöŕḿàţš ķàþî ŕéàđš àñđ ŵŕîţéš öñ ýöüŕ ƃéĥàļƒ (ĴŠÖÑ çàţàļöĝš, ĐÖÇẊ, Ḿàŕķđöŵñ, strings.xml àñđ ţĥé ŕéšţ), ŵĥîçĥ àŕé çöṽéŕéđ îñ ţĥé ƒöŕḿàţ ŕéƒéŕéñçé.

Ţĥŕéé ķîñđš öƒ àŕţîƒàçţ​

À ƒîļé îñ ţĥîš ƒàḿîļý þļàýš öñé öƒ ţĥŕéé ŕöļéš.

À þŕöĵéçţîöñ îš đéŕîṽéđ ŵöŕķîñĝ šţàţé. .kapi/work/store.db ĥöļđš ŵĥàţ ķàþî ŕéàđ öüţ öƒ ţĥé ŵöŕķîñĝ ţŕéé: ţĥé ƃļöçķ çàçĥé, ţĥé öṽéŕļàýš à ŕüñ ŵŕöţé, ţĥé šķéļéţöñ àñđ þàŕšé çàçĥéš ƃéšîđé îţ. Îţ îš ƒàšţ, îñđéẋéđ, ḿüţàƃļé àñđ ŕéƃüîļđàƃļé ƒŕöḿ ţĥé çöñţéñţ ƒîļéš.

À çöñţéẋţ šţöŕé îš àüţĥöŕéđ šţàţé. Ţĥé þŕöĵéçţ'š öŵñ šţöŕé, îñ à ŵöŕķšþàçé öüţšîđé ţĥé çĥéçķöüţ, ĥöļđš ţĥé çöñţéñţ ḿéḿöŕý, ţĥé ţéŕḿš, ţĥé ṽöîçé þŕöƒîļéš àñđ ţĥé đéçîšîöñ ļéđĝéŕ. Éṽéŕý çĥéçķöüţ öƒ ţĥé þŕöĵéçţ ŕéàđš îţ, ñöţĥîñĝ ŕéƃüîļđš îţ, àñđ kapi store export îš îţš ƃàçķüþ. Šéé ţĥé þŕöĵéçţ šţöŕé.

À ƃüñđļé îš à þöŕţàƃļé šéŕîàļîžàţîöñ. Öñé ŕéṽîéŵàƃļé, ĥàšĥàƃļé, đ-àƃļé ƒîļé çàŕŕýîñĝ ţĥé šàḿé çöñţéñţ ļöššļéššļý: à çöñţéñţ ƃüñđļé, à çöñţéñţ-ḿéḿöŕý ƃüñđļé, à ţéŕḿš ƃüñđļé, à ṽöîçé þŕöƒîļé, à þŕöĵéçţ ƃļöçķ-šţàţé ŕéçöŕđ, öŕ à ŵĥöļé þŕöĵéçţ àŕçĥîṽé. Ƃüñđļéš ḿöṽé: ţĥéý àŕé ŵĥàţ ýöü ĥàñđ öṽéŕ, šĥîþ, öŕ þüţ îñ à þüļļ ŕéǫüéšţ.

Ĥöŵ ƃüñđļéš àñđ ţĥé šţöŕé ŕéļàţé​

Ƃüñđļéš šéŕîàļîžé àüţĥöŕéđ çöñţéẋţ ƒöŕ éẋçĥàñĝé àñđ ŕéṽîéŵ. kapi terms export àñđ kapi memory export ŵŕîţé ţĥéḿ, àñđ kapi store import <dir> ŕéàđš à đîŕéçţöŕý öƒ ţĥéḿ. Ţĥé çöñţéẋţ îţšéļƒ ḿöṽéš ƃéţŵééñ ḿàçĥîñéš àš öþéŕàţîöñš, ţĥŕöüĝĥ à çöñţéẋţ ƃàçķéñđ öŕ à ţŕàñšƒéŕ ƒîļé. .kapi/ îš îĝñöŕéđ ƃý đéƒàüļţ; àđĵüšţ îţš îĝñöŕé ŕüļéš îƒ ýöü çĥööšé îţ àš ţĥé šñàþšĥöţ đîŕéçţöŕý.

Ţĥé ƒöŕḿàţš​

ƑöŕḿàţŠüƒƒîẋkindŴĥàţ îţ çàŕŕîéš
Çöñţéñţ ƃüñđļé.kbf.jsonkapi-bundleÉẋţŕàçţéđ ƃļöçķš àñđ ţĥéîŕ þéŕ-ļöçàļé ţàŕĝéţš
Çöñţéñţ ḿéḿöŕý.memory.jsonkapi-memoryḾüļţîļîñĝüàļ éñţŕîéš, éñţîţîéš, þŕöṽéñàñçé
Ţéŕḿš.terms.jsonkapi-termsÇöñçéþţš àñđ ţĥéîŕ ŕéļàţîöñš
Àññöţàţîöñ šîđéçàŕ.overlays.jsonlĥéàđéŕ annotationTypeŠţàñđ-öƒƒ àññöţàţîöñš àñçĥöŕéđ îñţö ŕüñš
Öṽéŕļàý šéţ.overlays.jsonkapi-overlay-setÎñ-þŕöĝŕéšš ŵöŕķšþàçé öṽéŕļàý ļàýéŕš
Þŕöĵéçţ àŕçĥîṽé.kpzkapi-project, kapi-interchangeÀ ŵĥöļé þŕöĵéçţ, öŕ öñé îñţéŕçĥàñĝé ţàšķ
Þŕöĵéçţ šţàţé.jsonl (üñđéŕ .kapi/state/)kapi-stateŔéṽîéŵ àñđ ŵöŕķƒļöŵ đéçîšîöñš
Ṽöîçé þŕöƒîļé.yaml(ñöñé)Ţöñé, šţýļé, þàţţéŕñš, éẋàḿþļéš

Ñöţ šüŕé ŵĥîçĥ ýöü ŵàñţ? Çĥööšîñĝ à ƒöŕḿàţ.

Ţĥé çöḿþöüñđ šüƒƒîẋ çöñṽéñţîöñ​

Éṽéŕý öñé öƒ ţĥéšé ƒîļéš éẋçéþţ ţĥé þŕöĵéçţ àŕçĥîṽé àñđ ţĥé ṽöîçé þŕöƒîļé îš ĴŠÖÑ öŕ ĴŠÖÑ Ļîñéš, àñđ éàçĥ þöŕţàƃļé öñé ķééþš à ḿàŕķéŕ šéĝḿéñţ àĥéàđ öƒ ţĥé šéŕîàļîžàţîöñ šüƒƒîẋ: .kbf.json, .terms.json, .overlays.jsonl. Ţĥé šţàţé šĥàŕđš àŕé ţĥé éẋçéþţîöñ: ţĥéý ñéṽéŕ ţŕàṽéļ àļöñé, ţĥéîŕ ñàḿéš àŕé đéŕîṽéđ ƒŕöḿ đöçüḿéñţ ķéýš, àñđ ţĥé đîŕéçţöŕý ĥöļđîñĝ ţĥéḿ (.kapi/state/) àļŕéàđý šàýš ŵĥàţ ţĥéý àŕé.

Ţĥé .json ţàîļ ķééþš jq, ĜîţĤüƃ, éđîţöŕš àñđ šýñţàẋ ĥîĝĥļîĝĥţîñĝ ţŕéàţîñĝ ţĥé ƒîļé àš ŵĥàţ îţ îš. Ţĥé ḿàŕķéŕ šéĝḿéñţ šàýš ŵĥîçĥ ĴŠÖÑ îţ îš, šö à đîŕéçţöŕý ļîšţîñĝ šţàýš ŕéàđàƃļé àñđ à ƒöŕḿàţ çàñ ƃé ŕéçöĝñîšéđ ƃéƒöŕé þàŕšîñĝ.

Ţĥé çöḿþöüñđ šüƒƒîẋ ĥàš öñé çöšţ: ţĥé šţàñđàŕđ ļîƃŕàŕý'š filepath.Ext ŕéþöŕţš .json ƒöŕ éṽéŕý öñé öƒ ţĥéḿ. Éẋţéñšîöñ-đŕîṽéñ çöđé ĝöéš ţĥŕöüĝĥ ţĥé ĥéļþéŕš îñ core/format (Ext, TrimExt, Stem, HasExt), ŵĥîçĥ ŕéţüŕñ ţĥé ḿöšţ šþéçîƒîç ḿàţçĥ. À ñàîṽé filepath.Ext öñ en-US.kbf.json ýîéļđš .json, àñđ ţŕîḿḿîñĝ ţĥàţ ļéàṽéš à šţŕàý .kbf ƃéĥîñđ.

Öñé ṽéŕšîöñ çöñţŕàçţ, àþþļîéđ þéŕ ƒöŕḿàţ​

Éṽéŕý ƒöŕḿàţ îñ ţĥé ƒàḿîļý çàŕŕîéš à schemaVersion àš MAJOR.MINOR àñđ ƒöļļöŵš ţĥé šàḿé ƒöŕŵàŕđ-çöḿþàţîƃîļîţý ŕüļé:

Ŕéĵéçţ àñ üñķñöŵñ ḿàĵöŕ. Àççéþţ üñķñöŵñ ḿîñöŕš öƒ à ķñöŵñ ḿàĵöŕ.

Šţŕîçţ öñ ḿàĵöŕ, ƃéšţ-郃öŕţ öñ ḿîñöŕ. À ƒîļé ƒŕöḿ à ƒüţüŕé ḿàĵöŕ ṽéŕšîöñ îš ŕéƒüšéđ ŵîţĥ à ḿéššàĝé ñàḿîñĝ ţĥé ṽéŕšîöñ ţĥé ƃüîļđ šþéàķš.

Ţĥé ŕüļé îš ţĥé šàḿé ƒöŕ éṽéŕý ƒöŕḿàţ, ƃüţ éàçĥ ƒöŕḿàţ îḿþļéḿéñţš ţĥé çĥéçķ šéþàŕàţéļý, àñđ ţĥé öṽéŕļàý šéţ îñšîđé à þŕöĵéçţ àŕçĥîṽé çàŕŕîéš îţš öŵñ schemaVersion, ṽéŕšîöñéđ îñđéþéñđéñţļý öƒ ţĥé éñçļöšîñĝ þàçķàĝé.

Ţŵö ŵàýš à ƒîļé šàýš ŵĥàţ îţ îš​

À ƒîļé îđéñţîƒîéš îţšéļƒ îñ ţŵö ŵàýš, ŵĥîçĥ àñšŵéŕ đéŕéñţ ǫüéšţîöñš:

  • kind: ţĥé ḿàĝîç šţŕîñĝ öñ ţĥé đöçüḿéñţ ŕööţ. Àñšŵéŕš ŵĥàţ šçĥéḿà îš ţĥîš?, ŵöŕķš öñ çöñţéñţ àļöñé, àñđ šüŕṽîṽéš à ŕéñàḿé. Îţ îš ŵĥàţ šñîñĝ üšéš.
  • Ţĥé éẋţéñšîöñ: àñšŵéŕš ŵĥàţ šĥöüļđ Î éẋþéçţ? ƃéƒöŕé ţĥé ƒîļé îš öþéñéđ, ŵĥîçĥ îš ŵĥàţ ļéţš à çöḿḿàñđ ŕöüţé à þàţĥ ŵîţĥöüţ ŕéàđîñĝ îţ.

Ţĥé ţŵö àŕé çĥéçķéđ îñđéþéñđéñţļý, šö à ƒîļé ţĥàţ îš ñöţ ŵĥàţ îţ çļàîḿš ţö ƃé îš çàüĝĥţ ƃý ŵĥîçĥéṽéŕ ḿéçĥàñîšḿ ñöţîçéš ƒîŕšţ: à ŵŕöñĝ kind ƃý ţĥé ŕéàđéŕ ţĥàţ öŵñš ţĥé éñṽéļöþé, à ŵŕöñĝ éẋţéñšîöñ ƃý ţĥé çöḿḿàñđ ţĥàţ ĥàđ ţö çĥööšé à ŕéàđéŕ ƃéƒöŕé öþéñîñĝ àñýţĥîñĝ.

Îḿþöŕţ ŕéƒüšéš à ƒîļé îţ çàññöţ îđéñţîƒý​

kapi memory import àñđ kapi terms import ŕéšöļṽé --format auto ƒŕöḿ ţĥé éẋţéñšîöñ, àñđ ţĥéý ŕéƒüšé ţö ĝüéšš, ƃéçàüšé à ŵŕöñĝ ĝüéšš îš šîļéñţ. Ţĥé ŢḾẊ ŕéàđéŕ ĥàñđéđ à ƒîļé ŵîţĥ ñö <tu> éļéḿéñţ ŕéţüŕñš žéŕö éñţŕîéš, àñđ ţĥé ÇŠṼ ŕéàđéŕ šķîþš éṽéŕý ŕöŵ îţ çàññöţ ţüŕñ îñţö à çöñçéþţ, šö à ƒîļé ţĥé îḿþöŕţéŕ ñéṽéŕ àçţüàļļý ŕéàđ ŕéþöŕţš Imported 0 entries àñđ éẋîţš 0, ŵĥîçĥ îš îñđîšţîñĝüîšĥàƃļé ƒŕöḿ àñ éḿþţý çöñţéñţ ḿéḿöŕý.

Àñ éẋţéñšîöñ ţĥé çöḿḿàñđ đöéš ñöţ ŕéçöĝñîšé îš ţĥéŕéƒöŕé àñ éŕŕöŕ, àñđ öñé ţĥàţ ñàḿéš ţĥé ƒîļé, ţĥé éẋţéñšîöñš ţĥàţ àŕé šüþþöŕţéđ, àñđ ţĥé --format ƒļàĝ ţĥàţ šéţţļéš ţĥé ǫüéšţîöñ:

cannot identify seed.dat: ".dat" is not a content-memory extension
(expected .memory.json, .tmx or .tmx.gz); pass --format (bundle, tmx) to say what it is

Éẋþöŕţ ŵöŕķš ţĥé öţĥéŕ ŵàý ŕöüñđ. Àñ öüţþüţ þàţĥ ñàḿéš ŵĥàţ ţĥé çàļļéŕ ŵàñţš ŵŕîţţéñ, àñđ šţđöüţ çàŕŕîéš ñö éẋţéñšîöñ àţ àļļ, šö ţĥéŕé auto ƒàļļš ƃàçķ ţö ţĥé îñţéŕçĥàñĝé đéƒàüļţ.

Šéé àļšö​