mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
fix(desktop): shorten Actions aria-labels and tautological copy
Use short static labels (Session actions / Actions) instead of Actions for <name>. Trim toast fallback, settings echoes, YOLO click lectures, and fat gateway/appearance/notifications intros.
This commit is contained in:
parent
9b5c15727c
commit
970c4b5336
12 changed files with 111 additions and 139 deletions
|
|
@ -250,7 +250,7 @@ function CronJobSidebarRow({
|
|||
|
||||
return (
|
||||
<div>
|
||||
<ActionsContextMenu ariaLabel={c.actionsFor(label)} contentClassName="w-44" items={items}>
|
||||
<ActionsContextMenu ariaLabel={c.actionsTitle} contentClassName="w-44" items={items}>
|
||||
<div className="group/cron relative grid min-h-[1.625rem] grid-cols-[minmax(0,1fr)_auto] items-center rounded-md hover:bg-(--chrome-action-hover)">
|
||||
{/* 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
|
||||
|
|
|
|||
|
|
@ -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. */}
|
||||
<ContextMenuContent
|
||||
aria-label={p.actionsFor(label)}
|
||||
aria-label={p.actions}
|
||||
className="w-40"
|
||||
collisionPadding={{ bottom: 44, left: 8, right: 8, top: 8 }}
|
||||
// Menu close refocuses the trigger — which doubles as the popover
|
||||
|
|
@ -704,7 +704,7 @@ function ProfileSquare({
|
|||
</ContextMenu>
|
||||
|
||||
<PopoverContent
|
||||
aria-label={p.colorFor(label)}
|
||||
aria-label={p.colorFor}
|
||||
className="w-auto p-2"
|
||||
collisionPadding={{ bottom: 44, left: 8, right: 8, top: 8 }}
|
||||
side="top"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ import { CopyButton } from '@/components/ui/copy-button'
|
|||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
DialogTitle
|
||||
|
|
@ -403,7 +402,7 @@ export function SessionActionsMenu({
|
|||
<>
|
||||
<ActionsMenu
|
||||
align={align}
|
||||
ariaLabel={t.sidebar.row.actionsFor(actions.title)}
|
||||
ariaLabel={t.sidebar.row.sessionActions}
|
||||
contentClassName="w-40"
|
||||
items={renderItems}
|
||||
sideOffset={sideOffset}
|
||||
|
|
@ -426,7 +425,7 @@ export function SessionContextMenu({ children, ...actions }: SessionContextMenuP
|
|||
return (
|
||||
<>
|
||||
<ActionsContextMenu
|
||||
ariaLabel={t.sidebar.row.actionsFor(actions.title)}
|
||||
ariaLabel={t.sidebar.row.sessionActions}
|
||||
contentClassName="w-40"
|
||||
items={renderItems}
|
||||
>
|
||||
|
|
@ -492,7 +491,6 @@ function RenameSessionDialog({ open, onOpenChange, sessionId, currentTitle, prof
|
|||
<DialogContent className="max-w-md">
|
||||
<DialogHeader>
|
||||
<DialogTitle>{r.renameTitle}</DialogTitle>
|
||||
<DialogDescription>{r.renameDesc}</DialogDescription>
|
||||
</DialogHeader>
|
||||
<Input
|
||||
autoFocus
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ export function SidebarSessionRow({
|
|||
title={title}
|
||||
>
|
||||
<Button
|
||||
aria-label={r.actionsFor(title)}
|
||||
aria-label={r.sessionActions}
|
||||
className="size-5 rounded-[4px] bg-transparent text-transparent transition-colors duration-100 hover:bg-(--ui-control-active-background) hover:text-foreground focus-visible:bg-(--ui-control-active-background) focus-visible:text-foreground focus-visible:ring-0 data-[state=open]:bg-(--ui-control-active-background) data-[state=open]:text-foreground group-hover:text-(--ui-text-tertiary) [&_svg]:size-3.5!"
|
||||
size="icon"
|
||||
variant="ghost"
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ export function EnvVarActionsMenu({ align = 'end', children, sideOffset = 6, ...
|
|||
return (
|
||||
<ActionsMenu
|
||||
align={align}
|
||||
ariaLabel={copy.actionsFor(actions.label)}
|
||||
ariaLabel={copy.actions}
|
||||
contentClassName="w-44"
|
||||
items={items}
|
||||
sideOffset={sideOffset}
|
||||
|
|
@ -158,23 +158,22 @@ export function EnvVarContextMenu({ children, ...actions }: EnvVarContextMenuPro
|
|||
const items = useEnvVarItems(actions)
|
||||
|
||||
return (
|
||||
<ActionsContextMenu ariaLabel={copy.actionsFor(actions.label)} contentClassName="w-44" items={items}>
|
||||
<ActionsContextMenu ariaLabel={copy.actions} contentClassName="w-44" items={items}>
|
||||
{children}
|
||||
</ActionsContextMenu>
|
||||
)
|
||||
}
|
||||
|
||||
interface EnvVarActionsTriggerProps extends Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> {
|
||||
label: string
|
||||
}
|
||||
|
||||
export function EnvVarActionsTrigger({ className, label, ...props }: EnvVarActionsTriggerProps) {
|
||||
export function EnvVarActionsTrigger({
|
||||
className,
|
||||
...props
|
||||
}: Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'>) {
|
||||
const { t } = useI18n()
|
||||
const copy = t.settings.envActions
|
||||
|
||||
return (
|
||||
<Button
|
||||
aria-label={copy.actionsFor(label)}
|
||||
aria-label={copy.actions}
|
||||
className={cn('text-muted-foreground hover:text-foreground', className)}
|
||||
size="icon-sm"
|
||||
variant="ghost"
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ function EnvVarField({ envVar, isSet, onSaved, onCleared }: EnvVarFieldProps) {
|
|||
</div>
|
||||
{!editing && (
|
||||
<EnvVarActionsMenu {...actionProps}>
|
||||
<EnvVarActionsTrigger label={envVar.key} onClick={event => event.stopPropagation()} />
|
||||
<EnvVarActionsTrigger onClick={event => event.stopPropagation()} />
|
||||
</EnvVarActionsMenu>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -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: 'طي الكل',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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: 'すべてのフォルダーを折りたたむ',
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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: '收合所有資料夾',
|
||||
|
|
|
|||
|
|
@ -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: '折叠所有文件夹',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue