Ç-09: Çöñţéñţ ḿéḿöŕý
Šüḿḿàŕý
Ţĥé çöñţéñţ ḿéḿöŕý îš ţĥé ƒŕàḿéŵöŕķ'š ŕéüšé šţöŕé, îñ ţĥé memory/ þàçķàĝé. Îţ
šţöŕéš ḿüļţîļîñĝüàļ éñţŕîéš àš þéŕ-ļöçàļé []model.Run šéǫüéñçéš, þŕéšéŕṽîñĝ
îñļîñé ḿàŕķüþ àñđ éñţîţý ḿéţàđàţà ŕàţĥéŕ ţĥàñ ƒļàţ šţŕîñĝš, àñđ üšéš à ţîéŕéđ
ḿàţçĥîñĝ þîþéļîñé ţö ḿàẋîḿîžé ŕéüšé. Îñ-ḿéḿöŕý àñđ ŠǪĻîţé ƃàçķéñđš šĥîþ; à ŵîđéŕ
ƃàçķéñđ çàñ ƃé šüþþļîéđ ƃéĥîñđ ţĥé šàḿé îñţéŕƒàçé.
Ţĥé çöñţéñţ ḿéḿöŕý îš ţĥé þŕöĵéçţ'š ŕéçýçļé çöŕþüš: à þööļ öƒ šöüŕçé→ţàŕĝéţ
þàîŕš ŕéüšéđ ţö þŕé-ƒîļļ àñđ ļéṽéŕàĝé ƒüţüŕé ŵöŕķ. Îţ îš ñöţ ţĥé çàŕŕîéŕ öƒ üñîţ
šţàţé. Ŵĥéţĥéŕ à þéŕšöñ ŕéṽîéŵéđ öŕ šîĝñéđ öƒƒ à þàŕţîçüļàŕ ţàŕĝéţ ļîṽéš îñ ţĥé
üñîţ-šţàţé ŕéçöŕđ (Ç-04). Àđđîñĝ à þàîŕ ţö
ţĥé ḿéḿöŕý (kapi apply ŵîţĥ kind:"memory") îš ŕéçýçļé ļéṽéŕàĝé; îţ đöéš ñöţ
þŕöḿöţé à üñîţ ţö ŕéṽîéŵéđ.
Ţĥé çöŕþüš àļšö ĥöļđš éàçĥ ƃļöçķ'š ṽéŕšîöñ çĥàîñ: ţĥé àñšŵéŕš àþþŕöṽéđ ƒöŕ
ţĥàţ ƃļöçķ öṽéŕ ţîḿé, éàçĥ çàŕŕýîñĝ ţĥé ĝöṽéŕñîñĝ çöñţéẋţ îţ ŵàš àþþŕöṽéđ üñđéŕ.
À þŕîöŕ àñšŵéŕ îš öƒƒéŕéđ ţö à þŕöđüçéŕ àš ŕéƒéŕéñçé öñļý üñđéŕ ţĥé ĝöṽéŕñàñçé
îţ ŵàš àþþŕöṽéđ üñđéŕ, àñđ ţĥé þŕöđüçéŕ-ƒàçîñĝ çöñţŕàçţ ƒöŕ ƃöţĥ ǫüéšţîöñš îš
öñé îñţéŕƒàçé, core/memory.Provider.
Çöñţéẋţ
Ŕéüšé öƒ çöñţéñţ þŕöđüçéđ ƃéƒöŕé îš à çöŕé ḿüļţîļîñĝüàļ þŕîḿîţîṽé. À çöñṽéñţîöñàļ šţöŕé ķééþš ƒļàţ šöüŕçé/ţàŕĝéţ šţŕîñĝ þàîŕš àñđ ḿàţçĥéš öñ šţŕîñĝ šîḿîļàŕîţý àļöñé, ŵĥîçĥ ļöšéš îñƒöŕḿàţîöñ ţĥàţ ḿàţţéŕš:
- Îñļîñé çöđéš àŕé šţŕîþþéđ ƃéƒöŕé ḿàţçĥîñĝ. À ḿàţçĥ îš ƒöüñđ ƃüţ ţĥé çöđéš đö ñöţ ţŕàñšƒéŕ, àñđ šöḿéöñé ŕéîñšéŕţš ţĥéḿ ƃý ĥàñđ.
- Ñàḿéđ éñţîţîéš àŕé ţŕéàţéđ àš ļîţéŕàļ ţéẋţ. Ĵöĥñ ŵöŕķš àţ Àçḿé àñđ Àļîçé ŵöŕķš àţ Ĝļöƃéẋ šçöŕé ļöŵ đéšþîţé ƃéîñĝ šţŕüçţüŕàļļý îđéñţîçàļ; ţĥé öñļý đéŕéñçéš àŕé šüƃšţîţüţàƃļé ṽàļüéš.
- Þîþéļîñé çöñţéẋţ (éñţîţý àññöţàţîöñš, ţéŕḿ ḿàţçĥéš, çĥéçķ ŕéšüļţš) þŕöđüçéđ éàŕļîéŕ îñ ţĥé ƒļöŵ îš đîšçàŕđéđ.
À çöñţéñţ-àŵàŕé ḿéḿöŕý þŕéšéŕṽéš ŕüñ šéǫüéñçéš éñđ ţö éñđ, đéŕîṽéš šéṽéŕàļ ḿàţçĥîñĝ ķéýš ƒŕöḿ öñé éñţŕý, àñđ ŕéţüŕñš ḿàţçĥéš ŵîţĥ àđàþţàţîöñ îñƒöŕḿàţîöñ šö ţĥé çàļļéŕ ŕéçéîṽéš þŕé-àđàþţéđ ţàŕĝéţš.
Šîḿîļàŕîţý îš àļšö ţĥé ŵŕöñĝ ţööļ ƒöŕ öñé çöḿḿöñ çàšé. À ƃļöçķ ŵĥöšé šöüŕçé îš éđîţéđ ŵŕîţéš à ñéŵ éñţŕý ƃéšîđé ţĥé öñé ţĥàţ çàḿé ƃéƒöŕé, ķéýéđ ƃý ţĥé ñéŵ ţéẋţ, àñđ à šîḿîļàŕîţý šçöŕé šàýš ñöţĥîñĝ àƃöüţ ŵĥéţĥéŕ ţĥé ţŵö àŕé šüççéššîṽé àñšŵéŕš ƒöŕ ţĥé šàḿé ƃļöçķ öŕ üñŕéļàţéđ šţŕîñĝš ţĥàţ ĥàþþéñ ţö šĥàŕé à þŕöĵéçţ. Çöñţîñüîţý ƒöŕ ţĥàţ ƃļöçķ çöḿéš ƒŕöḿ îţš öŵñ ĥîšţöŕý, ñöţ ƒŕöḿ à ñéàŕ-ḿàţçĥ.
Đéçîšîöñ
Çöñţéñţ-àŵàŕé, ḿüļţîļîñĝüàļ šţöŕàĝé
Àñ éñţŕý šţöŕéš þéŕ-ļöçàļé []model.Run šéǫüéñçéš, ţĥé šàḿé îñļîñé-çöñţéñţ
ŕéþŕéšéñţàţîöñ üšéđ ţĥŕöüĝĥöüţ ţĥé þîþéļîñé
(Ƒ-02). Àñ éñţŕý îš ḿüļţîļîñĝüàļ:
éàçĥ ļàñĝüàĝé îš à þééŕ ṽàŕîàñţ îñ à ḿàþ, ŵîţĥ ñö àüţĥöŕîţàţîṽé šöüŕçé àţ ţĥé
þéŕšîšţéñçé ļàýéŕ; ţĥé ļööķüþ đîŕéçţîöñ îš šüþþļîéđ àţ ţĥé çàļļ šîţé.
type Entry struct {
ID string
ProjectID string
Variants map[model.LocaleID][]model.Run // peer language variants
HintSrcLang model.LocaleID // the locale the author treated as canonical
Entities []EntityMapping
Properties map[string]string
Origins []Origin
Note string
Point string // where this answer was approved
Unit string // the block this answer was approved for
CreatedAt time.Time
UpdatedAt time.Time
}
HintSrcLang ŕéçöŕđš ŵĥîçĥ ļöçàļé ţĥé àüţĥöŕ ţŕéàţéđ àš çàñöñîçàļ, àñđ îš üšéđ
ƒöŕ đîšþļàý àñđ éñţîţý đîŕéçţîöñ öñļý. Àñ éñţîţý ḿàþþîñĝ ŕéçöŕđš à ţýþéđ éñţîţý
àçŕöšš éṽéŕý ṽàŕîàñţ ŵîţĥ îţš þéŕ-ļöçàļé ṽàļüé àñđ þöšîţîöñ. Point ŕéçöŕđš
ŵĥéŕé ţĥé àñšŵéŕ ŵàš àþþŕöṽéđ (šéé Ŵĥéŕé àñ àñšŵéŕ ŵàš
àþþŕöṽéđ) àñđ Unit ŵĥîçĥ ƃļöçķ îţ ŵàš àþþŕöṽéđ
ƒöŕ (šéé Ṽéŕšîöñ çĥàîñš àñđ ĝöṽéŕñéđ ŕéüšé).
Éàçĥ Origin çàŕŕîéš à ContextFingerprint, ţĥé ĝöṽéŕñîñĝ çöñţéẋţ îñ ƒöŕçé
ŵĥéñ ţĥàţ àñšŵéŕ ŵàš þŕöđüçéđ, šö àñ àñšŵéŕ àƃšöŕƃéđ îñţö ţĥé çöŕþüš ķééþš ţĥé
šţàţéḿéñţ àƃöüţ ŵĥàţ ĝöṽéŕñéđ îţ; îţ îš éḿþţý ƒöŕ àñ îḿþöŕţ, à šééđ, öŕ à
þŕöđüçéŕ ţĥàţ ŕàñ üñĝöṽéŕñéđ.
Ţĥé šţöŕé ñöŕḿàļîžéš ţĥé ļöçàļé ƃéšîđé ţĥé ţéẋţ. Éṽéŕý ṽàŕîàñţ ķéý, éñţîţý
ṽàļüé ķéý àñđ ļööķüþ ļöçàļé îš ĥéļđ îñ çàñöñîçàļ ƂÇÞ-47 ƒöŕḿ
(locale.Normalize, ţĥé ļéñîéñţ ƒöŕḿ öƒ ţĥé çàñöñîçàļîžàţîöñ éṽéŕý ļöçàļé
çŕöššéš àţ à ŕéçîþé ƃöüñđàŕý), öñ ţĥé šàḿé ŵŕîţé àñđ ţĥé šàḿé šţàţéḿéñţ ţĥàţ
ñöŕḿàļîžé ţĥé ţéẋţ. Àñ éñţŕý ŵŕîţţéñ üñđéŕ nb_NO àñđ à ļööķüþ àšķîñĝ ƒöŕ
nb-NO ḿééţ àţ öñé ŕöŵ, àñđ Entry.Variant àñšŵéŕš ƒöŕ éîţĥéŕ šþéļļîñĝ. Ţĥé
éñţŕý îđ kapi apply ḿîñţš ƒöŕ à çöŕŕéçţîöñ, apply:<source>:<target>:<hash>,
éḿƃéđš ƃöţĥ ļöçàļéš îñ ţĥàţ ƒöŕḿ, šö öñé þàîŕ ĥàš öñé éñţŕý ŵĥîçĥéṽéŕ ŵàý à
çĥàñĝé éñţŕý šþéļļéđ îţ. À šţöŕé ŵŕîţţéñ ƃéƒöŕé ţĥé ļöçàļé ŵàš ñöŕḿàļîžéđ ḿàý
ĥöļđ ŕöŵš üñđéŕ àñöţĥéŕ šþéļļîñĝ; kapi status àñđ kapi up ŕéþöŕţ ţĥéḿ àñđ
ñàḿé ţĥé ŕéƃüîļđ, ƃéçàüšé ñö ļööķüþ ŵîļļ ƒîñđ ţĥéḿ àĝàîñ.
Đéŕîṽéđ ḿàţçĥîñĝ ķéýš
Éàçĥ ṽàŕîàñţ îš îñđéẋéđ üñđéŕ ţĥŕéé ķéýš, đéŕîṽéđ ƒŕöḿ îţš ŕüñ šéǫüéñçé àñđ çöḿþüţéđ àţ ŵŕîţé ţîḿé:
- þļàîñ: ţĥé ƒļàţţéñéđ ŕüñš, ŵîţĥ îñļîñé-çöđé ŕüñš çöñţŕîƃüţîñĝ ţĥéîŕ ţéẋţ éǫüîṽàļéñţš. Ţĥîš îš ŵĥàţ ḿàţçĥéš àĝàîñšţ þļàîñ-ţéẋţ ḿéḿöŕîéš îḿþöŕţéđ ƒŕöḿ öţĥéŕ ţööļš, àñđ àĝàîñšţ üñàñàļýžéđ çöñţéñţ.
- šţŕüçţüŕàļ: îñļîñé-çöđé ŕüñš ŕéñđéŕéđ àš ñüḿƃéŕéđ þļàçéĥöļđéŕš, ŵĥîçĥ þŕéšéŕṽéš þöšîţîöñ àŵàŕéñéšš.
- ĝéñéŕàļîžéđ: éñţîţý ŕüñš ŕéñđéŕéđ àš ţýþéđ þļàçéĥöļđéŕš. Ḿàẋîḿüḿ ŕéüšé: éñţîţîéš ƃéçöḿé îñţéŕçĥàñĝéàƃļé.
Ĵöĥñ ŵöŕķš àţ Àçḿé àñđ Àļîçé ŵöŕķš àţ Ĝļöƃéẋ ƃöţĥ ĝéñéŕàļîžé ţö
{PERSON} works at {ORGANIZATION}, àñ éẋàçţ ḿàţçĥ àţ ţĥé ĝéñéŕàļîžéđ ţîéŕ.
Ţĥé ţîéŕéđ þîþéļîñé
memory.TieredLookup ţŕîéš šţŕàţéĝîéš îñ öŕđéŕ öƒ ŕéüšé þöţéñţîàļ:
- ĝéñéŕàļîžéđ éẋàçţ: éñţîţîéš đéŕ, šţŕüçţüŕé îđéñţîçàļ
- šţŕüçţüŕàļ éẋàçţ: îñļîñé çöđéš ḿàţçĥ éẋàçţļý
- þļàîñ éẋàçţ: ƒüļļ šçöŕé öñļý ŵĥéñ ţĥé îñļîñé-çöđé šţŕüçţüŕé àļšö ḿàţçĥéš; à ţéẋţ-öñļý ḿàţçĥ àçŕöšš đéŕîñĝ šţŕüçţüŕé îš çàþþéđ àţ ñéàŕ-éẋàçţ, ţĥé îñđüšţŕý ţàĝ-ḿîšḿàţçĥ þéñàļţý. À 100% ḿàţçĥ ḿéàñš ţéẋţ àñđ šţŕüçţüŕé.
- ĝéñéŕàļîžéđ ƒüžžý → 5. šţŕüçţüŕàļ ƒüžžý → 6. þļàîñ ƒüžžý: Ļéṽéñšĥţéîñ öñ ţĥé çöŕŕéšþöñđîñĝ ķéýš, ŵîţĥ à ƃööšţ ƒöŕ éñţŕîéš ƒŕöḿ ţĥé šàḿé þŕöĵéçţ.
Ţŵö çŕöšš-çüţţîñĝ ŕüļéš àþþļý ţö ţĥé éẋàçţ ţîéŕš:
- Ñéàŕéšţ àþþŕöṽàļ ŵîñš. Ŵĥéñ šéṽéŕàļ éñţŕîéš ḿàţçĥ àţ ƒüļļ šçöŕé ƃüţ đîšàĝŕéé öñ ţĥé ţàŕĝéţ ţéẋţ, ţĥé öñé àþþŕöṽéđ ñéàŕéšţ ţĥé þöîñţ ţĥé çàļļéŕ îš àšķîñĝ ƒŕöḿ îš ţĥé öñé ţĥàţ ĝöṽéŕñš ţĥéŕé, àñđ ţĥé öţĥéŕš đéḿöţé öüţ öƒ îţš ŵàý. Šéé Ŵĥéŕé àñ àñšŵéŕ ŵàš àþþŕöṽéđ.
- Àḿƃîĝüîţý đéḿöţîöñ. À çàļļéŕ ţĥàţ ñàḿéš ñö þöîñţ çàññöţ þŕéƒéŕ öñé àþþŕöṽàļ öṽéŕ àñöţĥéŕ, šö ñöñé öƒ ţĥéḿ îš ţĥé ţŕàñšļàţîöñ: àļļ àŕé đéḿöţéđ ţö ñéàŕ-éẋàçţ àñđ ƒļàĝĝéđ àḿƃîĝüöüš. Ƒüļļ-šçöŕé þöļîçîéš (à šţŕîçţ ļööķüþ, à 100-ţĥŕéšĥöļđ ļéṽéŕàĝé šţéþ, éẋţŕàçţ þŕé-ƒîļļ) ţĥéŕéƒöŕé ĝéţ ñöţĥîñĝ ŕàţĥéŕ ţĥàñ à çöîñ ƒļîþ, àñđ ţĥé çĥöîçé šüŕƒàçéš ƒöŕ ŕéṽîéŵ. Îđéñţîçàļ ţàŕĝéţš àţ ƒüļļ šçöŕé àŕé ñöţ àḿƃîĝüöüš, ƃéçàüšé ţĥé þîçķ đöéš ñöţ ḿàţţéŕ.
- Đéţéŕḿîñîšţîç öŕđéŕîñĝ. Ŕéšüļţš šöŕţ ƃý šçöŕé, ţĥéñ ḿàţçĥ-ţýþé þŕîöŕîţý, ţĥéñ éñţŕý îđ, šö éǫüàļ çàñđîđàţéš ñéṽéŕ îñĥéŕîţ îñçîđéñţàļ šţöŕàĝé öŕđéŕ. Ŵîţĥöüţ îţ, ŕé-îḿþöŕţîñĝ à ḿéḿöŕý çàñ šîļéñţļý ƒļîþ ŵĥîçĥ öƒ ţŵö éẋàçţ ḿàţçĥéš ŵîñš.
Ţĥé ƒîŕšţ ḿàţçĥ àţ öŕ àƃöṽé ţĥé çöñƒîĝüŕéđ ţĥŕéšĥöļđ ŵîñš, šö à ĝéñéŕàļîžéđ éẋàçţ ḿàţçĥ îš þŕéƒéŕŕéđ öṽéŕ à þļàîñ ƒüžžý öñé.
Ţĥé ƒîļļ þöļîçý šîţš àƃöṽé ţĥé ḿàţçĥéŕ. Ţĥé recycle ţööļ ļööķš üþ àţ îţš
fuzzyThreshold (đéƒàüļţ 70) àñđ ƒîļļš à ţàŕĝéţ àţ öŕ àƃöṽé îţš
fillTargetThreshold (đéƒàüļţ 95); à ḿàţçĥ ƃéţŵééñ ţĥé ţŵö ƒļööŕš îš ŕéçöŕđéđ
àš àñ àļţéŕñàţîṽé-ţŕàñšļàţîöñ çàñđîđàţé àñđ ŕéàđ ƃý ñöţĥîñĝ. Ţĥé ƒîļļ ƒļööŕ
çàţçĥéš ţĥé çöšḿéţîç éđîţš àñ àüţĥöŕ àçţüàļļý ḿàķéš (à ţŕàîļîñĝ þéŕîöđ, àñ àđđéđ
çöḿḿà, à çàþîţàļîšéđ ŵöŕđ), ŵĥîçĥ šçöŕé ƃéţŵééñ 96 àñđ 98 àţ ŕéàļîšţîç šéñţéñçé
ļéñĝţĥ. Ţĥé ļööķüþ ƒļööŕ ƃéļöŵ îţ îš îñéŕţ. À ŕéçîþé ţĥàţ ŵàñţš éẋàçţ-öñļý ƒîļļ
šéţš fillTargetThreshold: 100, ŵĥîçĥ îš ŵĥàţ ţĥé đöĝƒööđ ŕéçîþé đöéš. À
šüƃ-éẋàçţ ƒîļļ îš à þŕîçîñĝ ḿéçĥàñîšḿ ƒŕöḿ à ţîḿé ŵĥéñ à þéŕšöñ éđîţéđ ŕàţĥéŕ
ţĥàñ ŵŕöţé, àñđ îţ îš ŕéţîŕîñĝ îñ ƒàṽöüŕ öƒ ţĥé ṽéŕšîöñ çĥàîñ ƃéļöŵ: à
ñéàŕ-ḿàţçĥ ḿàķéš à ŕéàđéŕ đ ţĥé šöüŕçé àĝàîñšţ à šţöŕéđ ţàŕĝéţ ţö ƒîñđ ŵĥàţ
ḿöṽéđ, ŵĥîçĥ îš ĥàŕđéŕ ţĥàñ ŕéàđîñĝ à çļéàñ đŕàƒţ.
Öñé đàţà-ĥýĝîéñé çöŕöļļàŕý: éñţŕîéš ḿüšţ ķééþ îñļîñé ḿàŕķüþ àš çöđé ŕüñš, ñöţ àš
ļîţéŕàļ ţéẋţ. Àñ éñţŕý ŵĥöšé ţàŕĝéţ éḿƃéđš àñöţĥéŕ ƒöŕḿàţ'š ḿàŕķüþ ţöķéñš ƃéĥîñđ
à þļàîñ-ţéẋţ šöüŕçé đéƒéàţš ţĥé šţŕüçţüŕàļ ţîéŕ àñđ çàñ ļéàķ ţĥöšé ţöķéñš îñţö
àñý šüŕƒàçé ţĥàţ šĥàŕéš ţĥé ţéẋţ. kapi memory import ŵàŕñš ŵĥéñ ṽàŕîàñţš
đîšàĝŕéé öñ ţĥéîŕ ḿàŕķüþ-ţöķéñ šéţš.
Éñţîţý àđàþţàţîöñ
Ŵĥéñ à ĝéñéŕàļîžéđ ḿàţçĥ îš ƒöüñđ, ţĥé ŕéšüļţ çàŕŕîéš àđàþţàţîöñ îñƒöŕḿàţîöñ ţĥàţ
šüƃšţîţüţéš éñţîţý ṽàļüéš ƒŕöḿ ţĥé çüŕŕéñţ šöüŕçé îñţö ţĥé šţöŕéđ ţàŕĝéţ. Ţĥé
recycle ţööļ àþþļîéš ţĥéšé àüţöḿàţîçàļļý, šö ŵĥàţ àŕŕîṽéš îš à þŕé-àđàþţéđ
ţàŕĝéţ ŵîţĥ ţĥé çöŕŕéçţ ṽàļüéš àļŕéàđý îñ þļàçé.
Ŵĥéŕé àñ àñšŵéŕ ŵàš àþþŕöṽéđ
À þŕöĵéçţ àñšŵéŕš öñé šöüŕçé šţŕîñĝ ḿöŕé ţĥàñ öñçé, àñđ ţĥé àñšŵéŕš đö ñöţ ĥàṽé ţö àĝŕéé. Ţŵö çöļļéçţîöñš ŕéṽîéŵéđ àþàŕţ (à ÇĻÎ'š ĥéļþ çàţàļöĝ àñđ àñ éñĝîñé'š ḿéţàđàţà çàţàļöĝ) çàñ éàçĥ çàŕŕý à ŕéṽîéŵéđ Ñöŕŵéĝîàñ ŵöŕđîñĝ ƒöŕ ţĥé šàḿé Éñĝļîšĥ šéñţéñçé, àñđ ƃöţĥ àŕé çöŕŕéçţ ŵĥéŕé ţĥéý ŵéŕé àþþŕöṽéđ. Ţĥé çöŕþüš àƃšöŕƃš ƃöţĥ, šö îţ ĥàš ţö ƃé àƃļé ţö ĥàñđ ƃàçķ ţĥé ŕîĝĥţ öñé.
À đéçîšîöñ îš ǫüàļîƒîéđ ƃý ŵĥéŕé îţ ŵàš ḿàđé. Éàçĥ éñţŕý ţĥé ŕéçöŕđ ţéàçĥéš ţĥé çöŕþüš çàŕŕîéš ţĥé çöñţéẋţ þöîñţ îţš àñšŵéŕ ŵàš àþþŕöṽéđ àţ, ţĥé çööŕđîñàţé Ç-02 ŕéšöļṽéš, ŕéñđéŕéđ àš ţĥé çöñţàîñḿéñţ ļàđđéŕ:
profile → channel → collection
Ñéàŕéšţ îš à þŕéƒîẋ çöḿþàŕîšöñ đöŵñ ţĥàţ ļàđđéŕ. Ţŵö þöîñţš àŕé 0 àþàŕţ ŵĥéñ ţĥéý ñàḿé ţĥé šàḿé çöļļéçţîöñ, 1 àþàŕţ ŵĥéñ ţĥéý šĥàŕé à çĥàññéļ, 2 àþàŕţ ŵĥéñ ţĥéý šĥàŕé öñļý à þŕöđüçţ, àñđ ḿàẋîḿàļļý àþàŕţ ŵĥéñ ţĥéý šĥàŕé ñöţĥîñĝ. Çöñţàîñḿéñţ îš ŵĥàţ ḿàķéš ţĥé çöḿþàŕîšöñ ḿéàñîñĝƒüļ: ţŵö ƒîļéš îñ öñé çöļļéçţîöñ šĥîþ öñ öñé çĥàññéļ ƃý çöñšţŕüçţîöñ, šö à ḿàţçĥ àţ à ƒîñé ŕüñĝ ţĥàţ đîšàĝŕééđ àţ à çöàŕšé öñé ŵöüļđ ñöţ đéšçŕîƃé àñýţĥîñĝ. Àñ éñţŕý ƃöüñđ ţö ñö ļöçàţîöñ (à šééđ, àñ îḿþöŕţ, àñ àđ-ĥöç àđđîţîöñ) šîţš àţ ţĥé þŕöĵéçţ'š đéƒàüļţ þöîñţ, ŵĥîçĥ îš ḿàẋîḿàļļý ƒàŕ ƒŕöḿ éṽéŕý àñšŵéŕ ţĥàţ ñàḿéš à þŕöđüçţ. Ţĥàţ îš ţĥé ŕîĝĥţ ŕéàđîñĝ ŕàţĥéŕ ţĥàñ à ḿîššîñĝ ṽàļüé: šüçĥ àñ éñţŕý ŵàš ñéṽéŕ àþþŕöṽéđ àñýŵĥéŕé îñ þàŕţîçüļàŕ.
Ţĥé ļàđđéŕ šţöþš àţ ţĥé çöļļéçţîöñ ƃéçàüšé ţĥàţ îš ţĥé ƒîñéšţ þļàçé à ƒîļļ çàñ
ĥöñéšţļý ñàḿé îţšéļƒ àţ. À þŕöĵéçţ ƒļöŵ ŕéšöļṽéš îţš ĝöṽéŕñàñçé öñçé àñđ ƃàķéš îţ
îñţö ţĥé ţööļ çĥàîñ ƃéƒöŕé àñý çöñţéñţ îš ŕéàđ, àñđ ţĥé çĥàîñ îš šĥàŕéđ ƃý éṽéŕý
ƒîļé öƒ à ƃîñđîñĝ ĝŕöüþ (Ç-02, Öñé ŕüñ,
öñé ŕéšöļüţîöñ þéŕ çöļļéçţîöñ), šö ţĥé þöîñţ à recycle šţéþ àšķš ƒŕöḿ îš îţš
ĝŕöüþ'š þŕöđüçţ àñđ çĥàññéļ.
À ĝéñüîñé ţîé îš ƃŕöķéñ ƃý ţĥé àñšŵéŕ'š öŵñ ţéẋţ, šḿàļļéšţ ƃýţé šéǫüéñçé ƒîŕšţ. Ţŵö àþþŕöṽàļš àţ öñé þöîñţ, öŕ ţŵö þöîñţš éǫüàļļý ƒàŕ ƒŕöḿ ţĥé àšķéŕ, àŕé à đîšàĝŕééḿéñţ ţĥé ļàđđéŕ çàññöţ šéþàŕàţé, àñđ ţĥé ƒàļļƃàçķ ḿüšţ ñöţ ƃé àñýţĥîñĝ ţĥàţ ḿöṽéš ŵĥéñ ţĥé ŕéšţ öƒ ţĥé çöŕþüš ḿöṽéš. À ŵîññéŕ đéçîđéđ ƃý ĥöŵ öƒţéñ éàçĥ šþéļļîñĝ ĥàþþéñš ţö àþþéàŕ ƒļîþš ŵĥéñ àñ üñŕéļàţéđ šţŕîñĝ îš àđđéđ öŕ ŕéḿöṽéđ, šö à ŕéƃüîļđ šţöþš ŕéþŕöđüçîñĝ ţĥé ŵöŕđîñĝ îţ šţàŕţéđ ƒŕöḿ. Ţĥé àñšŵéŕ'š öŵñ ţéẋţ îš àŕƃîţŕàŕý îñ ḿéàñîñĝ àñđ éẋàçţ îñ ƃéĥàṽîöüŕ: à ƒüñçţîöñ öƒ ţĥé ţŵö àñšŵéŕš àļöñé. À ţîé îš àļšö ŕéþöŕţéđ, ƃéçàüšé ţŵö àþþŕöṽàļš àţ öñé þöîñţ îš à ǫüéšţîöñ àƃöüţ ţĥé þŕöĵéçţ'š ĝöṽéŕñàñçé ţĥàţ ţĥé çöŕþüš çàññöţ àñšŵéŕ.
Éṽéŕý çöñţéšţéđ šöüŕçé îš ñàḿéđ ŵĥéŕé ţĥé àƃšöŕþţîöñ îš ŕéþöŕţéđ (ţĥé šöüŕçé, éàçĥ àñšŵéŕ, àñđ ţĥé þöîñţ ţĥàţ àþþŕöṽéđ îţ), ƃéçàüšé ƃöţĥ çàñđîđàţéš àŕé ŕéàļ ţŕàñšļàţîöñš à ŕéàđéŕ àþþŕöṽéđ, šö ñö ĝàţé ţéļļš ţĥéḿ àþàŕţ öñ ǫüàļîţý àñđ à çöüñţ àļöñé ļéàṽéš ñöƃöđý àƃļé ţö ļööķ àţ ţĥé đîšàĝŕééḿéñţ.
Ṽéŕšîöñ çĥàîñš àñđ ĝöṽéŕñéđ ŕéüšé
Ţĥé çöŕþüš àççüḿüļàţéš ṽéŕšîöñš. À ƃļöçķ ŵĥöšé šöüŕçé îš ŕéŵŕîţţéñ ŵŕîţéš à ñéŵ
éñţŕý ƃéšîđé ţĥé öñé ţĥàţ çàḿé ƃéƒöŕé, ƃéçàüšé ţĥé ķéý îš ţĥé ţéẋţ àñđ ţĥé ţéẋţ
ḿöṽéđ. Entry.Unit îš ŵĥàţ šàýš ţĥé ţŵö àŕé šüççéššîṽé àñšŵéŕš ƒöŕ öñé ƃļöçķ:
ţĥé ƒŕàḿéŵöŕķ'š öŵñ đüŕàƃļé ƃļöçķ îđéñţîţý (model.Block.Unit), ḿàţçĥéđ ƃý
ŕéçöñçîļîàţîöñ ŕàţĥéŕ ţĥàñ ñàḿéđ, šö îţ šüŕṽîṽéš àñ éđîţ ţĥàţ ŕéŵŕîţéš ţĥé
šöüŕçé àñđ à ŕéöŕđéŕ ţĥàţ ḿöṽéš îţ. Îţ îš ţĥé šàḿé ķéý à đéçîšîöñ îš ƒîļéđ
üñđéŕ. À ṽéŕšîöñ çĥàîñ îš ţĥéŕéƒöŕé à ǫüéŕý ŕàţĥéŕ ţĥàñ à ñéŵ šţöŕé:
memory.VersionReader.Versions ŕéţüŕñš à ƃļöçķ'š þŕîöŕ àñšŵéŕš, ñéŵéšţ ƒîŕšţ,
ñàŕŕöŵéđ ţö öñé þöîñţ öŕ àçŕöšš éṽéŕý þöîñţ ţĥé ƃļöçķ ĥàš šàţ àţ.
À çĥàîñ îš ñöţ à ḿàţçĥéŕ. À ļööķüþ àšķš ŵĥàţ ĥàš ƃééñ àþþŕöṽéđ ƒöŕ šöḿéţĥîñĝ ļîķé ţĥîš, ñéàŕ ĥéŕé àñđ ŕàñķš çàñđîđàţéš; à çĥàîñ àšķš ŵĥàţ đîđ ţĥîš ƃļöçķ šàý ƃéƒöŕé, àñđ ţĥé àñšŵéŕ çàŕŕîéš ñö šçöŕé. Ŕàñķîñĝ îţ ŵöüļđ îñṽîţé à çàļļéŕ ţö ţŕéàţ à þŕîöŕ ṽéŕšîöñ àš à ḿàţçĥ, ŵĥîçĥ îš ŵĥàţ ƒüžžý ḿàţçĥîñĝ ĝéţš ŵŕöñĝ.
À þŕîöŕ àñšŵéŕ îš öñļý ŕéüšàƃļé üñđéŕ ţĥé ŕüļéš îţ ŵàš àþþŕöṽéđ üñđéŕ, àñđ ţĥé
ĝàţé îš îñšîđé ţĥé ļööķüþ ŕàţĥéŕ ţĥàñ îñ ƒŕöñţ öƒ îţ.
memory/leverage.PriorVersionFor ŕéţüŕñš ţĥé ļàšţ àñšŵéŕ àþþŕöṽéđ ƒöŕ à ƃļöçķ,
àñđ ţĥé šöüŕçé îţ ŵàš àþþŕöṽéđ ƒöŕ, öñļý ŵĥéñ ţĥàţ àñšŵéŕ'š
ContextFingerprint éǫüàļš ţĥé ƒîñĝéŕþŕîñţ îñ ƒöŕçé ñöŵ; àñ éḿþţý ƒîñĝéŕþŕîñţ öñ
éîţĥéŕ šîđé îš ŕéƒüšàļ ŕàţĥéŕ ţĥàñ àĝŕééḿéñţ. À ĝàţé à çàļļéŕ àþþļîéš îš à ĝàţé à
çàļļéŕ ƒöŕĝéţš, àñđ ţĥé ƒàîļüŕé îš šîļéñţ: à ţŕàñšļàţîöñ šţééŕéđ ƃý ŵöŕđîñĝ
àþþŕöṽéđ üñđéŕ šüþéŕšéđéđ ŕüļéš, šţàḿþéđ ŵîţĥ ţöđàý'š ƒîñĝéŕþŕîñţ àñđ ļööķîñĝ
ƒŕéšĥ. Ţĥé þàîŕ îš ŕéţüŕñéđ, šöüŕçé àñđ ţàŕĝéţ, ƃéçàüšé éîţĥéŕ ĥàļƒ àļöñé îš
ŵöŕšé ţĥàñ ñéîţĥéŕ: à ţàŕĝéţ ŵîţĥ ñö šöüŕçé îš àñ àñçĥöŕ ŵîţĥ ñö éẋþļàñàţîöñ,
àñđ à šöüŕçé ŵîţĥ ñö ţàŕĝéţ ţéàçĥéš ŵöŕđîñĝ ţĥàţ ḿüšţ ñöţ ƃé ŕéüšéđ.
Ţĥé ŕéçöŕđ àƃšöŕƃéŕ (Ç-04) ŵŕîţéš ƃöţĥ
ƒîéļđš àš îţ ļéàŕñš à çöḿḿîţţéđ ţàŕĝéţ: ţĥé ƃļöçķ'š îđéñţîţý, àñđ ţĥé ĝöṽéŕñîñĝ
çöñţéẋţ ţĥé àñšŵéŕ šţàñđš üñđéŕ. Ţĥé çöñţéẋţ îš ŕéàđ ƒŕöḿ ţĥé ţàŕĝéţ'š öŵñ
šţàḿþ ŵĥéŕé ţĥé ƒöŕḿàţ ķééþš öñé, àñđ öţĥéŕŵîšé ƒŕöḿ ţĥé đéçîšîöñ ŕéçöŕđ ƒöŕ
ţĥé üñîţ àñđ ļöçàļé, ŵĥîçĥ îš ŵĥéŕé à ĴŠÖÑ çàţàļöĝ'š öŕ à .properties ƒîļé'š
ţŕàñšļàţîöñš ĥàṽé îţ ŕéçöŕđéđ: ţĥé çöñţéẋţ ţĥé đéçîđéŕ àþþŕöṽéđ ţĥé üñîţ üñđéŕ,
öŕ ţĥé þŕöđüçéŕ'š šţàḿþ ţĥé ļööþ ŕéçöŕđéđ ŵĥéñ îţ ŵŕöţé ţĥé ţàŕĝéţ. Ţĥé .kmb
ƃüñđļé çàŕŕîéš point, unit àñđ éàçĥ öŕîĝîñ'š contextFp, šö à šééđ
éẋþöŕţéđ àñđ ŕé-îḿþöŕţéđ ķééþš îţš çĥàîñ àñđ îţš ĝöṽéŕñàñçé. Çöḿþîļîñĝ à ƃüñđļé
îñţö ţĥé šţöŕé àļšö ŵŕîţéš éàçĥ éñţŕý'š ƒîñĝéŕþŕîñţ öñţö ţĥé ŕéçöŕđ ŕöŵ ƒöŕ ţĥé
üñîţ îţ àñšŵéŕš, ŵĥéŕé ţĥé ŕöŵ ĥöļđš ñöñé àñđ îš àƃöüţ ţĥàţ ţŕàñšļàţîöñ, šö ţĥé
àƃšöŕƃéŕ ţĥàţ ŕüñš àƒţéŕ ţĥé çöḿþîļé ƒîñđš îţ ţĥéŕé. Ñöţĥîñĝ ƃàçķƒîļļš à üñîţ
öñţö éñţŕîéš àþþŕöṽéđ ƃéƒöŕé çĥàîñš éẋîšţéđ; ţĥöšé éñţŕîéš àñšŵéŕ ļööķüþš àš
ƃéƒöŕé àñđ ƃéļöñĝ ţö ñö çĥàîñ, àñđ àñ àñšŵéŕ þŕöđüçéđ üñđéŕ ñö ĝöṽéŕñîñĝ
çöñţéẋţ, öŕ ƃéƒöŕé àñýţĥîñĝ ŕéçöŕđéđ öñé, çàŕŕîéš ñö ƒîñĝéŕþŕîñţ.
Öñé îñţéŕƒàçé ƒöŕ þŕöđüçéŕš. core/memory.Provider îš éṽéŕýţĥîñĝ à þŕöđüçéŕ
ḿàý àšķ à çöñţéñţ ḿéḿöŕý, îñ ţŵö ḿéţĥöđš ŵîţĥ šţŕüçţ ŕéǫüéšţš: Lookup (ŵĥàţ îš
àþþŕöṽéđ ƒöŕ ţĥîš çöñţéñţ, àţ ţĥîš þöîñţ, àƃöṽé ţĥîš šçöŕé, ṽéŕƃàţîḿ öŕ
àđàþţéđ) àñđ PriorVersion (ŵĥàţ ţĥîš ƃļöçķ šàîđ ƃéƒöŕé, üñđéŕ ţĥîš
ĝöṽéŕñàñçé). À þŕöṽîđéŕ ţĥàţ çàññöţ àñšŵéŕ ŕéţüŕñš ƒàļšé ŕàţĥéŕ ţĥàñ öḿîţţîñĝ
ţĥé ḿéţĥöđ, šö à çàļļéŕ çàññöţ ţéļļ à šţöŕé ţĥàţ ķééþš ñö çĥàîñš ƒŕöḿ à ƃļöçķ
ţĥàţ ĥàš ñö ĥîšţöŕý, àñđ šĥöüļđ ñöţ ƃéĥàṽé đéŕéñţļý öñ ţĥéḿ.
memory/leverage îš ţĥé öñé àđàþţéŕ ƒŕöḿ ţĥé memory þàçķàĝé ţö ţĥàţ çöñţŕàçţ,
àñđ core/memory.NullProvider àñšŵéŕš ñöţĥîñĝ ƒöŕ à ŕüñ ŵîţĥ ñö çöŕþüš. À ĥöšţ
ĝŕàñţš à çöŕþüš ţĥŕöüĝĥ öñé çöñƒîĝ ķéý, core/memory.ConfigKey, ţö éṽéŕý ţööļ
ŵĥöšé šçĥéḿà đéçļàŕéš îţ: recycle ŕéǫüîŕéš à ḿéḿöŕý, àñđ translate
àççéþţš öñé (schema.Accepts) àñđ šţîļļ ƃüîļđš îñ à þŕöĵéçţ ŵîţĥ ñö šţöŕé.
Ţĥé translate ţööļ öƒƒéŕš à ƃļöçķ'š þŕîöŕ àñšŵéŕ ţö ţĥé ḿöđéļ àš ŕéƒéŕéñçé,
ĝàţéđ àš àƃöṽé, üñđéŕ reuse: prior (ţĥé đéƒàüļţ); reuse: none šéñđš ñö
ŕéƒéŕéñçé, ŵĥîçĥ îš ŵĥàţ à ŕüñ ŵàñţš ŵĥéñ îţ îš ŕé-ţŕàñšļàţîñĝ éṽéŕýţĥîñĝ
àƒţéŕ à ṽöîçé çĥàñĝé ţĥé öļđ ŵöŕđîñĝ šĥöüļđ ñöţ àñçĥöŕ, öŕ đöéš ñöţ ŵàñţ ţö
þàý ƒöŕ ţĥé ļööķüþ. Ţĥé ŕéƒéŕéñçé îš þéŕ ƃļöçķ àñđ ţŕàṽéļš ƃéšîđé ţĥé ƃļöçķ îñ à ƃàţçĥ,
ñéṽéŕ îñ ţĥé šĥàŕéđ þŕéàḿƃļé, šö öñé ƃļöçķ'š ĥîšţöŕý îš ñöţ öƒƒéŕéđ ţö àñöţĥéŕ.
Îţ îš þàŕţ öƒ ţĥé þŕöḿþţ'š çöñţéẋţ đîĝéšţ, šö à ţŕàñšļàţîöñ çàçĥéđ üñđéŕ öñé
þŕîöŕ ṽéŕšîöñ îš ñöţ šéŕṽéđ àƒţéŕ ţĥé çĥàîñ ḿöṽéš.
Ţĥé ļööķüþ îñţéŕƒàçé
type ContentMemory interface {
Add(ctx context.Context, entry Entry) error
Lookup(ctx context.Context, source *model.Block, sourceLocale, targetLocale model.LocaleID,
opts LookupOptions) ([]Match, error)
LookupSegment(ctx context.Context, source *model.Block, segmentIdx int,
sourceLocale, targetLocale model.LocaleID, opts LookupOptions) ([]Match, error)
LookupText(ctx context.Context, source string, sourceLocale, targetLocale model.LocaleID,
opts LookupOptions) ([]Match, error)
Delete(ctx context.Context, id string) error
Count(ctx context.Context) (int, error)
Close() error
}
Lookup ţàķéš à *model.Block ŕàţĥéŕ ţĥàñ à šţŕîñĝ. Ţĥé ƃļöçķ çàŕŕîéš ţĥé
éñţîţý àññöţàţîöñš ñééđéđ ţö çöḿþüţé ţĥé ĝéñéŕàļîžéđ ķéý àñđ ţĥé îñļîñé-çöđé ŕüñš
ñééđéđ ƒöŕ ţĥé šţŕüçţüŕàļ ķéý, šö ñö šéþàŕàţé þŕé-þŕöçéššîñĝ šţéþ îš ŕéǫüîŕéđ. Ƃý
đéƒàüļţ îţ ķéýš öñ ţĥé ƃļöçķ'š ŵĥöļé çöñţéñţ, ţĥé ṽéŕƃàţîḿ çàšé ŵĥéñ ñö
šéĝḿéñţàţîöñ öṽéŕļàý îš þŕéšéñţ. LookupSegment ķéýš öñ à šîñĝļé šéĝḿéñţ šþàñ
ƒöŕ ţĥé šéñţéñçé-ļéṽéļ ļéṽéŕàĝé þàţĥ
(Ḿ-01). LookupText îš ţĥé
ƒļàţţéñéđ ƒöŕḿ, ƒöŕ éñţŕîéš à ƃļöçķ ƒöŕḿ çàññöţ ŕéàçĥ; à þŕöđüçéŕ üšéš îţ àƒţéŕ
ţĥé ƃļöçķ ƒöŕḿ ƒîñđš ñöţĥîñĝ. À šţöŕé ţĥàţ ķééþš ṽéŕšîöñ çĥàîñš àļšö îḿþļéḿéñţš
VersionReader.
Ţĥé ḿéḿöŕý îš šţàţé, ñöţ šöüŕçé
Ţĥé çöñţéñţ ḿéḿöŕý îš àççüḿüļàţéđ ḿàçĥîñé ḿéḿöŕý (éṽéŕý ţŕàñšļàţéđ šéĝḿéñţ ƃéçöḿéš ļéṽéŕàĝé ƒöŕ ţĥé ñéẋţ), ñöţ àüţĥöŕéđ, ŕéṽîéŵéđ çöñţéñţ. Šö üñļîķé ţĥé ţéŕḿš šöüŕçé (Ç-08), ŵĥîçĥ îš šöüŕçé, ţĥé ḿéḿöŕý îš šţàţé, ķéþţ öüţ öƒ ṽéŕšîöñ çöñţŕöļ:
- îţš ĥöḿé îš à šţöŕé öüţšîđé ţĥé ŵöŕķîñĝ ţŕéé: ļöçàļļý ţĥé ḿéḿöŕý ţàƃļéš îñšîđé
.kapi/work/store.db(Ç-03); îñ ÇÎ ŵĥàţéṽéŕ ţĥé ĵöƃ ŕéšţöŕéš; àñđ à šĥàŕéđ ƃàçķéñđ ŵĥéŕé à ţéàḿ ñééđš öñé àüţĥöŕîţàţîṽé, àççüḿüļàţîñĝ šţöŕé. Öñé çöñţîñüüḿ, ļàŕĝéŕ ƃàçķéñđ. Ţĥémemory/schemaþàçķàĝé çàŕŕîéš ţĥé ţàƃļé đéƒîñîţîöñš îñ à šéçöñđ ŠǪĻ đîàļéçţ ƃéšîđé ŠǪĻîţé'š, šö šüçĥ à ƃàçķéñđ ƃüîļđš ţĥé šàḿé ţàƃļéš ƒŕöḿ ţĥé šàḿé đéçļàŕàţîöñ. - îţ îš ŕéƃüîļđàƃļé, ŵĥîçĥ ḿàķéš îţ šöƒţéŕ ţĥàñ ḿöšţ ḿàçĥîñé šţàţé: ţĥé ļéṽéŕàĝé ŕéçöñšţŕüçţš ƒŕöḿ ţĥé çöḿḿîţţéđ ţŕàñšļàţîöñš þļüš ţĥé ĥüḿàñ-çüŕàţéđ, ŕéàđ-öñļý çöḿḿîţţéđ šééđš. À çöļđ öŕ çļöƃƃéŕéđ šţöŕé îš à þéŕƒöŕḿàñçé ĥîţ, ñöţ đàţà ļöšš.
- ƃéçàüšé îţ îš àđđîţîṽé àñđ ŕéƃüîļđàƃļé îţ ñééđš ñö ļöçķîñĝ: îţ ţöļéŕàţéš ļàšţ-ŵŕîţé-ŵîñš àñđ þéŕ-ƃŕàñçĥ çàçĥé ķéýš.
Çöñšéǫüéñţļý ÇÎ ñéṽéŕ çöḿḿîţš ţĥé ḿéḿöŕý: îţ ƃüîļđš ţĥé ţàƃļéš ƒŕöḿ ţĥé çöḿḿîţţéđ šöüŕçéš, ļéṽéŕàĝéš àñđ àççüḿüļàţéš đüŕîñĝ ţĥé ŕüñ, àñđ đîšçàŕđš ţĥéḿ. Ţĥé ţŕàñšļàţîöñ öüţþüţ îš ŵĥàţ îš çöḿḿîţţéđ. Ţĥîš îš ŵĥý à ñéŵ ţéŕḿš šöüŕçé àŕŕîṽîñĝ ŵĥîļé à ḿéḿöŕý îš îñ þļàý îš ñöţ à ŕéçöñçîļîàţîöñ þŕöƃļéḿ: ñö šţöŕé ļîṽéš îñ ṽéŕšîöñ çöñţŕöļ ţö çöñƒļîçţ.
À þŕöĵéçţ àççüḿüļàţéš ḿàñý ḿéḿöŕý ƃüñđļéš, ñöţ öñé (öñé þéŕ çöñţéñţ šüŕƒàçé
üñđéŕ .kapi/memory/*.memory.json), šö ţĥé šüƒƒîẋ, ñöţ ţĥé ļöçàţîöñ, îđéñţîƒîéš
à šééđ. Ţĥàţ îš ŵĥý ţĥé ḿéḿöŕý ĥàš ñö çöñṽéñţîöñàļ-ļöçàţîöñ ƒàļļƃàçķ ŵĥéŕé ţĥé
ţéŕḿš šöüŕçé đöéš: à çöñṽéñţîöñàļ šîñĝļé ñàḿé ŵöüļđ ƒöŕçé à þŕöĵéçţ ŵîţĥ à ƃüñđļé
þéŕ šüŕƒàçé ţö ñöḿîñàţé öñé öƒ ţĥéḿ àŕƃîţŕàŕîļý. À šééđ îš ñàḿéđ ƃý
defaults.memory_source öŕ ƃý àñ éẋþļîçîţ þàţĥ; ţĥéŕé îš ñöţĥîñĝ šéñšîƃļé ţö
ĝüéšš.
Ţĥé ŕéƃüîļđ, îñ ţŵö šţàĝéš
Ƃöţĥ šţàĝéš ŕüñ öñ ţĥé ŕéàđ þàţĥ, ķéýéđ ƃý çöñţéñţ đîĝéšţ, šö àñ üñçĥàñĝéđ îñþüţ çöšţš à ŕéàđ àñđ ñö ŵŕîţéš:
- Ţĥé šééđš: éṽéŕý çöḿḿîţţéđ ƃüñđļé üñđéŕ
.kapi/memory/, ñöţ öñļý ţĥé þŕîḿàŕý öñé ƃöüñđ ƃýdefaults.memory_source. - Ţĥé çöḿḿîţţéđ ţŕàñšļàţîöñš: éàçĥ çöļļéçţîöñ'š þéŕ-ļöçàļé ţàŕĝéţ đöçüḿéñţ, þàîŕéđ ŵîţĥ îţš šöüŕçé ţĥŕöüĝĥ ţĥé çöļļéçţîöñ'š öŵñ ƃîñđîñĝ (ţĥé šàḿé ŕéàđéŕ àñđ ƒöŕḿàţ çöñƒîĝ öñ ƃöţĥ šîđéš) àñđ àƃšöŕƃéđ àš šöüŕçé→ţàŕĝéţ þàîŕš.
Ţĥé šéçöñđ šţàĝé îš ţĥé ĥàļƒ ţĥàţ çàŕŕîéš ŵöŕđîñĝ ñö ƃüñđļé ĥöļđš. À ţŕàñšļàţîöñ àþþŕöṽéđ šöḿéŵĥéŕé ŕéàçĥéš ṽéŕšîöñ çöñţŕöļ àš ţĥé ţàŕĝéţ àŕţîƒàçţ, àñđ ŵîţĥöüţ ŕéàđîñĝ îţ ƃàçķ ţĥé ŕéṽîéŵéđ ŵöŕđîñĝ ļîṽéš îñ éẋàçţļý öñé þļàçé ñöţĥîñĝ îñ ţĥé þîþéļîñé çàñ šéé. Ţĥé àƃšöŕþţîöñ ŕéþöŕţš ŵĥàţ îţ đîđ: þàîŕš šééñ, đöçüḿéñţš ŕéàđ, þàîŕš ļéàŕñéđ, þàîŕš ŕéçöñçîļéđ, þàîŕš çöñţéšţéđ, þàîŕš ŕéƒüšéđ.
Ţĥé ŕéçöŕđ îš àƃšöŕƃéđ àƒţéŕ ţĥé šééđš, šö öñ ţĥé þàšš ţĥàţ çöḿþîļéš ƃöţĥ (à ƒŕéšĥ çĥéçķöüţ) ţĥé çöḿḿîţţéđ ţŕàñšļàţîöñ šüþéŕšéđéš ţĥé àççéļéŕàñţ. Àƒţéŕŵàŕđš éàçĥ îñþüţ ĥàš ĥàđ îţš šàý àñđ ţĥé đîĝéšţ đéçîđéš: öñļý àñ àŕţîƒàçţ ŵĥöšé ƃýţéš ḿöṽéđ îš àþþļîéđ àĝàîñ, ŵĥîçĥ îš ŵĥàţ ļéţš à ļàţéŕ šééđ éđîţ, à þüļļéđ đéçîšîöñ öŕ àñ àþþŕöṽàļ šţàñđ ŕàţĥéŕ ţĥàñ ƃéîñĝ öṽéŕŵŕîţţéñ ƃý àñ üñçĥàñĝéđ ƒîļé. À ŕüñ šţàḿþš ţĥé ţàŕĝéţš îţ ŵŕîţéš îţšéļƒ, šö à çöñṽéŕĝéñçé ñéṽéŕ ŕéàđš îţš öŵñ öüţþüţ ƃàçķ àš îƒ à þéŕšöñ ĥàđ çöḿḿîţţéđ îţ.
Ţŵö ŕüļéš ķééþ ţĥé àƃšöŕƃéđ ŕéçöŕđ ĥöñéšţ. À þàîŕ ŵĥöšé ţàŕĝéţ đöéš ñöţ çàŕŕý îţš
šöüŕçé'š îñļîñé çöđéš îš ŕéƒüšéđ ŕàţĥéŕ ţĥàñ šţöŕéđ, ţĥé šàḿé þŕéđîçàţé
recycle ƒîļļš ƃý. Àñđ ŵĥéŕé ţĥé ŕéçöŕđ àñšŵéŕš öñé šöüŕçé šţŕîñĝ ḿöŕé ţĥàñ öñé
ŵàý, éàçĥ àñšŵéŕ ķééþš àñ éñţŕý öƒ îţš öŵñ üñđéŕ ţĥé þöîñţ ţĥàţ àþþŕöṽéđ îţ, šö
ţĥé ƒîļļ ŕéšöļṽéš ƃéţŵééñ ţĥéḿ ƃý àšķîñĝ ƒŕöḿ ŵĥéŕé îţ îš (šéé Ŵĥéŕé àñ àñšŵéŕ
ŵàš àþþŕöṽéđ). À šöüŕçé àñšŵéŕéđ ţĥé šàḿé ŵàý
ŵĥéŕéṽéŕ îţ àþþéàŕš šţàýš öñé éñţŕý ƃöüñđ ţö ñö þöîñţ: àñ àñšŵéŕ éṽéŕý þöîñţ
àĝŕééš öñ îš ñöţ à đéçîšîöñ àƃöüţ à þļàçé, àñđ ĝîṽîñĝ îţ öñé ŵöüļđ þüţ à çöþý öƒ
îţ îñ ţĥé šţöŕé þéŕ çöļļéçţîöñ ţĥàţ çàŕŕîéš ţĥé šţŕîñĝ.
Ƃéçàüšé ţĥé àƃšöŕƃéŕ'š éñţŕîéš àŕé ŕéþŕöđüçîƃļé ƒŕöḿ ţĥé çöḿḿîţţéđ ţŕàñšļàţîöñš ƃý çöñšţŕüçţîöñ (ţĥàţ îš ŵĥàţ ţĥîš šţàĝé đöéš), à šţöŕé ŵŕîţţéñ üñđéŕ àñ öļđéŕ éñţŕý îđéñţîţý îš ŕé-ļéàŕñéđ ŕàţĥéŕ ţĥàñ ḿîĝŕàţéđ: ţĥé þàšš ƒöŕĝéţš ţĥé éñţŕîéš îţ ḿîñţéđ àñđ ţĥé šţàḿþš ţĥàţ ŵöüļđ ļéţ îţ šķîþ à đöçüḿéñţ, àñđ ŕéàđš ţĥé ŕéçöŕđ àĝàîñ. Ŵĥàţ ţĥé çöŕþüš ļéàŕñéđ éļšéŵĥéŕé îš ñöţ ţĥé ŕéçöŕđ'š ţö ƒöŕĝéţ.
Ƒüžžý çàñđîđàţé ŕéţŕîéṽàļ
Ƒüžžý ḿàţçĥîñĝ üšéš ţŕîĝŕàḿ çàñđîđàţé ŕéţŕîéṽàļ ţö àṽöîđ ƒüļļ ţàƃļé šçàñš, ţĥéñ šçöŕéš ţĥé çàñđîđàţé šéţ ŵîţĥ ŕüñé-ļéṽéļ Ļéṽéñšĥţéîñ îñ Ĝö.
Ţĥé ŠǪĻîţé ƃàçķéñđ îñđéẋéš ţĥé þļàîñ, šţŕüçţüŕàļ àñđ ĝéñéŕàļîžéđ ķéýš îñ àñ ƑŢŠ5 ṽîŕţüàļ ţàƃļé ŵîţĥ à ţŕîĝŕàḿ ţöķéñîžéŕ. Ƃéçàüšé ţĥéšé àŕé ñöţ éẋţéŕñàļ-çöñţéñţ ƑŢŠ ţàƃļéš, ñö ŠǪĻ ţŕîĝĝéŕš àŕé ŵîŕéđ: ţĥé îñđéẋ îš ķéþţ îñ šýñç éẋþļîçîţļý öñ éàçĥ üþšéŕţ àñđ đéļéţé, ŵîţĥ šéţ-ƃàšéđ ŕéƃüîļđ ƒüñçţîöñš ƒöŕ ƃüļķ îḿþöŕţš. Ŵĥéŕé ţĥé ţŕîĝŕàḿ ţöķéñîžéŕ îš üñàṽàîļàƃļé àţ ŕüñţîḿé, ḿàţçĥîñĝ ƒàļļš ƃàçķ ţö ļéñĝţĥ-ƃàšéđ þŕé-ƒîļţéŕîñĝ. À šéþàŕàţé ƒüļļ-ţéẋţ ţàƃļé ŵîţĥ ŕéļéṽàñçé ŕàñķîñĝ ƃàçķš ţĥé ŕàñķéđ šéàŕçĥ ţĥé ÇĻÎ àñđ ţĥé đéšķţöþ àþþ üšé.
Ţĥé ţŕîĝŕàḿ ǫüéŕý îš çöñšţŕüçţéđ đéŕéñţļý ƒöŕ ḿüļţî-ŵöŕđ Ļàţîñ ţéẋţ (àñ ÖŔ öƒ ǫüöţéđ šüƃšţŕîñĝš) àñđ ƒöŕ šîñĝļé-ŵöŕđ öŕ ÇĴĶ ţéẋţ, ŵĥéŕé öṽéŕļàþþîñĝ çĥàŕàçţéŕ ŵîñđöŵš àŕé šàḿþļéđ àţ éṽéñ îñţéŕṽàļš.
Üñîçöđé ñöŕḿàļîžàţîöñ
Éṽéŕý ḿàţçĥîñĝ ķéý þàššéš ţĥŕöüĝĥ Üñîçöđé ÑƑÇ ñöŕḿàļîžàţîöñ ƃéƒöŕé ŵĥîţéšþàçé ñöŕḿàļîžàţîöñ. Ţĥîš ĥàñđļéš ţĥé ŕéàļ éđĝé çàšéš: Àŕàƃîç ţàšĥķééļ àš šéþàŕàţé çĥàŕàçţéŕš ṽéŕšüš çöḿƃîñéđ, Ĥàñĝüļ ĵàḿö ṽéŕšüš çöḿþöšéđ šýļļàƃļéš, àñđ àççéñţéđ Ļàţîñ çöḿþöšéđ ţŵö ŵàýš.
ŢḾẊ îñţéŕçĥàñĝé
Ţĥé ḿéḿöŕý îḿþöŕţš àñđ éẋþöŕţš ŢḾẊ ƒöŕ îñţéŕçĥàñĝé ŵîţĥ éẋţéŕñàļ ţööļîñĝ, ḿàþþîñĝ
ţĥé îñļîñé éļéḿéñţš öñţö ŕüñ ķîñđš: <ph> ţö à þļàçéĥöļđéŕ ŕüñ, <bpt>/<ept>
ţö ţĥé öþéñ àñđ çļöšé ĥàļṽéš öƒ à þàîŕéđ çöđé. Éñţîţý ḿéţàđàţà ţŕàṽéļš àš
þŕöþéŕţîéš öñ ţĥé ţŕàñšļàţîöñ üñîţ. Ļéĝàçý þļàîñ-ţéẋţ îḿþöŕţš þŕöđüçé éñţŕîéš
ŵĥöšé ṽàŕîàñţš àŕé à šîñĝļé ţéẋţ ŕüñ ŵîţĥ ñö éñţîţý ḿàþþîñĝš, àñđ þàŕţîçîþàţé îñ
þļàîñ ḿàţçĥîñĝ öñļý.
Þîþéļîñé îñţéĝŕàţîöñ
Ţĥé recycle ţööļ îš à ţŕàñšļàţé-çļàšš ţööļ
(É-03): îţ ŕéàđš éàçĥ ƃļöçķ'š šöüŕçé, ǫüéŕîéš ţĥé
ḿéḿöŕý àţ ţĥé ŕüñ'š þöîñţ, àñđ ŵĥéŕé à ḿàţçĥ çļéàŕš ţĥé ƒîļļ ţĥŕéšĥöļđ ŵŕîţéš ţĥé
ţàŕĝéţ. Îţ ŕéçöŕđš ţĥé öüţçöḿé öñ ţĥé ƃļöçķ'š þŕöþéŕţîéš (ţĥé ḿàţçĥ šçöŕé àñđ
ḿàţçĥ ţýþé), ŵĥîçĥ đöŵñšţŕéàḿ ţööļš ŕéàđ àš çöñţéẋţ, šö à ţŕàñšļàţé šţéþ çàñ
šķîþ ŵĥàţ ţĥé ḿéḿöŕý àļŕéàđý ƒîļļéđ àţ à ĥîĝĥ šçöŕé. À ƒîļļéđ ţàŕĝéţ îš šţàḿþéđ
ŵîţĥ ţĥé çöñţéẋţ ĝöṽéŕñîñĝ ţĥé çöļļéçţîöñ ñöŵ, šö à ŕéçýçļéđ ţàŕĝéţ ƒàļļš šţàļé
ŵĥéñ ţĥàţ ĝöṽéŕñàñçé ḿöṽéš éẋàçţļý àš à ƒŕéšĥļý ţŕàñšļàţéđ öñé đöéš.
ŕéçýçļé üšéš éñţîţý àññöţàţîöñš ƒöŕ à ĝéñéŕàļîžéđ-ţîéŕ ḿàţçĥ.
Àƒţéŕ ţŕàñšļàţîöñ, ƃļöçķš àŕé ŵŕîţţéñ ƃàçķ ŵîţĥ ţĥéîŕ ƒüļļ ŕüñ ŕéþŕéšéñţàţîöñ àñđ éñţîţý ḿàþþîñĝš, šö ţĥé ḿéḿöŕý àççüḿüļàţéš ŕîçĥéŕ đàţà öṽéŕ ţîḿé.
Çöñšéǫüéñçéš
- Ţĥé ḿéḿöŕý šţöŕéš ŕîçĥ çöñţéñţ (ŕüñ šéǫüéñçéš ŵîţĥ îñļîñé-çöđé ŕüñš àñđ éñţîţý ḿéţàđàţà), ñöţ ƒļàţ šţŕîñĝš.
- Öñé šöüŕçé šţŕîñĝ çàñ çàŕŕý à đéŕéñţ ŕéṽîéŵéđ àñšŵéŕ þéŕ çöļļéçţîöñ, àñđ à ƒîļļ ţĥàţ ķñöŵš ŵĥéŕé îţ îš ĝéţš ţĥé ļöçàļ öñé. À ŕéƃüîļđ ţĥéŕéƒöŕé ŕéþŕöđüçéš ţĥé ŵöŕđîñĝ îţ šţàŕţéđ ƒŕöḿ îñšţéàđ öƒ ḿöṽîñĝ ŵîţĥ ţĥé çöŕþüš.
- À ƃļöçķ'š þŕéṽîöüš àñšŵéŕ ŕéàçĥéš ţĥé ḿöđéļ àš ŕéƒéŕéñçé, àñđ öñļý üñđéŕ ţĥé ĝöṽéŕñàñçé îţ ŵàš àþþŕöṽéđ üñđéŕ.
- Éṽéŕý þŕöđüçéŕ ŕéàçĥéš ţĥé çöŕþüš ţĥŕöüĝĥ öñé çöñţŕàçţ, šö à šéçöñđ ţööļ çàññöţ ŕéàçĥ îţ ƃý à šîđé çĥàññéļ ţĥé ƒîŕšţ öñé đîđ ñöţ.
- Ĝéñéŕàļîžéđ ḿàţçĥîñĝ ţüŕñš éñţîţý ṽàŕîàţîöñ ƒŕöḿ à ƒüžžý þéñàļţý îñţö àñ éẋàçţ ḿàţçĥ àţ ţĥé ţöþ ţîéŕ.
- Îñļîñé çöđéš šüŕṽîṽé šţöŕàĝé àñđ ḿàţçĥîñĝ, ŕéđüçîñĝ ḿàñüàļ ţàĝ ŕéîñšéŕţîöñ.
- Ḿàţçĥîñĝ öñ ƃļöçķš ŕàţĥéŕ ţĥàñ šţŕîñĝš ḿàķéš ţĥé ḿéḿöŕý à šţŕéàḿîñĝ þîþéļîñé šţàĝé ţĥàţ çöḿþöšéš ŵîţĥ öţĥéŕ ţööļš.
- Ţŕîĝŕàḿ çàñđîđàţé ŕéţŕîéṽàļ ķééþš ƒüžžý ļööķüþ ƒàšţ àţ šçàļé.
- Ţĥé þüŕé-Ĝö ŠǪĻîţé đŕîṽéŕ þŕéšéŕṽéš çŕöšš-çöḿþîļàţîöñ àñđ ţĥé šîñĝļé-ƃîñàŕý đîšţŕîƃüţîöñ ĝöàļ.
Šéé àļšö
- Ç-02: Çööŕđîñàţéš àñđ ĝöṽéŕñàñçé: ţĥé çöñţéẋţ šþàçé àñ àþþŕöṽàļ þöîñţ ñàḿéš, àñđ ţĥé ŕéšöļṽéŕ ţĥàţ àñšŵéŕš îţ.
- Ç-04: Üñîţ šţàţé àñđ ţĥé đéçîšîöñ ŕéçöŕđ: ţĥé šţàţé çàŕŕîéŕ ţĥîš šţöŕé îš ñöţ, àñđ ţĥé àƃšöŕƃéŕ ţĥàţ ţéàçĥéš îţ.
- Ç-05: Ƒŕéšĥñéšš àñđ ţĥé çöḿþöšîţé ŕéƒ: ţĥé çöñţéẋţ ƒîñĝéŕþŕîñţ à þŕîöŕ àñšŵéŕ îš ĝàţéđ öñ.
- Ç-08: Ţéŕḿš: šĥàŕéđ ḿàţçĥîñĝ îñƒŕàšţŕüçţüŕé àñđ ţĥé šöüŕçé-ṽéŕšüš-šţàţé çöñţŕàšţ.
- Ƒ-02: Çöñţéñţ Ḿöđéļ: ŕüñ šéǫüéñçéš, îñļîñé-çöđé ŕüñš, éñţîţý àññöţàţîöñš.
- Ḿéḿöŕý ḿàţçĥîñĝ àļĝöŕîţĥḿ: ţŕîĝŕàḿ çöñšţŕüçţîöñ, ţĥé šçĥéḿà, ţĥé ŢḾẊ éļéḿéñţ ḿàþþîñĝ.