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

Çöñţéñţ ḿéḿöŕý ƃüñđļé (.memory.json)

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

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

Îḿþļéḿéñţéđ îñ Ĝö àţ memory/kmb.

Ŵĥéñ kapi ŵŕîţéš öñé

  • kapi memory export --format bundle: ţĥé éẋþļîçîţ éẋþöŕţ.
  • kapi pack: àš ţĥé memory.json ḿéḿƃéŕ îñšîđé à .kpz.

--format àççéþţš tmx öŕ bundle öñ ƃöţĥ kapi memory export àñđ kapi memory import. Ŵĥéñ ţĥé ƒļàĝ îš öḿîţţéđ, ţĥé ƒöŕḿàţ îš ŕéšöļṽéđ ƒŕöḿ ţĥé ƒîļé'š éẋţéñšîöñ.

Éñṽéļöþé

{
"schemaVersion": "1.0",
"kind": "kapi-memory",
"created": "2026-07-26T09:12:04Z",
"generator": { "id": "kapi", "version": "1.2.3" },
"entries": [],
"importSessions": []
}
ƑîéļđŢýþéÑöţéš
schemaVersionšţŕîñĝMAJOR.MINOR. À ŕéàđéŕ ŕéĵéçţš àñ üñķñöŵñ ḿàĵöŕ àñđ àççéþţš üñķñöŵñ ḿîñöŕš öƒ à ķñöŵñ ḿàĵöŕ.
kindšţŕîñĝÀļŵàýš kapi-memory. Àļšö ţĥé šñîñĝ ḿàŕķéŕ üšéđ ţö đéţéçţ ţĥé ƒöŕḿàţ ƃý çöñţéñţ.
createdšţŕîñĝŔƑÇ 3339. Öþţîöñàļ.
generatoröƃĵéçţ{id, version}, ţĥé ţööļ ţĥàţ þŕöđüçéđ ţĥé ƒîļé. Öþţîöñàļ.
entriesàŕŕàýŢĥé çöñţéñţ-ḿéḿöŕý éñţŕîéš. Àļŵàýš þŕéšéñţ.
importSessionsàŕŕàýÞéŕ-ƒîļé îḿþöŕţ ḿéţàđàţà ŕéƒéŕéñçéđ ƃý Origin.sessionId. Öþţîöñàļ.

Éñţŕý

Àñ éñţŕý îš ḿüļţîļîñĝüàļ, àñđ ţĥîš îš ţĥé đéšîĝñ đéçîšîöñ ţĥàţ ḿöšţ šéþàŕàţéš îţ ƒŕöḿ ŢḾẊ. Ţĥéŕé îš ñö àüţĥöŕîţàţîṽé šöüŕçé ļàñĝüàĝé àţ ţĥîš ļàýéŕ: variants îš à ḿàþ öƒ ļöçàļé ţö ŕüñ šéǫüéñçé, àñđ ţĥé ļöçàļéš àŕé þééŕš. hintSrcLang ŕéçöŕđš ŵĥîçĥ ļöçàļé ţĥé éñţŕý ŵàš öŕîĝîñàļļý àüţĥöŕéđ îñ, àš à ĥîñţ ƒöŕ ḿàţçĥîñĝ ŕàţĥéŕ ţĥàñ à þŕîṽîļéĝéđ ƒîéļđ.

ƑîéļđŢýþéÑöţéš
idšţŕîñĝÉñţŕý îđéñţîţý.
projectIdšţŕîñĝÖþţîöñàļ.
hintSrcLangšţŕîñĝÀđṽîšöŕý àüţĥöŕîñĝ ļöçàļé.
variantsöƃĵéçţĻöçàļé → Run[]. Ţĥé çöñţéñţ îţšéļƒ.
entitiesàŕŕàýÑàḿéđ éñţîţîéš ţŕàçķéđ àçŕöšš àļļ ṽàŕîàñţš.
propertiesöƃĵéçţƑŕéé-ƒöŕḿ šţŕîñĝ ḿàþ.
originsàŕŕàýŴĥéŕé ţĥîš éñţŕý çàḿé ƒŕöḿ.
notešţŕîñĝÖþţîöñàļ.
created, updatedšţŕîñĝŔƑÇ 3339.

Ṽàŕîàñţ çöñţéñţ ŕéüšéš ţĥé šàḿé Run šéŕîàļîžàţîöñ ţĥé çöñţéñţ ƃüñđļé éḿîţš, šö îñļîñé çöđéš, þļàçéĥöļđéŕš, àñđ þļüŕàļ/šéļéçţ çöñšţŕüçţš šüŕṽîṽé àñ éẋþöŕţ/îḿþöŕţ ŕöüñđ ţŕîþ üñçĥàñĝéđ ŕàţĥéŕ ţĥàñ ƃéîñĝ ƒļàţţéñéđ ţö à šţŕîñĝ.

Éñţîţý ḿàþþîñĝš

Àñ EntityMapping ţŕàçķš öñé ñàḿéđ éñţîţý àçŕöšš éṽéŕý ṽàŕîàñţ öƒ ţĥé éñţŕý (à þŕöđüçţ ñàḿé, à ñüḿƃéŕ, à đàţé) àñđ çàñ çŕöšš-ļîñķ îţ ţö à ţéŕḿš çöñçéþţ.

ƑîéļđŢýþéÑöţéš
placeholderIdšţŕîñĝŢĥé þļàçéĥöļđéŕ ţĥîš éñţîţý öççüþîéš.
typešţŕîñĝÉñţîţý ţýþé. Öþţîöñàļ.
valuesöƃĵéçţĻöçàļé → {text, start, end}.
conceptIdšţŕîñĝÇŕöšš-ļîñķ îñţö à ţéŕḿš çöñçéþţ.

values þöšîţîöñš àŕé öƒƒšéţš ŵîţĥîñ ţĥàţ ļöçàļé'š ṽàŕîàñţ, šö àñ éñţîţý îš ļöçàţàƃļé àš ŵéļļ àš ñàḿéđ.

Öŕîĝîñš àñđ îḿþöŕţ šéššîöñš

origins ŕéçöŕđš þŕöṽéñàñçé þéŕ éñţŕý (source, key, reference, addedAt, addedBy, sessionId). Ŵĥéŕé àñ éñţŕý àŕŕîṽéđ ţĥŕöüĝĥ à ƒîļé îḿþöŕţ, sessionId þöîñţš àţ àñ importSessions ŕéçöŕđ ĥöļđîñĝ ţĥé þéŕ-ƒîļé ḿéţàđàţà çàþţüŕéđ öñçé àţ îḿþöŕţ ţîḿé: fileKey, fileHash, fileSizeBytes, importedAt, importedBy, toolName, toolVersion, segType, adminLang, srcLang, dataType, originalFormat, originalEncoding, entryCount, àñđ à properties ḿàþ.

Šþļîţţîñĝ šéššîöñ ḿéţàđàţà öüţ öƒ éàçĥ éñţŕý ķééþš à ļàŕĝé îḿþöŕţ ƒŕöḿ ŕéþéàţîñĝ ţĥé šàḿé ţŵéñţý ƒîéļđš öñ éṽéŕý ŕöŵ ŵĥîļé šţîļļ ļéţţîñĝ àñý éñţŕý àñšŵéŕ ŵĥéŕé îţ çàḿé ƒŕöḿ.

Ŵĥý ĴŠÖÑ àñđ ñöţ ĴŠÖÑ Ļîñéš

Öṽéŕļàýš šĥîþ îñ ƃöţĥ .overlays.json àñđ .overlays.jsonl; çöñţéñţ ḿéḿöŕý ĥàš ñö ļîñé-đéļîḿîţéđ ƒöŕḿ.

kapi memory export ŕé-šéŕîàļîžéš ţĥé ŵĥöļé šţöŕé àñđ çàñöñîçàļîžéš îţ öñ éṽéŕý ŵŕîţé (éñţŕîéš šöŕţéđ ƃý îđ, ţîḿéšţàḿþš ñöŕḿàļîžéđ, đéţéŕḿîñîšţîç ƒöŕḿàţţîñĝ) šö ţĥé ƃýţéš àŕé šţàƃļé ƒöŕ ĥàšĥîñĝ àñđ đ çļéàñļý üñđéŕ ĝîţ. Ţĥéŕé îš ñö àþþéñđ þàţĥ ţö öþţîḿîžé ƒöŕ, àñđ àñ àþþéñđ-öñļý ƒîļé ŵöüļđ đéƒéàţ éẋàçţļý ţĥé ƃýţé-šţàƃîļîţý ţĥàţ ḿàķéš ţĥé ƃüñđļé ĥàšĥàƃļé àš à üñîţ.

Ţĥé šĥàþé îš àļšö ḿöŕé ţĥàñ à ƒļàţ ŕéçöŕđ šţŕéàḿ. À ƃüñđļé îš àñ éñṽéļöþé þļüš ţŵö çöŕŕéļàţéđ àŕŕàýš (entries àñđ ţĥé importSessions ţĥéý ŕéƒéŕéñçé ƃý îđ) àñđ ĴŠÖÑ éẋþŕéššéš ţĥàţ đîŕéçţļý. ĴŠÖÑ Ļîñéš ŵöüļđ ḿéàñ îñṽéñţîñĝ à ƒŕàḿîñĝ çöñṽéñţîöñ ţö šàý ŵĥîçĥ ļîñé îš ţĥé éñṽéļöþé àñđ ĥöŵ ţĥé ţŵö ŕéçöŕđ ţýþéš îñţéŕļéàṽé.

Ŵĥàţ îš đéļîƃéŕàţéļý ñöţ îñ îţ

  • Ţĥé ŠǪĻîţé šţöŕé'š îñđéẋéš. ƑŢŠ5 àñđ ƒüžžý-ḿàţçĥ šîđé ţàƃļéš àŕé đéŕîṽéđ; kapi memory import ŕéƃüîļđš ţĥéḿ àƒţéŕ à ƃüļķ ļöàđ.
  • À þŕîṽîļéĝéđ šöüŕçé ļàñĝüàĝé. Đéļîƃéŕàţé; šéé àƃöṽé.
  • Ƒüžžý-ḿàţçĥ šçöŕéš öŕ ţĥŕéšĥöļđš. Ḿàţçĥîñĝ îš à ŕüñţîḿé çöñçéŕñ đŕîṽéñ ƃý ţĥé ŕéçîþé ŕàţĥéŕ ţĥàñ à þŕöþéŕţý öƒ šţöŕéđ çöñţéñţ.

Ŕéļàţîöñšĥîþ ţö ŢḾẊ

ŢḾẊ îš šüþþöŕţéđ (--format tmx) àñđ îš ţĥé ŕîĝĥţ çĥöîçé ƒöŕ ĥàñđîñĝ çöñţéñţ ţö à ţööļ öüţšîđé ţĥîš þŕöĵéçţ. Îţ îš à ļöššý ţîéŕ: îţ ĥàš ñö ŕéþŕéšéñţàţîöñ ƒöŕ éñţîţý ḿàþþîñĝš, çöñçéþţ çŕöšš-ļîñķš, þéŕ-éñţŕý þŕöṽéñàñçé, öŕ îḿþöŕţ-šéššîöñ ḿéţàđàţà, àñđ îţ àššüḿéš à šöüŕçé/ţàŕĝéţ þàîŕ ŕàţĥéŕ ţĥàñ þééŕ ļöçàļéš.

Éẋþöŕţ ţö ŢḾẊ ţö îñţéŕöþéŕàţé; ķééþ ţĥé ƃüñđļé ŵĥéñ ţĥé çöñţéñţ îš šţàýîñĝ îñšîđé kapi. Çĥööšîñĝ à ƒöŕḿàţ çöṽéŕš ţĥé ţŕàđé-öƒƒ îñ ƒüļļ.

Šéé àļšö

  • Öṽéŕṽîéŵ: šţöŕé, ƃüñđļé, àñđ çöḿḿîţţéđ šţàţé.
  • Ţéŕḿš: ţĥé ţéŕḿîñöļöĝý ƃüñđļé àñđ îţš ļööķüþ ļàđđéŕ.
  • Þŕöĵéçţ àŕçĥîṽé: ţĥé .kpz ţĥàţ çàŕŕîéš à ḿéḿöŕý ƃüñđļé àš à ḿéḿƃéŕ.