177 lines
7.5 KiB
TypeScript
177 lines
7.5 KiB
TypeScript
/**
|
||
* 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.up': '上移',
|
||
'manage.down': '下移',
|
||
'manage.deleteShortcut': '删除快捷方式',
|
||
'manage.reset': '恢复默认',
|
||
'shortcut.badge': '本地',
|
||
'add.chooseLayout': '选择布局模式',
|
||
'add.layoutNamePh': '布局名称',
|
||
'add.layoutSave': '进入工作区',
|
||
'add.layoutInvalid': '请填写布局名称',
|
||
'manage.deleteLayout': '删除布局',
|
||
'manage.deleteProject': '删除项目',
|
||
'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': '自定义',
|
||
'pane.customUrlPh': '地址(/xxx/ 或 https://)',
|
||
'pane.open': '打开',
|
||
'pane.wip': '开发中(后续版本接入)',
|
||
'pane.explorerNoCwd': '当前会话没有工作目录',
|
||
'pane.openLater': '该类型暂不支持预览',
|
||
'file.loading': '加载中…',
|
||
'file.fail': '文件读取失败',
|
||
'pdf.pan': '抓手(按住空格临时拖动 / H 切换常开)',
|
||
'pdf.zoomIn': '放大',
|
||
'pdf.zoomOut': '缩小',
|
||
'pdf.fit': '适应宽度',
|
||
'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': 'View options',
|
||
'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.up': 'Move up',
|
||
'manage.down': 'Move down',
|
||
'manage.deleteShortcut': 'Delete shortcut',
|
||
'manage.reset': 'Reset defaults',
|
||
'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',
|
||
'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; restore it later via Manage → Reset defaults.',
|
||
'pane.browser': 'Browser',
|
||
'pane.explorer': 'Explorer',
|
||
'pane.scm': 'Source control',
|
||
'pane.tasks': 'Tasks',
|
||
'pane.terminal': 'Terminal',
|
||
'pane.custom': 'Custom',
|
||
'pane.customUrlPh': 'URL (/xxx/ or https://)',
|
||
'pane.open': 'Open',
|
||
'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',
|
||
'pdf.pan': 'Pan tool (hold Space to drag temporarily / H to toggle)',
|
||
'pdf.zoomIn': 'Zoom in',
|
||
'pdf.zoomOut': 'Zoom out',
|
||
'pdf.fit': 'Fit width',
|
||
'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
|
||
}
|
||
}
|