2026-08-16 23:34:22 +08:00
/**
* dsh-worktable locale namespace( NS 'worktable'):
* 侧边栏区块、视图菜单、管理项目、添加面板、快捷方式等全部文案。
* zh 为键集唯一来源;en 与 zh 键集完全对齐。
*/
/** Simplified Chinese dictionary (the key-set source of truth). */
export const zh = {
'title' : '工作台' ,
'rail.title' : '工作台(展开侧边栏查看)' ,
'handle.title' : '按住拖动位置 · 双击复位' ,
'handle.aria' : '拖动工作台位置' ,
'menu.search' : '搜索项目' ,
2026-08-17 23:00:55 +08:00
'menu.viewOptions' : '设置' ,
2026-08-16 23:34:22 +08:00
'menu.add' : '添加项目' ,
'search.placeholder' : '搜索项目…' ,
'search.close' : '关闭搜索' ,
'sort.label' : '排序方式' ,
'sort.manual' : '手动' ,
'sort.recent' : '最近' ,
'menu.manage' : '管理项目…' ,
'add.guideTitle' : '接入新项目' ,
'add.guideBody' : '工作台里的项目就是 DSH 插件——插件注册一张「工作台项目卡片」即自动入驻(协议见项目 PRD §5.3)。已安装但未入驻的插件需在插件代码里完成注册。' ,
'add.market' : '浏览插件市场' ,
'add.shortcutTitle' : '本地快捷方式' ,
'add.shortcutDesc' : '把任意网址收进工作台,点击新标签打开(仅存本机)。' ,
'add.shortcutNamePh' : '名称' ,
'add.shortcutIcon' : '图标(emoji,可选)' ,
'add.shortcutHref' : '链接(http/https) ' ,
'add.shortcutAdd' : '添加' ,
'add.shortcutInvalid' : '请填写名称与合法的 http/https 链接' ,
'manage.title' : '管理项目' ,
'manage.done' : '完成' ,
'manage.renamePh' : '显示名' ,
'manage.hide' : '隐藏' ,
'manage.show' : '显示' ,
2026-08-17 23:15:13 +08:00
'manage.removed' : '已删除的项目' ,
'manage.readd' : '重新添加' ,
2026-08-16 23:34:22 +08:00
'manage.deleteShortcut' : '删除快捷方式' ,
'shortcut.badge' : '本地' ,
2026-08-17 01:19:03 +08:00
'add.chooseLayout' : '选择布局模式' ,
2026-08-17 01:01:08 +08:00
'add.layoutNamePh' : '布局名称' ,
2026-08-17 01:19:03 +08:00
'add.layoutSave' : '进入工作区' ,
'add.layoutInvalid' : '请填写布局名称' ,
2026-08-17 01:01:08 +08:00
'manage.deleteLayout' : '删除布局' ,
2026-08-17 21:59:18 +08:00
'manage.deleteProject' : '删除项目' ,
2026-08-17 23:00:55 +08:00
'manage.changeView' : '变更视图' ,
'viewPick.title' : '选择新视图(内容窗自动迁入)' ,
2026-08-17 21:59:18 +08:00
'confirm.title' : '删除项目' ,
'confirm.cancel' : '取消' ,
'confirm.delete' : '删除' ,
'confirm.layoutBody' : '确定删除「{name}」?该工作区及其布局将被移除,此操作不可恢复。' ,
'confirm.shortcutBody' : '确定删除快捷方式「{name}」?此操作不可恢复。' ,
2026-08-17 23:15:13 +08:00
'confirm.projectBody' : '确定从工作台删除「{name}」?插件本身不会被卸载,「恢复默认」也不会复活它;之后可在设置里「已删除的项目」中重新添加。' ,
2026-08-17 01:19:03 +08:00
'pane.browser' : '浏览器' ,
'pane.explorer' : '资源管理器' ,
'pane.scm' : '源代码管理' ,
'pane.tasks' : '任务管理' ,
'pane.terminal' : '终端' ,
'pane.custom' : '自定义' ,
2026-08-18 01:56:37 +08:00
'custom.title' : '自定义这个窗口' ,
'custom.hint' : '发送后将自动新建一个会话,专门负责这个窗口的自定义设计。' ,
'custom.placeholder' : '告诉 AI 你想让这个窗口做什么,例如:做一个展示我旅行足迹的时间线页面…' ,
'custom.project' : '所属项目' ,
2026-08-18 02:22:09 +08:00
'custom.modeNew' : '新建对话' ,
'custom.modeSend' : '发送到会话' ,
'custom.session' : '选择会话' ,
'custom.sessionCurrent' : '(当前)' ,
'custom.hintSend' : '内容将直接发送到你选择的会话(默认当前会话),用于讨论这个窗口的自定义设计。' ,
2026-08-18 01:56:37 +08:00
'custom.send' : '发送并新建对话' ,
2026-08-18 02:22:09 +08:00
'custom.sendToSession' : '发送到该会话' ,
'custom.sent' : '已发送到会话' ,
2026-08-18 01:56:37 +08:00
'custom.done' : '已新建专属对话' ,
'custom.doneHint' : 'AI 正在新会话中为你设计这个窗口。关闭本标签即可返回窗口选择。' ,
'custom.fail' : '创建对话失败' ,
2026-08-17 01:19:03 +08:00
'pane.wip' : '开发中(后续版本接入)' ,
2026-08-17 11:47:35 +08:00
'pane.explorerNoCwd' : '当前会话没有工作目录' ,
2026-08-17 22:21:13 +08:00
'pane.openLater' : '该类型暂不支持预览' ,
'file.loading' : '加载中…' ,
'file.fail' : '文件读取失败' ,
2026-08-18 00:44:48 +08:00
'file.preview' : '预览' ,
'file.edit' : '编辑' ,
'file.save' : '保存' ,
'file.saveFail' : '保存失败' ,
2026-08-17 11:47:35 +08:00
'pane.gitNotRepo' : '当前目录不是 git 仓库' ,
'pane.gitClean' : '工作区干净' ,
'pane.jobsEmpty' : '当前会话暂无后台任务' ,
'pane.termFail' : '终端不可用(宿主缺少 node-pty/ws 或连接失败)' ,
2026-08-17 12:19:08 +08:00
'pane.closeTab' : '关闭标签页' ,
2026-08-17 12:28:32 +08:00
'pane.jobsTitle' : '后台任务' ,
'pane.subagents' : '子代理' ,
'pane.subagentsEmpty' : '当前会话暂无子代理' ,
2026-08-17 01:19:03 +08:00
'split.flip' : '切换对话窗位置(左⇄右)' ,
'split.dragSwap' : '拖动标题栏与其他窗交换位置' ,
2026-08-17 21:22:20 +08:00
'icons.title' : '选择图标' ,
'icons.change' : '更换图标' ,
2026-08-16 23:34:22 +08:00
'empty' : '暂无项目' ,
} satisfies Record < string , string >
/** The worktable namespace key union. */
export type WorktableKey = keyof typeof zh
/** English dictionary, checked complete against the zh key set. */
export const en = {
'title' : 'Worktable' ,
'rail.title' : 'Worktable (expand sidebar to view)' ,
'handle.title' : 'Drag to move · double-click to reset' ,
'handle.aria' : 'Drag worktable position' ,
'menu.search' : 'Search projects' ,
2026-08-17 23:00:55 +08:00
'menu.viewOptions' : 'Settings' ,
2026-08-16 23:34:22 +08:00
'menu.add' : 'Add project' ,
'search.placeholder' : 'Search projects…' ,
'search.close' : 'Close search' ,
'sort.label' : 'Sort by' ,
'sort.manual' : 'Manual' ,
'sort.recent' : 'Recent' ,
'menu.manage' : 'Manage projects…' ,
'add.guideTitle' : 'Add a project' ,
'add.guideBody' : 'Projects in the worktable are DSH plugins — a plugin joins by registering a worktable project card (protocol in the project PRD §5.3). Installed plugins that have not registered need to do so in their code.' ,
'add.market' : 'Browse plugin marketplace' ,
'add.shortcutTitle' : 'Local shortcut' ,
'add.shortcutDesc' : 'Pin any URL into the worktable; opens in a new tab (stored locally only).' ,
'add.shortcutNamePh' : 'Name' ,
'add.shortcutIcon' : 'Icon (emoji, optional)' ,
'add.shortcutHref' : 'URL (http/https)' ,
'add.shortcutAdd' : 'Add' ,
'add.shortcutInvalid' : 'Enter a name and a valid http/https URL' ,
'manage.title' : 'Manage projects' ,
'manage.done' : 'Done' ,
'manage.renamePh' : 'Display name' ,
'manage.hide' : 'Hide' ,
'manage.show' : 'Show' ,
2026-08-17 23:15:13 +08:00
'manage.removed' : 'Removed projects' ,
'manage.readd' : 'Re-add' ,
2026-08-16 23:34:22 +08:00
'manage.deleteShortcut' : 'Delete shortcut' ,
'shortcut.badge' : 'Local' ,
2026-08-17 01:19:03 +08:00
'add.chooseLayout' : 'Choose a layout' ,
2026-08-17 01:01:08 +08:00
'add.layoutNamePh' : 'Layout name' ,
2026-08-17 01:19:03 +08:00
'add.layoutSave' : 'Enter workspace' ,
'add.layoutInvalid' : 'Enter a layout name' ,
2026-08-17 01:01:08 +08:00
'manage.deleteLayout' : 'Delete layout' ,
2026-08-17 21:59:18 +08:00
'manage.deleteProject' : 'Delete project' ,
2026-08-17 23:00:55 +08:00
'manage.changeView' : 'Change layout' ,
'viewPick.title' : 'Pick a new layout (panes migrate automatically)' ,
2026-08-17 21:59:18 +08:00
'confirm.title' : 'Delete project' ,
'confirm.cancel' : 'Cancel' ,
'confirm.delete' : 'Delete' ,
'confirm.layoutBody' : 'Delete "{name}"? Its workspace and layout will be removed. This cannot be undone.' ,
'confirm.shortcutBody' : 'Delete shortcut "{name}"? This cannot be undone.' ,
2026-08-17 23:15:13 +08:00
'confirm.projectBody' : 'Remove "{name}" from the worktable? The plugin stays installed; Reset defaults will NOT bring it back — re-add it later under Removed projects in Settings.' ,
2026-08-17 01:19:03 +08:00
'pane.browser' : 'Browser' ,
'pane.explorer' : 'Explorer' ,
'pane.scm' : 'Source control' ,
'pane.tasks' : 'Tasks' ,
'pane.terminal' : 'Terminal' ,
'pane.custom' : 'Custom' ,
2026-08-18 01:56:37 +08:00
'custom.title' : 'Customize this pane' ,
'custom.hint' : 'Sending will create a new conversation dedicated to designing this pane.' ,
'custom.placeholder' : 'Tell the AI what you want this pane to do, e.g. a timeline page of my travels…' ,
'custom.project' : 'Project' ,
2026-08-18 02:22:09 +08:00
'custom.modeNew' : 'New conversation' ,
'custom.modeSend' : 'Send to a conversation' ,
'custom.session' : 'Conversation' ,
'custom.sessionCurrent' : ' (current)' ,
'custom.hintSend' : 'The content will be sent directly to the conversation you pick (current by default).' ,
2026-08-18 01:56:37 +08:00
'custom.send' : 'Send & create conversation' ,
2026-08-18 02:22:09 +08:00
'custom.sendToSession' : 'Send to this conversation' ,
'custom.sent' : 'Sent to the conversation' ,
2026-08-18 01:56:37 +08:00
'custom.done' : 'Conversation created' ,
'custom.doneHint' : 'The AI is designing your pane in the new conversation. Close this tab to return to the pane picker.' ,
'custom.fail' : 'Failed to create conversation' ,
2026-08-17 01:19:03 +08:00
'pane.wip' : 'Coming in a later version' ,
2026-08-17 11:47:35 +08:00
'pane.explorerNoCwd' : 'No working directory for the current session' ,
2026-08-17 22:21:13 +08:00
'pane.openLater' : 'Preview not supported for this type' ,
'file.loading' : 'Loading…' ,
'file.fail' : 'Failed to read file' ,
2026-08-18 00:44:48 +08:00
'file.preview' : 'Preview' ,
'file.edit' : 'Edit' ,
'file.save' : 'Save' ,
'file.saveFail' : 'Save failed' ,
2026-08-17 11:47:35 +08:00
'pane.gitNotRepo' : 'Not a git repository' ,
'pane.gitClean' : 'Working tree clean' ,
'pane.jobsEmpty' : 'No background jobs in the current session' ,
'pane.termFail' : 'Terminal unavailable (host missing node-pty/ws, or connection failed)' ,
2026-08-17 12:19:08 +08:00
'pane.closeTab' : 'Close tab' ,
2026-08-17 12:28:32 +08:00
'pane.jobsTitle' : 'Background jobs' ,
'pane.subagents' : 'Subagents' ,
'pane.subagentsEmpty' : 'No subagents in the current session' ,
2026-08-17 01:19:03 +08:00
'split.flip' : 'Flip chat side (left ⇄ right)' ,
'split.dragSwap' : 'Drag the title bar to swap panes' ,
2026-08-17 21:22:20 +08:00
'icons.title' : 'Pick an icon' ,
'icons.change' : 'Change icon' ,
2026-08-16 23:34:22 +08:00
'empty' : 'No projects yet' ,
} satisfies Record < WorktableKey , string >
/** Locale namespace id registered under ctx.locale. */
export const NS = 'worktable'
declare module '@deepseek-ai/dsh-client-ui-slots' {
interface LocaleNamespaceMap {
/** The worktable sidebar copy. */
[ NS ] : WorktableKey
}
}