feat: Library 批量注册 + PeopleView 修复 + 国际化

Library:
- 添加 checkbox 和鼠标框选功能
- Unregistered 卡片添加快速注册按钮
- 状态标签移至左下方,人脸图标移至左侧中间
- Deep Scan 改为 unregister -> register -> process
- 完整国际化(日语、繁体中文、英语)

PeopleView:
- 修复卡片不显示问题(使用 get_file_traces API)
- 移除对 identity_id 字段的依赖

其他:
- 添加日语语言包
- 添加 useDragSelect composable
- 新增文档:Face Bbox Null Bug Report
This commit is contained in:
2026-10-01 00:42:13 +08:00
parent 7b60ca3d2d
commit f3d75ebce8
35 changed files with 8054 additions and 961 deletions

View File

@@ -44,30 +44,37 @@
"min_minutes": "最小分鐘",
"max_minutes": "最大分鐘"
},
"status": {
"status": {
"files": "{count} 個檔案",
"registered": "已註冊",
"unregistered": "未註冊",
"pending": "等待中",
"processing": "處理中",
"completed": "已完成"
"completed": "已完成",
"scanning": "掃描中",
"ready": "就緒",
"keyword_ready": "關鍵字可用",
"semantic_ready": "語意可用",
"face_mgmt_ready": "臉部管理可用",
"agent_ready": "Agent 可用"
},
"thumbnail": {
"register_to_preview": "註冊以預覽"
},
"context": {
"register_file": "註冊此檔案",
"process_file": "處理此檔案",
"context": {
"register_file": "註冊檔案",
"process_file": "處理檔案",
"reprocess": "重新處理",
"run_identity_agent": "執行 Identity Agent",
"unregister": "移除註冊",
"unregister": "取消註冊",
"play_video": "播放影片",
"processor_selection": "處理器選擇",
"overall_progress": "整體進度",
"missing_file_path": "缺少檔案路徑",
"file_not_registered": "檔案尚未註冊",
"select_processor": "請至少選擇一個處理器",
"file_must_be_completed": "檔案需先完成處理"
"file_not_registered": "檔案未註冊",
"select_processor": "請選擇至少一個處理器",
"file_must_be_completed": "檔案必須先完成處理",
"face_deduplication": "人臉去重",
"qc_check": "品質檢查"
},
"pipeline": {
"processors": "處理器",
@@ -91,17 +98,57 @@
"processing_started": "處理已觸發:{name}",
"processing_failed": "處理失敗:{message}",
"processing_error": "處理錯誤:{error}",
"identity_agent_started": "Identity Agent 已啟動:{name}",
"identity_agent_failed": "Identity Agent 失敗:{message}",
"identity_agent_error": "Identity Agent 錯誤:{error}",
"removing": "移除中...",
"removed": "移除成功:{name}",
"removal_failed": "移除失敗:{message}",
"removal_error": "移除錯誤:{error}",
"clear_filters": "清除篩選"
},
"qc": {
"audio_info": "音軌資訊",
"audio_track": "音軌",
"has_audio": "✓ 有音軌",
"no_audio": "✗ 無音軌",
"speech": "語音",
"has_speech": "✓ 有語音",
"no_speech": "🔇 無語音",
"language": "語言",
"sample_rate": "取樣率",
"uuid_label": "UUID:",
"track_processor_output": "路徑一:處理器輸出",
"track_ingestion": "路徑二:資料入庫",
"track_status_change": "終點:狀態改變",
"output_ingestion_done": "📥 輸出 + 入庫 完成",
"items": "{count} 筆"
},
"refresh": "重新整理",
"refresh_status": "重新整理狀態"
"refresh_status": "重新整理狀態",
"confirm": {
"title_register": "📥 註冊",
"title_process": "🔍 深度掃描",
"title_rescan": "🔄 重新掃描",
"message_register": "檔案將以預設設定註冊並處理。",
"message_register_no_scan": "僅註冊,不自動掃描。",
"message_process": "將使用預設設定對選定的處理器執行處理。",
"message_rescan": "將執行取消註冊 → 註冊 → 深度掃描(使用選擇的處理器)。",
"cancel": "取消",
"proceed": "開始",
"rerun_processor": "重新執行 {processor}?",
"run_processor": "在 {filename} 上執行 {processor}?",
"unregister_title": "取消註冊",
"unregister_message": "取消註冊「{filename}」?\n\n這將移除檔案及其輸出資料。"
},
"processor": {
"started": "{processor} 已開始",
"failed": "失敗:{message}",
"error": "錯誤:{message}",
"no_file": "錯誤:未選擇檔案",
"vlm_failed": "無法觸發 VLM 摘要:{message}",
"pipeline_qc": "管道品質檢查"
},
"settings": {
"auto_scan": "註冊後自動深度掃描"
}
},
"people": {
"toolbar": {
@@ -119,7 +166,8 @@
"pending_people": "人物",
"skipped_people": "已略過",
"pending_faces": "人臉",
"face_group": "人臉群組"
"face_group": "人臉群組",
"unassigned": "未分組"
},
"sort": {
"title": "排序方式",
@@ -230,6 +278,13 @@
"create_identity_failed": "新增人物失敗:API 未返回 identity_uuid",
"create_identity_error": "新增人物失敗:{error}",
"assign_failed": "指派失敗:{error}"
},
"action": {
"delete_person": "刪除人物",
"update_person": "更新人物",
"bind_face": "綁定面部",
"unbind_face": "解綁面部",
"bind_trace": "綁定軌跡"
}
},
"agent": {
@@ -269,5 +324,125 @@
"people": "People",
"admin": "Admin",
"client": "Client"
},
"time": {
"just_now": "剛剛",
"minutes_ago": "{count} 分鐘前",
"hours_ago": "{count} 小時前"
},
"video": {
"prev": "上一個",
"next": "下一個",
"key_frame": "定位關鍵影格"
},
"language": {
"en": "English",
"zh-TW": "繁體中文",
"zh-CN": "简体中文",
"ja": "日本語",
"ko": "한국어",
"auto": "自動偵測"
},
"client": {
"title": "檔案管理器",
"search": {
"placeholder": "搜尋檔案..."
},
"table": {
"name": "名稱",
"size": "大小",
"type": "類型",
"modified": "修改時間"
},
"button": {
"upload": "上傳",
"newFolder": "新建資料夾",
"refresh": "刷新",
"create": "創建",
"cancel": "取消",
"delete": "刪除",
"rename": "重命名",
"move": "移動",
"preview": "預覽",
"download": "下載"
},
"dialog": {
"createFolder": "創建新資料夾",
"folderName": "資料夾名稱",
"deleteTitle": "刪除「{name}」",
"deleteMessage": "確定要刪除此{type}嗎?此操作無法撤銷。",
"renameTitle": "重命名「{name}」",
"newName": "新名稱",
"previewTitle": "檔案預覽:{name}",
"uploadTitle": "上傳檔案{s}",
"moveTitle": "移動{type}「{name}」",
"selectFiles": "選擇檔案"
},
"type": {
"file": "檔案",
"folder": "資料夾",
"files": "個檔案"
},
"status": {
"uploading": "上傳中...",
"success": "成功",
"error": "錯誤"
}
},
"admin": {
"title": "管理面板",
"tab": {
"dashboard": "儀表板",
"users": "用戶",
"shares": "共享",
"config": "配置",
"settings": "設定"
},
"section": {
"systemResources": "系統資源",
"validation": "驗證",
"configuration": "管理配置",
"vlmPrompts": "VLM 提示詞",
"languagePacks": "語言包",
"llmConfig": "LLM 配置",
"processorConfig": "處理器配置",
"filterConfig": "過濾器配置",
"searchConfig": "搜索配置",
"systemConfig": "系統配置",
"uploadPath": "上傳路徑",
"serviceUrls": "服務 URL"
},
"resource": {
"cpu": "CPU",
"memory": "記憶體",
"swap": "交換空間",
"gpu": "GPU",
"gpuFreq": "GPU 頻率",
"systemPower": "系統功耗"
},
"table": {
"username": "用戶名",
"homeDir": "主目錄",
"status": "狀態",
"name": "名稱",
"port": "端口",
"filter": "過濾器",
"parameters": "參數"
},
"config": {
"systemPrompt": "系統提示詞",
"prompt": "提示詞",
"userPrompt": "用戶提示詞",
"maxTokens": "最大 Token 數",
"url": "URL",
"model": "模型",
"availableLanguages": "可用語言",
"importLanguagePack": "導入語言包",
"tools": "工具"
},
"stat": {
"users": "用戶",
"shares": "共享"
}
}
}