/** `git-graph` namespace dictionaries (branch selector + Git graph copy). */ /** Simplified Chinese dictionary (the key-set source of truth). */ export const zh = { 'branch.search': '搜索分支', 'branch.empty': '未找到匹配分支', 'branch.detached': '分离 HEAD', 'branch.dirty': '未提交的更改:{count} 个文件', 'branch.create': '创建并检出新分支…', 'branch.graph': 'Git 图谱', 'branch.createDialog.title': '创建并检出新分支', 'branch.createDialog.description': '基于当前 HEAD 创建一个新的本地分支,并在创建成功后立即切换过去。', 'branch.createDialog.nameLabel': '分支名', 'branch.createDialog.placeholder': '例如 feature/git-branch-switcher', 'branch.createDialog.confirm': '创建并切换', 'branch.createDialog.cancel': '取消', 'graph.title': 'Git 图谱', 'graph.subtitle': '{count} 个提交,{lanes} 条泳道', 'graph.loading': '加载中…', 'graph.loadMore': '加载更多', 'graph.close': '关闭', 'graph.empty': '没有提交记录', 'graph.time.justNow': '刚刚', 'graph.time.minutesAgo': '{count} 分钟前', 'graph.time.hoursAgo': '{count} 小时前', 'graph.time.daysAgo': '{count} 天前', 'error.conflictsPresent': '当前仓库还有未解决的冲突,先处理完再切换分支。', 'error.operationInProgress': '当前仓库还有进行中的 Git 操作,完成后再切换分支。', 'error.branchInOtherWorktree': '目标分支已在其他 worktree 中被检出,当前工作区无法直接切换。', 'error.trackedOverwrite': '切换失败,以下已跟踪文件的修改会被目标分支覆盖:{paths}。', 'error.untrackedOverwrite': '切换失败,以下未跟踪文件会被目标分支覆盖:{paths}。', 'error.moreFiles': '等另外 {count} 个文件', 'error.pathsSeparator': '、', 'error.targetBranchNotFound': '目标分支不存在于本地仓库。', 'error.invalidBranchName': '分支名无效,请重新输入。', 'error.branchAlreadyExists': '分支已存在,请换一个名称。', 'error.workspaceUnknown': '当前目录不是已注册的工作区。', 'error.internal': '操作失败,请稍后重试。', 'error.requestFailed': '分支操作失败:{error}', 'toast.switchSuccess': '已切换到分支 {branchName}', 'chip.aria.branch': '分支', 'worktree.create': '在 worktree 中开始新会话…', 'worktree.manage': '管理 worktree…', 'worktree.dialog.title': '在 worktree 中开始新会话', 'worktree.dialog.description': '在 DSH 托管目录($DSH_HOME/worktrees/)创建隔离 worktree,携带新分支 wt/<名称>,并在其中打开新会话。当前检出不受影响。', 'worktree.dialog.nameLabel': 'worktree 名称', 'worktree.dialog.namePlaceholder': '例如 fix-login-race', 'worktree.dialog.baseLabel': '基线分支', 'worktree.dialog.confirm': '创建并开始会话', 'worktree.dialog.cancel': '取消', 'worktree.manager.title': 'Worktree 管理', 'worktree.manager.loading': '加载中…', 'worktree.manager.empty': '没有托管的 worktree', 'worktree.manager.main': '主检出', 'worktree.manager.detached': '分离 HEAD', 'worktree.manager.remove': '删除', 'worktree.manager.forceConfirm': '该 worktree 有未提交更改,确认强制删除?', 'worktree.manager.forceYes': '强制删除', 'worktree.manager.deleteBranch': '同时删除分支', 'worktree.manager.close': '关闭', 'toast.worktreeCreated': '已创建 worktree {name}', 'error.invalidWorktreeName': 'worktree 名称无效,请重新输入。', 'error.worktreeAlreadyExists': '同名 worktree 或分支已存在,请换一个名称。', 'error.worktreeDirty': '该 worktree 有未提交的更改。', 'error.worktreeNotFound': '找不到该 worktree(可能已被删除)。', 'error.worktreeIsMain': '主检出不能删除。', 'error.baseRefNotFound': '基线分支或修订不存在。', } satisfies Record /** The git-graph namespace key union. */ export type GitGraphKey = keyof typeof zh /** English dictionary, checked complete against the zh key set. */ export const en = { 'branch.search': 'Search branches', 'branch.empty': 'No matching branches', 'branch.detached': 'Detached HEAD', 'branch.dirty': 'Uncommitted changes: {count} files', 'branch.create': 'Create and switch to new branch…', 'branch.graph': 'Git Graph', 'branch.createDialog.title': 'Create and switch to new branch', 'branch.createDialog.description': 'Create a new local branch from the current HEAD and switch to it immediately.', 'branch.createDialog.nameLabel': 'Branch name', 'branch.createDialog.placeholder': 'For example, feature/git-branch-switcher', 'branch.createDialog.confirm': 'Create and switch', 'branch.createDialog.cancel': 'Cancel', 'graph.title': 'Git Graph', 'graph.subtitle': '{count} commits across {lanes} lanes', 'graph.loading': 'Loading…', 'graph.loadMore': 'Load more', 'graph.close': 'Close', 'graph.empty': 'No commits', 'graph.time.justNow': 'just now', 'graph.time.minutesAgo': '{count} minutes ago', 'graph.time.hoursAgo': '{count} hours ago', 'graph.time.daysAgo': '{count} days ago', 'error.conflictsPresent': 'The repository still has unresolved conflicts. Resolve them before switching branches.', 'error.operationInProgress': 'Another Git operation is still in progress. Finish it before switching branches.', 'error.branchInOtherWorktree': 'That branch is already checked out in another worktree.', 'error.trackedOverwrite': 'Switch failed because tracked files would be overwritten: {paths}.', 'error.untrackedOverwrite': 'Switch failed because untracked files would be overwritten: {paths}.', 'error.moreFiles': '{count} more files', 'error.pathsSeparator': ', ', 'error.targetBranchNotFound': 'The target branch does not exist locally.', 'error.invalidBranchName': 'The branch name is invalid. Enter a different name.', 'error.branchAlreadyExists': 'That branch already exists. Choose another name.', 'error.workspaceUnknown': 'This directory is not a registered workspace.', 'error.internal': 'The operation failed. Please try again.', 'error.requestFailed': 'Branch operation failed: {error}', 'toast.switchSuccess': 'Switched to branch {branchName}', 'chip.aria.branch': 'Branch', 'worktree.create': 'Start a new session in a worktree…', 'worktree.manage': 'Manage worktrees…', 'worktree.dialog.title': 'Start a new session in a worktree', 'worktree.dialog.description': 'Create an isolated worktree in the DSH-managed home ($DSH_HOME/worktrees/) on a new wt/ branch, and open a new session in it. The current checkout is untouched.', 'worktree.dialog.nameLabel': 'Worktree name', 'worktree.dialog.namePlaceholder': 'For example, fix-login-race', 'worktree.dialog.baseLabel': 'Base branch', 'worktree.dialog.confirm': 'Create and start session', 'worktree.dialog.cancel': 'Cancel', 'worktree.manager.title': 'Worktree Manager', 'worktree.manager.loading': 'Loading…', 'worktree.manager.empty': 'No managed worktrees', 'worktree.manager.main': 'main checkout', 'worktree.manager.detached': 'detached HEAD', 'worktree.manager.remove': 'Remove', 'worktree.manager.forceConfirm': 'This worktree has uncommitted changes. Force-remove it?', 'worktree.manager.forceYes': 'Force remove', 'worktree.manager.deleteBranch': 'Also delete the branch', 'worktree.manager.close': 'Close', 'toast.worktreeCreated': 'Created worktree {name}', 'error.invalidWorktreeName': 'The worktree name is invalid. Enter a different name.', 'error.worktreeAlreadyExists': 'A worktree or branch with that name already exists. Choose another name.', 'error.worktreeDirty': 'The worktree has uncommitted changes.', 'error.worktreeNotFound': 'That worktree was not found (it may already be gone).', 'error.worktreeIsMain': 'The primary checkout cannot be removed.', 'error.baseRefNotFound': 'The base branch or revision does not exist.', } satisfies Record