diff --git a/dashboard/src/i18n/locales/en-US/features/persona.json b/dashboard/src/i18n/locales/en-US/features/persona.json index 3dc865c02..301747be9 100644 --- a/dashboard/src/i18n/locales/en-US/features/persona.json +++ b/dashboard/src/i18n/locales/en-US/features/persona.json @@ -10,7 +10,9 @@ "cancel": "Cancel", "save": "Save", "move": "Move", - "addDialogPair": "Add Dialog Pair" + "addDialogPair": "Add Dialog Pair", + "export": "Export", + "import": "Import Persona" }, "labels": { "presetDialogs": "Preset Dialogs ({count} pairs)", @@ -83,7 +85,15 @@ "saveError": "Save failed", "deleteConfirm": "Are you sure you want to delete persona \"{id}\"? This action cannot be undone.", "deleteSuccess": "Deleted successfully", - "deleteError": "Delete failed" + "deleteError": "Delete failed", + "exportConfirm": "Export only includes system prompt and preset dialogs, not tools and Skills config. Continue?", + "exportSuccess": "Exported successfully", + "exportError": "Export failed: {error}", + "importSuccess": "Persona imported successfully, please configure tools and Skills manually", + "importError": "Import failed: {error}", + "importFormatError": "Invalid file format, please select a valid persona export file", + "importMissingPrompt": "Incomplete file content, missing system prompt", + "importIdExists": "Persona name already exists, renamed to \"{id}\"" }, "persona": { "personasTitle": "Personas", diff --git a/dashboard/src/i18n/locales/ru-RU/features/persona.json b/dashboard/src/i18n/locales/ru-RU/features/persona.json index f7e0aff25..78db7156d 100644 --- a/dashboard/src/i18n/locales/ru-RU/features/persona.json +++ b/dashboard/src/i18n/locales/ru-RU/features/persona.json @@ -10,7 +10,9 @@ "cancel": "Отмена", "save": "Сохранить", "move": "Переместить", - "addDialogPair": "Добавить пример диалога" + "addDialogPair": "Добавить пример диалога", + "export": "Экспорт", + "import": "Импорт персонажа" }, "labels": { "presetDialogs": "Примеры диалогов ({count})", @@ -83,7 +85,15 @@ "saveError": "Ошибка сохранения", "deleteConfirm": "Вы уверены, что хотите удалить персонажа «{id}»? Это действие необратимо.", "deleteSuccess": "Удалено", - "deleteError": "Ошибка удаления" + "deleteError": "Ошибка удаления", + "exportConfirm": "Экспорт содержит только системный промпт и примеры диалогов, без инструментов и навыков. Продолжить?", + "exportSuccess": "Экспортировано", + "exportError": "Ошибка экспорта: {error}", + "importSuccess": "Персонаж импортирован, настройте инструменты и навыки вручную", + "importError": "Ошибка импорта: {error}", + "importFormatError": "Неверный формат файла, выберите корректный файл экспорта", + "importMissingPrompt": "Неполное содержимое файла, отсутствует системный промпт", + "importIdExists": "Имя персонажа уже существует, переименовано в «{id}»" }, "persona": { "personasTitle": "Персонаж", diff --git a/dashboard/src/i18n/locales/zh-CN/features/persona.json b/dashboard/src/i18n/locales/zh-CN/features/persona.json index e707a5d62..12a4fce4f 100644 --- a/dashboard/src/i18n/locales/zh-CN/features/persona.json +++ b/dashboard/src/i18n/locales/zh-CN/features/persona.json @@ -10,7 +10,9 @@ "cancel": "取消", "save": "保存", "move": "移动", - "addDialogPair": "添加对话对" + "addDialogPair": "添加对话对", + "export": "导出", + "import": "导入人格" }, "labels": { "presetDialogs": "预设对话 ({count} 对)", @@ -83,7 +85,15 @@ "saveError": "保存失败", "deleteConfirm": "确定要删除人格 \"{id}\" 吗?此操作不可撤销。", "deleteSuccess": "删除成功", - "deleteError": "删除失败" + "deleteError": "删除失败", + "exportConfirm": "导出仅包含系统提示词和预设对话,不包含工具和 Skills 配置。是否继续导出?", + "exportSuccess": "导出成功", + "exportError": "导出失败:{error}", + "importSuccess": "人格导入成功,请手动配置工具和 Skills", + "importError": "导入失败:{error}", + "importFormatError": "文件格式错误,请选择有效的人格导出文件", + "importMissingPrompt": "文件内容不完整,缺少系统提示词", + "importIdExists": "人格名称已存在,已重命名为 \"{id}\"" }, "persona": { "personasTitle": "人格", diff --git a/dashboard/src/views/persona/PersonaCard.vue b/dashboard/src/views/persona/PersonaCard.vue index 7cebb26a9..69e218ca9 100644 --- a/dashboard/src/views/persona/PersonaCard.vue +++ b/dashboard/src/views/persona/PersonaCard.vue @@ -20,6 +20,12 @@ {{ tm('persona.contextMenu.moveTo') }} + + + {{ tm('buttons.export') }} +