Files
LocalAI/addons/memory/manifest.json
T
Ettore Di Giacinto 7df9b263ed feat(addons): carry translated text in the manifest and the library
The manifest said its text in English only. An add-on can now translate
what the host shows to people, and the library list shows it before the
add-on is installed.

The title and the description use the language maps of ui.title and
ui.description, which every host already reads. A new optional field,
i18n, translates the connector kinds by language tag. It stays under api
2 and its set of fields is closed: the title and the description of a
declared kind, and only where the English kind has them. Tool
descriptions, schemas and skills are for the model and stay English.
Tags follow the language map rule (at most 16, no English), each string
has the limit of its English field, all translated text has at most
12 000 characters, and markup, control characters and direction
overrides are refused. A host that does not know the field refuses the
manifest, as it refuses any unknown field. The field is part of the
manifest, so the package digest and the signature cover it.

The catalog generator copies the translated title and description of
the manifest into each library entry (ui.titles, ui.descriptions), the
host validates them like the manifest values, and a library search
matches the English and the translated text. The apps list and the
connector kinds return the text of every language and, when the request
names a language (lang, else Accept-Language), the resolved text beside
the English fields: language, localizedTitle and localizedDescription.
No existing field changes.

Every add-on on master now has its title and description in Italian,
German, Spanish, French, Brazilian Portuguese, Simplified Chinese,
Korean and Indonesian, and the chat connectors carry their kind text in
the same languages. The packaging tests require that, and that a
translation has the fields of the English text it translates. The names
of the add-ons that provide a role are matched in their English title
only: a translation is often an ordinary word of its language.

Assisted-by: Claude:claude-sonnet-5-5 go
2026-11-04 17:46:53 +00:00

57 lines
3.4 KiB
JSON

{
"schemaVersion": 1,
"id": "memory",
"version": "0.1.0",
"executable": "memory",
"os": "linux",
"arch": "amd64",
"host": { "min": 1, "max": 1 },
"api": {"min": 2, "max": 2},
"protocol": { "min": 1, "max": 1 },
"dataFormat": { "min": 1, "max": 1 },
"capabilities": {
"skillDefinitions": [
{ "name": "memory" },
{ "name": "memory-check-own-files" }
],
"contextFiles": [
{ "scope": "user", "path": "Memory/index.md" },
{ "scope": "agent", "path": "Memory/agents/{agent}/index.md" },
{ "scope": "channel", "path": "Memory/channels/{channel}/index.md" }
],
"userSettings": [
{ "key": "save-mode", "values": ["ask", "auto", "never"], "default": "ask", "role": "memory.save-mode" }
],
"ui": {
"entry": "ui/memory.js",
"css": ["ui/memory.css"],
"sdk": { "min": 2, "max": 2 },
"pages": ["memory"],
"mainPage": "memory",
"icon": "ui/icon.png",
"title": {
"en": "Short memory",
"it": "Memoria breve",
"de": "Kurzzeitgedächtnis",
"es": "Memoria breve",
"fr": "Mémoire courte",
"pt-BR": "Memória curta",
"zh-CN": "简短记忆",
"ko": "짧은 기억",
"id": "Memori singkat"
},
"description": {
"en": "Your chats keep short notes about you and read them before they answer. By default a new note is saved only after you confirm it; you can choose to have it saved at once with an Undo, or never.",
"it": "Le tue chat conservano brevi note su di te e le leggono prima di rispondere. Di norma una nuova nota viene salvata solo dopo la tua conferma; puoi scegliere di salvarla subito con un Annulla, oppure mai.",
"de": "Ihre Chats führen kurze Notizen über Sie und lesen sie, bevor sie antworten. Standardmäßig wird eine neue Notiz erst nach Ihrer Bestätigung gespeichert; Sie können sie auch sofort mit Rückgängig-Option speichern lassen oder nie.",
"es": "Tus chats guardan notas breves sobre ti y las leen antes de responder. De forma predeterminada, una nota nueva se guarda solo después de que la confirmes; puedes elegir que se guarde al instante con la opción de deshacer, o que nunca se guarde.",
"fr": "Vos conversations gardent de courtes notes sur vous et les lisent avant de répondre. Par défaut, une nouvelle note n'est enregistrée qu'après votre confirmation ; vous pouvez choisir de l'enregistrer immédiatement avec une option Annuler, ou jamais.",
"pt-BR": "Seus chats guardam notas curtas sobre você e as leem antes de responder. Por padrão, uma nova nota só é salva depois que você a confirma; você pode escolher salvá-la na hora, com a opção de desfazer, ou nunca.",
"zh-CN": "你的聊天会记下关于你的简短笔记,并在回答前读取它们。默认情况下,新笔记须经你确认后才会保存;你也可以选择立即保存并提供撤销,或从不保存。",
"ko": "채팅이 나에 대한 짧은 메모를 보관하고, 답하기 전에 읽습니다. 기본적으로 새 메모는 확인한 후에만 저장되며, 실행 취소와 함께 바로 저장하거나 저장하지 않도록 선택할 수 있습니다.",
"id": "Obrolan Anda menyimpan catatan singkat tentang Anda dan membacanya sebelum menjawab. Secara bawaan, catatan baru disimpan hanya setelah Anda mengonfirmasinya; Anda dapat memilih agar langsung disimpan dengan opsi Urungkan, atau tidak pernah."
}
}
}
}