2026-05-11 21:22:57 +08:00
|
|
|
|
export default {
|
|
|
|
|
|
// 登入
|
|
|
|
|
|
login: {
|
|
|
|
|
|
title: 'Hermes Web UI',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
description: '輸入使用者名稱和密碼以繼續。',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
placeholder: '存取權杖',
|
|
|
|
|
|
submit: '登入',
|
|
|
|
|
|
tokenRequired: '請輸入存取權杖',
|
|
|
|
|
|
invalidToken: '權杖無效',
|
|
|
|
|
|
connectionFailed: '無法連線至伺服器',
|
|
|
|
|
|
passwordLogin: '密碼登入',
|
|
|
|
|
|
tokenLogin: '權杖登入',
|
|
|
|
|
|
usernamePlaceholder: '使用者名稱',
|
|
|
|
|
|
passwordPlaceholder: '密碼',
|
2026-05-24 09:49:21 +08:00
|
|
|
|
defaultCredentialsHint: '預設登入名:admin,預設密碼:123456',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
credentialsRequired: '請輸入使用者名稱和密碼',
|
|
|
|
|
|
invalidCredentials: '使用者名稱或密碼錯誤',
|
|
|
|
|
|
tooManyAttempts: '登入失敗次數過多,請稍後再試',
|
2026-05-24 22:36:21 +08:00
|
|
|
|
lockResetHint: '如果這是你的伺服器,可以執行以下命令清除登入鎖定:',
|
|
|
|
|
|
defaultLoginResetHint: '如需重置預設 admin 密碼,可以執行:',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
sessionExpired: '登入已過期,請重新登入',
|
|
|
|
|
|
accessDenied: '你沒有權限存取此資源',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
passwordMismatch: '兩次密碼不一致',
|
|
|
|
|
|
passwordTooShort: '密碼長度至少 6 個字元',
|
|
|
|
|
|
setupSuccess: '密碼登入設定成功',
|
|
|
|
|
|
passwordChanged: '密碼修改成功',
|
|
|
|
|
|
passwordRemoved: '密碼登入已移除',
|
|
|
|
|
|
setupPassword: '設定密碼登入',
|
|
|
|
|
|
changePassword: '修改密碼',
|
|
|
|
|
|
changeUsername: '修改使用者名稱',
|
|
|
|
|
|
removePasswordLogin: '移除',
|
|
|
|
|
|
username: '使用者名稱',
|
|
|
|
|
|
currentPassword: '目前密碼',
|
|
|
|
|
|
newPassword: '新密碼',
|
|
|
|
|
|
confirmPassword: '確認密碼',
|
|
|
|
|
|
newUsername: '新使用者名稱',
|
|
|
|
|
|
usernameChanged: '使用者名稱修改成功',
|
|
|
|
|
|
usernameTooShort: '使用者名稱至少 2 個字元',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
setupDescription: '管理用於登入的使用者名稱和密碼。',
|
|
|
|
|
|
removeConfirm: '使用者帳號必須保留密碼登入。',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
passwordLoginNotConfigured: '密碼登入未設定',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
passwordLoginConfigured: '目前帳號:{username}',
|
2026-05-24 09:49:21 +08:00
|
|
|
|
defaultCredentialTitle: '請修改預設帳號和密碼',
|
|
|
|
|
|
defaultCredentialMessage: '目前登入帳號仍在使用預設使用者名稱或預設密碼。為避免未授權存取,請盡快進入目前帳號修改使用者名稱和密碼。',
|
|
|
|
|
|
defaultCredentialAction: '去修改',
|
|
|
|
|
|
defaultCredentialLater: '稍後提醒',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
users: {
|
|
|
|
|
|
title: '帳號管理',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
description: '建立使用者、分配角色,並控制一般管理員可存取的設定檔。',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
create: '建立使用者',
|
|
|
|
|
|
edit: '編輯使用者',
|
|
|
|
|
|
username: '使用者名稱',
|
|
|
|
|
|
role: '角色',
|
|
|
|
|
|
statusLabel: '狀態',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
profiles: '可存取設定檔',
|
|
|
|
|
|
profilesPlaceholder: '選擇可存取的設定檔',
|
|
|
|
|
|
allProfiles: '全部設定檔',
|
|
|
|
|
|
noProfiles: '未關聯設定檔',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
lastLogin: '最後登入',
|
|
|
|
|
|
newPasswordOptional: '新密碼(留空不修改)',
|
|
|
|
|
|
loadFailed: '使用者列表載入失敗',
|
|
|
|
|
|
deleteConfirm: '確認刪除此使用者?',
|
|
|
|
|
|
enable: '啟用',
|
|
|
|
|
|
disable: '停用',
|
|
|
|
|
|
roles: {
|
|
|
|
|
|
superAdmin: '超級管理員',
|
|
|
|
|
|
admin: '一般管理員',
|
|
|
|
|
|
},
|
|
|
|
|
|
status: {
|
|
|
|
|
|
active: '啟用',
|
|
|
|
|
|
disabled: '停用',
|
|
|
|
|
|
},
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 通用
|
|
|
|
|
|
common: {
|
|
|
|
|
|
loading: '載入中...',
|
|
|
|
|
|
cancel: '取消',
|
|
|
|
|
|
delete: '刪除',
|
|
|
|
|
|
retry: '重試',
|
|
|
|
|
|
edit: '編輯',
|
|
|
|
|
|
save: '儲存',
|
|
|
|
|
|
saved: '已儲存',
|
|
|
|
|
|
saveFailed: '儲存失敗',
|
|
|
|
|
|
deleteFailed: '刪除失敗',
|
|
|
|
|
|
ok: '確定',
|
|
|
|
|
|
copied: '已複製',
|
|
|
|
|
|
copy: '複製',
|
|
|
|
|
|
update: '更新',
|
|
|
|
|
|
create: '建立',
|
|
|
|
|
|
noData: '目前無資料',
|
|
|
|
|
|
expired: '已過期',
|
|
|
|
|
|
fetch: '取得',
|
|
|
|
|
|
add: '新增',
|
|
|
|
|
|
enable: '啟用',
|
|
|
|
|
|
disable: '停用',
|
|
|
|
|
|
configured: '已設定',
|
|
|
|
|
|
notConfigured: '未設定',
|
|
|
|
|
|
confirm: '確定',
|
|
|
|
|
|
expand: '展開',
|
|
|
|
|
|
collapse: '收起',
|
|
|
|
|
|
start: '啟動',
|
|
|
|
|
|
stop: '停止',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 側邊欄
|
|
|
|
|
|
sidebar: {
|
|
|
|
|
|
chat: '對話',
|
|
|
|
|
|
search: '搜尋',
|
|
|
|
|
|
apiRelay: '中轉站',
|
|
|
|
|
|
history: '歷史',
|
|
|
|
|
|
jobs: '任務',
|
|
|
|
|
|
kanban: '看板',
|
|
|
|
|
|
models: '模型',
|
|
|
|
|
|
profiles: '使用者',
|
|
|
|
|
|
plugins: '插件',
|
|
|
|
|
|
skills: '技能',
|
|
|
|
|
|
memory: '記憶',
|
|
|
|
|
|
logs: '日誌',
|
|
|
|
|
|
usage: '用量',
|
2026-05-23 09:05:03 +08:00
|
|
|
|
performance: '效能監控',
|
2026-05-14 09:28:51 +08:00
|
|
|
|
skillsUsage: '技能用量',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
channels: '頻道',
|
|
|
|
|
|
gateways: '閘道',
|
|
|
|
|
|
terminal: '終端機',
|
|
|
|
|
|
groupChat: '群聊',
|
|
|
|
|
|
files: '檔案',
|
|
|
|
|
|
groupConversation: '對話',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupConversationShort: '對話',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
groupPlatform: '平台',
|
|
|
|
|
|
groupAgent: '代理',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupAgentShort: '代理',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
groupSystem: '系統',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupSystemShort: '系統',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
groupMonitoring: '監控',
|
2026-05-19 02:33:53 +02:00
|
|
|
|
groupMonitoringShort: '監控',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
groupTools: '工具',
|
|
|
|
|
|
settings: '設定',
|
|
|
|
|
|
connected: '已連線',
|
|
|
|
|
|
disconnected: '未連線',
|
|
|
|
|
|
collapse: '收起選單',
|
|
|
|
|
|
expand: '展開選單',
|
|
|
|
|
|
updateTip: '在終端機執行 "hermes-web-ui update" 即可更新',
|
|
|
|
|
|
updateVersion: '升級版本 v{version}',
|
2026-05-12 03:03:07 +02:00
|
|
|
|
reloadClientVersion: '重新整理到 v{version}',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
updating: '正在更新...',
|
2026-05-14 12:06:39 +08:00
|
|
|
|
updateSuccess: '更新成功,請稍後重新整理頁面,如長時間未啟動,請手動啟動',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
updateFailed: '更新失敗',
|
|
|
|
|
|
logout: '登出',
|
|
|
|
|
|
nodeVersionWarning: '偵測到 Node.js v{version},請升級至 23 以上版本。',
|
|
|
|
|
|
changelog: '更新日誌',
|
|
|
|
|
|
noChangelog: '目前無更新日誌',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-23 09:05:03 +08:00
|
|
|
|
performance: {
|
|
|
|
|
|
title: '效能監控',
|
|
|
|
|
|
subtitle: '查看系統資源、Bridge Broker、Workers 和活躍會話',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
autoRefreshOn: '自動重新整理',
|
|
|
|
|
|
autoRefreshOff: '手動重新整理',
|
|
|
|
|
|
loadFailed: '效能資料載入失敗',
|
|
|
|
|
|
systemCpu: '系統 CPU',
|
|
|
|
|
|
systemMemory: '系統記憶體',
|
|
|
|
|
|
activeSessions: '活躍會話',
|
|
|
|
|
|
runningSessions: '執行中 {count}',
|
|
|
|
|
|
workers: 'Workers',
|
|
|
|
|
|
totalWorkerMemory: 'Worker 總記憶體',
|
|
|
|
|
|
processes: '程序',
|
|
|
|
|
|
uptime: '執行',
|
|
|
|
|
|
running: '執行中',
|
|
|
|
|
|
stopped: '已停止',
|
|
|
|
|
|
workerMemory: 'Worker 記憶體',
|
|
|
|
|
|
lastUpdated: '更新時間',
|
|
|
|
|
|
profile: 'Profile',
|
|
|
|
|
|
memory: '記憶體',
|
|
|
|
|
|
sessions: '會話',
|
|
|
|
|
|
runningActiveSessions: '執行中 / 活躍',
|
|
|
|
|
|
lastUsed: '最後使用',
|
|
|
|
|
|
status: '狀態',
|
|
|
|
|
|
noWorkers: '暫無 Worker',
|
|
|
|
|
|
sessionsByProfile: '按 Profile 統計會話',
|
|
|
|
|
|
noActiveSessions: '暫無活躍會話',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-11 21:22:57 +08:00
|
|
|
|
// 抽屜
|
|
|
|
|
|
drawer: {
|
|
|
|
|
|
terminal: '終端機',
|
|
|
|
|
|
files: '工作區',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 對話
|
|
|
|
|
|
chat: {
|
|
|
|
|
|
contextRemaining: '剩餘',
|
|
|
|
|
|
contextClickToEdit: '點擊編輯上下文長度',
|
|
|
|
|
|
contextEditTitle: '編輯上下文長度',
|
|
|
|
|
|
contextEditDesc: '設定目前模型的上下文長度限制(token 數量)',
|
|
|
|
|
|
contextEditPlaceholder: '請輸入上下文長度',
|
|
|
|
|
|
contextEditHint: '常見值:200k (Claude), 128k (GPT-4), 32k (GPT-3.5)',
|
|
|
|
|
|
contextEditSave: '儲存',
|
|
|
|
|
|
contextEditCancel: '取消',
|
|
|
|
|
|
contextEditInvalid: '請輸入有效的上下文長度',
|
|
|
|
|
|
contextEditSuccess: '上下文長度已更新',
|
|
|
|
|
|
contextEditFailed: '更新失敗',
|
|
|
|
|
|
emptyState: '開始與 Hermes Agent 對話',
|
2026-05-19 08:25:01 +08:00
|
|
|
|
outlineTitle: '會話大綱',
|
|
|
|
|
|
outlineEmpty: '暫無會話內容',
|
|
|
|
|
|
outlineUserQuestion: '使用者問題',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
inputPlaceholder: '輸入訊息... (Enter 發送,Shift+Enter 換行)',
|
2026-05-15 12:04:03 +08:00
|
|
|
|
slashCommandArgs: {
|
|
|
|
|
|
message: '<訊息>',
|
|
|
|
|
|
title: '<標題>',
|
|
|
|
|
|
text: '<文字>',
|
|
|
|
|
|
},
|
|
|
|
|
|
slashCommands: {
|
|
|
|
|
|
usage: '計算目前會話用量',
|
|
|
|
|
|
status: '查看會話狀態和佇列',
|
|
|
|
|
|
abort: '停止目前 Bridge 執行',
|
|
|
|
|
|
queue: '將訊息加入目前執行後的佇列',
|
|
|
|
|
|
clear: '清空目前顯示內容',
|
|
|
|
|
|
clearHistory: '刪除目前會話已儲存的訊息歷史',
|
|
|
|
|
|
title: '重新命名目前會話',
|
|
|
|
|
|
compress: '空閒時觸發上下文壓縮',
|
|
|
|
|
|
steer: '向目前 Bridge 執行傳送引導文字',
|
|
|
|
|
|
destroy: '釋放目前會話的 Bridge Agent',
|
|
|
|
|
|
},
|
2026-05-11 21:22:57 +08:00
|
|
|
|
attachFiles: '新增附件',
|
|
|
|
|
|
autoPlaySpeech: '自動播放語音',
|
2026-05-17 09:01:59 +08:00
|
|
|
|
showToolCalls: '顯示工具呼叫',
|
|
|
|
|
|
hideToolCalls: '隱藏工具呼叫',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
messageQueue: '訊息佇列',
|
|
|
|
|
|
removeQueuedMessage: '移除佇列訊息',
|
|
|
|
|
|
stop: '停止',
|
|
|
|
|
|
start: '啟動',
|
|
|
|
|
|
stopGateway: '停止閘道',
|
|
|
|
|
|
send: '發送',
|
|
|
|
|
|
contextUsed: '上下文已用:',
|
|
|
|
|
|
sessions: '工作階段',
|
|
|
|
|
|
webUiSessions: '工作階段',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
allProfiles: '全部設定',
|
2026-05-20 18:26:01 +08:00
|
|
|
|
profileMissingModelsTip: '此工作階段所屬設定「{profile}」沒有可用的 provider 或模型',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
sessionScopeHint: '這裡只顯示目前工作階段;CLI、Telegram、Discord、Cron 等頻道工作階段在歷史中以唯讀方式查看。',
|
|
|
|
|
|
openHistory: '開啟歷史',
|
|
|
|
|
|
hermesHistory: 'Hermes 歷史',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
historyScopeHint: '這裡按來源以唯讀方式查看目前 profile 的 Hermes 歷史工作階段。',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
noSessions: '目前無工作階段',
|
|
|
|
|
|
searchTitle: '搜尋工作階段',
|
|
|
|
|
|
searchSubtitle: '依標題或訊息內容搜尋',
|
2026-05-16 02:29:51 +02:00
|
|
|
|
searchScope: '搜尋範圍:僅 Web UI 本地工作階段資料庫;不包含唯讀 Hermes 歷史工作階段。',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
searchHint: 'Cmd/Ctrl+K',
|
|
|
|
|
|
searchPlaceholder: '搜尋工作階段...',
|
|
|
|
|
|
searchEmpty: '最近工作階段',
|
|
|
|
|
|
searchRecent: '最近工作階段',
|
|
|
|
|
|
searchNoResults: '沒有符合的工作階段',
|
|
|
|
|
|
searchNoSnippet: '沒有可顯示的摘要',
|
|
|
|
|
|
searchEnterHint: 'Enter 開啟 · Esc 關閉',
|
|
|
|
|
|
searchFailed: '搜尋工作階段失敗',
|
|
|
|
|
|
newChat: '新增對話',
|
2026-05-16 00:11:51 +08:00
|
|
|
|
approvalKicker: '終端授權',
|
|
|
|
|
|
approvalTitle: '執行前請確認命令',
|
|
|
|
|
|
approvalAllowOnce: '僅本次允許',
|
|
|
|
|
|
approvalAllowSession: '本工作階段允許',
|
|
|
|
|
|
approvalAlways: '永遠允許',
|
|
|
|
|
|
approvalDeny: '拒絕',
|
2026-05-24 18:09:39 +08:00
|
|
|
|
clarifyKicker: 'Agent 需要確認',
|
|
|
|
|
|
clarifyTitle: 'Agent 有一個問題需要您回答',
|
|
|
|
|
|
clarifyPlaceholder: '輸入你的回答...',
|
|
|
|
|
|
clarifySubmit: '回覆',
|
|
|
|
|
|
clarifyDismiss: '忽略',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
deleteSession: '確定刪除此工作階段?',
|
|
|
|
|
|
sessionDeleted: '工作階段已刪除',
|
|
|
|
|
|
toggleBatchMode: '批次選取',
|
|
|
|
|
|
selectAll: '全選',
|
|
|
|
|
|
confirmBatchDelete: '確定刪除選取的 {count} 個工作階段?',
|
|
|
|
|
|
batchDeleteSuccess: '已刪除 {count} 個工作階段',
|
|
|
|
|
|
batchDeletePartial: '{failed} 個工作階段刪除失敗',
|
|
|
|
|
|
batchDeleteFailed: '批次刪除失敗',
|
|
|
|
|
|
rename: '重新命名',
|
|
|
|
|
|
pin: '釘選',
|
|
|
|
|
|
unpin: '取消釘選',
|
|
|
|
|
|
pinned: '已釘選',
|
|
|
|
|
|
chatMode: '聊天',
|
|
|
|
|
|
liveMode: '即時',
|
|
|
|
|
|
liveSessions: '即時工作階段',
|
|
|
|
|
|
recentBadge: '最近',
|
|
|
|
|
|
linkedSessions: '關聯 {count} 個工作階段',
|
|
|
|
|
|
noVisibleMessages: '沒有人類可見訊息。',
|
|
|
|
|
|
monitorRoleUser: '使用者',
|
|
|
|
|
|
monitorRoleAssistant: '助手',
|
2026-05-24 10:55:55 +08:00
|
|
|
|
copySessionLink: '複製工作階段連結',
|
2026-05-24 19:30:32 +08:00
|
|
|
|
openSessionInNewTab: '在新分頁開啟',
|
2026-05-24 14:13:42 +03:00
|
|
|
|
sessionLinkCopied: 'Session link copied',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
copySessionId: '複製工作階段 ID',
|
|
|
|
|
|
export: '匯出',
|
|
|
|
|
|
exportFull: '完整匯出 (JSON)',
|
|
|
|
|
|
exportCompressed: '壓縮匯出 (TXT)',
|
|
|
|
|
|
exportCompressing: '正在壓縮上下文,請稍候...',
|
|
|
|
|
|
exportSuccess: '工作階段已匯出',
|
|
|
|
|
|
exportFailed: '匯出失敗',
|
|
|
|
|
|
renamed: '已重新命名',
|
|
|
|
|
|
renameFailed: '重新命名失敗',
|
|
|
|
|
|
renameSession: '重新命名工作階段',
|
|
|
|
|
|
sessionNotFound: '找不到工作階段',
|
|
|
|
|
|
enterNewTitle: '輸入新標題',
|
|
|
|
|
|
workspace: '工作區',
|
|
|
|
|
|
setWorkspace: '設定工作區',
|
|
|
|
|
|
setWorkspaceTitle: '設定工作階段工作區',
|
|
|
|
|
|
workspacePlaceholder: '輸入專案路徑,例如 /home/user/project',
|
|
|
|
|
|
workspaceSet: '工作區已設定',
|
|
|
|
|
|
workspaceSetFailed: '設定工作區失敗',
|
|
|
|
|
|
other: '其他',
|
|
|
|
|
|
runFailed: '執行失敗',
|
|
|
|
|
|
error: '錯誤',
|
|
|
|
|
|
tool: '工具',
|
|
|
|
|
|
arguments: '參數',
|
|
|
|
|
|
result: '結果',
|
|
|
|
|
|
truncated: '... (已截斷)',
|
|
|
|
|
|
executionDuration: '執行時長',
|
|
|
|
|
|
thinkingLabel: '思考過程',
|
|
|
|
|
|
thinkingInProgress: '思考中…',
|
|
|
|
|
|
thinkingShow: '展開思考過程',
|
|
|
|
|
|
thinkingHide: '收起思考過程',
|
|
|
|
|
|
thinkingDuration: '已觀察 {duration}',
|
|
|
|
|
|
thinkingChars: '{count} 字',
|
|
|
|
|
|
copyBubble: '複製訊息',
|
|
|
|
|
|
copiedBubble: '已複製',
|
|
|
|
|
|
copyFailed: '複製失敗',
|
|
|
|
|
|
playSpeech: '播放語音',
|
|
|
|
|
|
pauseSpeech: '暫停',
|
|
|
|
|
|
resumeSpeech: '繼續',
|
|
|
|
|
|
stopSpeech: '停止',
|
|
|
|
|
|
speechNotSupported: '此瀏覽器不支援語音播放',
|
2026-05-20 17:13:32 +08:00
|
|
|
|
modelSetFailed: '設定模型失敗',
|
|
|
|
|
|
modelSet: '模型已設定',
|
|
|
|
|
|
setModelTitle: '設定工作階段模型',
|
|
|
|
|
|
setModel: '設定模型',
|
|
|
|
|
|
newCliChat: '新增 CLI',
|
|
|
|
|
|
cliEmptyState: '開始 CLI 對話',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 看板
|
|
|
|
|
|
kanban: {
|
|
|
|
|
|
title: '看板',
|
|
|
|
|
|
createTask: '新增任務',
|
|
|
|
|
|
noTasks: '目前無任務',
|
|
|
|
|
|
allStatuses: '所有狀態',
|
|
|
|
|
|
allAssignees: '所有負責人',
|
|
|
|
|
|
board: {
|
|
|
|
|
|
create: '新增看板',
|
|
|
|
|
|
archive: '封存看板',
|
|
|
|
|
|
slugPlaceholder: '看板識別碼,例如 project-a',
|
|
|
|
|
|
namePlaceholder: '顯示名稱(選填)',
|
|
|
|
|
|
slugRequired: '看板識別碼不能為空',
|
|
|
|
|
|
created: '看板已建立',
|
|
|
|
|
|
archived: '看板已封存',
|
|
|
|
|
|
archiveConfirm: '確定封存目前看板?',
|
|
|
|
|
|
},
|
|
|
|
|
|
columns: {
|
|
|
|
|
|
triage: '待分類',
|
|
|
|
|
|
todo: '待辦',
|
|
|
|
|
|
ready: '就緒',
|
|
|
|
|
|
running: '進行中',
|
|
|
|
|
|
blocked: '阻塞',
|
|
|
|
|
|
done: '已完成',
|
|
|
|
|
|
archived: '已封存',
|
|
|
|
|
|
},
|
|
|
|
|
|
form: {
|
|
|
|
|
|
title: '標題',
|
|
|
|
|
|
titlePlaceholder: '任務標題',
|
|
|
|
|
|
titleRequired: '標題不能為空',
|
|
|
|
|
|
body: '描述',
|
|
|
|
|
|
bodyPlaceholder: '任務描述(選填)',
|
|
|
|
|
|
assignee: '負責人',
|
|
|
|
|
|
selectAssignee: '選擇負責人...',
|
|
|
|
|
|
priority: '優先級',
|
|
|
|
|
|
selectPriority: '選擇優先級...',
|
|
|
|
|
|
},
|
|
|
|
|
|
card: {
|
|
|
|
|
|
assigneeTooltip: '負責人',
|
|
|
|
|
|
priority: {
|
|
|
|
|
|
low: '低',
|
|
|
|
|
|
medium: '中',
|
|
|
|
|
|
high: '高',
|
|
|
|
|
|
},
|
|
|
|
|
|
timeAgo: {
|
|
|
|
|
|
justNow: '剛剛',
|
|
|
|
|
|
minutes: '{count} 分鐘前',
|
|
|
|
|
|
hours: '{count} 小時前',
|
|
|
|
|
|
days: '{count} 天前',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
detail: {
|
|
|
|
|
|
status: '狀態',
|
|
|
|
|
|
assignee: '負責人',
|
|
|
|
|
|
priority: '優先級',
|
|
|
|
|
|
tenant: '租戶',
|
|
|
|
|
|
createdAt: '建立時間',
|
|
|
|
|
|
startedAt: '開始時間',
|
|
|
|
|
|
completedAt: '完成時間',
|
|
|
|
|
|
comments: '評論',
|
|
|
|
|
|
events: '事件',
|
|
|
|
|
|
runs: '執行記錄',
|
|
|
|
|
|
result: '完成結果',
|
|
|
|
|
|
sessions: '關聯工作階段',
|
|
|
|
|
|
sessionMessages: '工作階段記錄',
|
|
|
|
|
|
noSessions: '找不到關聯工作階段。',
|
|
|
|
|
|
artifacts: '產出檔案',
|
|
|
|
|
|
sources: '資料來源',
|
|
|
|
|
|
highlights: '關鍵資訊',
|
|
|
|
|
|
},
|
|
|
|
|
|
action: {
|
|
|
|
|
|
title: '操作',
|
|
|
|
|
|
complete: '完成',
|
|
|
|
|
|
completeSummary: '完成摘要(選填)',
|
|
|
|
|
|
block: '阻塞',
|
|
|
|
|
|
blockReason: '阻塞原因',
|
|
|
|
|
|
unblock: '解除阻塞',
|
|
|
|
|
|
assign: '指派',
|
|
|
|
|
|
assignTo: '指派給...',
|
|
|
|
|
|
},
|
|
|
|
|
|
message: {
|
|
|
|
|
|
taskCreated: '任務已建立',
|
|
|
|
|
|
taskCompleted: '任務已完成',
|
|
|
|
|
|
taskBlocked: '任務已阻塞',
|
|
|
|
|
|
taskUnblocked: '任務已解除阻塞',
|
|
|
|
|
|
taskAssigned: '任務已指派',
|
|
|
|
|
|
loadFailed: '載入任務失敗',
|
|
|
|
|
|
},
|
|
|
|
|
|
stats: {
|
|
|
|
|
|
total: '總計',
|
|
|
|
|
|
tasks: '任務數',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 排程任務
|
|
|
|
|
|
jobs: {
|
|
|
|
|
|
title: '排程任務',
|
|
|
|
|
|
createJob: '建立任務',
|
|
|
|
|
|
editJob: '編輯任務',
|
|
|
|
|
|
noJobs: '目前無排程任務,建立一個開始吧。',
|
|
|
|
|
|
name: '名稱',
|
|
|
|
|
|
namePlaceholder: '任務名稱',
|
|
|
|
|
|
schedule: '排程運算式 (Cron)',
|
|
|
|
|
|
schedulePlaceholder: '例如 0 9 * * *',
|
|
|
|
|
|
quickPresets: '快速預設',
|
|
|
|
|
|
selectPreset: '選擇預設...',
|
|
|
|
|
|
presetEveryMinute: '每分鐘',
|
|
|
|
|
|
presetEvery5Min: '每 5 分鐘',
|
|
|
|
|
|
presetEveryHour: '每小時',
|
|
|
|
|
|
presetEveryDay: '每天 00:00',
|
|
|
|
|
|
presetEveryDay9: '每天 09:00',
|
|
|
|
|
|
presetEveryMonday: '每週一 09:00',
|
|
|
|
|
|
presetEveryMonth: '每月 1 日 09:00',
|
|
|
|
|
|
prompt: '提示詞',
|
|
|
|
|
|
promptPlaceholder: '要執行的內容',
|
|
|
|
|
|
deliverTarget: '投遞目標',
|
|
|
|
|
|
origin: '來源',
|
|
|
|
|
|
local: '本地',
|
|
|
|
|
|
repeatCount: '重複次數(選填)',
|
|
|
|
|
|
modelPlaceholder: '預設模型',
|
|
|
|
|
|
repeatPlaceholder: '留空表示無限重複',
|
|
|
|
|
|
jobCreated: '任務已建立',
|
|
|
|
|
|
jobUpdated: '任務已更新',
|
|
|
|
|
|
nameRequired: '名稱為必填項',
|
|
|
|
|
|
scheduleRequired: '排程運算式為必填項',
|
|
|
|
|
|
loadFailed: '載入任務失敗',
|
|
|
|
|
|
jobPaused: '任務已暫停',
|
|
|
|
|
|
jobResumed: '任務已恢復',
|
|
|
|
|
|
jobTriggered: '任務已觸發',
|
|
|
|
|
|
modelUpdated: '模型已更新',
|
|
|
|
|
|
jobDeleted: '任務已刪除',
|
|
|
|
|
|
status: {
|
|
|
|
|
|
running: '執行中',
|
|
|
|
|
|
paused: '已暫停',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
scheduled: '已排程',
|
|
|
|
|
|
},
|
|
|
|
|
|
info: {
|
|
|
|
|
|
model: '模型',
|
|
|
|
|
|
schedule: '排程',
|
|
|
|
|
|
lastRun: '上次執行',
|
|
|
|
|
|
nextRun: '下次執行',
|
|
|
|
|
|
deliver: '投遞',
|
|
|
|
|
|
repeat: '重複',
|
|
|
|
|
|
},
|
|
|
|
|
|
action: {
|
|
|
|
|
|
pause: '暫停',
|
|
|
|
|
|
pauseJob: '暫停任務',
|
|
|
|
|
|
resume: '恢復',
|
|
|
|
|
|
resumeJob: '恢復任務',
|
|
|
|
|
|
runNow: '立即執行',
|
|
|
|
|
|
triggerImmediately: '立即觸發',
|
|
|
|
|
|
},
|
|
|
|
|
|
runHistory: {
|
|
|
|
|
|
title: '執行歷史',
|
|
|
|
|
|
runs: '次執行',
|
|
|
|
|
|
noRuns: '目前無執行歷史。',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 技能
|
|
|
|
|
|
skills: {
|
|
|
|
|
|
title: '技能',
|
|
|
|
|
|
searchPlaceholder: '搜尋技能...',
|
|
|
|
|
|
noMatch: '沒有符合的技能',
|
|
|
|
|
|
noSkills: '目前無技能',
|
|
|
|
|
|
backTo: '返回',
|
|
|
|
|
|
attachedFiles: '附件檔案',
|
|
|
|
|
|
loadFailed: '載入技能失敗',
|
|
|
|
|
|
fileLoadFailed: '載入檔案失敗',
|
|
|
|
|
|
modified: '使用者已修改',
|
|
|
|
|
|
archived: '已封存',
|
|
|
|
|
|
pinned: '已釘選',
|
|
|
|
|
|
pin: '釘選技能',
|
|
|
|
|
|
unpin: '取消釘選',
|
|
|
|
|
|
pinFailed: '變更釘選狀態失敗',
|
|
|
|
|
|
toggleFailed: '切換技能狀態失敗',
|
|
|
|
|
|
source: {
|
|
|
|
|
|
builtin: '內建',
|
|
|
|
|
|
hub: 'Hub 安裝',
|
|
|
|
|
|
local: '本地安裝',
|
2026-05-24 19:47:52 +08:00
|
|
|
|
external: '外部目錄',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 插件
|
|
|
|
|
|
plugins: {
|
|
|
|
|
|
title: '插件',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
notice: '唯讀顯示可發現的 Hermes 插件 manifest。發現元資料讀取不會載入插件程式碼。v1 管理動作仍保留在 CLI,新 Hermes 工作階段生效。',
|
|
|
|
|
|
loadFailed: '載入插件失敗',
|
|
|
|
|
|
commandCopied: '指令已複製',
|
|
|
|
|
|
searchPlaceholder: '搜尋 key、名稱、描述、路徑...',
|
|
|
|
|
|
source: '來源',
|
|
|
|
|
|
kind: '類型',
|
|
|
|
|
|
statusTitle: '狀態',
|
|
|
|
|
|
configStatus: '設定:{status}',
|
|
|
|
|
|
notAvailable: '無',
|
|
|
|
|
|
copyCommand: '複製指令',
|
|
|
|
|
|
managedElsewhere: '由其他位置管理',
|
|
|
|
|
|
noMatch: '沒有符合目前篩選條件的插件',
|
|
|
|
|
|
enabled: '已啟用',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
summary: {
|
|
|
|
|
|
total: '總數',
|
|
|
|
|
|
active: '已啟用 / 自動',
|
|
|
|
|
|
inactive: '未啟用',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
providerManaged: 'Provider 管理',
|
|
|
|
|
|
},
|
|
|
|
|
|
status: {
|
|
|
|
|
|
enabled: '已啟用',
|
|
|
|
|
|
'auto-active': '自動啟用',
|
|
|
|
|
|
inactive: '未啟用',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
'provider-managed': 'Provider 管理',
|
|
|
|
|
|
},
|
|
|
|
|
|
statusLabel: {
|
|
|
|
|
|
enabled: '設定啟用',
|
|
|
|
|
|
'auto-active': '自動啟用',
|
|
|
|
|
|
inactive: '未啟用',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
'provider-managed': 'Provider 管理',
|
|
|
|
|
|
},
|
|
|
|
|
|
configStatuses: {
|
|
|
|
|
|
enabled: '已啟用',
|
|
|
|
|
|
disabled: '已停用',
|
|
|
|
|
|
'not-enabled': '未啟用',
|
|
|
|
|
|
auto: '自動',
|
|
|
|
|
|
'provider-managed': 'Provider 管理',
|
|
|
|
|
|
},
|
|
|
|
|
|
table: {
|
|
|
|
|
|
plugin: '插件',
|
|
|
|
|
|
status: '狀態',
|
|
|
|
|
|
source: '來源',
|
|
|
|
|
|
kind: '類型',
|
|
|
|
|
|
capabilities: '能力',
|
|
|
|
|
|
path: '路徑 / 入口',
|
|
|
|
|
|
cli: 'CLI',
|
|
|
|
|
|
},
|
|
|
|
|
|
capabilities: {
|
|
|
|
|
|
tools: '{count} 個工具',
|
|
|
|
|
|
hooks: '{count} 個 hook',
|
|
|
|
|
|
env: '{count} 個環境變數',
|
|
|
|
|
|
},
|
|
|
|
|
|
metadata: {
|
|
|
|
|
|
agentRoot: 'Agent 根目錄',
|
|
|
|
|
|
python: 'Python',
|
|
|
|
|
|
scanCwd: '掃描 cwd',
|
|
|
|
|
|
projectPlugins: '專案插件',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 記憶
|
|
|
|
|
|
memory: {
|
|
|
|
|
|
title: '記憶',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
loadFailed: '載入記憶失敗',
|
|
|
|
|
|
myNotes: '我的筆記',
|
|
|
|
|
|
noNotes: '目前無筆記。',
|
|
|
|
|
|
notesPlaceholder: '輸入筆記內容...',
|
|
|
|
|
|
userProfile: '使用者畫像',
|
|
|
|
|
|
noProfile: '目前無畫像。',
|
|
|
|
|
|
profilePlaceholder: '輸入使用者畫像...',
|
|
|
|
|
|
soul: '靈魂',
|
|
|
|
|
|
noSoul: '目前無靈魂設定。',
|
|
|
|
|
|
soulPlaceholder: '輸入靈魂設定...',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 模型
|
|
|
|
|
|
models: {
|
|
|
|
|
|
title: '模型',
|
|
|
|
|
|
searchPlaceholder: '搜尋模型...',
|
|
|
|
|
|
addProvider: '新增 Provider',
|
|
|
|
|
|
providerType: 'Provider 類型',
|
|
|
|
|
|
preset: '預設',
|
|
|
|
|
|
custom: '自訂',
|
|
|
|
|
|
selectProvider: '選擇 Provider',
|
|
|
|
|
|
chooseProvider: '選擇一個 provider...',
|
|
|
|
|
|
getApiKey: '取得 API Key',
|
|
|
|
|
|
name: '名稱',
|
|
|
|
|
|
autoGeneratedName: '依 Base URL 自動產生',
|
|
|
|
|
|
baseUrl: 'Base URL',
|
|
|
|
|
|
region: '區域',
|
|
|
|
|
|
regionIntl: '國際版',
|
|
|
|
|
|
regionCn: '中國大陸',
|
|
|
|
|
|
baseUrlPlaceholder: '例如 https://api.example.com/v1',
|
|
|
|
|
|
apiKey: 'API Key',
|
|
|
|
|
|
apiKeyPlaceholder: 'sk-...',
|
|
|
|
|
|
defaultModel: '預設模型',
|
|
|
|
|
|
selectOrInput: '選擇或輸入模型名稱...',
|
|
|
|
|
|
selectModel: '選擇模型...',
|
|
|
|
|
|
providerAdded: 'Provider 已新增',
|
|
|
|
|
|
providerDeleted: 'Provider 已刪除',
|
|
|
|
|
|
deleteProvider: '刪除 Provider',
|
|
|
|
|
|
deleteConfirm: '確定刪除「{name}」嗎?',
|
|
|
|
|
|
codexLoginTitle: 'OpenAI Codex 登入',
|
|
|
|
|
|
codexWaiting: '在授權頁面輸入以下代碼完成登入:',
|
|
|
|
|
|
codexCopyCode: '代碼已複製',
|
|
|
|
|
|
codexOpenLink: '開啟授權頁面',
|
|
|
|
|
|
codexApproved: '登入成功',
|
|
|
|
|
|
codexExpired: '授權已過期,請重試。',
|
|
|
|
|
|
nousLoginTitle: 'Nous Portal 登入',
|
|
|
|
|
|
nousWaiting: '在授權頁面輸入此代碼完成登入:',
|
|
|
|
|
|
nousCopyCode: '代碼已複製',
|
|
|
|
|
|
nousOpenLink: '開啟授權頁面',
|
|
|
|
|
|
nousApproved: '登入成功',
|
|
|
|
|
|
nousDenied: '授權被拒絕,請重試。',
|
|
|
|
|
|
nousExpired: '授權已過期,請重試。',
|
|
|
|
|
|
copilotLoginTitle: 'GitHub Copilot 登入',
|
|
|
|
|
|
copilotWaiting: '請前往 GitHub 輸入下方裝置代碼完成授權。授權完成後視窗會自動關閉。',
|
|
|
|
|
|
copilotCopyCode: '代碼已複製',
|
|
|
|
|
|
copilotOpenLink: '開啟 GitHub 授權頁',
|
|
|
|
|
|
copilotApproved: '登入成功!',
|
|
|
|
|
|
copilotDenied: '授權被拒絕。',
|
|
|
|
|
|
copilotExpired: '授權連結已過期,請重試。',
|
|
|
|
|
|
copilotAddDetectedTitle: '偵測到 GitHub Copilot',
|
|
|
|
|
|
copilotAddDetected: '已在本機偵測到 GitHub Copilot OAuth 憑證,點擊「新增」即可在 Hermes 中啟用 Copilot。',
|
|
|
|
|
|
copilotAddSourceEnv: '來源:~/.hermes/.env(COPILOT_GITHUB_TOKEN)',
|
|
|
|
|
|
copilotAddSourceGhCli: '來源:gh CLI(gh auth token)',
|
|
|
|
|
|
copilotAddSourceAppsJson: '來源:VS Code Copilot 插件(apps.json)',
|
|
|
|
|
|
copilotDeleteHintEnv: '此操作會清除 ~/.hermes/.env 中的 COPILOT_GITHUB_TOKEN,不影響其他工具。',
|
|
|
|
|
|
copilotDeleteHintGhCli: 'Copilot 將從 Hermes 清單移除。不會影響 gh CLI —— `gh auth status` 仍顯示已登入。',
|
|
|
|
|
|
copilotDeleteHintAppsJson: 'Copilot 將從 Hermes 清單移除。不會影響 VS Code Copilot 插件的登入。',
|
|
|
|
|
|
customBadge: '自訂',
|
|
|
|
|
|
previewBadge: '預覽',
|
|
|
|
|
|
disabledBadge: '不可用',
|
|
|
|
|
|
disabledTooltip: '此模型目前帳號不可用',
|
|
|
|
|
|
customModelPlaceholder: '自訂模型名稱',
|
|
|
|
|
|
customModelHint: '按 Enter 載入',
|
2026-05-11 22:33:34 +08:00
|
|
|
|
removeCustomModel: '移除這個未列出的模型',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
noProviders: '目前無 Provider,新增一個開始吧。',
|
|
|
|
|
|
models: '模型清單',
|
|
|
|
|
|
count: '個模型',
|
|
|
|
|
|
more: '個更多',
|
|
|
|
|
|
builtIn: '內建',
|
|
|
|
|
|
customType: '自訂',
|
|
|
|
|
|
provider: 'Provider',
|
|
|
|
|
|
contextLength: '上下文長度',
|
|
|
|
|
|
contextLengthPlaceholder: '例如 200000(選填)',
|
|
|
|
|
|
local: '本地 ({host})',
|
|
|
|
|
|
selectProviderRequired: '請選擇 Provider',
|
|
|
|
|
|
baseUrlRequired: 'Base URL 為必填項',
|
|
|
|
|
|
apiKeyRequired: 'API Key 為必填項',
|
|
|
|
|
|
modelRequired: '預設模型為必填項',
|
|
|
|
|
|
enterBaseUrl: '請先輸入 Base URL',
|
|
|
|
|
|
unexpectedFormat: '回應格式異常',
|
|
|
|
|
|
foundModels: '找到 {count} 個模型',
|
|
|
|
|
|
fetchFailed: '取得模型失敗',
|
2026-05-11 22:15:41 +08:00
|
|
|
|
manageVisibleModels: '管理可見模型',
|
|
|
|
|
|
manageVisibleModelsFor: '管理 {name} 可見模型',
|
|
|
|
|
|
visibilityHint: '僅影響 Web UI 的模型選擇器和模型頁展示,不會改寫 Hermes CLI 的 provider/model 配置。實際呼叫仍使用原始模型 ID。',
|
|
|
|
|
|
visibilitySaved: '可見模型已儲存',
|
|
|
|
|
|
visibilitySaveFailed: '儲存可見模型失敗',
|
|
|
|
|
|
showAllModels: '顯示全部模型',
|
2026-05-14 23:36:07 +08:00
|
|
|
|
clearVisibleModels: '取消全選',
|
2026-05-19 16:09:59 +08:00
|
|
|
|
currentDefault: '目前預設',
|
|
|
|
|
|
defaultShort: '預設',
|
2026-05-11 22:33:34 +08:00
|
|
|
|
aliasEdit: '重新命名',
|
|
|
|
|
|
aliasTitle: '模型顯示名',
|
|
|
|
|
|
aliasTitleFor: '{model} 的顯示名',
|
|
|
|
|
|
aliasPlaceholder: '留空則使用原始模型 ID',
|
|
|
|
|
|
aliasHint: '僅修改 Web UI 顯示名,傳送給 Hermes 的仍是原始模型 ID。',
|
|
|
|
|
|
aliasCanonical: '原始 ID:{model}',
|
|
|
|
|
|
aliasUseOriginal: '恢復原始 ID',
|
|
|
|
|
|
aliasManage: '顯示名',
|
|
|
|
|
|
aliasManageFor: '{provider} 的顯示名',
|
|
|
|
|
|
aliasSaveFailed: '儲存顯示名失敗',
|
|
|
|
|
|
visibilitySelectOne: '至少保留一個可見模型',
|
2026-05-20 17:13:32 +08:00
|
|
|
|
xaiWaiting: '請在開啟的 xAI 頁面完成授權。授權完成後視窗會自動關閉。',
|
|
|
|
|
|
xaiOpenLink: '開啟 xAI 授權頁',
|
|
|
|
|
|
xaiLoginTitle: 'xAI Grok OAuth 登入',
|
|
|
|
|
|
xaiExpired: '授權連結已過期,請重試。',
|
|
|
|
|
|
xaiCopyLink: '複製授權連結',
|
|
|
|
|
|
xaiApproved: '登入成功!',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 設定檔
|
|
|
|
|
|
profiles: {
|
|
|
|
|
|
title: '設定檔',
|
|
|
|
|
|
create: '建立設定檔',
|
|
|
|
|
|
import: '匯入',
|
|
|
|
|
|
export: '匯出',
|
|
|
|
|
|
rename: '重新命名',
|
|
|
|
|
|
delete: '刪除',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
switchTo: '切換 Hermes Profile',
|
|
|
|
|
|
switchConfirm: '將執行 `hermes profile use {name}` 並切換 Hermes CLI 的 active profile,是否繼續?',
|
|
|
|
|
|
switchSuccess: 'Hermes active profile 已切換為「{name}」',
|
|
|
|
|
|
switchFailed: '切換 Hermes Profile 失敗,閘道可能需要手動重新啟動',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
createSuccess: '設定檔「{name}」已建立',
|
|
|
|
|
|
createFailed: '建立設定檔失敗',
|
|
|
|
|
|
renameSuccess: '設定檔已重新命名',
|
|
|
|
|
|
renameFailed: '重新命名設定檔失敗',
|
|
|
|
|
|
deleteConfirm: '確定刪除設定檔「{name}」嗎?',
|
|
|
|
|
|
deleteSuccess: '設定檔已刪除',
|
|
|
|
|
|
deleteFailed: '刪除設定檔失敗',
|
|
|
|
|
|
exportSuccess: '設定檔已匯出',
|
|
|
|
|
|
exportFailed: '匯出設定檔失敗',
|
|
|
|
|
|
importSuccess: '設定檔已匯入',
|
|
|
|
|
|
importFailed: '匯入設定檔失敗',
|
|
|
|
|
|
importSelectFile: '選擇封存檔案',
|
|
|
|
|
|
importInvalidFile: '請選擇有效的封存檔案 (.tar.gz, .tgz, .gz, .zip)',
|
|
|
|
|
|
name: '設定檔名稱',
|
|
|
|
|
|
namePlaceholder: '僅限小寫字母、數字、連字號',
|
|
|
|
|
|
nameValidation: '設定檔名稱只能包含小寫字母、數字、底線和連字號',
|
|
|
|
|
|
newName: '新名稱',
|
|
|
|
|
|
newNamePlaceholder: '小寫字母、數字、連字號',
|
|
|
|
|
|
cloneFromCurrent: '從目前設定檔複製',
|
|
|
|
|
|
cloneCleanupNotice: '複製時會自動略過獨占型平台憑證(Weixin / Telegram / Slack 等),避免與來源設定檔衝突',
|
|
|
|
|
|
cloneStrippedCredentials: '已清理 {count} 項獨占憑證:{list}',
|
|
|
|
|
|
cloneDisabledPlatforms: '已停用 {count} 個平台:{list}',
|
|
|
|
|
|
cloneStrippedConfigCredentials: '已清理 config.yaml 中 {count} 項嵌入憑證:{list}',
|
|
|
|
|
|
archivePath: '封存路徑',
|
|
|
|
|
|
archivePathPlaceholder: '封存檔案的伺服器路徑',
|
|
|
|
|
|
importName: '設定檔名稱(選填)',
|
|
|
|
|
|
importNamePlaceholder: '留空則使用封存名稱',
|
|
|
|
|
|
active: '使用中',
|
|
|
|
|
|
model: '模型',
|
|
|
|
|
|
gateway: '閘道',
|
|
|
|
|
|
alias: '別名',
|
|
|
|
|
|
provider: 'Provider',
|
|
|
|
|
|
path: '路徑',
|
|
|
|
|
|
skills: '技能',
|
|
|
|
|
|
hasEnv: '有 .env',
|
|
|
|
|
|
hasSoulMd: '有 soul.md',
|
|
|
|
|
|
noProfiles: '目前無設定檔,建立一個開始吧。',
|
2026-05-20 14:15:01 +08:00
|
|
|
|
avatar: {
|
|
|
|
|
|
title: '自訂頭像',
|
|
|
|
|
|
customize: '頭像',
|
|
|
|
|
|
upload: '上傳圖片',
|
|
|
|
|
|
random: '隨機產生',
|
|
|
|
|
|
reset: '恢復預設',
|
|
|
|
|
|
hint: '支援 PNG、JPEG、WebP,最大 1MB',
|
|
|
|
|
|
invalidType: '請選擇 PNG、JPEG 或 WebP 圖片',
|
|
|
|
|
|
tooLarge: '頭像圖片不能超過 1MB',
|
|
|
|
|
|
saveSuccess: '頭像已儲存',
|
|
|
|
|
|
saveFailed: '儲存頭像失敗',
|
|
|
|
|
|
resetSuccess: '已恢復預設頭像',
|
|
|
|
|
|
resetFailed: '恢復預設頭像失敗',
|
|
|
|
|
|
},
|
2026-05-20 17:13:32 +08:00
|
|
|
|
runtime: {
|
|
|
|
|
|
activeProfile: '目前:{name}',
|
|
|
|
|
|
bridgeWorker: '橋接狀態',
|
|
|
|
|
|
gateway: '閘道',
|
|
|
|
|
|
active: '使用中',
|
|
|
|
|
|
activeTag: '目前',
|
|
|
|
|
|
idle: '閒置',
|
|
|
|
|
|
running: '執行中',
|
|
|
|
|
|
stopped: '已停止',
|
|
|
|
|
|
restartGateway: '重啟閘道',
|
|
|
|
|
|
restartProfile: '重啟設定檔',
|
2026-05-23 19:41:51 +08:00
|
|
|
|
switchProfile: '切換前端設定檔',
|
2026-05-20 17:13:32 +08:00
|
|
|
|
gatewayRestarted: '閘道已重啟:{name}',
|
|
|
|
|
|
gatewayRestartFailed: '重啟閘道失敗',
|
|
|
|
|
|
profileRestarted: '設定檔已重啟:{name}',
|
|
|
|
|
|
profileRestartFailed: '重啟設定檔失敗',
|
|
|
|
|
|
},
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 日誌
|
|
|
|
|
|
logs: {
|
|
|
|
|
|
title: '日誌',
|
|
|
|
|
|
all: '全部',
|
|
|
|
|
|
searchPlaceholder: '搜尋...',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
noEntries: '目前無日誌',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 設定
|
|
|
|
|
|
settings: {
|
|
|
|
|
|
title: '設定',
|
|
|
|
|
|
saved: '已儲存',
|
|
|
|
|
|
saveFailed: '儲存失敗',
|
|
|
|
|
|
tabs: {
|
|
|
|
|
|
display: '顯示',
|
2026-05-23 18:44:53 +08:00
|
|
|
|
account: '目前帳號',
|
|
|
|
|
|
users: '帳號管理',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
agent: '代理',
|
|
|
|
|
|
memory: '記憶',
|
2026-05-19 17:58:39 +08:00
|
|
|
|
compression: '上下文壓縮',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
session: '工作階段',
|
|
|
|
|
|
privacy: '隱私',
|
|
|
|
|
|
apiServer: 'API 伺服器',
|
|
|
|
|
|
models: '模型',
|
|
|
|
|
|
voice: '語音',
|
|
|
|
|
|
},
|
|
|
|
|
|
models: {
|
|
|
|
|
|
apiKey: 'API Key',
|
|
|
|
|
|
apiKeyPlaceholder: '輸入 API Key',
|
|
|
|
|
|
save: '儲存',
|
|
|
|
|
|
saved: '已儲存',
|
|
|
|
|
|
saveFailed: '儲存失敗',
|
|
|
|
|
|
noProviders: '目前無已設定的模型',
|
|
|
|
|
|
},
|
|
|
|
|
|
display: {
|
|
|
|
|
|
streaming: '串流回應',
|
|
|
|
|
|
streamingHint: '即時顯示 AI 回覆',
|
|
|
|
|
|
compact: '緊湊模式',
|
|
|
|
|
|
compactHint: '減少訊息間距',
|
|
|
|
|
|
showReasoning: '顯示推理過程',
|
|
|
|
|
|
showReasoningHint: '展示模型思考過程',
|
|
|
|
|
|
showCost: '顯示費用',
|
|
|
|
|
|
showCostHint: '在回覆中顯示 token 使用量',
|
|
|
|
|
|
inlineDiffs: '內嵌差異',
|
|
|
|
|
|
inlineDiffsHint: '程式碼變更以內嵌方式顯示',
|
|
|
|
|
|
bellOnComplete: '完成提示音',
|
|
|
|
|
|
bellOnCompleteHint: 'AI 回覆完成時播放提示音',
|
|
|
|
|
|
busyInputMode: '忙碌輸入模式',
|
|
|
|
|
|
busyInputModeHint: 'AI 處理中仍可輸入',
|
|
|
|
|
|
theme: '主題',
|
|
|
|
|
|
themeHint: '選擇淺色、暗色或跟隨系統',
|
|
|
|
|
|
themeLight: '淺色',
|
|
|
|
|
|
themeDark: '暗色',
|
|
|
|
|
|
themeSystem: '跟隨系統',
|
|
|
|
|
|
},
|
|
|
|
|
|
agent: {
|
|
|
|
|
|
maxTurns: '最大輪次',
|
|
|
|
|
|
maxTurnsHint: '單次對話最大互動輪數',
|
|
|
|
|
|
gatewayTimeout: '閘道逾時',
|
|
|
|
|
|
gatewayTimeoutHint: '單次請求逾時時間(秒)',
|
|
|
|
|
|
restartDrainTimeout: '重啟排空逾時',
|
|
|
|
|
|
restartDrainTimeoutHint: '重啟前排空請求的逾時時間(秒)',
|
|
|
|
|
|
toolEnforcement: '工具執行策略',
|
|
|
|
|
|
toolEnforcementHint: '控制工具呼叫的執行模式',
|
|
|
|
|
|
auto: '自動',
|
|
|
|
|
|
always: '始終',
|
|
|
|
|
|
never: '從不',
|
|
|
|
|
|
},
|
|
|
|
|
|
memory: {
|
|
|
|
|
|
enabled: '啟用記憶',
|
|
|
|
|
|
enabledHint: '允許 AI 記住對話上下文',
|
|
|
|
|
|
userProfile: '使用者畫像',
|
|
|
|
|
|
userProfileHint: '允許 AI 記住使用者偏好資訊',
|
|
|
|
|
|
charLimit: '記憶字元上限',
|
|
|
|
|
|
charLimitHint: 'MEMORY.md 最大字元數',
|
|
|
|
|
|
userCharLimit: '使用者畫像字元上限',
|
|
|
|
|
|
userCharLimitHint: 'USER.md 最大字元數',
|
|
|
|
|
|
},
|
2026-05-19 17:58:39 +08:00
|
|
|
|
compression: {
|
|
|
|
|
|
enabled: '啟用壓縮',
|
|
|
|
|
|
enabledHint: '長對話接近模型上下文上限前自動壓縮歷史',
|
|
|
|
|
|
threshold: '壓縮閾值',
|
|
|
|
|
|
thresholdHint: '預估 token 超過上下文比例時開始壓縮',
|
|
|
|
|
|
targetRatio: '目標比例',
|
|
|
|
|
|
targetRatioHint: '壓縮後歷史保留到上下文的目標比例',
|
|
|
|
|
|
protectLastN: '保護最近訊息',
|
|
|
|
|
|
protectLastNHint: '最近多少則訊息不參與壓縮',
|
|
|
|
|
|
protectFirstN: '保護開頭訊息',
|
|
|
|
|
|
protectFirstNHint: '最早多少則訊息不參與壓縮',
|
|
|
|
|
|
},
|
2026-05-11 21:22:57 +08:00
|
|
|
|
session: {
|
|
|
|
|
|
mode: '重設模式',
|
|
|
|
|
|
modeHint: '工作階段重設的觸發條件',
|
|
|
|
|
|
modeBoth: '閒置 + 定時',
|
|
|
|
|
|
modeIdle: '僅閒置',
|
2026-05-16 21:18:59 +08:00
|
|
|
|
modeDaily: '僅定時',
|
|
|
|
|
|
modeNone: '永不(僅手動)',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
idleMinutes: '閒置逾時',
|
|
|
|
|
|
idleMinutesHint: '無操作後自動重設的等待時間(分鐘)',
|
|
|
|
|
|
atHour: '定時重設時間',
|
|
|
|
|
|
humanOnly: '僅顯示人類工作階段',
|
|
|
|
|
|
humanOnlyHint: '預設隱藏子代理和工作階段監看雜訊',
|
|
|
|
|
|
liveMonitorHumanOnly: '即時監看:僅顯示人類工作階段',
|
|
|
|
|
|
liveMonitorHumanOnlyHint: '在即時監看中預設隱藏子代理和工作階段監看雜訊',
|
|
|
|
|
|
atHourHint: '每天在指定小時重設工作階段',
|
|
|
|
|
|
requireAuth: '工作階段授權',
|
|
|
|
|
|
requireAuthHint: '修改工作階段操作是否授權',
|
|
|
|
|
|
},
|
|
|
|
|
|
privacy: {
|
|
|
|
|
|
redactPii: '遮蔽 PII',
|
|
|
|
|
|
redactPiiHint: '自動偵測並隱藏敏感資訊(密碼、金鑰等)',
|
|
|
|
|
|
},
|
|
|
|
|
|
apiServer: {
|
|
|
|
|
|
enable: '啟用',
|
|
|
|
|
|
enableHint: '啟用 API 伺服器',
|
|
|
|
|
|
host: '主機',
|
|
|
|
|
|
hostHint: '監聽位址',
|
|
|
|
|
|
port: '連接埠',
|
|
|
|
|
|
portHint: '監聽連接埠',
|
|
|
|
|
|
key: '金鑰',
|
|
|
|
|
|
keyHint: 'API 存取金鑰',
|
|
|
|
|
|
cors: 'CORS 來源',
|
|
|
|
|
|
corsHint: '允許的跨域來源',
|
|
|
|
|
|
},
|
|
|
|
|
|
lockedIps: {
|
|
|
|
|
|
title: '鎖定 IP 管理',
|
|
|
|
|
|
count: '{count} 個 IP 被鎖定',
|
|
|
|
|
|
empty: '目前無鎖定 IP',
|
|
|
|
|
|
unlock: '解鎖',
|
|
|
|
|
|
unlockAll: '全部解鎖',
|
|
|
|
|
|
unlockAllConfirm: '確認解鎖所有鎖定的 IP?',
|
|
|
|
|
|
unlocked: 'IP 已解鎖',
|
|
|
|
|
|
allUnlocked: '已解鎖 {count} 個 IP',
|
|
|
|
|
|
},
|
|
|
|
|
|
voice: {
|
|
|
|
|
|
ttsProvider: 'TTS 提供者',
|
|
|
|
|
|
ttsProviderHint: '選擇訊息朗讀使用的語音引擎',
|
|
|
|
|
|
providerWebSpeech: 'WebSpeech API(瀏覽器內建)',
|
|
|
|
|
|
providerOpenai: 'OpenAI TTS',
|
|
|
|
|
|
providerCustom: '自訂端點(相容 OpenAI)',
|
|
|
|
|
|
providerEdge: 'Edge TTS(免費,無需 API Key)',
|
|
|
|
|
|
|
|
|
|
|
|
// WebSpeech
|
|
|
|
|
|
webspeechVoice: '音色',
|
|
|
|
|
|
webspeechVoiceHint: '從瀏覽器或系統提供的語音中選擇',
|
|
|
|
|
|
webspeechVoicePlaceholder: '自動(預設語音)',
|
|
|
|
|
|
|
|
|
|
|
|
// OpenAI
|
|
|
|
|
|
openaiKey: 'API 金鑰',
|
|
|
|
|
|
openaiKeyHint: '具有 TTS 權限的 OpenAI API Key',
|
|
|
|
|
|
openaiUrl: 'API 基礎位址',
|
|
|
|
|
|
openaiUrlHint: '例如 https://api.openai.com/v1/audio/speech',
|
|
|
|
|
|
openaiModel: '模型',
|
|
|
|
|
|
openaiModelHint: 'tts-1(快速)/ tts-1-hd(高音質)',
|
|
|
|
|
|
openaiVoice: '音色',
|
|
|
|
|
|
openaiVoiceHint: '用於語音合成的音色',
|
|
|
|
|
|
|
|
|
|
|
|
// 自訂端點
|
|
|
|
|
|
customHint: '支援任何 OpenAI 相容的 TTS 服務——可用於 GPT-SoVITS、CosyVoice 等自部署服務。',
|
|
|
|
|
|
customUrl: 'API 位址',
|
|
|
|
|
|
customUrlHint: 'TTS 服務的完整基礎位址',
|
|
|
|
|
|
customUrlPlaceholder: '本地適配器中設定的位址,如:http://127.0.0.1:9880',
|
|
|
|
|
|
customApiKey: 'API 金鑰(選填)',
|
|
|
|
|
|
customApiKeyHint: '部分自部署服務需要身份驗證',
|
|
|
|
|
|
customApiKeyPlaceholder: '不需要則留空',
|
|
|
|
|
|
// Edge TTS
|
|
|
|
|
|
edgeHint: '由 Microsoft Edge TTS 驅動(node-edge-tts)。',
|
|
|
|
|
|
edgeUrl: '適配器位址',
|
|
|
|
|
|
edgeUrlHint: 'Edge TTS 適配器位址,例如 http://127.0.0.1:9882',
|
|
|
|
|
|
edgeUrlPlaceholder: 'http://127.0.0.1:9882',
|
|
|
|
|
|
edgeVoice: '音色',
|
|
|
|
|
|
edgeVoiceHint: '選擇用於語音合成的音色',
|
2026-05-11 22:15:41 +08:00
|
|
|
|
edgeRate: '語速',
|
|
|
|
|
|
edgeRateHint: '調整語音速度(0.5~2.0 倍)',
|
|
|
|
|
|
edgePitch: '音調',
|
|
|
|
|
|
edgePitchHint: '調整語音音調(-20~+20 Hz)',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
|
|
|
|
|
|
// 試聽
|
|
|
|
|
|
testTitle: '試聽測試',
|
|
|
|
|
|
testText: '測試文字',
|
|
|
|
|
|
testTextPlaceholder: '輸入測試文字...',
|
|
|
|
|
|
testTextDefault: '你好,這是一個語音測試。',
|
|
|
|
|
|
testButton: '試聽',
|
|
|
|
|
|
testButtonPlaying: '播放中...',
|
|
|
|
|
|
testFailed: '測試失敗:{error}',
|
2026-05-16 08:55:23 +08:00
|
|
|
|
|
|
|
|
|
|
// MiMo TTS
|
|
|
|
|
|
providerMimo: 'MiMo TTS',
|
|
|
|
|
|
mimoHint: '小米 MiMo TTS,支援預設音色、音色設計、音色複製三種模式',
|
|
|
|
|
|
mimoApiKey: 'API Key',
|
|
|
|
|
|
mimoApiKeyHint: '在 platform.xiaomimimo.com 取得',
|
|
|
|
|
|
mimoApiKeyPlaceholder: 'MiMo API Key',
|
|
|
|
|
|
mimoBaseUrl: 'Base URL',
|
|
|
|
|
|
mimoBaseUrlHint: 'MiMo API 端點位址',
|
|
|
|
|
|
mimoModel: '模型',
|
|
|
|
|
|
mimoModelHint: '選擇語音合成模型',
|
|
|
|
|
|
mimoModelPreset: '預設音色',
|
|
|
|
|
|
mimoModelVoiceDesign: '音色設計',
|
|
|
|
|
|
mimoModelVoiceClone: '音色複製',
|
|
|
|
|
|
mimoVoice: '音色',
|
|
|
|
|
|
mimoVoiceHint: '選擇預設音色',
|
|
|
|
|
|
mimoVoiceDesignPrompt: '音色描述',
|
|
|
|
|
|
mimoVoiceDesignPromptHint: '描述你想要的音色特徵',
|
|
|
|
|
|
mimoVoiceDesignPromptPlaceholder: '例如:溫柔的年輕女聲,語速稍慢,帶著磁性',
|
|
|
|
|
|
mimoCloneAudio: '上傳音訊',
|
|
|
|
|
|
mimoCloneAudioHint: '上傳音訊樣本用於音色複製,支援 mp3/wav,最大 10MB',
|
|
|
|
|
|
mimoCloneAudioUpload: '選擇檔案',
|
|
|
|
|
|
mimoCloneAudioClear: '清除音訊',
|
|
|
|
|
|
mimoStylePrompt: '風格指令',
|
|
|
|
|
|
mimoStylePromptHint: '可選,用自然語言描述語音風格',
|
|
|
|
|
|
mimoStylePromptPlaceholder: '例如:用輕快上揚的語調,語速稍快',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 平台頻道設定
|
|
|
|
|
|
platform: {
|
|
|
|
|
|
requireMention: "需要 {'@'}提及",
|
|
|
|
|
|
requireMentionGroup: "群組中需要 {'@'}機器人 才會回應",
|
|
|
|
|
|
requireMentionChannel: "頻道中需要 {'@'}機器人 才會回應",
|
|
|
|
|
|
requireMentionRoom: "房間中需要 {'@'}機器人 才會回應",
|
|
|
|
|
|
reactions: '表情回應',
|
|
|
|
|
|
reactionsHint: '對訊息新增表情回應',
|
|
|
|
|
|
freeResponseChats: '自由回應聊天',
|
|
|
|
|
|
freeResponseChatsHint: "不需要 {'@'}提及即回應的聊天 ID(逗號分隔)",
|
|
|
|
|
|
freeResponseChannels: '自由回應頻道',
|
|
|
|
|
|
freeResponseChannelsHint: "不需要 {'@'}提及即回應的頻道 ID(逗號分隔)",
|
|
|
|
|
|
freeResponseRooms: '自由回應房間',
|
|
|
|
|
|
freeResponseRoomsHint: "不需要 {'@'}提及即回應的房間 ID(逗號分隔)",
|
|
|
|
|
|
mentionPatterns: '自訂提及模式',
|
|
|
|
|
|
mentionPatternsHint: '額外的觸發模式清單',
|
|
|
|
|
|
autoThread: '自動建立討論串',
|
|
|
|
|
|
autoThreadHint: "{'@'}提及後自動建立回覆討論串",
|
|
|
|
|
|
autoThreadHintRoom: '在房間中自動建立回覆討論串',
|
|
|
|
|
|
dmMentionThreads: 'DM 提及討論串',
|
|
|
|
|
|
dmMentionThreadsHint: '在私聊中也使用討論串回覆提及',
|
|
|
|
|
|
allowBots: '允許機器人訊息',
|
|
|
|
|
|
allowBotsHint: '回應其他機器人傳送的訊息',
|
|
|
|
|
|
allowedChannels: '允許的頻道',
|
|
|
|
|
|
allowedChannelsHint: '白名單頻道 ID(逗號分隔)',
|
|
|
|
|
|
ignoredChannels: '忽略的頻道',
|
|
|
|
|
|
ignoredChannelsHint: '不回應的頻道 ID(逗號分隔)',
|
|
|
|
|
|
noThreadChannels: '無討論串頻道',
|
|
|
|
|
|
noThreadChannelsHint: '不建立討論串的頻道 ID(逗號分隔)',
|
|
|
|
|
|
exclusiveTokenWarning: '此平台使用獨占 token 鎖。每個 profile 必須使用不同的身份 token,否則會與其他 profile 衝突導致 gateway 啟動失敗。',
|
|
|
|
|
|
botToken: 'Bot Token',
|
|
|
|
|
|
botTokenHint: '開發者入口網站取得的 Bot Token',
|
|
|
|
|
|
accessToken: 'Access Token',
|
|
|
|
|
|
accessTokenHint: 'Matrix Access Token',
|
|
|
|
|
|
homeserver: 'Homeserver URL',
|
|
|
|
|
|
homeserverHint: 'Matrix 伺服器位址',
|
|
|
|
|
|
appId: 'App ID',
|
|
|
|
|
|
appIdHint: '飛書 App ID',
|
|
|
|
|
|
appSecret: 'App Secret',
|
|
|
|
|
|
appSecretHint: '飛書 App Secret',
|
|
|
|
|
|
clientId: 'Client ID',
|
|
|
|
|
|
clientIdHint: '釘釘 Client ID',
|
|
|
|
|
|
clientSecret: 'Client Secret',
|
|
|
|
|
|
clientSecretHint: '釘釘 Client Secret',
|
2026-05-16 13:54:38 +08:00
|
|
|
|
allowedUsers: '允許使用者',
|
|
|
|
|
|
allowedUsersHint: '使用者 ID 或 OpenID 白名單,多個請用英文逗號分隔',
|
|
|
|
|
|
allowAllUsers: '允許所有使用者',
|
|
|
|
|
|
allowAllUsersHint: '允許任意使用者發起訊息;關閉後使用白名單',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
botId: 'Bot ID',
|
|
|
|
|
|
botIdHint: '企業微信 Bot ID',
|
|
|
|
|
|
wecomSecretHint: '企業微信 Bot Secret',
|
|
|
|
|
|
waEnabled: '啟用 WhatsApp',
|
|
|
|
|
|
waEnabledHint: '透過 QR Code 配對啟用 WhatsApp',
|
|
|
|
|
|
weixinToken: '微信 Token',
|
|
|
|
|
|
weixinTokenHint: '透過 weixin CLI 掃碼登入取得 (hermes weixin)',
|
|
|
|
|
|
accountId: 'Account ID',
|
|
|
|
|
|
accountIdHint: '微信 Account ID',
|
|
|
|
|
|
qrLogin: '掃碼登入',
|
|
|
|
|
|
qrRelogin: '重新登入',
|
|
|
|
|
|
qrFetching: '正在取得 QR Code...',
|
|
|
|
|
|
qrScanHint: '使用微信掃描 QR Code 登入',
|
|
|
|
|
|
qrScanedHint: '已掃描,請在手機上確認...',
|
|
|
|
|
|
// QQ
|
|
|
|
|
|
qqAppId: 'App ID',
|
|
|
|
|
|
qqAppIdHint: 'QQ 開放平台機器人 App ID',
|
|
|
|
|
|
qqAppSecret: 'App Secret',
|
|
|
|
|
|
qqAppSecretHint: 'QQ 開放平台機器人 App Secret',
|
|
|
|
|
|
qqMarkdown: 'Markdown 支援',
|
|
|
|
|
|
qqMarkdownHint: '啟用 Markdown 格式訊息(部分客戶端可能不支援)',
|
|
|
|
|
|
qqSandbox: '沙箱模式',
|
|
|
|
|
|
qqSandboxHint: '啟用沙箱環境(測試用)',
|
|
|
|
|
|
qqQrScanHint: '使用 QQ 掃描上方 QR Code,或在手機上開啟連結完成綁定',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 閘道
|
|
|
|
|
|
gateways: {
|
|
|
|
|
|
title: '閘道',
|
|
|
|
|
|
running: '執行中',
|
|
|
|
|
|
stopped: '已停止',
|
|
|
|
|
|
started: '已啟動',
|
|
|
|
|
|
startFailed: '啟動失敗',
|
|
|
|
|
|
stopFailed: '停止失敗',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 語言
|
|
|
|
|
|
language: {
|
|
|
|
|
|
label: '語言',
|
|
|
|
|
|
zh: '中文(簡體)',
|
|
|
|
|
|
'zh-TW': '繁體中文',
|
|
|
|
|
|
en: 'English',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 終端機
|
|
|
|
|
|
terminal: {
|
|
|
|
|
|
sessions: '工作階段',
|
|
|
|
|
|
newTab: '新增終端機',
|
|
|
|
|
|
closeSession: '關閉此工作階段?',
|
|
|
|
|
|
sessionExited: '已退出',
|
|
|
|
|
|
processExited: '程序已退出,代碼 {code}',
|
|
|
|
|
|
noSessions: '目前無終端機工作階段',
|
|
|
|
|
|
connectionFailed: '終端機服務連線失敗',
|
|
|
|
|
|
connectionClosed: '終端機連線已關閉',
|
|
|
|
|
|
connectionError: '終端機連線錯誤',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 群聊
|
|
|
|
|
|
groupChat: {
|
|
|
|
|
|
title: '群聊',
|
|
|
|
|
|
createRoom: '建立房間',
|
|
|
|
|
|
joinByCode: '透過邀請碼加入',
|
|
|
|
|
|
roomName: '房間名稱',
|
|
|
|
|
|
roomNamePlaceholder: '輸入房間名稱',
|
|
|
|
|
|
inviteCode: '邀請碼',
|
|
|
|
|
|
autoGenerate: '自動產生',
|
|
|
|
|
|
noRooms: '目前無房間',
|
|
|
|
|
|
selectOrCreate: '選擇或建立一個房間開始聊天',
|
|
|
|
|
|
agents: '智慧代理',
|
|
|
|
|
|
addAgent: '新增智慧代理',
|
|
|
|
|
|
selectProfile: '選擇一個設定檔',
|
|
|
|
|
|
agentAdded: '智慧代理已新增',
|
|
|
|
|
|
agentAlreadyInRoom: '該智慧代理已在房間中',
|
2026-05-21 14:54:41 +08:00
|
|
|
|
agentAddFailedCount: '{count} 個智慧代理未新增:{details}',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
noAgents: '目前房間無智慧代理',
|
|
|
|
|
|
members: '成員',
|
|
|
|
|
|
roomCreated: '房間已建立',
|
|
|
|
|
|
roomDeleted: '房間已刪除',
|
2026-05-15 15:52:16 +08:00
|
|
|
|
roomCloned: '房間已複製',
|
|
|
|
|
|
cloneRoom: '複製房間',
|
2026-05-24 10:55:55 +08:00
|
|
|
|
copyRoomLink: '複製房間連結',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
deleteRoomConfirm: '確定刪除這個房間嗎?',
|
2026-05-15 15:52:16 +08:00
|
|
|
|
clearContext: '清理上下文',
|
|
|
|
|
|
clearContextConfirm: '確定清理目前房間上下文嗎?訊息和壓縮快照會被刪除,智慧代理和成員會保留。',
|
|
|
|
|
|
contextCleared: '上下文已清理',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
you: '你',
|
|
|
|
|
|
joined: '已加入房間',
|
|
|
|
|
|
joinFailed: '加入房間失敗',
|
|
|
|
|
|
inputPlaceholder: '輸入訊息... (Enter 發送)',
|
|
|
|
|
|
enterCode: '輸入邀請碼',
|
|
|
|
|
|
yourName: '你的名稱',
|
|
|
|
|
|
yourNamePlaceholder: '輸入你的群聊暱稱',
|
|
|
|
|
|
yourDescription: '自我介紹(選填)',
|
|
|
|
|
|
yourDescriptionPlaceholder: '介紹一下你自己...',
|
|
|
|
|
|
agentName: 'Agent 名稱',
|
|
|
|
|
|
agentNamePlaceholder: '自訂名稱(留空則使用 profile 名稱)',
|
|
|
|
|
|
agentDesc: 'Agent 描述',
|
|
|
|
|
|
agentDescPlaceholder: '描述這個 agent 的作用...',
|
|
|
|
|
|
agentReplying: '正在回覆...',
|
|
|
|
|
|
agentCompressing: '正在壓縮上下文...',
|
|
|
|
|
|
compressionSettings: '壓縮設定',
|
|
|
|
|
|
triggerTokens: '觸發壓縮 Token 數',
|
|
|
|
|
|
triggerTokensDesc: '訊息 token 數超過此值時觸發上下文壓縮',
|
|
|
|
|
|
maxHistoryTokens: '最大歷史 Token 數',
|
|
|
|
|
|
maxHistoryTokensDesc: '壓縮後傳送給 LLM 的最大 token 數',
|
|
|
|
|
|
tailMessageCount: '保留最近訊息數',
|
|
|
|
|
|
tailMessageCountDesc: '壓縮後保留最近的原始訊息條數',
|
|
|
|
|
|
compressionConfig: '壓縮設定',
|
|
|
|
|
|
compressionSaved: '壓縮設定已儲存',
|
|
|
|
|
|
compressNow: '立即壓縮',
|
|
|
|
|
|
compressingInProgress: '正在壓縮中,請稍後',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 用量統計
|
|
|
|
|
|
usage: {
|
|
|
|
|
|
title: '用量統計',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
totalTokens: '總 Token 數',
|
|
|
|
|
|
inputTokens: '輸入',
|
|
|
|
|
|
outputTokens: '輸出',
|
|
|
|
|
|
totalSessions: '總工作階段數',
|
|
|
|
|
|
avgPerDay: '日均 ~{n}',
|
|
|
|
|
|
estimatedCost: '預估費用',
|
|
|
|
|
|
cacheHitRate: '快取命中率',
|
|
|
|
|
|
modelBreakdown: '模型分布',
|
2026-05-13 01:41:49 +02:00
|
|
|
|
dailyTrend: '每日用量',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
date: '日期',
|
|
|
|
|
|
tokens: 'Token',
|
|
|
|
|
|
cache: '快取',
|
|
|
|
|
|
cacheRead: '快取讀取',
|
|
|
|
|
|
cacheWrite: '快取寫入',
|
|
|
|
|
|
sessions: '工作階段',
|
|
|
|
|
|
cost: '費用',
|
|
|
|
|
|
noData: '目前無用量資料',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-14 09:28:51 +08:00
|
|
|
|
skillsUsage: {
|
|
|
|
|
|
title: '技能用量',
|
|
|
|
|
|
subtitle: '追蹤 Hermes 工作階段中的技能載入與編輯',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
periodSelector: '技能用量期間',
|
|
|
|
|
|
periodLabel: '{days}天',
|
|
|
|
|
|
summary: '總覽',
|
|
|
|
|
|
totalActions: '操作',
|
|
|
|
|
|
loads: '載入',
|
|
|
|
|
|
edits: '編輯',
|
|
|
|
|
|
distinctSkills: '技能數',
|
|
|
|
|
|
topSkills: '熱門',
|
|
|
|
|
|
dailyTrend: '趨勢',
|
|
|
|
|
|
periodSummary: '最近 {days} 天',
|
|
|
|
|
|
skill: '技能',
|
|
|
|
|
|
share: '占比',
|
|
|
|
|
|
lastUsed: '最近',
|
|
|
|
|
|
noData: '暫無技能用量資料',
|
|
|
|
|
|
loadFailed: '技能用量載入失敗',
|
|
|
|
|
|
otherSkills: '其他技能',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
2026-05-11 21:22:57 +08:00
|
|
|
|
// 檔案管理
|
|
|
|
|
|
files: {
|
|
|
|
|
|
title: '檔案',
|
|
|
|
|
|
fileTree: '檔案樹',
|
|
|
|
|
|
tree: '目錄樹',
|
|
|
|
|
|
list: '檔案清單',
|
|
|
|
|
|
breadcrumbRoot: '根目錄',
|
|
|
|
|
|
newFile: '新增檔案',
|
|
|
|
|
|
newFolder: '新增資料夾',
|
|
|
|
|
|
upload: '上傳',
|
|
|
|
|
|
refresh: '重新整理',
|
|
|
|
|
|
open: '開啟',
|
|
|
|
|
|
edit: '編輯',
|
|
|
|
|
|
preview: '預覽',
|
|
|
|
|
|
download: '下載',
|
|
|
|
|
|
copyPath: '複製路徑',
|
|
|
|
|
|
rename: '重新命名',
|
|
|
|
|
|
delete: '刪除',
|
|
|
|
|
|
name: '名稱',
|
|
|
|
|
|
size: '大小',
|
|
|
|
|
|
modified: '修改時間',
|
|
|
|
|
|
actions: '操作',
|
|
|
|
|
|
emptyDir: '空目錄',
|
|
|
|
|
|
loading: '載入中...',
|
|
|
|
|
|
confirmDelete: '確定要刪除「{name}」嗎?',
|
|
|
|
|
|
confirmDeleteDir: '確定要刪除目錄「{name}」及其所有內容嗎?',
|
|
|
|
|
|
deleteFailed: '刪除失敗',
|
|
|
|
|
|
deleted: '已刪除',
|
|
|
|
|
|
renameTo: '重新命名為',
|
|
|
|
|
|
newFileName: '檔案名稱',
|
|
|
|
|
|
newFolderName: '資料夾名稱',
|
|
|
|
|
|
created: '已建立',
|
|
|
|
|
|
createFailed: '建立失敗',
|
|
|
|
|
|
renamed: '已重新命名',
|
|
|
|
|
|
renameFailed: '重新命名失敗',
|
|
|
|
|
|
uploadSuccess: '已上傳 {count} 個檔案',
|
|
|
|
|
|
uploadFailed: '上傳失敗',
|
|
|
|
|
|
saveFailed: '儲存失敗',
|
|
|
|
|
|
saved: '已儲存',
|
|
|
|
|
|
unsavedChanges: '有未儲存的變更,是否捨棄?',
|
|
|
|
|
|
pathCopied: '路徑已複製',
|
|
|
|
|
|
fileTooLarge: '檔案過大(最大 10MB)',
|
|
|
|
|
|
permissionDenied: '無法修改受保護的檔案',
|
|
|
|
|
|
notFound: '檔案或目錄不存在',
|
|
|
|
|
|
backendError: '檔案操作失敗',
|
|
|
|
|
|
dragDropHint: '拖曳檔案至此處上傳',
|
|
|
|
|
|
closeEditor: '關閉編輯器',
|
|
|
|
|
|
closePreview: '關閉',
|
|
|
|
|
|
saveFile: '儲存',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 下載
|
|
|
|
|
|
download: {
|
|
|
|
|
|
downloading: '正在下載...',
|
|
|
|
|
|
downloadFailed: '下載失敗',
|
|
|
|
|
|
fileNotFound: '檔案不存在或已被刪除',
|
|
|
|
|
|
fileTooLarge: '檔案過大(超過限制)',
|
|
|
|
|
|
backendError: '檔案讀取失敗,遠端環境可能不可用',
|
|
|
|
|
|
backendTimeout: '檔案讀取逾時',
|
|
|
|
|
|
unsupportedBackend: '目前 terminal backend 暫不支援檔案下載',
|
|
|
|
|
|
invalidPath: '無效的檔案路徑',
|
2026-05-22 19:04:15 +08:00
|
|
|
|
contentDisplay: '內容展示',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
download: '下載',
|
|
|
|
|
|
downloadFile: '下載檔案',
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 更新日誌
|
|
|
|
|
|
changelog: {
|
2026-05-20 15:34:09 +08:00
|
|
|
|
new_0_5_31_1: "增強 Bridge Broker 重啟穩定性,修復群聊最終串流渲染,並新增群聊 {'@'}all 路由",
|
|
|
|
|
|
new_0_5_31_2: '檔案管理支援複製絕對路徑,並修復行動端工作階段抽屜層級遮擋問題',
|
|
|
|
|
|
new_0_5_31_3: 'Profile 選擇器新增頭像展示、自訂頭像、執行狀態彈窗,以及網關/Profile 重啟操作',
|
|
|
|
|
|
new_0_5_31_4: 'Profile 頭像會同步用於單聊、群聊和折疊側邊欄,頭像中繼資料保存到 Web UI 目錄並相容 Windows 路徑',
|
|
|
|
|
|
new_0_5_31_5: '改進 Docker、Termux、Windows 的 gateway 偵測和重啟邏輯,優先使用 gateway_state/gateway.pid 判斷 managed gateway 是否存活',
|
|
|
|
|
|
new_0_5_31_6: '新增 APIKEY.FUN 生圖媒體接口和內建 apikey-image-gen skill,支援文生圖、圖生圖和圖片編輯,並從 active Profile 的 fun-codex 配置讀取憑據',
|
2026-05-21 14:31:52 +08:00
|
|
|
|
new_0_5_33_1: '單聊和群聊的執行失敗、Socket 錯誤會作為紅色 Agent 訊息保留在訊息列表中,不再一閃而過',
|
|
|
|
|
|
new_0_5_33_2: '會話搜尋支援按目前選中的 Profile 限定範圍,未選擇 Profile 時仍可搜尋全部 Profile',
|
|
|
|
|
|
new_0_5_33_3: 'Skills 頁面新增中英文推薦清單,未選中 Skill 時展示推薦內容,並支援再次點擊已選 Skill 取消選中',
|
|
|
|
|
|
new_0_5_33_4: '清理未使用的 changelog 國際化內容,減少前端 i18n 體積',
|
|
|
|
|
|
new_0_5_33_5: '修復 Windows 中文系統下 agent bridge 解析 netstat 輸出編碼失敗導致啟動異常的問題',
|
|
|
|
|
|
new_0_5_33_6: '更新 Nous Portal 預設模型列表,對齊公開 catalog 和 Portal 推薦模型',
|
|
|
|
|
|
new_0_5_33_7: 'Profile 列表和執行狀態改為從目錄讀取 Profile 名稱、從 config 讀取預設模型,避免 CLI 表格欄寬導致 name/model/gateway 解析錯位',
|
2026-05-22 11:12:21 +08:00
|
|
|
|
new_0_5_34_1: '儲存工作階段和群聊訊息時會規範化多模態工具結果,避免 base64 圖片污染回放內容',
|
|
|
|
|
|
new_0_5_34_2: '自訂 Hermes 模型改由後端設定持久化,並新增新增/移除模型介面',
|
|
|
|
|
|
new_0_5_34_3: '修復 Bridge 執行結束後的最終上下文用量和工具狀態更新',
|
|
|
|
|
|
new_0_5_34_4: '最佳化看板篩選、負責人展示、卡片操作和任務詳情處理',
|
|
|
|
|
|
new_0_5_34_5: '修復壓縮用量統計:快取固定 prompt/tool 上下文,並顯示完整上下文 token 總量',
|
|
|
|
|
|
new_0_5_34_6: '群聊 Agent 快取各自固定上下文,僅在真正開始壓縮時顯示壓縮進度',
|
|
|
|
|
|
new_0_5_34_7: 'Web UI 內建 Skills 會同步注入到所有 Profile,並在日誌中標明目標 Profile',
|
2026-05-22 12:03:43 +08:00
|
|
|
|
new_0_5_34_8: '如果 Windows 下看板功能異常,請升級 Hermes 以取得最新的看板資料庫遷移修復',
|
2026-05-23 10:41:24 +08:00
|
|
|
|
new_0_5_35_1: 'Bridge 工作階段支援不同 session 並發執行,同一 session 仍保持串行以避免訊息順序錯亂',
|
|
|
|
|
|
new_0_5_35_2: '新增「效能監控」頁面,可查看系統 CPU/記憶體、Web UI、Bridge Broker、Workers 和活躍工作階段狀態',
|
|
|
|
|
|
new_0_5_35_3: '新增 Worker 級資源統計,展示每個 worker 的 CPU、記憶體、Profile、工作階段數和執行狀態',
|
|
|
|
|
|
new_0_5_35_4: '最佳化 Bridge worker 生命週期清理,Broker 關閉或父行程退出時會回收 worker,減少殘留 Python 行程',
|
|
|
|
|
|
new_0_5_35_5: '監控介面增強跨平台相容,支援 macOS、Windows、Linux、Docker 和 Termux 的資源採集降級',
|
|
|
|
|
|
new_0_5_35_6: '效能監控不再因 Agent 初始化中的 worker 請求而阻塞,降低 Windows 上 request timed out 的機率',
|
|
|
|
|
|
new_0_5_35_7: '聊天 Markdown 新增文字內容內嵌預覽,下載圖示會直接下載檔案,避免被預覽抽屜攔截',
|
|
|
|
|
|
new_0_5_35_8: '最佳化內容展示抽屜:行動端全寬並提供關閉入口,桌面端加寬到 800px,文字與 Markdown 背景保持一致',
|
2026-05-24 14:00:31 +08:00
|
|
|
|
new_0_6_0_1: '分帳戶、分 Profile 管理現在一致保護工作階段、模型、用量、看板、任務、上傳、媒體與相關 Hermes API',
|
|
|
|
|
|
new_0_6_0_2: '內建媒體 Skills 只會在媒體端點使用產生的伺服器 token,並依請求的 Profile 讀取 fun-codex/xAI 憑證',
|
|
|
|
|
|
new_0_6_0_3: '單聊與群聊都會把目前 Hermes Profile 注入執行提示,方便 Skills 請求時帶上 X-Hermes-Profile',
|
|
|
|
|
|
new_0_6_0_4: 'delegate_task 的 subagent 進度會即時顯示在聊天介面,包含開始、工具、進度與完成狀態',
|
|
|
|
|
|
new_0_6_0_5: '停止或中止執行時會清理暫時事件,避免舊的 abort 狀態帶入下一次聊天',
|
|
|
|
|
|
new_0_6_0_6: '同步更新文件與官網文案,涵蓋帳戶管理、預設憑證、分帳戶分 Profile 管理、上傳下載與內建媒體 Skills',
|
|
|
|
|
|
new_0_6_0_7: '新增 CLI 維護命令,用於清理登入 IP 鎖與重設預設 admin / 123456 登入帳戶',
|
|
|
|
|
|
new_0_6_0_8: '0.6.0 是 Web UI 從單使用者走向多使用者的分界版本;如果多使用者模式遇到問題,請提交 issue,必要時可回退到 0.5.35 單使用者版本',
|
2026-05-25 13:06:06 +08:00
|
|
|
|
new_0_6_1_1: '會話列表預設顯示目前帳戶可用的全部 Profile;只有明確選擇 Profile 篩選時才會限定 Profile,同時 CLI start/stop/status 不再列印 node:sqlite 實驗警告',
|
|
|
|
|
|
new_0_6_1_2: 'Clarify 與確認回覆現在會透過已鑑權的聊天 socket 傳到 Hermes bridge,並補上回應鏈路測試',
|
|
|
|
|
|
new_0_6_1_3: '導覽項目與聊天會話列改用原生連結,支援新分頁開啟、複製連結,並保留側邊欄摺疊狀態',
|
|
|
|
|
|
new_0_6_1_4: '會話連結不再把路由 Profile 洩漏到一般會話列表篩選,並補齊「在新分頁開啟」多語文案',
|
|
|
|
|
|
new_0_6_1_5: 'Skills 會讀取目前 Profile config 中的 skills.external_dirs,標記 external 來源,保留本地優先,並支援讀取外部 skill 檔案',
|
|
|
|
|
|
new_0_6_1_6: '登入 IP 鎖定門檻提高到 10 次失敗,鎖定後的登入頁會提示清除鎖定與重設預設登入的復原命令',
|
|
|
|
|
|
new_0_6_1_7: '行動端或背景造成的聊天斷線會視為暫時斷線,重連後從服務端恢復執行狀態',
|
|
|
|
|
|
new_0_6_1_8: 'Bridge 工具標記 flush 會在工具與執行邊界持久化殘留的工具呼叫前綴,避免重新整理後內容截斷',
|
|
|
|
|
|
new_0_6_1_9: 'History 與會話刪除改為帶上 Profile 精確目標,並在全域 Profile 切換時刷新歷史頁',
|
|
|
|
|
|
new_0_6_1_10: '移除舊的 AUTH_DISABLED 認證繞過以符合多使用者權限模型,同時保留 AUTH_TOKEN 支援',
|
2026-05-11 21:22:57 +08:00
|
|
|
|
},
|
|
|
|
|
|
}
|