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

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

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

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

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

Ţĥé ḿöšţ üšéƒüļ đîšţîñçţîöñ îñ ţĥîš ƒàḿîļý îš ƃéţŵééñ ţĥŕéé ŕöļéš à ƒîļé çàñ þļàý.

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

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

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

Ţĥé ŕüļé ţĥîš þŕöđüçéš

Àŕţîƒàçţš ţĥàţ ḿüšţ ƃé ŕéṽîéŵéđ àŕé çöḿḿîţţéđ, àñđ ñéṽéŕ ţĥé đàţàƃàšé. Ţĥéý šĥàŕé öñé ĥöḿé: .kapi/ ĥöļđš ţĥé ţéŕḿš ƃüñđļé, ţĥé ḿéḿöŕý šééđš, ţĥé ṽöîçé þŕöƒîļé àñđ ţĥé üñîţ-šţàţé ŕéçöŕđ (state/*.jsonl), àñđ ţĥé ŵĥöļé öƒ .kapi/ îš çöḿḿîţţéđ. Öñļý .kapi/work/, ŵĥéŕé ţĥé šţöŕé àñđ îţš çàçĥéš àŕé đéŕîṽéđ, îš îĝñöŕéđ. Ñöţĥîñĝ îñ ţĥé ŕéṽîéŵ šüŕƒàçé ŵöüļđ šüŕṽîṽé à ƒŕéšĥ çļöñé, öŕ éṽéŕ àþþéàŕ îñ à đ, îƒ îţ ŵéŕé þàŕţ öƒ ţĥé đéŕîṽéđ šţöŕé.

΃ à þéŕšöñ ñééđš ţö ŕéṽîéŵ îţ, îţ đöéš ñöţ ƃéļöñĝ îñ à ŕéƃüîļđàƃļé îñđéẋ.

Ţĥé ƒöŕḿàţš

ƑöŕḿàţŠüƒƒîẋ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 ƒŕöḿ ţĥé éẋţéñšîöñ, àñđ ţĥéý ŕéƒüšé ţö ĝüéšš, ƃéçàüšé à ŵŕöñĝ ĝüéšš îš šîļéñţ. Ţĥé ŢḾẊ ŕéàđéŕ ĥàñđéđ à ƒîļé ŵîţĥ ñö ţŕàñšļàţîöñ üñîţš ŕéţüŕñš žéŕö éñţŕîéš, àñđ ţĥé ÇŠṼ ŕéàđéŕ šķîþš éṽéŕý ŕöŵ îţ çàññöţ ţüŕñ îñţö à çöñçéþţ, šö à ƒîļé ţĥé îḿþöŕţéŕ ñéṽéŕ àçţüàļļý ŕéàđ ŕéþöŕţš 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 ƒàļļš ƃàçķ ţö ţĥé îñţéŕçĥàñĝé đéƒàüļţ.

Šéé àļšö