diff --git a/apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx b/apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx index b4b0feaf95a..aa70b93ac3a 100644 --- a/apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx +++ b/apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx @@ -250,7 +250,7 @@ function CronJobSidebarRow({ return (
- +
{/* Lead with the dot in the same w-3.5 cell + pl-2 the session rows use so the cron dots line up with the sessions above; the caret sits next diff --git a/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx b/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx index e57fec12079..fc9b6326beb 100644 --- a/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx +++ b/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx @@ -672,7 +672,7 @@ function ProfileSquare({ {/* The rail sits at the very bottom, so pad off the chrome (esp. the statusbar) — Radix then flips the menu up instead of squishing it. */} @@ -492,7 +491,6 @@ function RenameSessionDialog({ open, onOpenChange, sessionId, currentTitle, prof {r.renameTitle} - {r.renameDesc}
diff --git a/apps/desktop/src/i18n/ar.ts b/apps/desktop/src/i18n/ar.ts index 9329da40347..0f087a9dd72 100644 --- a/apps/desktop/src/i18n/ar.ts +++ b/apps/desktop/src/i18n/ar.ts @@ -149,7 +149,7 @@ export const ar = defineLocale({ inputTitle: 'مطلوب إدخال', inputBody: 'ينتظر Hermes ردّك.', turnDoneTitle: 'أنهى Hermes', - turnDoneBody: 'الرد جاهز.', + turnDoneBody: '', turnErrorTitle: 'فشلت الجولة', backgroundDoneTitle: 'انتهت المهمة في الخلفية', backgroundFailedTitle: 'فشلت المهمة في الخلفية' @@ -164,7 +164,6 @@ export const ar = defineLocale({ search: 'بحث', searchTitle: 'البحث في الجلسات والعروض والإجراءات', swapSidebarSides: 'تبديل جانبي الأشرطة', - swapSidebarSidesTitle: 'تبديل موضعي شريط الجلسات ومستكشف الملفات', hideRightSidebar: 'إخفاء الشريط الأيمن', showRightSidebar: 'إظهار الشريط الأيمن', muteHaptics: 'كتم الاهتزازات', @@ -319,7 +318,7 @@ export const ar = defineLocale({ intro: 'إشعارات سطح المكتب الأصلية، منفصلة عن التنبيهات داخل التطبيق. هذه محلية على الجهاز — كل حاسوب يحتفظ بإعداداته الخاصة.', enableAll: 'تفعيل الإشعارات', - enableAllDesc: 'مفتاح رئيسي. أوقفه لإسكات كل الإشعارات أدناه.', + enableAllDesc: 'إيقافه يصمت كل الإشعارات أدناه.', focusedHint: 'تنبيهات الاكتمال تظهر فقط عندما يكون Hermes في الخلفية.', kinds: { approval: { @@ -336,7 +335,7 @@ export const ar = defineLocale({ }, turnError: { label: 'فشل الدور', - description: 'انتهى دور بخطأ.' + description: 'أخطاء الأدوار في الخلفية.' }, backgroundDone: { label: 'اكتملت مهمة الخلفية', @@ -639,7 +638,7 @@ export const ar = defineLocale({ saving: 'جار الحفظ' }, envActions: { - actionsFor: label => `إجراءات ${label}`, + actions: 'إجراءات', docs: 'الوثائق', hideValue: 'إخفاء القيمة', revealValue: 'إظهار القيمة', @@ -1288,9 +1287,9 @@ export const ar = defineLocale({ showAllProfiles: 'إظهار كل الملفات الشخصية', switchToProfile: name => `التبديل إلى ${name}`, manageProfiles: 'إدارة الملفات الشخصية', - actionsFor: name => `إجراءات ${name}`, + actions: 'إجراءات', color: 'اللون', - colorFor: name => `لون ${name}`, + colorFor: 'اللون', setColor: color => `ضبط اللون ${color}`, autoColor: 'لون تلقائي', noProfiles: 'لا توجد ملفات شخصية', @@ -1419,7 +1418,7 @@ export const ar = defineLocale({ showRuns: 'إظهار التشغيلات', hideRuns: 'إخفاء التشغيلات', runHistory: 'سجل التشغيل', - actionsFor: title => `إجراءات ${title}`, + actionsTitle: 'الإجراءات', resume: 'استئناف', pause: 'إيقاف مؤقت', @@ -1564,7 +1563,7 @@ export const ar = defineLocale({ primaryBadge: 'أساسي', removeFolder: 'إزالة', create: 'إنشاء', - menu: 'إجراءات المشروع', + menu: 'إجراءات', menuRename: 'إعادة تسمية', menuAppearance: 'المظهر', noColor: 'بلا لون', @@ -1618,7 +1617,7 @@ export const ar = defineLocale({ archive: 'أرشفة', newWindow: 'فتح في نافذة جديدة', copyIdFailed: 'فشل نسخ المعرف', - actionsFor: title => `إجراءات ${title}`, + sessionActions: 'إجراءات الجلسة', sessionRunning: 'الجلسة تعمل', needsInput: 'تحتاج إدخالا', @@ -1634,7 +1633,7 @@ export const ar = defineLocale({ renamed: 'تمت إعادة التسمية', renameFailed: 'فشلت إعادة التسمية', renameTitle: 'إعادة تسمية الجلسة', - renameDesc: 'اختر اسما جديدا لهذه الجلسة.', + renameDesc: '', untitledPlaceholder: 'جلسة بلا عنوان', ageNow: 'الآن', ageDay: 'يوم', @@ -2070,7 +2069,7 @@ export const ar = defineLocale({ gatewayConnecting: 'جار اتصال البوابة', gatewayOffline: 'البوابة غير متصلة', gatewayRestarting: 'جار إعادة التشغيل...', - gatewayTitle: 'حالة البوابة', + gatewayTitle: 'البوابة', agents: 'الوكلاء', closeAgents: 'إغلاق الوكلاء', openAgents: 'فتح الوكلاء', @@ -2080,10 +2079,8 @@ export const ar = defineLocale({ cron: 'المهام', openCron: 'فتح المهام المجدولة', turnRunning: 'الدور يعمل', - currentTurnElapsed: 'وقت الدور الحالي', contextUsage: 'استخدام السياق', session: 'الجلسة', - runtimeSessionElapsed: 'وقت الجلسة', yoloOn: 'YOLO مفعل', yoloOff: 'YOLO معطل', modelNone: 'لا نموذج', @@ -2105,7 +2102,7 @@ export const ar = defineLocale({ remotePickerTitle: 'اختر مجلدا بعيدا', remotePickerDescription: 'استعرض المجلدات على الخادم الخلفي المتصل.', remotePickerSelect: 'تحديد المجلد', - folderTip: cwd => `المجلد الحالي: ${cwd}`, + folderTip: cwd => cwd, openFolder: 'فتح مجلد', refreshTree: 'تحديث الشجرة', collapseAll: 'طي الكل', diff --git a/apps/desktop/src/i18n/en.ts b/apps/desktop/src/i18n/en.ts index 3f11f7b16db..0f9874df9f4 100644 --- a/apps/desktop/src/i18n/en.ts +++ b/apps/desktop/src/i18n/en.ts @@ -166,7 +166,7 @@ export const en: Translations = { inputTitle: 'Input needed', inputBody: 'Hermes is waiting for your response.', turnDoneTitle: 'Hermes finished', - turnDoneBody: 'The response is ready.', + turnDoneBody: '', turnErrorTitle: 'Turn failed', backgroundDoneTitle: 'Background task finished', backgroundFailedTitle: 'Background task failed', @@ -194,8 +194,7 @@ export const en: Translations = { search: 'Search', searchTitle: 'Search sessions, views, and actions', swapSidebarSides: 'Swap sidebar sides', - swapSidebarSidesTitle: 'Swap the sessions and file browser sides', - hideRightSidebar: 'Hide right sidebar', + hideRightSidebar: 'Hide right sidebar', showRightSidebar: 'Show right sidebar', muteHaptics: 'Mute haptics', unmuteHaptics: 'Unmute haptics', @@ -351,7 +350,7 @@ export const en: Translations = { plugins: { title: 'Desktop plugins', blurb: - 'UI extensions loaded into this app — bundled with the build, or dropped into the desktop-plugins folder (including ones Hermes writes). Disabling unloads a plugin live and survives restarts.', + 'Bundled or dropped into the desktop-plugins folder. Disable to unload live.', count: n => `${n} installed`, openFolder: 'Open plugins folder', rescan: 'Rescan', @@ -365,9 +364,9 @@ export const en: Translations = { notifications: { title: 'Notifications', intro: - 'Native desktop notifications, separate from in-app toasts. These are device-local — each computer keeps its own settings.', + 'OS notifications (not in-app toasts). Per device.', enableAll: 'Enable notifications', - enableAllDesc: 'Master switch. Turn this off to silence every notification below.', + enableAllDesc: 'Off silences every notification below.', focusedHint: 'Completion alerts only fire while Hermes is in the background.', kinds: { approval: { @@ -384,7 +383,7 @@ export const en: Translations = { }, turnError: { label: 'Turn failed', - description: 'A turn ended with an error.' + description: 'Background turn errors.' }, backgroundDone: { label: 'Background task finished', @@ -430,7 +429,7 @@ export const en: Translations = { appearance: { title: 'Appearance', intro: - 'These are desktop-only display preferences. Mode controls brightness; theme controls the accent palette and chat surface styling.', + 'Desktop-only. Mode is brightness; theme is palette and chat chrome.', colorMode: 'Color Mode', colorModeDesc: 'Pick a fixed mode or let Hermes follow your system setting.', toolViewTitle: 'Tool Call Display', @@ -573,7 +572,7 @@ export const en: Translations = { saving: 'Saving' }, envActions: { - actionsFor: label => `Actions for ${label}`, + actions: 'Actions', manageInKeys: 'Manage in API Keys', docs: 'Docs', hideValue: 'Hide value', @@ -589,7 +588,7 @@ export const en: Translations = { title: 'Gateway Connection', envOverride: 'env override', intro: - 'Hermes Desktop starts its own local gateway by default. Use a remote gateway when you want this app to control an already-running Hermes backend on another machine or behind a trusted proxy. Pick a profile below to give it its own remote host.', + 'Local by default. Use remote when this app should drive a Hermes backend elsewhere. Per-profile overrides below.', appliesTo: 'Applies to', allProfiles: 'All profiles', defaultConnection: 'Default connection for every profile that has no override of its own.', @@ -1520,9 +1519,9 @@ export const en: Translations = { showAllProfiles: 'Show all profiles', switchToProfile: name => `Switch to ${name}`, manageProfiles: 'Manage profiles…', - actionsFor: name => `Actions for ${name}`, + actions: 'Actions', color: 'Color…', - colorFor: name => `Color for ${name}`, + colorFor: 'Color', setColor: color => `Set color ${color}`, autoColor: 'Auto', noProfiles: 'No profiles yet.', @@ -1656,7 +1655,6 @@ export const en: Translations = { showRuns: 'Show runs', hideRuns: 'Hide runs', runHistory: 'Run history', - actionsFor: title => `Actions for ${title}`, actionsTitle: 'Cron job actions', resume: 'Resume cron', pause: 'Pause cron', @@ -1823,7 +1821,7 @@ export const en: Translations = { primaryBadge: 'primary', removeFolder: 'Remove', create: 'Create', - menu: 'Project actions', + menu: 'Actions', menuRename: 'Rename', menuAppearance: 'Appearance', noColor: 'No color', @@ -1885,7 +1883,6 @@ export const en: Translations = { openInNewTab: 'Open in new tab', openInSplit: 'Open in split', copyIdFailed: 'Could not copy session ID', - actionsFor: title => `Actions for ${title}`, sessionActions: 'Session actions', sessionRunning: 'Session running', needsInput: 'Needs your input', @@ -1897,7 +1894,7 @@ export const en: Translations = { renamed: 'Renamed', renameFailed: 'Rename failed', renameTitle: 'Rename session', - renameDesc: 'Give this chat a memorable title. Leave empty to clear.', + renameDesc: 'Leave empty to clear.', untitledPlaceholder: 'Untitled session', untitledChat: id => `Chat ${id}`, ageNow: 'now', @@ -2405,9 +2402,9 @@ export const en: Translations = { connectionSsh: host => `SSH: ${host}`, connectionRemote: host => `Remote: ${host}`, connectionCloud: host => `Cloud: ${host}`, - connectionCloudTooltip: host => `Connected to Hermes Cloud at ${host} · click to manage`, - connectionSshTooltip: host => `Connected over SSH to ${host} · click to manage`, - connectionRemoteTooltip: host => `Connected to remote backend ${host} · click to manage`, + connectionCloudTooltip: host => `Hermes Cloud · ${host}`, + connectionSshTooltip: host => `SSH · ${host}`, + connectionRemoteTooltip: host => `Remote · ${host}`, backendLabel: version => `backend v${version}`, commit: sha => `commit ${sha}`, branch: branch => `branch ${branch}`, @@ -2422,7 +2419,7 @@ export const en: Translations = { gatewayConnecting: 'connecting', gatewayOffline: 'offline', gatewayRestarting: 'restarting…', - gatewayTitle: 'Hermes inference gateway status', + gatewayTitle: 'Gateway', customizeTitle: 'Show in status bar', hideStatusbar: 'Hide status bar', toggleApprovalMode: 'Approvals', @@ -2447,8 +2444,7 @@ export const en: Translations = { starmap: 'Memory Graph', openStarmap: 'Open memory graph', turnRunning: 'Running', - currentTurnElapsed: 'Current turn elapsed', - contextUsage: 'Context usage', + contextUsage: 'Context usage', contextUsagePanel: { categories: { conversation: 'Conversation', @@ -2466,11 +2462,9 @@ export const en: Translations = { title: 'Context Usage', tokenSummary: (used, max) => `${used} / ${max} Tokens` }, - openContextUsage: 'Open context usage breakdown', - session: 'Session', - runtimeSessionElapsed: 'Runtime session elapsed', - yoloOn: 'YOLO on — auto-approving dangerous commands. Click to turn off. Shift+click toggles it globally.', - yoloOff: 'YOLO off — click to auto-approve dangerous commands. Shift+click toggles it globally.', + session: 'Session', + yoloOn: 'YOLO on — auto-approving dangerous commands. Shift+click toggles globally.', + yoloOff: 'YOLO off. Shift+click toggles globally.', modelNone: 'none', noModel: 'no model', switchModel: 'Switch model', @@ -2491,7 +2485,7 @@ export const en: Translations = { remotePickerTitle: 'Choose remote folder', remotePickerDescription: 'Browse folders on the connected backend.', remotePickerSelect: 'Select folder', - folderTip: cwd => `${cwd} — click to change folder`, + folderTip: cwd => cwd, openFolder: 'Open folder', refreshTree: 'Refresh tree', collapseAll: 'Collapse all folders', diff --git a/apps/desktop/src/i18n/ja.ts b/apps/desktop/src/i18n/ja.ts index b64ce5dd80c..040d0b14aed 100644 --- a/apps/desktop/src/i18n/ja.ts +++ b/apps/desktop/src/i18n/ja.ts @@ -167,7 +167,7 @@ export const ja = defineLocale({ inputTitle: '入力が必要です', inputBody: 'Hermes が応答を待っています。', turnDoneTitle: 'Hermes が完了しました', - turnDoneBody: '応答の準備ができました。', + turnDoneBody: '', turnErrorTitle: 'ターンが失敗しました', backgroundDoneTitle: 'バックグラウンドタスクが完了しました', backgroundFailedTitle: 'バックグラウンドタスクが失敗しました', @@ -195,8 +195,7 @@ export const ja = defineLocale({ search: '検索', searchTitle: 'セッション、ビュー、アクションを検索', swapSidebarSides: 'サイドバーの向きを切り替え', - swapSidebarSidesTitle: 'セッションとファイルブラウザーの位置を入れ替える', - hideRightSidebar: '右サイドバーを非表示', + hideRightSidebar: '右サイドバーを非表示', showRightSidebar: '右サイドバーを表示', muteHaptics: '触覚フィードバックをオフ', unmuteHaptics: '触覚フィードバックをオン', @@ -242,7 +241,7 @@ export const ja = defineLocale({ title: '通知', intro: 'アプリ内トーストとは別の、ネイティブのデスクトップ通知です。設定は端末ごとに保存されます。', enableAll: '通知を有効にする', - enableAllDesc: 'マスタースイッチ。オフにすると以下のすべての通知を無効にします。', + enableAllDesc: 'オフで以下の通知をすべて無効にします。', focusedHint: '完了通知は Hermes がバックグラウンドにあるときのみ表示されます。', kinds: { approval: { @@ -259,7 +258,7 @@ export const ja = defineLocale({ }, turnError: { label: 'ターン失敗', - description: 'ターンがエラーで終了しました。' + description: 'バックグラウンドのターンエラー。' }, backgroundDone: { label: 'バックグラウンドタスク完了', @@ -671,7 +670,8 @@ export const ja = defineLocale({ saving: '保存中' }, envActions: { - actionsFor: label => `${label} のアクション`, + actions: 'アクション', + manageInKeys: 'API キーで管理', docs: 'ドキュメント', hideValue: '値を非表示', @@ -1381,9 +1381,10 @@ export const ja = defineLocale({ showAllProfiles: 'すべてのプロファイルを表示', switchToProfile: name => `${name} に切り替え`, manageProfiles: 'プロファイルを管理…', - actionsFor: name => `${name} のアクション`, + actions: 'アクション', + color: 'カラー…', - colorFor: name => `${name} のカラー`, + colorFor: 'カラー', setColor: color => `カラー ${color} に設定`, autoColor: '自動', noProfiles: 'プロファイルが見つかりません。', @@ -1518,7 +1519,7 @@ export const ja = defineLocale({ showRuns: '実行履歴を表示', hideRuns: '実行履歴を隠す', runHistory: '実行履歴', - actionsFor: title => `${title} のアクション`, + actionsTitle: 'Cron ジョブのアクション', resume: '再開', pause: '一時停止', @@ -1686,7 +1687,7 @@ export const ja = defineLocale({ primaryBadge: 'メイン', removeFolder: '削除', create: '作成', - menu: 'プロジェクト操作', + menu: 'アクション', menuRename: '名前を変更', menuAppearance: '外観', noColor: '色なし', @@ -1743,7 +1744,7 @@ export const ja = defineLocale({ archive: 'アーカイブ', newWindow: '新しいウィンドウ', copyIdFailed: 'セッション ID をコピーできませんでした', - actionsFor: title => `${title} のアクション`, + sessionActions: 'セッションアクション', sessionRunning: 'セッション実行中', needsInput: '入力が必要です', @@ -1755,7 +1756,7 @@ export const ja = defineLocale({ renamed: '名前を変更しました', renameFailed: '名前の変更に失敗しました', renameTitle: 'セッションの名前を変更', - renameDesc: 'このチャットにわかりやすいタイトルをつけてください。空欄にするとクリアされます。', + renameDesc: '空欄にするとクリアされます。', untitledPlaceholder: '無題のセッション', untitledChat: id => `セッション ${id}`, ageNow: 'たった今', @@ -2268,9 +2269,9 @@ export const ja = defineLocale({ connectionSsh: host => `SSH: ${host}`, connectionRemote: host => `リモート: ${host}`, connectionCloud: host => `クラウド: ${host}`, - connectionCloudTooltip: host => `Hermes Cloud ${host} に接続中 · クリックして管理`, - connectionSshTooltip: host => `SSH 経由で ${host} に接続中 · クリックして管理`, - connectionRemoteTooltip: host => `リモートバックエンド ${host} に接続中 · クリックして管理`, + connectionCloudTooltip: host => `Hermes Cloud · ${host}`, + connectionSshTooltip: host => `SSH · ${host}`, + connectionRemoteTooltip: host => `Remote · ${host}`, backendLabel: version => `バックエンド v${version}`, commit: sha => `コミット ${sha}`, branch: branch => `ブランチ ${branch}`, @@ -2285,7 +2286,7 @@ export const ja = defineLocale({ gatewayConnecting: '接続中', gatewayOffline: 'オフライン', gatewayRestarting: '再起動中…', - gatewayTitle: 'Hermes 推論ゲートウェイのステータス', + gatewayTitle: 'ゲートウェイ', agents: 'エージェント', closeAgents: 'エージェントを閉じる', openAgents: 'エージェントを開く', @@ -2297,8 +2298,7 @@ export const ja = defineLocale({ starmap: 'メモリグラフ', openStarmap: 'メモリグラフを開く', turnRunning: '実行中', - currentTurnElapsed: '現在のターン経過時間', - contextUsage: 'コンテキスト使用状況', + contextUsage: 'コンテキスト使用状況', contextUsagePanel: { categories: { conversation: '会話', @@ -2316,11 +2316,9 @@ export const ja = defineLocale({ title: 'コンテキスト使用状況', tokenSummary: (used, max) => `${used} / ${max} Tokens` }, - openContextUsage: 'コンテキスト使用状況の内訳を開く', - session: 'セッション', - runtimeSessionElapsed: 'ランタイムセッション経過時間', - yoloOn: 'YOLO オン — 危険なコマンドを自動承認中。クリックでオフに。Shift+クリックで全体に切り替え。', - yoloOff: 'YOLO オフ — クリックで危険なコマンドを自動承認。Shift+クリックで全体に切り替え。', + session: 'セッション', + yoloOn: 'YOLO オン — 危険なコマンドを自動承認中。Shift+クリックで全体に切り替え。', + yoloOff: 'YOLO オフ。Shift+クリックで全体に切り替え。', modelNone: 'なし', noModel: 'モデルなし', switchModel: 'モデルを切り替え', @@ -2341,7 +2339,7 @@ export const ja = defineLocale({ remotePickerTitle: 'リモートフォルダーを選択', remotePickerDescription: '接続中のバックエンド上のフォルダーを参照します。', remotePickerSelect: 'フォルダーを選択', - folderTip: cwd => `${cwd} — クリックしてフォルダーを変更`, + folderTip: cwd => cwd, openFolder: 'フォルダーを開く', refreshTree: 'ツリーを更新', collapseAll: 'すべてのフォルダーを折りたたむ', diff --git a/apps/desktop/src/i18n/types.ts b/apps/desktop/src/i18n/types.ts index 38791947676..3264f8dea48 100644 --- a/apps/desktop/src/i18n/types.ts +++ b/apps/desktop/src/i18n/types.ts @@ -236,8 +236,7 @@ export interface Translations { search: string searchTitle: string swapSidebarSides: string - swapSidebarSidesTitle: string - hideRightSidebar: string + hideRightSidebar: string showRightSidebar: string muteHaptics: string unmuteHaptics: string @@ -476,7 +475,7 @@ export interface Translations { saving: string } envActions: { - actionsFor: (label: string) => string + actions: string manageInKeys: string docs: string hideValue: string @@ -1268,9 +1267,9 @@ export interface Translations { showAllProfiles: string switchToProfile: (name: string) => string manageProfiles: string - actionsFor: (name: string) => string + actions: string color: string - colorFor: (name: string) => string + colorFor: string setColor: (color: string) => string autoColor: string noProfiles: string @@ -1364,7 +1363,6 @@ export interface Translations { showRuns: string hideRuns: string runHistory: string - actionsFor: (title: string) => string actionsTitle: string resume: string pause: string @@ -1585,7 +1583,6 @@ export interface Translations { openInNewTab: string openInSplit: string copyIdFailed: string - actionsFor: (title: string) => string sessionActions: string sessionRunning: string needsInput: string @@ -2052,8 +2049,7 @@ export interface Translations { starmap: string openStarmap: string turnRunning: string - currentTurnElapsed: string - contextUsage: string + contextUsage: string contextUsagePanel: { categories: { conversation: string @@ -2071,10 +2067,8 @@ export interface Translations { title: string tokenSummary: (used: string, max: string) => string } - openContextUsage: string - session: string - runtimeSessionElapsed: string - yoloOn: string + session: string + yoloOn: string yoloOff: string modelNone: string noModel: string diff --git a/apps/desktop/src/i18n/zh-hant.ts b/apps/desktop/src/i18n/zh-hant.ts index ea15b1a2819..10f85b9940e 100644 --- a/apps/desktop/src/i18n/zh-hant.ts +++ b/apps/desktop/src/i18n/zh-hant.ts @@ -162,7 +162,7 @@ export const zhHant = defineLocale({ inputTitle: '需要輸入', inputBody: 'Hermes 正在等待你的回應。', turnDoneTitle: 'Hermes 已完成', - turnDoneBody: '回覆已就緒。', + turnDoneBody: '', turnErrorTitle: '本輪失敗', backgroundDoneTitle: '背景工作已完成', backgroundFailedTitle: '背景工作失敗', @@ -189,7 +189,6 @@ export const zhHant = defineLocale({ search: '搜尋', searchTitle: '搜尋工作階段、檢視和動作', swapSidebarSides: '交換側邊欄位置', - swapSidebarSidesTitle: '交換工作階段欄和檔案瀏覽器的位置', hideRightSidebar: '隱藏右側邊欄', showRightSidebar: '顯示右側邊欄', muteHaptics: '靜音觸感回饋', @@ -236,7 +235,7 @@ export const zhHant = defineLocale({ title: '通知', intro: '原生桌面通知,與應用程式內提示不同。設定會依裝置保存,每台電腦各自獨立。', enableAll: '啟用通知', - enableAllDesc: '總開關。關閉後會靜音下方所有通知。', + enableAllDesc: '關閉後靜音下方所有通知。', focusedHint: '完成提醒僅在 Hermes 位於背景時觸發。', kinds: { approval: { @@ -253,7 +252,7 @@ export const zhHant = defineLocale({ }, turnError: { label: '本輪失敗', - description: '本輪以錯誤結束。' + description: '背景回合錯誤。' }, backgroundDone: { label: '背景工作完成', @@ -658,7 +657,7 @@ export const zhHant = defineLocale({ saving: '儲存中' }, envActions: { - actionsFor: label => `${label} 的動作`, + actions: '動作', manageInKeys: '在 API 金鑰中管理', docs: '文件', hideValue: '隱藏值', @@ -1332,9 +1331,9 @@ export const zhHant = defineLocale({ showAllProfiles: '顯示全部設定檔', switchToProfile: name => `切換至 ${name}`, manageProfiles: '管理設定檔…', - actionsFor: name => `${name} 的動作`, + actions: '動作', color: '顏色…', - colorFor: name => `${name} 的顏色`, + colorFor: '顏色', setColor: color => `設定顏色 ${color}`, autoColor: '自動', noProfiles: '找不到設定檔。', @@ -1467,7 +1466,7 @@ export const zhHant = defineLocale({ showRuns: '顯示執行記錄', hideRuns: '隱藏執行記錄', runHistory: '執行記錄', - actionsFor: title => `${title} 的動作`, + actionsTitle: '排程工作動作', resume: '繼續', pause: '暫停', @@ -1634,7 +1633,7 @@ export const zhHant = defineLocale({ primaryBadge: '主要', removeFolder: '移除', create: '建立', - menu: '專案操作', + menu: '動作', menuRename: '重新命名', menuAppearance: '外觀', noColor: '無顏色', @@ -1688,7 +1687,7 @@ export const zhHant = defineLocale({ archive: '封存', newWindow: '新視窗', copyIdFailed: '無法複製工作階段 ID', - actionsFor: title => `${title} 的動作`, + sessionActions: '工作階段動作', sessionRunning: '工作階段執行中', needsInput: '需要您的輸入', @@ -1700,7 +1699,7 @@ export const zhHant = defineLocale({ renamed: '已重新命名', renameFailed: '重新命名失敗', renameTitle: '重新命名工作階段', - renameDesc: '為此聊天取一個好記的標題。留空則清除。', + renameDesc: '留空則清除。', untitledPlaceholder: '未命名工作階段', untitledChat: id => `工作階段 ${id}`, ageNow: '剛才', @@ -2194,9 +2193,9 @@ export const zhHant = defineLocale({ connectionSsh: host => `SSH: ${host}`, connectionRemote: host => `遠端: ${host}`, connectionCloud: host => `雲端: ${host}`, - connectionCloudTooltip: host => `已連線到 Hermes Cloud ${host} · 點擊管理`, - connectionSshTooltip: host => `已透過 SSH 連線到 ${host} · 點擊管理`, - connectionRemoteTooltip: host => `已連線到遠端後端 ${host} · 點擊管理`, + connectionCloudTooltip: host => `Hermes Cloud · ${host}`, + connectionSshTooltip: host => `SSH · ${host}`, + connectionRemoteTooltip: host => `Remote · ${host}`, backendLabel: version => `後端 v${version}`, commit: sha => `提交 ${sha}`, branch: branch => `分支 ${branch}`, @@ -2211,7 +2210,7 @@ export const zhHant = defineLocale({ gatewayConnecting: '連線中', gatewayOffline: '離線', gatewayRestarting: '重新啟動中…', - gatewayTitle: 'Hermes 推論閘道狀態', + gatewayTitle: '閘道', agents: '代理', closeAgents: '關閉代理', openAgents: '開啟代理', @@ -2223,7 +2222,6 @@ export const zhHant = defineLocale({ starmap: '記憶圖譜', openStarmap: '開啟記憶圖譜', turnRunning: '執行中', - currentTurnElapsed: '目前回合已用時間', contextUsage: '上下文使用量', contextUsagePanel: { categories: { @@ -2242,11 +2240,9 @@ export const zhHant = defineLocale({ title: '上下文使用量', tokenSummary: (used, max) => `${used} / ${max} Tokens` }, - openContextUsage: '開啟上下文使用量明細', session: '工作階段', - runtimeSessionElapsed: '執行時工作階段已用時間', - yoloOn: 'YOLO 已開啟 — 自動核准危險指令。點擊關閉。Shift+點擊可全域切換。', - yoloOff: 'YOLO 已關閉 — 點擊自動核准危險指令。Shift+點擊可全域切換。', + yoloOn: 'YOLO 已開啟 — 自動核准危險指令。Shift+點擊可全域切換。', + yoloOff: 'YOLO 已關閉。Shift+點擊可全域切換。', modelNone: '無', noModel: '無模型', switchModel: '切換模型', @@ -2267,7 +2263,7 @@ export const zhHant = defineLocale({ remotePickerTitle: '選擇遠端資料夾', remotePickerDescription: '瀏覽已連線後端上的資料夾。', remotePickerSelect: '選擇資料夾', - folderTip: cwd => `${cwd} — 點擊以變更資料夾`, + folderTip: cwd => cwd, openFolder: '開啟資料夾', refreshTree: '重新整理檔案樹', collapseAll: '收合所有資料夾', diff --git a/apps/desktop/src/i18n/zh.ts b/apps/desktop/src/i18n/zh.ts index f1998678fdb..6860eadc530 100644 --- a/apps/desktop/src/i18n/zh.ts +++ b/apps/desktop/src/i18n/zh.ts @@ -162,7 +162,7 @@ export const zh: Translations = { inputTitle: '需要输入', inputBody: 'Hermes 正在等待你的回应。', turnDoneTitle: 'Hermes 已完成', - turnDoneBody: '回复已就绪。', + turnDoneBody: '', turnErrorTitle: '本轮失败', backgroundDoneTitle: '后台任务已完成', backgroundFailedTitle: '后台任务失败', @@ -189,7 +189,6 @@ export const zh: Translations = { search: '搜索', searchTitle: '搜索会话、视图与操作', swapSidebarSides: '交换侧边栏位置', - swapSidebarSidesTitle: '交换会话栏和文件浏览器的位置', hideRightSidebar: '隐藏右侧栏', showRightSidebar: '显示右侧栏', muteHaptics: '关闭触感反馈', @@ -357,7 +356,7 @@ export const zh: Translations = { title: '通知', intro: '原生桌面通知,区别于应用内提示。设置按设备保存,每台电脑各自独立。', enableAll: '启用通知', - enableAllDesc: '总开关。关闭后将静音下方所有通知。', + enableAllDesc: '关闭后静音下方所有通知。', focusedHint: '完成提醒仅在 Hermes 处于后台时触发。', kinds: { approval: { @@ -374,7 +373,7 @@ export const zh: Translations = { }, turnError: { label: '本轮失败', - description: '本轮以错误结束。' + description: '后台回合错误。' }, backgroundDone: { label: '后台任务完成', @@ -779,7 +778,7 @@ export const zh: Translations = { saving: '保存中' }, envActions: { - actionsFor: label => `${label} 的操作`, + actions: '操作', manageInKeys: '在 API 密钥中管理', docs: '文档', hideValue: '隐藏值', @@ -1711,9 +1710,9 @@ export const zh: Translations = { showAllProfiles: '显示全部配置档案', switchToProfile: name => `切换到 ${name}`, manageProfiles: '管理配置档案…', - actionsFor: name => `${name} 的操作`, + actions: '操作', color: '颜色…', - colorFor: name => `${name} 的颜色`, + colorFor: '颜色', setColor: color => `设置颜色 ${color}`, autoColor: '自动', noProfiles: '暂无配置档案。', @@ -1846,7 +1845,7 @@ export const zh: Translations = { showRuns: '显示运行记录', hideRuns: '隐藏运行记录', runHistory: '运行记录', - actionsFor: title => `${title} 的操作`, + actionsTitle: '定时任务操作', resume: '恢复定时任务', pause: '暂停定时任务', @@ -2013,7 +2012,7 @@ export const zh: Translations = { primaryBadge: '主', removeFolder: '移除', create: '创建', - menu: '项目操作', + menu: '操作', menuRename: '重命名', menuAppearance: '外观', noColor: '无颜色', @@ -2073,7 +2072,7 @@ export const zh: Translations = { openInNewTab: '在新标签页中打开', openInSplit: '在分屏中打开', copyIdFailed: '无法复制会话 ID', - actionsFor: title => `${title} 的操作`, + sessionActions: '会话操作', sessionRunning: '会话运行中', needsInput: '需要你输入', @@ -2085,7 +2084,7 @@ export const zh: Translations = { renamed: '已重命名', renameFailed: '重命名失败', renameTitle: '重命名会话', - renameDesc: '给这个对话起一个好记的标题。留空则清除。', + renameDesc: '留空则清除。', untitledPlaceholder: '无标题会话', untitledChat: id => `会话 ${id}`, ageNow: '刚刚', @@ -2581,9 +2580,9 @@ export const zh: Translations = { connectionSsh: host => `SSH: ${host}`, connectionRemote: host => `远程: ${host}`, connectionCloud: host => `云端: ${host}`, - connectionCloudTooltip: host => `已连接到 Hermes Cloud ${host} · 点击管理`, - connectionSshTooltip: host => `已通过 SSH 连接到 ${host} · 点击管理`, - connectionRemoteTooltip: host => `已连接到远程后端 ${host} · 点击管理`, + connectionCloudTooltip: host => `Hermes Cloud · ${host}`, + connectionSshTooltip: host => `SSH · ${host}`, + connectionRemoteTooltip: host => `Remote · ${host}`, backendLabel: version => `后端 v${version}`, commit: sha => `提交 ${sha}`, branch: branch => `分支 ${branch}`, @@ -2598,7 +2597,7 @@ export const zh: Translations = { gatewayConnecting: '连接中', gatewayOffline: '离线', gatewayRestarting: '重启中…', - gatewayTitle: 'Hermes 推理网关状态', + gatewayTitle: '网关', customizeTitle: '在状态栏中显示', hideStatusbar: '隐藏状态栏', toggleApprovalMode: '审批', @@ -2623,7 +2622,6 @@ export const zh: Translations = { starmap: '记忆图谱', openStarmap: '打开记忆图谱', turnRunning: '运行中', - currentTurnElapsed: '当前回合已用时间', contextUsage: '上下文用量', contextUsagePanel: { categories: { @@ -2642,11 +2640,9 @@ export const zh: Translations = { title: '上下文用量', tokenSummary: (used, max) => `${used} / ${max} Tokens` }, - openContextUsage: '打开上下文用量明细', session: '会话', - runtimeSessionElapsed: '运行时会话已用时间', - yoloOn: 'YOLO 已开启 - 自动批准危险命令。点击关闭。Shift+点击可全局切换。', - yoloOff: 'YOLO 已关闭 - 点击自动批准危险命令。Shift+点击可全局切换。', + yoloOn: 'YOLO 已开启 — 自动批准危险命令。Shift+点击可全局切换。', + yoloOff: 'YOLO 已关闭。Shift+点击可全局切换。', modelNone: '无', noModel: '无模型', switchModel: '切换模型', @@ -2667,7 +2663,7 @@ export const zh: Translations = { remotePickerTitle: '选择远程文件夹', remotePickerDescription: '浏览已连接后端上的文件夹。', remotePickerSelect: '选择文件夹', - folderTip: cwd => `${cwd} — 点击更改文件夹`, + folderTip: cwd => cwd, openFolder: '打开文件夹', refreshTree: '刷新文件树', collapseAll: '折叠所有文件夹',