Files
dsh-worktable/01_content/src/client/locales.ts
T

221 lines
10 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 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': '搜索项目',
'menu.viewOptions': '设置',
'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': '显示',
'manage.removed': '已删除的项目',
'manage.readd': '重新添加',
'manage.deleteShortcut': '删除快捷方式',
'shortcut.badge': '本地',
'add.chooseLayout': '选择布局模式',
'add.layoutNamePh': '布局名称',
'add.layoutSave': '进入工作区',
'add.layoutInvalid': '请填写布局名称',
'manage.deleteLayout': '删除布局',
'manage.deleteProject': '删除项目',
'manage.changeView': '变更视图',
'viewPick.title': '选择新视图(内容窗自动迁入)',
'confirm.title': '删除项目',
'confirm.cancel': '取消',
'confirm.delete': '删除',
'confirm.layoutBody': '确定删除「{name}」?该工作区及其布局将被移除,此操作不可恢复。',
'confirm.shortcutBody': '确定删除快捷方式「{name}」?此操作不可恢复。',
'confirm.projectBody': '确定从工作台删除「{name}」?插件本身不会被卸载,「恢复默认」也不会复活它;之后可在设置里「已删除的项目」中重新添加。',
'pane.browser': '浏览器',
'pane.explorer': '资源管理器',
'pane.scm': '源代码管理',
'pane.tasks': '任务管理',
'pane.terminal': '终端',
'pane.custom': '自定义',
'custom.title': '自定义这个窗口',
'custom.hint': '发送后将自动新建一个会话,专门负责这个窗口的自定义设计。',
'custom.placeholder': '告诉 AI 你想让这个窗口做什么,例如:做一个展示我旅行足迹的时间线页面…',
'custom.project': '所属项目',
'custom.modeNew': '新建对话',
'custom.modeSend': '发送到会话',
'custom.session': '选择会话',
'custom.sessionCurrent': '(当前)',
'custom.hintSend': '内容将直接发送到你选择的会话(默认当前会话),用于讨论这个窗口的自定义设计。',
'custom.send': '发送并新建对话',
'custom.sendToSession': '发送到该会话',
'custom.sent': '已发送到会话',
'custom.done': '已新建专属对话',
'custom.doneHint': 'AI 正在新会话中为你设计这个窗口。关闭本标签即可返回窗口选择。',
'custom.fail': '创建对话失败',
'custom.group': '分组(工作区)',
'custom.groupNone': '未分组',
'custom.groupNew': '+ 新建一个分组…',
'custom.groupNewParent': '分组父目录',
'custom.groupNewName': '新分组名',
'custom.groupNewParentPh': '例如 E:\\AI_Workspace\\DeepseekHarness',
'custom.groupNewNamePh': '例如 MyProject(将新建此文件夹并注册为分组)',
'custom.groupNeedPath': '请填写分组父目录和新分组名',
'pane.wip': '开发中(后续版本接入)',
'pane.explorerNoCwd': '当前会话没有工作目录',
'pane.openLater': '该类型暂不支持预览',
'file.loading': '加载中…',
'file.fail': '文件读取失败',
'file.preview': '预览',
'file.edit': '编辑',
'file.save': '保存',
'file.saveFail': '保存失败',
'pane.gitNotRepo': '当前目录不是 git 仓库',
'pane.gitClean': '工作区干净',
'pane.jobsEmpty': '当前会话暂无后台任务',
'pane.termFail': '终端不可用(宿主缺少 node-pty/ws 或连接失败)',
'pane.closeTab': '关闭标签页',
'pane.jobsTitle': '后台任务',
'pane.subagents': '子代理',
'pane.subagentsEmpty': '当前会话暂无子代理',
'split.flip': '切换对话窗位置(左⇄右)',
'split.dragSwap': '拖动标题栏与其他窗交换位置',
'icons.title': '选择图标',
'icons.change': '更换图标',
'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',
'menu.viewOptions': 'Settings',
'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',
'manage.removed': 'Removed projects',
'manage.readd': 'Re-add',
'manage.deleteShortcut': 'Delete shortcut',
'shortcut.badge': 'Local',
'add.chooseLayout': 'Choose a layout',
'add.layoutNamePh': 'Layout name',
'add.layoutSave': 'Enter workspace',
'add.layoutInvalid': 'Enter a layout name',
'manage.deleteLayout': 'Delete layout',
'manage.deleteProject': 'Delete project',
'manage.changeView': 'Change layout',
'viewPick.title': 'Pick a new layout (panes migrate automatically)',
'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.',
'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.',
'pane.browser': 'Browser',
'pane.explorer': 'Explorer',
'pane.scm': 'Source control',
'pane.tasks': 'Tasks',
'pane.terminal': 'Terminal',
'pane.custom': 'Custom',
'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',
'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).',
'custom.send': 'Send & create conversation',
'custom.sendToSession': 'Send to this conversation',
'custom.sent': 'Sent to the conversation',
'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',
'custom.group': 'Group (workspace)',
'custom.groupNone': 'Ungrouped',
'custom.groupNew': '+ Create a new group…',
'custom.groupNewParent': 'Group parent folder',
'custom.groupNewName': 'New group name',
'custom.groupNewParentPh': 'e.g. E:\\AI_Workspace\\DeepseekHarness',
'custom.groupNewNamePh': 'e.g. MyProject (folder will be created and registered)',
'custom.groupNeedPath': 'Fill in the parent folder and new group name',
'pane.wip': 'Coming in a later version',
'pane.explorerNoCwd': 'No working directory for the current session',
'pane.openLater': 'Preview not supported for this type',
'file.loading': 'Loading…',
'file.fail': 'Failed to read file',
'file.preview': 'Preview',
'file.edit': 'Edit',
'file.save': 'Save',
'file.saveFail': 'Save failed',
'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)',
'pane.closeTab': 'Close tab',
'pane.jobsTitle': 'Background jobs',
'pane.subagents': 'Subagents',
'pane.subagentsEmpty': 'No subagents in the current session',
'split.flip': 'Flip chat side (left ⇄ right)',
'split.dragSwap': 'Drag the title bar to swap panes',
'icons.title': 'Pick an icon',
'icons.change': 'Change icon',
'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
}
}