diff --git a/apps/stage-web/locales/en.yml b/apps/stage-web/locales/en.yml index eb757a767..4ed13ff42 100644 --- a/apps/stage-web/locales/en.yml +++ b/apps/stage-web/locales/en.yml @@ -73,30 +73,42 @@ settings: models: Model pages: card: - activate: Activate + title: Airi Card + description: Use Airi character card presets + upload: Upload + upload_desc: Click or drag file to upload + drop_here: Drop to upload + delete: Delete active: Active + active_badge: Currently Active + activate: Activate cancel: Cancel card_not_found: Card not found character: Character + personality: Personality + scenario: Scenario + systemprompt: System Prompt + posthistoryinstructions: Post-History Instructions + modules: Modules + close: Close + search: Search cards... + sort_by: Sort by + name_asc: Name (A-Z) + name_desc: Name (Z-A) + recent: Recently Added + no_cards: No cards yet. Click the button above to upload one! + no_results: No matching cards found + try_different_search: Try a different search term consciousness: model: Consciousness / Model created_by: created by creator_notes: Creator Notes - delete: Delete delete_card: Delete Card delete_confirmation: Are you sure you want to delete this card? - description: Use Airi character card presets description_label: Description - modules: Modules - personality: Personality - posthistoryinstructions: Post-History Instructions - scenario: Scenario speech: model: Speech / Model voice: Speech / Voice - systemprompt: System Prompt - title: Airi Card - upload: Upload memory: description: Where memories got stored, and organized title: Memory diff --git a/apps/stage-web/locales/zh-CN.yml b/apps/stage-web/locales/zh-CN.yml index eae80c358..932aa2c52 100644 --- a/apps/stage-web/locales/zh-CN.yml +++ b/apps/stage-web/locales/zh-CN.yml @@ -60,8 +60,11 @@ settings: title: Airi 角色卡 description: 使用 Airi 角色卡预设 upload: 上传 + upload_desc: 点击或拖拽文件到此处上传 + drop_here: 放开以上传文件 delete: 删除 active: 已激活 + active_badge: 当前使用中 activate: 激活 delete_card: 删除角色卡 delete_confirmation: 确定要删除这张角色卡吗? @@ -76,6 +79,15 @@ settings: posthistoryinstructions: 历史提示指令 modules: 模块 cancel: 取消 + close: 关闭 + search: 搜索角色卡... + sort_by: 排序方式 + name_asc: 名称 (A-Z) + name_desc: 名称 (Z-A) + recent: 最近添加 + no_cards: 还没有任何角色卡,点击上方按钮上传一个吧! + no_results: 没有找到匹配的角色卡 + try_different_search: 尝试使用其他关键词搜索 consciousness: model: 意识 / 模型 speech: diff --git a/apps/stage-web/src/pages/settings/airi-card/[id].vue b/apps/stage-web/src/pages/settings/airi-card/[id].vue deleted file mode 100644 index 8d55bbe45..000000000 --- a/apps/stage-web/src/pages/settings/airi-card/[id].vue +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - - - - {{ t('settings.title') }} - - - {{ t('settings.pages.card.title') }} - - - - - - - - - - - - {{ card.name }} - - - v{{ card.version }} - - · {{ t('settings.pages.card.created_by') }} {{ card.creator }} - - - - - - - - - - - - - - - - {{ t('settings.pages.card.delete_card') }} - - - {{ t('settings.pages.card.delete_confirmation') }} "{{ card.name }}" - - - - - showDeleteConfirm = false" - /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{ t(`settings.pages.card.${key.toLowerCase()}`) }} - - - - - - - - - - - - - - - {{ t('settings.pages.card.consciousness.model') }} - - - {{ moduleSettings.consciousness ?? 'default' }} - - - - - - - {{ t('settings.pages.card.speech.model') }} - - - {{ moduleSettings.speech ?? 'default' }} - - - - - - - {{ t('settings.pages.card.speech.voice') }} - - - {{ moduleSettings.voice ?? 'default' }} - - - - - - - - - {{ t('settings.pages.card.card_not_found') }} - - - - - - - diff --git a/apps/stage-web/src/pages/settings/airi-card/components/CardDetailDialog.vue b/apps/stage-web/src/pages/settings/airi-card/components/CardDetailDialog.vue new file mode 100644 index 000000000..36da728e6 --- /dev/null +++ b/apps/stage-web/src/pages/settings/airi-card/components/CardDetailDialog.vue @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + {{ selectedCard.name }} + + + + {{ t('settings.pages.card.active_badge') }} + + + + v{{ selectedCard.version }} + + · {{ t('settings.pages.card.created_by') }} {{ selectedCard.creator }} + + + + + + + + + + + + + + + + + + + {{ tab.label }} + + + + + + + + + + + + + + + + + + + + + + + {{ t(`settings.pages.card.${key.toLowerCase()}`) }} + + + + + + + + + + + + + + {{ t('settings.pages.card.consciousness.model') }} + + + {{ moduleSettings.consciousness ?? 'default' }} + + + + + + + {{ t('settings.pages.card.speech.model') }} + + + {{ moduleSettings.speech ?? 'default' }} + + + + + + + {{ t('settings.pages.card.speech.voice') }} + + + {{ moduleSettings.voice ?? 'default' }} + + + + + + + + + {{ t('settings.pages.card.card_not_found') }} + + + + + + + + diff --git a/apps/stage-web/src/pages/settings/airi-card/components/CardListItem.vue b/apps/stage-web/src/pages/settings/airi-card/components/CardListItem.vue new file mode 100644 index 000000000..5f1981e30 --- /dev/null +++ b/apps/stage-web/src/pages/settings/airi-card/components/CardListItem.vue @@ -0,0 +1,99 @@ + + + + + + + + + + {{ name }} + + + + + + + + + {{ description }} + + + + + v{{ version }} + + + + {{ consciousnessModel }} + + + + {{ voiceModel }} + + + + + + + + + + + + + + + + + diff --git a/apps/stage-web/src/pages/settings/airi-card/components/DeleteCardDialog.vue b/apps/stage-web/src/pages/settings/airi-card/components/DeleteCardDialog.vue new file mode 100644 index 000000000..f2276f74e --- /dev/null +++ b/apps/stage-web/src/pages/settings/airi-card/components/DeleteCardDialog.vue @@ -0,0 +1,73 @@ + + + + + + + + + {{ t('settings.pages.card.delete_card') }} + + + {{ t('settings.pages.card.delete_confirmation') }} "{{ cardName || '' }}" + + + + + + + + + + + + + + diff --git a/apps/stage-web/src/pages/settings/airi-card/index.vue b/apps/stage-web/src/pages/settings/airi-card/index.vue index 8f0e6390b..b97064d54 100644 --- a/apps/stage-web/src/pages/settings/airi-card/index.vue +++ b/apps/stage-web/src/pages/settings/airi-card/index.vue @@ -1,25 +1,38 @@ @@ -92,32 +180,145 @@ watch(selectedCardId, (cardId) => { - - - - - - + + + + + + + + + - + + + + {{ t('settings.pages.card.sort_by') }}: + + + + {{ t('settings.pages.card.name_asc') }} + + + {{ t('settings.pages.card.name_desc') }} + + + {{ t('settings.pages.card.recent') }} + + + + + + + + + + + + {{ t('settings.pages.card.upload') }} + + + {{ t('settings.pages.card.upload_desc') }} + + + + + + + + {{ t('settings.pages.card.drop_here') }} + + + + + + - + + + + + {{ t('settings.pages.card.no_cards') }} + + + + + + + {{ t('settings.pages.card.no_results') }} + + {{ t('settings.pages.card.try_different_search') }} + + + + + + + + +
+ {{ description }} +
+ {{ t('settings.pages.card.upload') }} +
+ {{ t('settings.pages.card.upload_desc') }} +
+ {{ t('settings.pages.card.drop_here') }} +
{{ t('settings.pages.card.no_cards') }}