dsh-git-worktree 0.7.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.en.md +7 -3
- package/README.md +7 -3
- package/docs/i18n.md +63 -0
- package/lib/adapters/files.d.ts +0 -7
- package/lib/adapters/files.js +4 -3
- package/lib/adapters/files.js.map +1 -1
- package/lib/adapters/git.d.ts +0 -10
- package/lib/adapters/git.js +6 -5
- package/lib/adapters/git.js.map +1 -1
- package/lib/adapters/registry.d.ts +0 -7
- package/lib/adapters/registry.js +2 -1
- package/lib/adapters/registry.js.map +1 -1
- package/lib/adapters/safe-file.d.ts +0 -7
- package/lib/adapters/safe-file.js +5 -4
- package/lib/adapters/safe-file.js.map +1 -1
- package/lib/client/WorktreeCreateRow.js +4 -2
- package/lib/client/WorktreeCreateRow.js.map +1 -1
- package/lib/client/WorktreeReviewRow.js +10 -8
- package/lib/client/WorktreeReviewRow.js.map +1 -1
- package/lib/client/actions.d.ts +3 -2
- package/lib/client/actions.js +17 -13
- package/lib/client/actions.js.map +1 -1
- package/lib/client/console-remote/adapter.d.ts +2 -1
- package/lib/client/console-remote/adapter.js +35 -32
- package/lib/client/console-remote/adapter.js.map +1 -1
- package/lib/client/console-remote/index.js +6 -2
- package/lib/client/console-remote/index.js.map +1 -1
- package/lib/client/i18n.d.ts +25 -0
- package/lib/client/i18n.js +43 -0
- package/lib/client/i18n.js.map +1 -0
- package/lib/client/index.d.ts +1 -1
- package/lib/client/index.js +17 -4
- package/lib/client/index.js.map +1 -1
- package/lib/client/model.d.ts +3 -2
- package/lib/client/model.js +8 -8
- package/lib/client/model.js.map +1 -1
- package/lib/client/pre-session/PreSessionWorktreeToggle.js +14 -12
- package/lib/client/pre-session/PreSessionWorktreeToggle.js.map +1 -1
- package/lib/client/pre-session/controller.js +11 -9
- package/lib/client/pre-session/controller.js.map +1 -1
- package/lib/client/pre-session/index.d.ts +12 -1
- package/lib/client/pre-session/index.js +9 -1
- package/lib/client/pre-session/index.js.map +1 -1
- package/lib/client/review-console/DeliveryProof.js +15 -12
- package/lib/client/review-console/DeliveryProof.js.map +1 -1
- package/lib/client/review-console/PreflightStatus.js +14 -8
- package/lib/client/review-console/PreflightStatus.js.map +1 -1
- package/lib/client/review-console/ReviewActions.js +97 -92
- package/lib/client/review-console/ReviewActions.js.map +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.d.ts +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.js +19 -16
- package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
- package/lib/client/review-console/recovery-continuation.d.ts +2 -1
- package/lib/client/review-console/recovery-continuation.js +12 -8
- package/lib/client/review-console/recovery-continuation.js.map +1 -1
- package/lib/client/target-console/TargetStatusAction.js +28 -25
- package/lib/client/target-console/TargetStatusAction.js.map +1 -1
- package/lib/client/target-console/WorktreeConsoleView.js +40 -36
- package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
- package/lib/client/target-console/WorktreeManagerModal.js +3 -1
- package/lib/client/target-console/WorktreeManagerModal.js.map +1 -1
- package/lib/client/target-console/WorktreeReviewStatus.js +14 -12
- package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
- package/lib/client/workspace-sidebar/index.js +4 -2
- package/lib/client/workspace-sidebar/index.js.map +1 -1
- package/lib/client/workspace-sidebar/model.d.ts +2 -1
- package/lib/client/workspace-sidebar/model.js +14 -13
- package/lib/client/workspace-sidebar/model.js.map +1 -1
- package/lib/client.js +2173 -477
- package/lib/commands.js +32 -35
- package/lib/commands.js.map +1 -1
- package/lib/console-host/control-plane.js +82 -81
- package/lib/console-host/control-plane.js.map +1 -1
- package/lib/console-host/errors.js +2 -1
- package/lib/console-host/errors.js.map +1 -1
- package/lib/console-host/projection.js +3 -1
- package/lib/console-host/projection.js.map +1 -1
- package/lib/console-host/review-diff.js +6 -5
- package/lib/console-host/review-diff.js.map +1 -1
- package/lib/console-host/service.d.ts +24 -22
- package/lib/console-host/service.js +54 -51
- package/lib/console-host/service.js.map +1 -1
- package/lib/console-remote/descriptors.js +2 -2
- package/lib/console-remote/descriptors.js.map +1 -1
- package/lib/console-remote/remote.d.ts +22 -21
- package/lib/console-remote/remote.js.map +1 -1
- package/lib/console-remote/schemas.d.ts +4 -0
- package/lib/console-remote/schemas.js +1 -0
- package/lib/console-remote/schemas.js.map +1 -1
- package/lib/i18n/client-messages.d.ts +1523 -0
- package/lib/i18n/client-messages.js +1431 -0
- package/lib/i18n/client-messages.js.map +1 -0
- package/lib/i18n/core.d.ts +12 -0
- package/lib/i18n/core.js +10 -0
- package/lib/i18n/core.js.map +1 -0
- package/lib/i18n/host-messages.d.ts +1463 -0
- package/lib/i18n/host-messages.js +1474 -0
- package/lib/i18n/host-messages.js.map +1 -0
- package/lib/i18n/host.d.ts +9 -0
- package/lib/i18n/host.js +34 -0
- package/lib/i18n/host.js.map +1 -0
- package/lib/i18n/transport-messages.d.ts +10 -0
- package/lib/i18n/transport-messages.js +11 -0
- package/lib/i18n/transport-messages.js.map +1 -0
- package/lib/session-checkout-apply.js +93 -92
- package/lib/session-checkout-apply.js.map +1 -1
- package/lib/session-checkout-module.js +232 -229
- package/lib/session-checkout-module.js.map +1 -1
- package/lib/session-target-context.js +2 -1
- package/lib/session-target-context.js.map +1 -1
- package/lib/tools.d.ts +0 -8
- package/lib/tools.js +108 -96
- package/lib/tools.js.map +1 -1
- package/package.json +2 -1
- package/scripts/dev-dsh-lib.mjs +1 -1
- package/scripts/workspace-sidebar-upstream.mjs +1 -1
|
@@ -0,0 +1,1474 @@
|
|
|
1
|
+
/** Host-owned prose. Keys are stable; user data is passed only as interpolation values. */
|
|
2
|
+
export const hostMessages = {
|
|
3
|
+
"sessionNotFound": {
|
|
4
|
+
"zh": "会话不存在: {p0}",
|
|
5
|
+
"en": "Session not found: {p0}"
|
|
6
|
+
},
|
|
7
|
+
"theSessionIsNotAssociatedWithAProject": {
|
|
8
|
+
"zh": "会话尚未关联项目",
|
|
9
|
+
"en": "The Session is not associated with a project."
|
|
10
|
+
},
|
|
11
|
+
"projectNotFound": {
|
|
12
|
+
"zh": "项目不存在: {p0}",
|
|
13
|
+
"en": "Project not found: {p0}"
|
|
14
|
+
},
|
|
15
|
+
"projectRootDirectoryNotFound": {
|
|
16
|
+
"zh": "项目根目录不存在: {p0}",
|
|
17
|
+
"en": "Project root directory not found: {p0}"
|
|
18
|
+
},
|
|
19
|
+
"theSessionWorkspaceNoLongerMatchesItsBoundSession": {
|
|
20
|
+
"zh": "会话当前 Workspace 与已绑定 Session Target 不一致,已停止访问 checkout",
|
|
21
|
+
"en": "The Session Workspace no longer matches its bound Session Target; checkout access has stopped."
|
|
22
|
+
},
|
|
23
|
+
"theSessionHasNotSelectedASessionTarget": {
|
|
24
|
+
"zh": "会话尚未选择 Session Target",
|
|
25
|
+
"en": "The Session has not selected a Session Target."
|
|
26
|
+
},
|
|
27
|
+
"onlyTheOwnerIsolatedSessionCanPrepareAReview": {
|
|
28
|
+
"zh": "只有 owner Isolated 会话可以准备验收",
|
|
29
|
+
"en": "Only the owner Isolated Session can prepare a review."
|
|
30
|
+
},
|
|
31
|
+
"theReviewSummaryCommitMessageOrValidationItemsAre": {
|
|
32
|
+
"zh": "验收摘要、提交信息或验证项目无效",
|
|
33
|
+
"en": "The review summary, commit message, or validation items are invalid."
|
|
34
|
+
},
|
|
35
|
+
"theIsolatedCheckoutRecordDoesNotExist": {
|
|
36
|
+
"zh": "Isolated Checkout 记录不存在",
|
|
37
|
+
"en": "The Isolated Checkout record does not exist."
|
|
38
|
+
},
|
|
39
|
+
"cannotPrepareAReviewInTheCurrentState": {
|
|
40
|
+
"zh": "当前 {p0}/{p1} 状态不能准备验收",
|
|
41
|
+
"en": "Cannot prepare a review in the current {p0}/{p1} state."
|
|
42
|
+
},
|
|
43
|
+
"theIsolatedCheckoutIdentityCannotBeVerifiedRecoveryIs": {
|
|
44
|
+
"zh": "Isolated Checkout 身份无法确认,需要恢复",
|
|
45
|
+
"en": "The Isolated Checkout identity cannot be verified; recovery is required."
|
|
46
|
+
},
|
|
47
|
+
"onlyTheOwnerIsolatedSessionCanSaveACheckpoint": {
|
|
48
|
+
"zh": "只有 owner Isolated 会话可以保存阶段",
|
|
49
|
+
"en": "Only the owner Isolated Session can save a checkpoint."
|
|
50
|
+
},
|
|
51
|
+
"theCheckpointRequestOrCommitMessageIsInvalid": {
|
|
52
|
+
"zh": "Checkpoint 请求或 Commit Message 无效",
|
|
53
|
+
"en": "The Checkpoint request or commit message is invalid."
|
|
54
|
+
},
|
|
55
|
+
"theCheckpointRequestIdIsAlreadyUsedByAnotherState": {
|
|
56
|
+
"zh": "Checkpoint requestId 已被其他状态使用,请刷新",
|
|
57
|
+
"en": "The Checkpoint requestId is already used by another state. Refresh and retry."
|
|
58
|
+
},
|
|
59
|
+
"theSessionTargetHasChangedRefreshAndRetry": {
|
|
60
|
+
"zh": "Session Target 已变化,请刷新后重试",
|
|
61
|
+
"en": "The Session Target has changed. Refresh and retry."
|
|
62
|
+
},
|
|
63
|
+
"cannotSaveACheckpointInTheCurrentState": {
|
|
64
|
+
"zh": "当前 {p0}/{p1} 状态不能保存阶段",
|
|
65
|
+
"en": "Cannot save a checkpoint in the current {p0}/{p1} state."
|
|
66
|
+
},
|
|
67
|
+
"theCheckpointReviewOrGenerationHasChangedRefreshAnd": {
|
|
68
|
+
"zh": "Checkpoint Review 或 generation 已变化,请刷新后重试",
|
|
69
|
+
"en": "The Checkpoint Review or generation has changed. Refresh and retry."
|
|
70
|
+
},
|
|
71
|
+
"anotherTaskIsOccupyingThisProjectSLocalAcceptance": {
|
|
72
|
+
"zh": "另一个任务正在占用该项目的 Local 验收槽位",
|
|
73
|
+
"en": "Another task is occupying this project's Local acceptance slot."
|
|
74
|
+
},
|
|
75
|
+
"theCheckpointStateChangedBeforeTheHostCASRefresh": {
|
|
76
|
+
"zh": "Checkpoint 状态在 Host CAS 前发生变化,请刷新后重试",
|
|
77
|
+
"en": "The Checkpoint state changed before the Host CAS. Refresh and retry."
|
|
78
|
+
},
|
|
79
|
+
"previewWasRolledBackButTheCheckoutRecordIs": {
|
|
80
|
+
"zh": "Preview 已撤回,但 Checkout 记录丢失",
|
|
81
|
+
"en": "Preview was rolled back, but the Checkout record is missing."
|
|
82
|
+
},
|
|
83
|
+
"thereIsNoReviewCheckpointToSave": {
|
|
84
|
+
"zh": "当前没有可保存的验收阶段",
|
|
85
|
+
"en": "There is no review checkpoint to save."
|
|
86
|
+
},
|
|
87
|
+
"theCheckpointJournalChangedBeforeRetainingTheInternalRef": {
|
|
88
|
+
"zh": "Checkpoint journal 在保留内部 ref 前发生变化",
|
|
89
|
+
"en": "The Checkpoint journal changed before retaining the internal ref."
|
|
90
|
+
},
|
|
91
|
+
"checkpointWasCreatedButTheCheckoutRecordIsMissing": {
|
|
92
|
+
"zh": "Checkpoint 已创建,但 Checkout 记录丢失",
|
|
93
|
+
"en": "Checkpoint was created, but the Checkout record is missing."
|
|
94
|
+
},
|
|
95
|
+
"onlyTheOwnerIsolatedSessionCanResumeEditing": {
|
|
96
|
+
"zh": "只有 owner Isolated 会话可以恢复编辑",
|
|
97
|
+
"en": "Only the owner Isolated Session can resume editing."
|
|
98
|
+
},
|
|
99
|
+
"theCurrentWorktreeHasNoUnsyncedReviewToResume": {
|
|
100
|
+
"zh": "当前 Worktree 没有可恢复编辑的未同步验收稿",
|
|
101
|
+
"en": "The current Worktree has no unsynced review to resume editing."
|
|
102
|
+
},
|
|
103
|
+
"thisReviewCardIsNoLongerTheCurrentReview": {
|
|
104
|
+
"zh": "该验收卡已不是当前 Review,请刷新后重试",
|
|
105
|
+
"en": "This review card is no longer the current Review. Refresh and retry."
|
|
106
|
+
},
|
|
107
|
+
"theAcceptanceStateChangedBeforeResumingEditingRefreshAnd": {
|
|
108
|
+
"zh": "验收状态在恢复编辑前发生变化,请刷新后重试",
|
|
109
|
+
"en": "The acceptance state changed before resuming editing. Refresh and retry."
|
|
110
|
+
},
|
|
111
|
+
"theConflictRecoveryIdentityChangedBeforeHostCASRun": {
|
|
112
|
+
"zh": "冲突恢复身份在 Host CAS 前已变化,请重新预检",
|
|
113
|
+
"en": "The conflict recovery identity changed before Host CAS. Run preflight again."
|
|
114
|
+
},
|
|
115
|
+
"theAcceptanceStateChangedBeforeConflictRecoveryRefreshAnd": {
|
|
116
|
+
"zh": "验收状态在冲突恢复前发生变化,请刷新后重试",
|
|
117
|
+
"en": "The acceptance state changed before conflict recovery. Refresh and retry."
|
|
118
|
+
},
|
|
119
|
+
"onlyTheOwnerIsolatedSessionCanRequestReviewRegeneration": {
|
|
120
|
+
"zh": "只有 owner Isolated 会话可以请求重新生成验收结果",
|
|
121
|
+
"en": "Only the owner Isolated Session can request review regeneration."
|
|
122
|
+
},
|
|
123
|
+
"theReadOnlyReviewRegenerationIdentityChangedBeforeHost": {
|
|
124
|
+
"zh": "只读验收再生成身份在 Host 授权前已变化",
|
|
125
|
+
"en": "The read-only review regeneration identity changed before Host authorization."
|
|
126
|
+
},
|
|
127
|
+
"theReadyReviewChangedBeforeReadOnlyAuthorization": {
|
|
128
|
+
"zh": "Ready Review 在只读授权前发生变化",
|
|
129
|
+
"en": "The Ready Review changed before read-only authorization."
|
|
130
|
+
},
|
|
131
|
+
"theDetachedPreviewRecoveryProofHasChangedCheckAgain": {
|
|
132
|
+
"zh": "Detached Preview Recovery proof 已变化,请重新检查",
|
|
133
|
+
"en": "The Detached Preview Recovery proof has changed. Check again."
|
|
134
|
+
},
|
|
135
|
+
"theDetachedPreviewChangedBeforeAnalysisAuthorization": {
|
|
136
|
+
"zh": "Detached Preview 在分析授权前发生变化",
|
|
137
|
+
"en": "The Detached Preview changed before analysis authorization."
|
|
138
|
+
},
|
|
139
|
+
"recoveryHandoffRequiresANewPreallocatedSessionID": {
|
|
140
|
+
"zh": "Recovery handoff 必须使用新的预分配 Session ID",
|
|
141
|
+
"en": "Recovery handoff requires a new preallocated Session ID."
|
|
142
|
+
},
|
|
143
|
+
"theRecoveryHandoffSessionIDIsAlreadyInUse": {
|
|
144
|
+
"zh": "Recovery handoff Session ID 已被占用",
|
|
145
|
+
"en": "The Recovery handoff Session ID is already in use."
|
|
146
|
+
},
|
|
147
|
+
"thePreviousDetachedPreviewIdentityHasChanged": {
|
|
148
|
+
"zh": "旧 Detached Preview 身份已变化",
|
|
149
|
+
"en": "The previous Detached Preview identity has changed."
|
|
150
|
+
},
|
|
151
|
+
"theOriginalSourceSessionIsUnavailableNoHandoffWorktree": {
|
|
152
|
+
"zh": "原始 source Session 不可用,未创建 handoff Worktree",
|
|
153
|
+
"en": "The original source Session is unavailable; no handoff Worktree was created."
|
|
154
|
+
},
|
|
155
|
+
"theRecoveryHandoffWorktreeRecordIsMissingAfterCreation": {
|
|
156
|
+
"zh": "Recovery handoff Worktree 创建后记录缺失",
|
|
157
|
+
"en": "The Recovery handoff Worktree record is missing after creation."
|
|
158
|
+
},
|
|
159
|
+
"aSessionThatInheritedItsSessionTargetCannotPerform": {
|
|
160
|
+
"zh": "继承 Session Target 的会话不能执行 Apply",
|
|
161
|
+
"en": "A Session that inherited its Session Target cannot perform Apply."
|
|
162
|
+
},
|
|
163
|
+
"localCheckoutDoesNotSupportApply": {
|
|
164
|
+
"zh": "Local Checkout 不支持 Apply",
|
|
165
|
+
"en": "Local Checkout does not support Apply."
|
|
166
|
+
},
|
|
167
|
+
"cannotApplyInTheCurrentState": {
|
|
168
|
+
"zh": "当前 {p0}/{p1} 状态不能 Apply",
|
|
169
|
+
"en": "Cannot Apply in the current {p0}/{p1} state."
|
|
170
|
+
},
|
|
171
|
+
"anotherAcceptanceTaskInTheSameProjectIsOccupying": {
|
|
172
|
+
"zh": "同一项目已有验收任务正在占用 Local:{p0}",
|
|
173
|
+
"en": "Another acceptance task in the same project is occupying Local: {p0}"
|
|
174
|
+
},
|
|
175
|
+
"theIsolatedCheckoutStateHasChangedRecoveryIsRequired": {
|
|
176
|
+
"zh": "Isolated Checkout 状态已变化,需要恢复",
|
|
177
|
+
"en": "The Isolated Checkout state has changed; recovery is required."
|
|
178
|
+
},
|
|
179
|
+
"worktreeChangedAfterBeingMarkedReadyForReviewPrepare": {
|
|
180
|
+
"zh": "Worktree 在标记可验收后又发生变化,请重新准备验收",
|
|
181
|
+
"en": "Worktree changed after being marked ready for review. Prepare the review again."
|
|
182
|
+
},
|
|
183
|
+
"worktreeChangesWereWrittenToLocalPreviewThroughApplyWorktree": {
|
|
184
|
+
"zh": "Worktree 修改已通过 ApplyWorktree 写入 Local Preview",
|
|
185
|
+
"en": "Worktree changes were written to Local Preview through ApplyWorktree."
|
|
186
|
+
},
|
|
187
|
+
"choreCommitWorktreeChanges": {
|
|
188
|
+
"zh": "chore: 提交 Worktree 修改",
|
|
189
|
+
"en": "chore: commit Worktree changes"
|
|
190
|
+
},
|
|
191
|
+
"onlyTheOwnerIsolatedSessionCanCheckPreviewRecovery": {
|
|
192
|
+
"zh": "只有 owner Isolated 会话可以检查 Preview 恢复",
|
|
193
|
+
"en": "Only the owner Isolated Session can check Preview recovery."
|
|
194
|
+
},
|
|
195
|
+
"theSessionTargetHasChangedRefreshBeforeCheckingAgain": {
|
|
196
|
+
"zh": "Session Target 已变化,请刷新后重新检查",
|
|
197
|
+
"en": "The Session Target has changed. Refresh before checking again."
|
|
198
|
+
},
|
|
199
|
+
"theCurrentStateIsNotTheSpecifiedDetachedPreview": {
|
|
200
|
+
"zh": "当前并非指定的 detached Preview 恢复状态",
|
|
201
|
+
"en": "The current state is not the specified detached Preview recovery state."
|
|
202
|
+
},
|
|
203
|
+
"theWorktreeIdentityPathOrGitStateCannotCurrently": {
|
|
204
|
+
"zh": "Worktree 身份、路径或 Git 状态暂时无法确认",
|
|
205
|
+
"en": "The Worktree identity, path, or Git state cannot currently be verified."
|
|
206
|
+
},
|
|
207
|
+
"previewRetainedArtifactsAreMissingOrDoNotMatch": {
|
|
208
|
+
"zh": "Preview retained artifacts 缺失或与 receipt 不一致",
|
|
209
|
+
"en": "Preview retained artifacts are missing or do not match the receipt."
|
|
210
|
+
},
|
|
211
|
+
"thePreviewRecoveryStateChangedDuringTheCheck": {
|
|
212
|
+
"zh": "Preview 恢复状态在检查期间发生变化",
|
|
213
|
+
"en": "The Preview recovery state changed during the check."
|
|
214
|
+
},
|
|
215
|
+
"previewRetainedArtifactsChangedDuringTheCheck": {
|
|
216
|
+
"zh": "Preview retained artifacts 在检查期间发生变化",
|
|
217
|
+
"en": "Preview retained artifacts changed during the check."
|
|
218
|
+
},
|
|
219
|
+
"previewRecoveryCheckFailed": {
|
|
220
|
+
"zh": "Preview 恢复检查失败",
|
|
221
|
+
"en": "Preview recovery check failed."
|
|
222
|
+
},
|
|
223
|
+
"onlyTheOwnerIsolatedSessionCanRunSyncPreflight": {
|
|
224
|
+
"zh": "只有 owner Isolated 会话可以执行同步预检",
|
|
225
|
+
"en": "Only the owner Isolated Session can run sync preflight."
|
|
226
|
+
},
|
|
227
|
+
"theSessionTargetHasChangedRefreshBeforeRunningPreflight": {
|
|
228
|
+
"zh": "Session Target 已变化,请刷新后重新预检",
|
|
229
|
+
"en": "The Session Target has changed. Refresh before running preflight again."
|
|
230
|
+
},
|
|
231
|
+
"theCurrentWorktreeIsNotReadyForReview": {
|
|
232
|
+
"zh": "当前 Worktree 尚未处于可验收状态",
|
|
233
|
+
"en": "The current Worktree is not ready for review."
|
|
234
|
+
},
|
|
235
|
+
"theSessionTargetChangedDuringPreflightRefreshAndRetry": {
|
|
236
|
+
"zh": "Session Target 在预检期间发生变化,请刷新后重试",
|
|
237
|
+
"en": "The Session Target changed during preflight. Refresh and retry."
|
|
238
|
+
},
|
|
239
|
+
"worktreeChangedAfterTheReviewWasPreparedRegenerateThe": {
|
|
240
|
+
"zh": "Worktree 在准备验收后发生变化,请重新生成验收结果",
|
|
241
|
+
"en": "Worktree changed after the review was prepared. Regenerate the review."
|
|
242
|
+
},
|
|
243
|
+
"onlyTheOwnerIsolatedSessionCanSyncAReview": {
|
|
244
|
+
"zh": "只有 owner Isolated 会话可以同步验收",
|
|
245
|
+
"en": "Only the owner Isolated Session can sync a review."
|
|
246
|
+
},
|
|
247
|
+
"theAcceptanceStateHasChangedRefreshAndRetry": {
|
|
248
|
+
"zh": "验收状态已变化,请刷新后重试",
|
|
249
|
+
"en": "The acceptance state has changed. Refresh and retry."
|
|
250
|
+
},
|
|
251
|
+
"thereIsNoLocalPreviewToRelease": {
|
|
252
|
+
"zh": "当前没有可解除的 Local Preview",
|
|
253
|
+
"en": "There is no Local Preview to release."
|
|
254
|
+
},
|
|
255
|
+
"thePreviewStateHasChangedRefreshAndRetry": {
|
|
256
|
+
"zh": "Preview 状态已变化,请刷新后重试",
|
|
257
|
+
"en": "The Preview state has changed. Refresh and retry."
|
|
258
|
+
},
|
|
259
|
+
"onlyTheOwnerIsolatedSessionCanRollBackAcceptance": {
|
|
260
|
+
"zh": "只有 owner Isolated 会话可以撤回验收",
|
|
261
|
+
"en": "Only the owner Isolated Session can roll back acceptance."
|
|
262
|
+
},
|
|
263
|
+
"thereIsNoLocalPreviewToRollBack": {
|
|
264
|
+
"zh": "当前没有可撤回的 Local Preview",
|
|
265
|
+
"en": "There is no Local Preview to roll back."
|
|
266
|
+
},
|
|
267
|
+
"thePreviewRecoveryProofHasExpiredOrDoesNot": {
|
|
268
|
+
"zh": "Preview Recovery proof 已过期或不匹配,请重新检查",
|
|
269
|
+
"en": "The Preview Recovery proof has expired or does not match. Check again."
|
|
270
|
+
},
|
|
271
|
+
"onlyTheOwnerIsolatedSessionCanFinalizeTheAcceptance": {
|
|
272
|
+
"zh": "只有 owner Isolated 会话可以完成验收提交",
|
|
273
|
+
"en": "Only the owner Isolated Session can finalize the acceptance commit."
|
|
274
|
+
},
|
|
275
|
+
"thereIsNoLocalPreviewAwaitingAcceptance": {
|
|
276
|
+
"zh": "当前没有等待验收的 Local Preview",
|
|
277
|
+
"en": "There is no Local Preview awaiting acceptance."
|
|
278
|
+
},
|
|
279
|
+
"theCommitWasCreatedButTheCheckoutRecordIs": {
|
|
280
|
+
"zh": "提交已创建,但 Checkout 记录丢失",
|
|
281
|
+
"en": "The commit was created, but the Checkout record is missing."
|
|
282
|
+
},
|
|
283
|
+
"theCommitWasCreatedButSavingTheRetainedWorktree": {
|
|
284
|
+
"zh": "提交已创建,但保留 Worktree 状态写入失败",
|
|
285
|
+
"en": "The commit was created, but saving the retained Worktree state failed."
|
|
286
|
+
},
|
|
287
|
+
"onlyTheOwnerIsolatedSessionCanRetryCleanup": {
|
|
288
|
+
"zh": "只有 owner Isolated 会话可以重试清理",
|
|
289
|
+
"en": "Only the owner Isolated Session can retry cleanup."
|
|
290
|
+
},
|
|
291
|
+
"thereIsNoWorktreeCleanupToRetry": {
|
|
292
|
+
"zh": "当前没有待重试的 Worktree 清理",
|
|
293
|
+
"en": "There is no Worktree cleanup to retry."
|
|
294
|
+
},
|
|
295
|
+
"aSessionThatInheritedItsSessionTargetCannotPerform162": {
|
|
296
|
+
"zh": "继承 Session Target 的会话不能执行 Finish",
|
|
297
|
+
"en": "A Session that inherited its Session Target cannot perform Finish."
|
|
298
|
+
},
|
|
299
|
+
"localCheckoutDoesNotSupportFinish": {
|
|
300
|
+
"zh": "Local Checkout 不支持 Finish",
|
|
301
|
+
"en": "Local Checkout does not support Finish."
|
|
302
|
+
},
|
|
303
|
+
"thisReviewCardIsNoLongerTheCurrentReview166": {
|
|
304
|
+
"zh": "该验收卡已不是当前 Review,请刷新并确认最新交付",
|
|
305
|
+
"en": "This review card is no longer the current Review. Refresh and confirm the latest delivery."
|
|
306
|
+
},
|
|
307
|
+
"thisLegacyWorktreeWasWrittenToLocalThroughAn": {
|
|
308
|
+
"zh": "该历史 Worktree 已通过旧版 Apply 写入 Local;为避免遗漏或重复提交,已禁止自动 Finish,请先人工核对 Local 后再清理记录。",
|
|
309
|
+
"en": "This legacy Worktree was written to Local through an older Apply. Automatic Finish is disabled to avoid missing or duplicate commits. Check Local manually before cleaning up the record."
|
|
310
|
+
},
|
|
311
|
+
"cannotFinishDirectlyInTheCurrentState": {
|
|
312
|
+
"zh": "当前 {p0}/{p1} 状态不能直接 Finish",
|
|
313
|
+
"en": "Cannot Finish directly in the current {p0}/{p1} state."
|
|
314
|
+
},
|
|
315
|
+
"worktreeChangedAfterReviewPrepareTheReviewAgain": {
|
|
316
|
+
"zh": "Worktree 在验收后又发生变化,请重新准备验收",
|
|
317
|
+
"en": "Worktree changed after review. Prepare the review again."
|
|
318
|
+
},
|
|
319
|
+
"skipLocalAcceptanceAndCommitDirectly": {
|
|
320
|
+
"zh": "跳过 Local 验收并直接提交",
|
|
321
|
+
"en": "Skip Local acceptance and commit directly."
|
|
322
|
+
},
|
|
323
|
+
"theTaskCommitWasCreatedButTheCheckoutRecord": {
|
|
324
|
+
"zh": "任务提交已创建,但 Checkout 记录丢失,需要人工检查",
|
|
325
|
+
"en": "The task commit was created, but the Checkout record is missing. Manual inspection is required."
|
|
326
|
+
},
|
|
327
|
+
"theTaskCommitWasCreatedButSavingTheRetained": {
|
|
328
|
+
"zh": "任务提交已创建,但保留 Worktree 状态写入失败",
|
|
329
|
+
"en": "The task commit was created, but saving the retained Worktree state failed."
|
|
330
|
+
},
|
|
331
|
+
"aSessionThatInheritedItsSessionTargetCannotPerform178": {
|
|
332
|
+
"zh": "继承 Session Target 的会话不能执行 Discard",
|
|
333
|
+
"en": "A Session that inherited its Session Target cannot perform Discard."
|
|
334
|
+
},
|
|
335
|
+
"localCheckoutDoesNotSupportDiscard": {
|
|
336
|
+
"zh": "Local Checkout 不支持 Discard",
|
|
337
|
+
"en": "Local Checkout does not support Discard."
|
|
338
|
+
},
|
|
339
|
+
"localPreviewDriftedIntoDetachedRecoveryToPreserveRecovery": {
|
|
340
|
+
"zh": "Local Preview 已因漂移进入 detached 恢复态;为保留恢复证据,不能删除 Worktree。请先成功撤回 Preview。",
|
|
341
|
+
"en": "Local Preview drifted into detached recovery. To preserve recovery evidence, this Worktree cannot be deleted. Successfully roll back Preview first."
|
|
342
|
+
},
|
|
343
|
+
"thisLegacyWorktreeWasWrittenToLocalThroughAn183": {
|
|
344
|
+
"zh": "该历史 Worktree 已通过旧版 Apply 写入 Local;不会自动 Discard,请先人工核对 Local 的未提交修改。",
|
|
345
|
+
"en": "This legacy Worktree was written to Local through an older Apply. Automatic Discard is disabled. Check Local's uncommitted changes manually first."
|
|
346
|
+
},
|
|
347
|
+
"thisTaskIsPreviewingInLocalSafelyRollBack": {
|
|
348
|
+
"zh": "本任务正在 Local 预览;放弃任务前必须先安全撤回 Preview",
|
|
349
|
+
"en": "This task is previewing in Local. Safely roll back Preview before discarding the task."
|
|
350
|
+
},
|
|
351
|
+
"cannotDiscardInTheCurrentState": {
|
|
352
|
+
"zh": "当前 {p0} 状态不能 Discard",
|
|
353
|
+
"en": "Cannot Discard in the current {p0} state."
|
|
354
|
+
},
|
|
355
|
+
"confirmationWillPermanentlyDeleteCheckpointsNotYetDeliveredTo": {
|
|
356
|
+
"zh": ";确认后会永久删除 {p0} 个尚未交付到 Local 的阶段",
|
|
357
|
+
"en": "; confirmation will permanently delete {p0} checkpoints not yet delivered to Local"
|
|
358
|
+
},
|
|
359
|
+
"theIsolatedCheckoutHasUncommittedChangesUndeliveredCheckpointsOr": {
|
|
360
|
+
"zh": "Isolated Checkout 含未提交修改、未交付阶段或状态无法确认,需要明确确认{p0}",
|
|
361
|
+
"en": "The Isolated Checkout has uncommitted changes, undelivered checkpoints, or an unverified state. Explicit confirmation is required{p0}"
|
|
362
|
+
},
|
|
363
|
+
"failedToDeleteTheManagedCheckout": {
|
|
364
|
+
"zh": "删除 managed checkout 失败",
|
|
365
|
+
"en": "Failed to delete the managed checkout."
|
|
366
|
+
},
|
|
367
|
+
"aSessionThatInheritedItsSessionTargetCannotPerform192": {
|
|
368
|
+
"zh": "继承 Session Target 的会话不能执行 Recover",
|
|
369
|
+
"en": "A Session that inherited its Session Target cannot perform Recover."
|
|
370
|
+
},
|
|
371
|
+
"localCheckoutDoesNotSupportRecover": {
|
|
372
|
+
"zh": "Local Checkout 不支持 Recover",
|
|
373
|
+
"en": "Local Checkout does not support Recover."
|
|
374
|
+
},
|
|
375
|
+
"cannotSafelyDetermineWhetherApplyModifiedLocalItWill": {
|
|
376
|
+
"zh": "Apply 是否已修改 Local 无法安全确认;不会自动重试或猜测成功",
|
|
377
|
+
"en": "Cannot safely determine whether Apply modified Local. It will not retry automatically or assume success."
|
|
378
|
+
},
|
|
379
|
+
"theIsolatedCheckoutIsMissingOnlyAnExplicitDiscard": {
|
|
380
|
+
"zh": "Isolated Checkout 缺失,只能由 owner 明确 Discard 收口",
|
|
381
|
+
"en": "The Isolated Checkout is missing. Only an explicit Discard by its owner can close it."
|
|
382
|
+
},
|
|
383
|
+
"theIsolatedCheckoutPathGitIdentityProjectHEADOr": {
|
|
384
|
+
"zh": "Isolated Checkout 的路径、Git 身份、项目、HEAD 或状态无法完整确认",
|
|
385
|
+
"en": "The Isolated Checkout path, Git identity, project, HEAD, or state cannot be fully verified."
|
|
386
|
+
},
|
|
387
|
+
"deletedAgentSession": {
|
|
388
|
+
"zh": "已删除的 Agent 会话",
|
|
389
|
+
"en": "Deleted Agent Session"
|
|
390
|
+
},
|
|
391
|
+
"theCurrentIterationIsStillBeingEditedAndHas": {
|
|
392
|
+
"zh": "当前轮次仍在修改,尚未形成可清理的交付环境。",
|
|
393
|
+
"en": "The current iteration is still being edited and has no delivered environment to clean up."
|
|
394
|
+
},
|
|
395
|
+
"theCurrentIterationIsAwaitingAcceptanceAndCannotBe": {
|
|
396
|
+
"zh": "当前轮次正在等待验收,不能清理。",
|
|
397
|
+
"en": "The current iteration is awaiting acceptance and cannot be cleaned up."
|
|
398
|
+
},
|
|
399
|
+
"localPreviewHasNotBeenSafelyResolvedAndCannot": {
|
|
400
|
+
"zh": "Local Preview 尚未完成安全收口,不能清理。",
|
|
401
|
+
"en": "Local Preview has not been safely resolved and cannot be cleaned up."
|
|
402
|
+
},
|
|
403
|
+
"worktreeHasBeenDeliveredAndReleasedFromManagementNo": {
|
|
404
|
+
"zh": "Worktree 已交付并解除管理,无需再次清理。",
|
|
405
|
+
"en": "Worktree has been delivered and released from management. No further cleanup is needed."
|
|
406
|
+
},
|
|
407
|
+
"theLocalCheckoutIdentityCannotBeVerifiedThisIteration": {
|
|
408
|
+
"zh": "Local checkout identity 无法验证,不能证明本轮交付仍存在。",
|
|
409
|
+
"en": "The Local checkout identity cannot be verified; this iteration's delivery cannot be proven to exist."
|
|
410
|
+
},
|
|
411
|
+
"thisIterationSDeliveryCommitIsNoLongerIn": {
|
|
412
|
+
"zh": "本轮交付 commit 已不在 Local 历史中,不能清理环境。",
|
|
413
|
+
"en": "This iteration's delivery commit is no longer in Local history. The environment cannot be cleaned up."
|
|
414
|
+
},
|
|
415
|
+
"cannotVerifyWhetherThisIterationSDeliveryCommitIs": {
|
|
416
|
+
"zh": "无法验证本轮交付 commit 是否仍在 Local 历史中。",
|
|
417
|
+
"en": "Cannot verify whether this iteration's delivery commit is still in Local history."
|
|
418
|
+
},
|
|
419
|
+
"theCleanupDirectoryIdentityCannotBeReverifiedTheEnvironment": {
|
|
420
|
+
"zh": "清理目录身份无法重新验证,已保留环境。",
|
|
421
|
+
"en": "The cleanup directory identity cannot be reverified. The environment was preserved."
|
|
422
|
+
},
|
|
423
|
+
"theWorktreeCheckoutIdentityCannotBeVerifiedTheEnvironment": {
|
|
424
|
+
"zh": "Worktree checkout identity 无法验证,已保留环境。",
|
|
425
|
+
"en": "The Worktree checkout identity cannot be verified. The environment was preserved."
|
|
426
|
+
},
|
|
427
|
+
"newChangesWereDetectedAfterCommitOrRetentionBulk": {
|
|
428
|
+
"zh": "提交或保留后检测到新增修改,不能批量清理。",
|
|
429
|
+
"en": "New changes were detected after commit or retention. Bulk cleanup is not allowed."
|
|
430
|
+
},
|
|
431
|
+
"cannotProveTheCurrentWorktreeStateIsSafeThe": {
|
|
432
|
+
"zh": "无法证明 Worktree 当前状态安全,已保留环境。",
|
|
433
|
+
"en": "Cannot prove the current Worktree state is safe. The environment was preserved."
|
|
434
|
+
},
|
|
435
|
+
"thePreviousCleanupDidNotFinishRevalidateAndRetry": {
|
|
436
|
+
"zh": "上次清理未完成,可重新校验后重试。",
|
|
437
|
+
"en": "The previous cleanup did not finish. Revalidate and retry."
|
|
438
|
+
},
|
|
439
|
+
"retainedManuallyAtTheUserSRequest": {
|
|
440
|
+
"zh": "按用户选择手动保留。",
|
|
441
|
+
"en": "Retained manually at the user's request."
|
|
442
|
+
},
|
|
443
|
+
"theRetentionPeriodHasNotExpired": {
|
|
444
|
+
"zh": "保留期限尚未到期。",
|
|
445
|
+
"en": "The retention period has not expired."
|
|
446
|
+
},
|
|
447
|
+
"readOnlySafetyInspectionPassedCleanupIsAvailable": {
|
|
448
|
+
"zh": "已通过只读安全巡检,可以清理。",
|
|
449
|
+
"en": "Read-only safety inspection passed. Cleanup is available."
|
|
450
|
+
},
|
|
451
|
+
"theWorktreeRevisionHasChangedCleanupWasNotPerformed": {
|
|
452
|
+
"zh": "Worktree revision 已变化,未执行清理。",
|
|
453
|
+
"en": "The Worktree revision has changed. Cleanup was not performed."
|
|
454
|
+
},
|
|
455
|
+
"worktreeChangedBeforeCleanupCleanupWasNotPerformed": {
|
|
456
|
+
"zh": "Worktree 在清理前发生变化,未执行清理。",
|
|
457
|
+
"en": "Worktree changed before cleanup. Cleanup was not performed."
|
|
458
|
+
},
|
|
459
|
+
"theWorktreeRecordDoesNotExist": {
|
|
460
|
+
"zh": "Worktree 记录不存在",
|
|
461
|
+
"en": "The Worktree record does not exist."
|
|
462
|
+
},
|
|
463
|
+
"theCurrentSessionIsNotAllowedToManageThis": {
|
|
464
|
+
"zh": "当前 Session 无权管理该 Worktree",
|
|
465
|
+
"en": "The current Session is not allowed to manage this Worktree."
|
|
466
|
+
},
|
|
467
|
+
"theOwnerSessionHasTakenOverThisWorktreeOnly": {
|
|
468
|
+
"zh": "Owner Session 已接管该 Worktree,只有 owner 可以管理",
|
|
469
|
+
"en": "The owner Session has taken over this Worktree. Only the owner can manage it."
|
|
470
|
+
},
|
|
471
|
+
"theCurrentSessionAndWorktreeDoNotBelongTo": {
|
|
472
|
+
"zh": "当前 Session 与 Worktree 不属于同一原始项目",
|
|
473
|
+
"en": "The current Session and Worktree do not belong to the same original project."
|
|
474
|
+
},
|
|
475
|
+
"theWorktreeStateHasChangedRefreshAndRetry": {
|
|
476
|
+
"zh": "Worktree 状态已变化,请刷新后重试",
|
|
477
|
+
"en": "The Worktree state has changed. Refresh and retry."
|
|
478
|
+
},
|
|
479
|
+
"onlyRetainedFrozenWorktreesCanHaveTheirRetentionPeriod": {
|
|
480
|
+
"zh": "只有已保留的冻结 Worktree 可以调整保留期限",
|
|
481
|
+
"en": "Only retained, frozen Worktrees can have their retention period changed."
|
|
482
|
+
},
|
|
483
|
+
"theCurrentWorktreeIsNotInACleanableState": {
|
|
484
|
+
"zh": "当前 Worktree 不处于可清理状态",
|
|
485
|
+
"en": "The current Worktree is not in a cleanable state."
|
|
486
|
+
},
|
|
487
|
+
"theWorktreeDirectoryNoLongerExists": {
|
|
488
|
+
"zh": "Worktree 目录已不存在",
|
|
489
|
+
"en": "The Worktree directory no longer exists."
|
|
490
|
+
},
|
|
491
|
+
"theWorktreeDirectoryIdentityCannotBeVerified": {
|
|
492
|
+
"zh": "Worktree 目录身份无法验证",
|
|
493
|
+
"en": "The Worktree directory identity cannot be verified."
|
|
494
|
+
},
|
|
495
|
+
"onlyADeliveredIsolatedSessionCanBeginTheNext": {
|
|
496
|
+
"zh": "只有已交付的 Isolated Session 可以开始下一轮",
|
|
497
|
+
"en": "Only a delivered Isolated Session can begin the next iteration."
|
|
498
|
+
},
|
|
499
|
+
"thePreviousIterationSWorktreeRecordDoesNotExist": {
|
|
500
|
+
"zh": "上一轮 Worktree 记录不存在",
|
|
501
|
+
"en": "The previous iteration's Worktree record does not exist."
|
|
502
|
+
},
|
|
503
|
+
"onlyTheOwnerSessionCanBeginTheNextIteration": {
|
|
504
|
+
"zh": "只有 owner Session 可以开始下一轮",
|
|
505
|
+
"en": "Only the owner Session can begin the next iteration."
|
|
506
|
+
},
|
|
507
|
+
"theWorktreeStateHasChangedRefreshBeforeBeginningThe": {
|
|
508
|
+
"zh": "Worktree 状态已变化,请刷新后再开始下一轮",
|
|
509
|
+
"en": "The Worktree state has changed. Refresh before beginning the next iteration."
|
|
510
|
+
},
|
|
511
|
+
"onlyADeliveredStateWithSuccessfulCleanupCanBegin": {
|
|
512
|
+
"zh": "只有已成功清理的交付状态可以开始下一轮",
|
|
513
|
+
"en": "Only a delivered state with successful cleanup can begin the next iteration."
|
|
514
|
+
},
|
|
515
|
+
"theCurrentSessionIsNotAssociatedWithAWorkspace": {
|
|
516
|
+
"zh": "当前 Session 尚未关联 Workspace",
|
|
517
|
+
"en": "The current Session is not associated with a Workspace."
|
|
518
|
+
},
|
|
519
|
+
"theCurrentSessionSImmutableCwdDoesNotMatch": {
|
|
520
|
+
"zh": "当前 Session 的 immutable cwd 与上一轮 Worktree 不一致",
|
|
521
|
+
"en": "The current Session's immutable cwd does not match the previous iteration's Worktree."
|
|
522
|
+
},
|
|
523
|
+
"thePreviousIterationSWorktreePathHasReappearedUnknown": {
|
|
524
|
+
"zh": "上一轮 Worktree 路径已重新出现,拒绝覆盖未知内容",
|
|
525
|
+
"en": "The previous iteration's Worktree path has reappeared. Unknown content will not be overwritten."
|
|
526
|
+
},
|
|
527
|
+
"theOriginalLocalProjectIsUnavailableTheNextIteration": {
|
|
528
|
+
"zh": "原始 Local 项目已不可用,不能开始下一轮",
|
|
529
|
+
"en": "The original Local project is unavailable. The next iteration cannot begin."
|
|
530
|
+
},
|
|
531
|
+
"theOriginalLocalProjectIdentityHasChanged": {
|
|
532
|
+
"zh": "原始 Local 项目身份已变化",
|
|
533
|
+
"en": "The original Local project identity has changed."
|
|
534
|
+
},
|
|
535
|
+
"theOriginalLocalGitIdentityHasChanged": {
|
|
536
|
+
"zh": "原始 Local Git 身份已变化",
|
|
537
|
+
"en": "The original Local Git identity has changed."
|
|
538
|
+
},
|
|
539
|
+
"theProjectRootIsNotInsideItsGitCheckout": {
|
|
540
|
+
"zh": "项目根目录不在其 Git checkout 内",
|
|
541
|
+
"en": "The project root is not inside its Git checkout."
|
|
542
|
+
},
|
|
543
|
+
"thePreviousIterationSManagedProjectPathCannotBe": {
|
|
544
|
+
"zh": "上一轮 managed project 路径无法从 Local 身份重建",
|
|
545
|
+
"en": "The previous iteration's managed project path cannot be reconstructed from the Local identity."
|
|
546
|
+
},
|
|
547
|
+
"theWorktreeContainerIsNotATrustedDirectory": {
|
|
548
|
+
"zh": "Worktree 容器不是可信目录",
|
|
549
|
+
"en": "The Worktree container is not a trusted directory."
|
|
550
|
+
},
|
|
551
|
+
"theWorktreeContainerPathHasBeenRedirected": {
|
|
552
|
+
"zh": "Worktree 容器路径已被重定向",
|
|
553
|
+
"en": "The Worktree container path has been redirected."
|
|
554
|
+
},
|
|
555
|
+
"theNextIterationSCheckoutGitIdentityDoesNot": {
|
|
556
|
+
"zh": "下一轮 checkout 的 Git 身份不匹配",
|
|
557
|
+
"en": "The next iteration's checkout Git identity does not match."
|
|
558
|
+
},
|
|
559
|
+
"theStateChangedWhileCreatingTheNextIterationS": {
|
|
560
|
+
"zh": "下一轮 Worktree 创建期间状态已变化",
|
|
561
|
+
"en": "The state changed while creating the next iteration's Worktree."
|
|
562
|
+
},
|
|
563
|
+
"creatingTheNextIterationSWorktreeFailedAndIts": {
|
|
564
|
+
"zh": "下一轮 Worktree 创建失败且残余目录包含未知内容,已保留现场",
|
|
565
|
+
"en": "Creating the next iteration's Worktree failed and its remaining directory contains unknown content. The environment was preserved."
|
|
566
|
+
},
|
|
567
|
+
"theSessionIsAlreadyBoundToASessionTarget": {
|
|
568
|
+
"zh": "会话已经绑定 Session Target,不能切换",
|
|
569
|
+
"en": "The Session is already bound to a Session Target and cannot switch."
|
|
570
|
+
},
|
|
571
|
+
"aNonGitProjectCannotCreateAnIsolatedCheckout": {
|
|
572
|
+
"zh": "非 Git 项目不能创建 Isolated Checkout",
|
|
573
|
+
"en": "A non-Git project cannot create an Isolated Checkout."
|
|
574
|
+
},
|
|
575
|
+
"theFallbackWorktreeContainerIsNotATrustedDirectory": {
|
|
576
|
+
"zh": "Worktree 回退容器不是可信目录,未创建或修改任何 checkout",
|
|
577
|
+
"en": "The fallback Worktree container is not a trusted directory. No checkout was created or modified."
|
|
578
|
+
},
|
|
579
|
+
"allWorktreeCheckoutIdentityPathsAlreadyExistUnknownDirectories": {
|
|
580
|
+
"zh": "Worktree Checkout identity 路径均已存在,拒绝覆盖未知目录",
|
|
581
|
+
"en": "All Worktree Checkout identity paths already exist. Unknown directories will not be overwritten."
|
|
582
|
+
},
|
|
583
|
+
"theNewCheckoutSGitCommonDirectoryDoesNot": {
|
|
584
|
+
"zh": "新建 checkout 的 Git common dir 不匹配",
|
|
585
|
+
"en": "The new checkout's Git common directory does not match."
|
|
586
|
+
},
|
|
587
|
+
"worktreeCreationFailedAndTheRemainingDirectoryContainsUnknown": {
|
|
588
|
+
"zh": "Worktree 创建失败且残余目录包含未知内容,已保留现场,请查看原因或改用新会话",
|
|
589
|
+
"en": "Worktree creation failed and the remaining directory contains unknown content. The environment was preserved. Check the cause or use a new Session."
|
|
590
|
+
},
|
|
591
|
+
"worktreeCreationFailedTheRemainingDirectoryWasSafelyCleaned": {
|
|
592
|
+
"zh": "Worktree 创建失败,已安全清理残余目录,可直接重试",
|
|
593
|
+
"en": "Worktree creation failed. The remaining directory was safely cleaned up; you can retry."
|
|
594
|
+
},
|
|
595
|
+
"anIsolatedTargetRequiresASeparatePreallocatedSessionID": {
|
|
596
|
+
"zh": "Isolated Target 必须使用独立的预分配 Session ID",
|
|
597
|
+
"en": "An Isolated Target requires a separate preallocated Session ID."
|
|
598
|
+
},
|
|
599
|
+
"theTargetSessionIDIsAlreadyUsedByAnother": {
|
|
600
|
+
"zh": "目标 Session ID 已被其他 Workspace 使用",
|
|
601
|
+
"en": "The target Session ID is already used by another Workspace."
|
|
602
|
+
},
|
|
603
|
+
"aNewIsolatedTargetCanOnlyBeCreatedFrom": {
|
|
604
|
+
"zh": "只能从 Local Session 创建新的 Isolated Target",
|
|
605
|
+
"en": "A new Isolated Target can only be created from a Local Session."
|
|
606
|
+
},
|
|
607
|
+
"theIsolatedTargetRecordIsMissingAfterCreation": {
|
|
608
|
+
"zh": "Isolated Target 创建后记录缺失",
|
|
609
|
+
"en": "The Isolated Target record is missing after creation."
|
|
610
|
+
},
|
|
611
|
+
"gitExitedWithCode": {
|
|
612
|
+
"zh": "git 命令退出码为 {p0}",
|
|
613
|
+
"en": "git exited with code {p0}"
|
|
614
|
+
},
|
|
615
|
+
"gitCommandTimedOut": {
|
|
616
|
+
"zh": "git 命令超时:{p0}",
|
|
617
|
+
"en": "git command timed out: {p0}"
|
|
618
|
+
},
|
|
619
|
+
"theLocalBranchHasChangedPreviewCannotBeRolled": {
|
|
620
|
+
"zh": "Local branch 已变化,不能自动撤回 Preview",
|
|
621
|
+
"en": "The Local branch has changed. Preview cannot be rolled back automatically."
|
|
622
|
+
},
|
|
623
|
+
"localHEADIsNotASafeFastForwardFrom": {
|
|
624
|
+
"zh": "Local HEAD 不是 Preview 基线的安全快进,不能自动撤回",
|
|
625
|
+
"en": "Local HEAD is not a safe fast-forward from the Preview base. Automatic rollback is not allowed."
|
|
626
|
+
},
|
|
627
|
+
"newLocalCommitsConflictWithPrePreviewLocalChanges": {
|
|
628
|
+
"zh": "Local 新提交与 Preview 前的本地修改冲突,无法安全撤回:{p0}",
|
|
629
|
+
"en": "New Local commits conflict with pre-Preview local changes. Safe rollback is not possible: {p0}"
|
|
630
|
+
},
|
|
631
|
+
"newLocalCommitsConflictWithThePreviewTaskChanges": {
|
|
632
|
+
"zh": "Local 新提交与 Preview 任务增量冲突,无法安全撤回:{p0}",
|
|
633
|
+
"en": "New Local commits conflict with the Preview task changes. Safe rollback is not possible: {p0}"
|
|
634
|
+
},
|
|
635
|
+
"newLocalCommitsAlreadyContainSomeOrAllPreview": {
|
|
636
|
+
"zh": "Local 新提交已经包含部分或全部 Preview 增量,不能通过撤回工作区改动来改写已提交历史",
|
|
637
|
+
"en": "New Local commits already contain some or all Preview changes. Rolling back workspace changes cannot rewrite committed history."
|
|
638
|
+
},
|
|
639
|
+
"localHasAdditionalChangesInThePreviewAreaSafe": {
|
|
640
|
+
"zh": "Local 在 Preview 区域出现额外修改,无法安全撤回:{p0}",
|
|
641
|
+
"en": "Local has additional changes in the Preview area. Safe rollback is not possible: {p0}"
|
|
642
|
+
},
|
|
643
|
+
"localIsNotOnANormalBranchATask": {
|
|
644
|
+
"zh": "Local 当前不是普通分支,不能自动创建任务提交",
|
|
645
|
+
"en": "Local is not on a normal branch. A task commit cannot be created automatically."
|
|
646
|
+
},
|
|
647
|
+
"theLocalBranchHasChangedThePreviewCommitCannot": {
|
|
648
|
+
"zh": "Local branch 已变化,不能完成 Preview 提交",
|
|
649
|
+
"en": "The Local branch has changed. The Preview commit cannot be finalized."
|
|
650
|
+
},
|
|
651
|
+
"localHEADIsNotASafeFastForwardFrom281": {
|
|
652
|
+
"zh": "Local HEAD 不是 Preview 基线的安全快进,不能完成 Preview 提交",
|
|
653
|
+
"en": "Local HEAD is not a safe fast-forward from the Preview base. The Preview commit cannot be finalized."
|
|
654
|
+
},
|
|
655
|
+
"localHasAdditionalChangesInThePreviewAreaA": {
|
|
656
|
+
"zh": "Local 在 Preview 区域出现额外修改,无法可靠提交:{p0}",
|
|
657
|
+
"en": "Local has additional changes in the Preview area. A reliable commit is not possible: {p0}"
|
|
658
|
+
},
|
|
659
|
+
"previewTaskChangesCannotBeReliablySeparatedFromThe": {
|
|
660
|
+
"zh": "Preview 任务增量无法与最新 Local HEAD 可靠拆分:{p0}",
|
|
661
|
+
"en": "Preview task changes cannot be reliably separated from the latest Local HEAD: {p0}"
|
|
662
|
+
},
|
|
663
|
+
"previewTaskChangesAreAlreadyInLocalHEADNo": {
|
|
664
|
+
"zh": "Preview 任务增量已经进入 Local HEAD;不会创建重复或空提交",
|
|
665
|
+
"en": "Preview task changes are already in Local HEAD. No duplicate or empty commit will be created."
|
|
666
|
+
},
|
|
667
|
+
"thePreviewCommitCannotBeReliablySeparatedFromLocal": {
|
|
668
|
+
"zh": "Preview 提交与 Local staged 修改无法可靠分离:{p0}",
|
|
669
|
+
"en": "The Preview commit cannot be reliably separated from Local staged changes: {p0}"
|
|
670
|
+
},
|
|
671
|
+
"invalidCheckpointInput": {
|
|
672
|
+
"zh": "Checkpoint 输入无效",
|
|
673
|
+
"en": "Invalid Checkpoint input."
|
|
674
|
+
},
|
|
675
|
+
"theCheckpointProjectDirectoryDoesNotBelongToThe": {
|
|
676
|
+
"zh": "Checkpoint 项目目录不属于当前 Worktree",
|
|
677
|
+
"en": "The Checkpoint project directory does not belong to the current Worktree."
|
|
678
|
+
},
|
|
679
|
+
"checkpointCanOnlyWriteToADetachedManagedWorktree": {
|
|
680
|
+
"zh": "Checkpoint 只允许写入 detached managed Worktree",
|
|
681
|
+
"en": "Checkpoint can only write to a detached managed Worktree."
|
|
682
|
+
},
|
|
683
|
+
"worktreeChangedAfterPreparingTheReviewTheCheckpointCannot": {
|
|
684
|
+
"zh": "Worktree 在准备验收后发生变化,不能保存阶段",
|
|
685
|
+
"en": "Worktree changed after preparing the review. The checkpoint cannot be saved."
|
|
686
|
+
},
|
|
687
|
+
"worktreeContainsChangesOutsideTheProjectRootTheCheckpoint": {
|
|
688
|
+
"zh": "Worktree 包含项目根目录外的变更,不能保存阶段",
|
|
689
|
+
"en": "Worktree contains changes outside the project root. The checkpoint cannot be saved."
|
|
690
|
+
},
|
|
691
|
+
"theCurrentCheckpointHasNoNewChangesToSave": {
|
|
692
|
+
"zh": "当前阶段没有可保存的新修改",
|
|
693
|
+
"en": "The current checkpoint has no new changes to save."
|
|
694
|
+
},
|
|
695
|
+
"worktreeChangedBeforeSavingTheCheckpointPrepareTheReview": {
|
|
696
|
+
"zh": "Worktree 在保存阶段前发生变化,请重新准备验收",
|
|
697
|
+
"en": "Worktree changed before saving the checkpoint. Prepare the review again."
|
|
698
|
+
},
|
|
699
|
+
"checkpointIndexWriteFailedAndHEADCouldNotBe": {
|
|
700
|
+
"zh": "Checkpoint index 写入失败且 HEAD 无法回滚:{p0};{p1}",
|
|
701
|
+
"en": "Checkpoint index write failed and HEAD could not be rolled back: {p0}; {p1}"
|
|
702
|
+
},
|
|
703
|
+
"checkpointWriteFailedAndWasRolledBack": {
|
|
704
|
+
"zh": "Checkpoint 写入失败,已回滚:{p0}",
|
|
705
|
+
"en": "Checkpoint write failed and was rolled back: {p0}"
|
|
706
|
+
},
|
|
707
|
+
"checkpointWasWrittenButWorktreeDidNotReachA": {
|
|
708
|
+
"zh": "Checkpoint 已写入,但 Worktree 未收敛到 clean 状态",
|
|
709
|
+
"en": "Checkpoint was written, but Worktree did not reach a clean state."
|
|
710
|
+
},
|
|
711
|
+
"cannotVerifyTheCheckpointAfterWritingTheEnvironmentMust": {
|
|
712
|
+
"zh": "Checkpoint 写后无法完成验证,需要保留现场确认:{p0}",
|
|
713
|
+
"en": "Cannot verify the Checkpoint after writing. The environment must be preserved for inspection: {p0}"
|
|
714
|
+
},
|
|
715
|
+
"anotherGitOperationIsUpdatingTheWorktreeIndexRetry": {
|
|
716
|
+
"zh": "Worktree index 正在被其他 Git 操作更新,请重试",
|
|
717
|
+
"en": "Another Git operation is updating the Worktree index. Retry later."
|
|
718
|
+
},
|
|
719
|
+
"invalidCheckpointRecoveryOID": {
|
|
720
|
+
"zh": "Checkpoint 恢复 OID 无效",
|
|
721
|
+
"en": "Invalid Checkpoint recovery OID."
|
|
722
|
+
},
|
|
723
|
+
"worktreeNoLongerHasADetachedHEAD": {
|
|
724
|
+
"zh": "Worktree 已不再是 detached HEAD",
|
|
725
|
+
"en": "Worktree no longer has a detached HEAD."
|
|
726
|
+
},
|
|
727
|
+
"cannotProveTheRemainingIndexLockBelongsToThe": {
|
|
728
|
+
"zh": "遗留 index.lock 无法证明属于当前 Checkpoint,已保留现场",
|
|
729
|
+
"en": "Cannot prove the remaining index.lock belongs to the current Checkpoint. The environment was preserved."
|
|
730
|
+
},
|
|
731
|
+
"worktreeHEADDoesNotMatchTheCheckpointBeingRecovered": {
|
|
732
|
+
"zh": "Worktree HEAD 与待恢复 Checkpoint 不一致",
|
|
733
|
+
"en": "Worktree HEAD does not match the Checkpoint being recovered."
|
|
734
|
+
},
|
|
735
|
+
"worktreeHasNewChangesAfterCheckpointInterruptionTheIndex": {
|
|
736
|
+
"zh": "Worktree 在 Checkpoint 中断后出现新修改,不能自动恢复 index",
|
|
737
|
+
"en": "Worktree has new changes after Checkpoint interruption. The index cannot be recovered automatically."
|
|
738
|
+
},
|
|
739
|
+
"theIndexHasNewStagedChangesAfterCheckpointInterruption": {
|
|
740
|
+
"zh": "Checkpoint 中断后 index 出现新 staged 修改,不能自动覆盖",
|
|
741
|
+
"en": "The index has new staged changes after Checkpoint interruption. Automatic overwrite is not allowed."
|
|
742
|
+
},
|
|
743
|
+
"theRemainingIndexLockDoesNotMatchTheCheckpoint": {
|
|
744
|
+
"zh": "遗留 index.lock 与 Checkpoint 目标不一致,已保留现场",
|
|
745
|
+
"en": "The remaining index.lock does not match the Checkpoint target. The environment was preserved."
|
|
746
|
+
},
|
|
747
|
+
"worktreeOrItsIndexChangedBeforeAcquiringTheCheckpoint": {
|
|
748
|
+
"zh": "Checkpoint 恢复加锁前 Worktree 或 index 已变化",
|
|
749
|
+
"en": "Worktree or its index changed before acquiring the Checkpoint recovery lock."
|
|
750
|
+
},
|
|
751
|
+
"worktreeIsStillNotCleanAfterCheckpointIndexRecovery": {
|
|
752
|
+
"zh": "Checkpoint index 恢复后仍未收敛到 clean 状态",
|
|
753
|
+
"en": "Worktree is still not clean after Checkpoint index recovery."
|
|
754
|
+
},
|
|
755
|
+
"invalidSessionBaseOIDFormat": {
|
|
756
|
+
"zh": "Session Base OID 格式无效",
|
|
757
|
+
"en": "Invalid Session Base OID format."
|
|
758
|
+
},
|
|
759
|
+
"localAndIsolatedDoNotBelongToTheSame": {
|
|
760
|
+
"zh": "Local 与 Isolated 不属于同一 Git 仓库",
|
|
761
|
+
"en": "Local and Isolated do not belong to the same Git repository."
|
|
762
|
+
},
|
|
763
|
+
"theLocalAndIsolatedProjectSubdirectoriesDoNotMatch": {
|
|
764
|
+
"zh": "Local 与 Isolated 的项目子目录不一致",
|
|
765
|
+
"en": "The Local and Isolated project subdirectories do not match."
|
|
766
|
+
},
|
|
767
|
+
"isolatedContainsChangesOutsideTheProjectRootAReview": {
|
|
768
|
+
"zh": "Isolated 包含项目根目录外的变更,不能准备验收",
|
|
769
|
+
"en": "Isolated contains changes outside the project root. A review cannot be prepared."
|
|
770
|
+
},
|
|
771
|
+
"isolatedContainsChangesOutsideTheProjectRootApplyWas": {
|
|
772
|
+
"zh": "Isolated 包含项目根目录外的变更,已拒绝 Apply",
|
|
773
|
+
"en": "Isolated contains changes outside the project root. Apply was rejected."
|
|
774
|
+
},
|
|
775
|
+
"theApplyPlanIsMissingAlreadyUsedOrModified": {
|
|
776
|
+
"zh": "Apply plan 不存在、已使用或已被修改",
|
|
777
|
+
"en": "The Apply plan is missing, already used, or modified."
|
|
778
|
+
},
|
|
779
|
+
"theApplyPlanSGitRepositoryIdentityHasChanged": {
|
|
780
|
+
"zh": "Apply plan 的 Git 仓库身份已变化",
|
|
781
|
+
"en": "The Apply plan's Git repository identity has changed."
|
|
782
|
+
},
|
|
783
|
+
"localChangedAfterPlanningRecalculateThePlan": {
|
|
784
|
+
"zh": "Local 在 plan 后发生变化,请重新计算",
|
|
785
|
+
"en": "Local changed after planning. Recalculate the plan."
|
|
786
|
+
},
|
|
787
|
+
"isolatedChangedAfterPlanningRecalculateThePlan": {
|
|
788
|
+
"zh": "Isolated 在 plan 后发生变化,请重新计算",
|
|
789
|
+
"en": "Isolated changed after planning. Recalculate the plan."
|
|
790
|
+
},
|
|
791
|
+
"localChangedBeforeApplyWroteItsChangesRecalculateThe": {
|
|
792
|
+
"zh": "Local 在 Apply 写入前发生变化,请重新计算",
|
|
793
|
+
"en": "Local changed before Apply wrote its changes. Recalculate the plan."
|
|
794
|
+
},
|
|
795
|
+
"thePreviewPlanIsMissingAlreadyUsedOrModified": {
|
|
796
|
+
"zh": "Preview plan 不存在、已使用或已被修改",
|
|
797
|
+
"en": "The Preview plan is missing, already used, or modified."
|
|
798
|
+
},
|
|
799
|
+
"invalidPreviewIdentity": {
|
|
800
|
+
"zh": "Preview identity 无效",
|
|
801
|
+
"en": "Invalid Preview identity."
|
|
802
|
+
},
|
|
803
|
+
"thePreviewPlanSGitRepositoryIdentityHasChanged": {
|
|
804
|
+
"zh": "Preview plan 的 Git 仓库身份已变化",
|
|
805
|
+
"en": "The Preview plan's Git repository identity has changed."
|
|
806
|
+
},
|
|
807
|
+
"thePersistentPreviewSnapshotDoesNotMatchTheReviewed": {
|
|
808
|
+
"zh": "Preview 持久快照与审核 plan 不一致",
|
|
809
|
+
"en": "The persistent Preview snapshot does not match the reviewed plan."
|
|
810
|
+
},
|
|
811
|
+
"localChangedBeforePreviewWroteItsChangesRecalculateThe": {
|
|
812
|
+
"zh": "Local 在 Preview 写入前发生变化,请重新计算",
|
|
813
|
+
"en": "Local changed before Preview wrote its changes. Recalculate the plan."
|
|
814
|
+
},
|
|
815
|
+
"theLocalSnapshotAfterPreviewDoesNotMatchThe": {
|
|
816
|
+
"zh": "Preview 写入后的 Local snapshot 与准备结果不一致,需要恢复确认",
|
|
817
|
+
"en": "The Local snapshot after Preview does not match the prepared result. Recovery confirmation is required."
|
|
818
|
+
},
|
|
819
|
+
"localChangedBeforePreviewRollbackRetry": {
|
|
820
|
+
"zh": "Local 在撤回 Preview 前发生变化,请重试",
|
|
821
|
+
"en": "Local changed before Preview rollback. Retry."
|
|
822
|
+
},
|
|
823
|
+
"cannotVerifyAfterWritingPreviewRollbackTheEnvironmentMust": {
|
|
824
|
+
"zh": "Preview 撤回写后无法完成验证,需要保留现场确认:{p0}",
|
|
825
|
+
"en": "Cannot verify after writing Preview rollback. The environment must be preserved for inspection: {p0}"
|
|
826
|
+
},
|
|
827
|
+
"theLocalSnapshotAfterPreviewRollbackDoesNotMatch": {
|
|
828
|
+
"zh": "Preview 撤回后的 Local snapshot 与安全恢复结果不一致,需要保留现场确认",
|
|
829
|
+
"en": "The Local snapshot after Preview rollback does not match the safe recovery result. The environment must be preserved for inspection."
|
|
830
|
+
},
|
|
831
|
+
"theCommitMessageMustNotBeEmpty": {
|
|
832
|
+
"zh": "提交信息不能为空",
|
|
833
|
+
"en": "The commit message must not be empty."
|
|
834
|
+
},
|
|
835
|
+
"localChangedBeforeFinalizingPreviewRetry": {
|
|
836
|
+
"zh": "Local 在完成 Preview 前发生变化,请重试",
|
|
837
|
+
"en": "Local changed before finalizing Preview. Retry."
|
|
838
|
+
},
|
|
839
|
+
"thePreviewTaskCommitTreeDoesNotMatchThe": {
|
|
840
|
+
"zh": "Preview 任务提交 tree 与恢复评估不一致",
|
|
841
|
+
"en": "The Preview task commit tree does not match the recovery assessment."
|
|
842
|
+
},
|
|
843
|
+
"thePreviewFinalIndexTreeDoesNotMatchThe": {
|
|
844
|
+
"zh": "Preview 最终 index tree 与恢复评估不一致",
|
|
845
|
+
"en": "The Preview final index tree does not match the recovery assessment."
|
|
846
|
+
},
|
|
847
|
+
"anotherGitOperationIsUpdatingTheLocalIndexRetry": {
|
|
848
|
+
"zh": "Local index 正在被其他 Git 操作更新,请重试",
|
|
849
|
+
"en": "Another Git operation is updating the Local index. Retry later."
|
|
850
|
+
},
|
|
851
|
+
"localChangedBeforeThePreviewCommitWasWrittenRetry": {
|
|
852
|
+
"zh": "Local 在 Preview 提交写入前发生变化,请重试",
|
|
853
|
+
"en": "Local changed before the Preview commit was written. Retry."
|
|
854
|
+
},
|
|
855
|
+
"previewCommitVerificationFailedAfterWriting": {
|
|
856
|
+
"zh": "Preview 提交写后验证失败",
|
|
857
|
+
"en": "Preview commit verification failed after writing."
|
|
858
|
+
},
|
|
859
|
+
"indexLocalIndexChangedAfterPreviewWroteItsChanges": {
|
|
860
|
+
"zh": "index: Local index 在 Preview 写入后发生变化,拒绝覆盖并发 staged 状态",
|
|
861
|
+
"en": "index: Local index changed after Preview wrote its changes. Concurrent staged state will not be overwritten."
|
|
862
|
+
},
|
|
863
|
+
"refVerifiableIndexCompensationEvidenceIsMissingPartialRollback": {
|
|
864
|
+
"zh": "ref: 缺少可验证的 index 补偿证据,拒绝部分回滚",
|
|
865
|
+
"en": "ref: Verifiable index compensation evidence is missing. Partial rollback was rejected."
|
|
866
|
+
},
|
|
867
|
+
"thePreviewCommitWriteCouldNotBeVerifiedAnd": {
|
|
868
|
+
"zh": "Preview 提交写入未能验证,已完整回滚:{p0}",
|
|
869
|
+
"en": "The Preview commit write could not be verified and was fully rolled back: {p0}"
|
|
870
|
+
},
|
|
871
|
+
"cannotProveSuccessOrCompleteRollbackAfterWritingThe": {
|
|
872
|
+
"zh": "Preview 提交写入后无法证明成功或完整回滚,需要保留现场确认:{p0}{p1}",
|
|
873
|
+
"en": "Cannot prove success or complete rollback after writing the Preview commit. The environment must be preserved for inspection: {p0}{p1}"
|
|
874
|
+
},
|
|
875
|
+
"theFinishPlanIsMissingAlreadyUsedOrModified": {
|
|
876
|
+
"zh": "Finish plan 不存在、已使用或已被修改",
|
|
877
|
+
"en": "The Finish plan is missing, already used, or modified."
|
|
878
|
+
},
|
|
879
|
+
"theFinishPlanSGitRepositoryIdentityHasChanged": {
|
|
880
|
+
"zh": "Finish plan 的 Git 仓库身份已变化",
|
|
881
|
+
"en": "The Finish plan's Git repository identity has changed."
|
|
882
|
+
},
|
|
883
|
+
"finishRevalidationFoundConflictsInconsistentWithTheReviewedPlan": {
|
|
884
|
+
"zh": "Finish 复验得到与已审核 plan 不一致的冲突",
|
|
885
|
+
"en": "Finish revalidation found conflicts inconsistent with the reviewed plan."
|
|
886
|
+
},
|
|
887
|
+
"theFileSetChangedDuringFinishRevalidation": {
|
|
888
|
+
"zh": "Finish 复验的文件集合已变化",
|
|
889
|
+
"en": "The file set changed during Finish revalidation."
|
|
890
|
+
},
|
|
891
|
+
"localChangedBeforeFinishRecalculateThePlan": {
|
|
892
|
+
"zh": "Local 在 Finish 前发生变化,请重新计算",
|
|
893
|
+
"en": "Local changed before Finish. Recalculate the plan."
|
|
894
|
+
},
|
|
895
|
+
"taskChangesCannotBeReliablySeparatedFromExistingLocal": {
|
|
896
|
+
"zh": "任务增量无法与 Local 原有修改可靠拆分:{p0}",
|
|
897
|
+
"en": "Task changes cannot be reliably separated from existing Local changes: {p0}"
|
|
898
|
+
},
|
|
899
|
+
"theTaskCommitCannotBeReliablySeparatedFromExisting": {
|
|
900
|
+
"zh": "任务提交与 Local 原有 staged 修改无法可靠分离:{p0}",
|
|
901
|
+
"en": "The task commit cannot be reliably separated from existing Local staged changes: {p0}"
|
|
902
|
+
},
|
|
903
|
+
"localChangedBeforeFinishWroteItsChangesRecalculateThe": {
|
|
904
|
+
"zh": "Local 在 Finish 写入前发生变化,请重新计算",
|
|
905
|
+
"en": "Local changed before Finish wrote its changes. Recalculate the plan."
|
|
906
|
+
},
|
|
907
|
+
"finishWriteFailedAndCompleteRollbackCouldNotBe": {
|
|
908
|
+
"zh": "Finish 写入失败且无法证明完整回滚:{p0};{p1}",
|
|
909
|
+
"en": "Finish write failed and complete rollback could not be proven: {p0}; {p1}"
|
|
910
|
+
},
|
|
911
|
+
"finishWriteFailedAndWasRolledBack": {
|
|
912
|
+
"zh": "Finish 写入失败,已回滚:{p0}",
|
|
913
|
+
"en": "Finish write failed and was rolled back: {p0}"
|
|
914
|
+
},
|
|
915
|
+
"gitOperationFailed": {
|
|
916
|
+
"zh": "Git 操作失败({p0}):{p1}",
|
|
917
|
+
"en": "Git operation failed ({p0}): {p1}"
|
|
918
|
+
},
|
|
919
|
+
"unknownGitError": {
|
|
920
|
+
"zh": "未知 Git 错误",
|
|
921
|
+
"en": "Unknown Git error"
|
|
922
|
+
},
|
|
923
|
+
"worktreeToolsCanOnlyBeCalledInADSH": {
|
|
924
|
+
"zh": "worktree 工具只能在 DSH Agent 会话中调用",
|
|
925
|
+
"en": "Worktree tools can only be called in a DSH Agent Session."
|
|
926
|
+
},
|
|
927
|
+
"reserveAUniqueManagedGitWorktreeAndADistinct": {
|
|
928
|
+
"zh": "预留一个唯一的托管 Git Worktree 及独立 owner Session ID。此操作不会改变当前会话 cwd。工具返回后,停止在此 Local 会话中修改代码,让用户从 Worktree 卡片打开隔离会话。",
|
|
929
|
+
"en": "Reserve a unique managed Git worktree and a distinct owner Session ID. This does not change the current Session cwd. After the tool returns, stop modifying code in this Local Session and let the user open the isolated Session from the Worktree card."
|
|
930
|
+
},
|
|
931
|
+
"createIsolatedSessionTarget": {
|
|
932
|
+
"zh": "创建隔离会话目标",
|
|
933
|
+
"en": "Create isolated Session Target"
|
|
934
|
+
},
|
|
935
|
+
"listManagedWorktreesVisibleToTheCurrentSessionResults": {
|
|
936
|
+
"zh": "列出当前会话可见的托管 Worktree。结果仅限原始项目内由此会话拥有或创建的 Worktree。",
|
|
937
|
+
"en": "List managed worktrees visible to the current Session. Results are scoped to the original project and to worktrees this Session owns or created."
|
|
938
|
+
},
|
|
939
|
+
"listManagedWorktrees": {
|
|
940
|
+
"zh": "列出托管 Worktree",
|
|
941
|
+
"en": "List managed worktrees"
|
|
942
|
+
},
|
|
943
|
+
"whenTheCurrentIsolatedSessionIsReadyForReview": {
|
|
944
|
+
"zh": "当前 Isolated Session 处于尚未同步 Local 的 Ready for Review,且用户提出新的代码或文件修改时,必须先自动调用本工具使旧 Review 失效并恢复同一轮 Working,然后直接继续执行请求。纯讨论、问答或补充信息不要调用;不要要求用户点击恢复编辑,也不要先同步 Local。",
|
|
945
|
+
"en": "When the current Isolated Session is Ready for Review but not yet synced to Local, and the user requests new code or file changes, automatically call this tool first to invalidate the old Review and resume Working in the same iteration, then continue the request directly. Do not call it for discussion, questions, or additional information. Do not ask the user to click resume editing or sync Local first."
|
|
946
|
+
},
|
|
947
|
+
"theCurrentWorktreeHasNoUnsyncedReviewToResume372": {
|
|
948
|
+
"zh": "当前 Worktree 没有可恢复的未同步 Review: {p0}",
|
|
949
|
+
"en": "The current Worktree has no unsynced Review to resume: {p0}"
|
|
950
|
+
},
|
|
951
|
+
"worktreeDidNotReturnToWorkingState": {
|
|
952
|
+
"zh": "Worktree 未恢复到 working 状态: {p0}",
|
|
953
|
+
"en": "Worktree did not return to working state: {p0}"
|
|
954
|
+
},
|
|
955
|
+
"resumeWorktreeRevision": {
|
|
956
|
+
"zh": "恢复 Worktree 编辑",
|
|
957
|
+
"en": "Resume Worktree revision"
|
|
958
|
+
},
|
|
959
|
+
"whenTheCurrentIsolatedSessionHasBeenDeliveredAnd": {
|
|
960
|
+
"zh": "当当前 Isolated Session 已交付并完成 cleanup,而用户在同一对话中提出新的代码或文件修改时,先调用本工具安全重建同一个 immutable cwd 并进入下一轮,然后继续执行用户请求。不要改用 worktree_create;retained 或 cleanup_pending 状态不能调用。",
|
|
961
|
+
"en": "When the current Isolated Session has been delivered and cleanup is complete, and the user requests new code or file changes in the same conversation, call this tool first to safely recreate the same immutable cwd and begin the next iteration, then continue the request. Do not use worktree_create instead. Do not call this tool in retained or cleanup_pending state."
|
|
962
|
+
},
|
|
963
|
+
"theNextWorktreeIterationDidNotEnterWorkingState": {
|
|
964
|
+
"zh": "下一轮 Worktree 未进入 working 状态: {p0}",
|
|
965
|
+
"en": "The next Worktree iteration did not enter working state: {p0}"
|
|
966
|
+
},
|
|
967
|
+
"startNextWorktreeIteration": {
|
|
968
|
+
"zh": "开始下一轮 Worktree",
|
|
969
|
+
"en": "Start next Worktree iteration"
|
|
970
|
+
},
|
|
971
|
+
"onlyForWorktreeSessionsThatHaveAlreadySelectedAn": {
|
|
972
|
+
"zh": "仅用于已经选择 Isolated Checkout 的 Worktree Session,普通 Local Checkout 任务必须用正常助手回复结束且不得调用本工具。它是 Isolated Session 的最后一个模型动作:把完整交付报告、验证证据和建议 Commit Message 仅写入本工具参数,然后立即停止。不要在调用前后用普通回复重复完整报告;最多用一句话提示用户通过底部验收条处理。用户会显式决定是否提交或放弃,模型不得自动提交或清理。",
|
|
973
|
+
"en": "Only for Worktree Sessions that have already selected an Isolated Checkout. Ordinary Local Checkout tasks must end with a normal assistant reply and must not call this tool. This is the Isolated Session's final model action: put the complete delivery report, validation evidence, and suggested commit message only in this tool's arguments, then stop immediately. Do not repeat the complete report in normal replies before or after calling it; at most one sentence may direct the user to the bottom acceptance bar. The user explicitly decides whether to commit or discard. The model must not automatically commit or clean up."
|
|
974
|
+
},
|
|
975
|
+
"oneLineSummaryOfTheChangeMax240Chars": {
|
|
976
|
+
"zh": "一句话描述改动(最多 240 个字符)。",
|
|
977
|
+
"en": "One-line summary of the change (max 240 chars)."
|
|
978
|
+
},
|
|
979
|
+
"optionalFullMarkdownDetailsMax12000Chars": {
|
|
980
|
+
"zh": "可选的完整 Markdown 详情(最多 12000 个字符)。",
|
|
981
|
+
"en": "Optional full Markdown details (max 12000 chars)."
|
|
982
|
+
},
|
|
983
|
+
"optionalOneLineValidationOutcome": {
|
|
984
|
+
"zh": "可选的一句话验证结果。",
|
|
985
|
+
"en": "Optional one-line validation outcome."
|
|
986
|
+
},
|
|
987
|
+
"suggestedCommitMessageForTheHumanAcceptanceAction": {
|
|
988
|
+
"zh": "建议用于人工验收操作的提交信息。",
|
|
989
|
+
"en": "Suggested commit message for the human acceptance action."
|
|
990
|
+
},
|
|
991
|
+
"worktreeDidNotEnterAReviewableState": {
|
|
992
|
+
"zh": "worktree 未进入可验收状态: {p0}",
|
|
993
|
+
"en": "Worktree did not enter a reviewable state: {p0}"
|
|
994
|
+
},
|
|
995
|
+
"readyForWorktreeReview": {
|
|
996
|
+
"zh": "提交 Worktree 验收",
|
|
997
|
+
"en": "Ready for Worktree review"
|
|
998
|
+
},
|
|
999
|
+
"checkoutPhase": {
|
|
1000
|
+
"zh": "检出:{p0}({p1},阶段 {p2})",
|
|
1001
|
+
"en": "checkout: {p0} ({p1}, phase {p2})"
|
|
1002
|
+
},
|
|
1003
|
+
"worktreeCanOnlyBeUsedInADSHAgent": {
|
|
1004
|
+
"zh": "`/worktree` 只能在 DSH Agent 会话中使用",
|
|
1005
|
+
"en": "`/worktree` can only be used in a DSH Agent Session."
|
|
1006
|
+
},
|
|
1007
|
+
"usageWorktreeStatusListContinueNextFinalizeReviewIdRevision": {
|
|
1008
|
+
"zh": "用法:/worktree status | list | continue | next | finalize [<reviewId> <revision>] [cleanup|retain_24h|retain_3d|retain_manual] | finish <message> | discard | remove <checkoutId>",
|
|
1009
|
+
"en": "Usage: /worktree status | list | continue | next | finalize [<reviewId> <revision>] [cleanup|retain_24h|retain_3d|retain_manual] | finish <message> | discard | remove <checkoutId>"
|
|
1010
|
+
},
|
|
1011
|
+
"finishedCommittedFileSAsCleanup": {
|
|
1012
|
+
"zh": "已完成:{p0} 个文件已提交为 {p1}(清理:{p2})。",
|
|
1013
|
+
"en": "Finished: committed {p0} file(s) as {p1} (cleanup: {p2})."
|
|
1014
|
+
},
|
|
1015
|
+
"inspectAndExplicitlyAcceptManagedWorktreeDelivery": {
|
|
1016
|
+
"zh": "查看并明确确认托管 Worktree 交付",
|
|
1017
|
+
"en": "inspect and explicitly accept managed worktree delivery"
|
|
1018
|
+
},
|
|
1019
|
+
"statusListContinueNextFinalizeRetentionFinishMessageDiscard": {
|
|
1020
|
+
"zh": "status(状态)| list(列表)| continue(继续修改)| next(下一轮)| finalize [retention](验收提交)| finish <message>(直接提交)| discard(丢弃)| remove <checkoutId>(移除)",
|
|
1021
|
+
"en": "status | list | continue | next | finalize [retention] | finish <message> | discard | remove <checkoutId>"
|
|
1022
|
+
},
|
|
1023
|
+
"noManagedWorktreesVisibleToThisSession": {
|
|
1024
|
+
"zh": "当前会话没有可见的托管 Worktree。",
|
|
1025
|
+
"en": "No managed worktrees visible to this Session."
|
|
1026
|
+
},
|
|
1027
|
+
"theCurrentWorktreeHasNoUnsyncedReadyForReview": {
|
|
1028
|
+
"zh": "当前 Worktree 没有尚未同步的 Ready for Review 验收稿。",
|
|
1029
|
+
"en": "The current Worktree has no unsynced Ready for Review draft."
|
|
1030
|
+
},
|
|
1031
|
+
"resumedWorktreeIterationLocalWasNotModified": {
|
|
1032
|
+
"zh": "已恢复 Worktree 第 {p0} 轮;未修改 Local。",
|
|
1033
|
+
"en": "Resumed Worktree iteration {p0}; Local was not modified."
|
|
1034
|
+
},
|
|
1035
|
+
"startedWorktreeIterationInTheCurrentSession": {
|
|
1036
|
+
"zh": "已在当前会话开始 Worktree 第 {p0} 轮。",
|
|
1037
|
+
"en": "Started Worktree iteration {p0} in the current Session."
|
|
1038
|
+
},
|
|
1039
|
+
"theCurrentWorktreeIsNotReadyForReviewAnd": {
|
|
1040
|
+
"zh": "当前 Worktree 尚未 Ready for Review,不能 finalize。",
|
|
1041
|
+
"en": "The current Worktree is not Ready for Review and cannot be finalized."
|
|
1042
|
+
},
|
|
1043
|
+
"thisReviewCardHasExpiredConfirmTheLatestReady": {
|
|
1044
|
+
"zh": "该验收卡已过期;请确认会话中的最新 Ready for Review 卡片。",
|
|
1045
|
+
"en": "This review card has expired. Confirm the latest Ready for Review card in the Session."
|
|
1046
|
+
},
|
|
1047
|
+
"conflictNLocalHEADSyncAndResolveConflictsInWorktree": {
|
|
1048
|
+
"zh": "Conflict: {p0}\nLocal HEAD: {p1} — 在 Worktree 内同步并解决后重新 Ready。",
|
|
1049
|
+
"en": "Conflict: {p0}\\nLocal HEAD: {p1} — Sync and resolve conflicts in Worktree, then mark it Ready again."
|
|
1050
|
+
},
|
|
1051
|
+
"finalizeDidNotReturnTheExpectedResult": {
|
|
1052
|
+
"zh": "Finalize 未返回预期结果",
|
|
1053
|
+
"en": "Finalize did not return the expected result."
|
|
1054
|
+
},
|
|
1055
|
+
"finishDidNotReturnTheExpectedResult": {
|
|
1056
|
+
"zh": "Finish 未返回预期结果",
|
|
1057
|
+
"en": "Finish did not return the expected result."
|
|
1058
|
+
},
|
|
1059
|
+
"worktreeDiscardedThisSessionTargetIsNoLongerAvailable": {
|
|
1060
|
+
"zh": "Worktree 已丢弃。此会话目标不再可用。",
|
|
1061
|
+
"en": "Worktree discarded. This Session target is no longer available."
|
|
1062
|
+
},
|
|
1063
|
+
"discardDidNotReturnTheExpectedResult": {
|
|
1064
|
+
"zh": "Discard 未返回预期结果",
|
|
1065
|
+
"en": "Discard did not return the expected result."
|
|
1066
|
+
},
|
|
1067
|
+
"noManagedWorktreeVisibleToThisSession": {
|
|
1068
|
+
"zh": "当前会话没有可见的托管 Worktree {p0}。",
|
|
1069
|
+
"en": "No managed worktree {p0} visible to this Session."
|
|
1070
|
+
},
|
|
1071
|
+
"removedWorktree": {
|
|
1072
|
+
"zh": "已移除 Worktree {p0}。",
|
|
1073
|
+
"en": "Removed worktree {p0}."
|
|
1074
|
+
},
|
|
1075
|
+
"unknownVerb": {
|
|
1076
|
+
"zh": "未知操作 {p0}。\\n{p1}",
|
|
1077
|
+
"en": "Unknown verb {p0}.\n{p1}"
|
|
1078
|
+
},
|
|
1079
|
+
"conflictRecoveryIsMissingAValidLocalHEADIdentity": {
|
|
1080
|
+
"zh": "冲突恢复缺少有效的 Local HEAD 身份",
|
|
1081
|
+
"en": "Conflict recovery is missing a valid Local HEAD identity."
|
|
1082
|
+
},
|
|
1083
|
+
"conflictRecoveryContainsUnsafeOrOutOfBoundsFile": {
|
|
1084
|
+
"zh": "冲突恢复包含不安全或越界的文件身份",
|
|
1085
|
+
"en": "Conflict recovery contains unsafe or out-of-bounds file identities."
|
|
1086
|
+
},
|
|
1087
|
+
"theCurrentSessionCheckoutModuleDoesNotSupportAcceptancePreflight": {
|
|
1088
|
+
"zh": "当前 SessionCheckoutModule 不支持验收预检",
|
|
1089
|
+
"en": "The current SessionCheckoutModule does not support acceptance preflight."
|
|
1090
|
+
},
|
|
1091
|
+
"theCurrentSessionDoesNotExist": {
|
|
1092
|
+
"zh": "当前 Session 不存在",
|
|
1093
|
+
"en": "The current Session does not exist."
|
|
1094
|
+
},
|
|
1095
|
+
"theCurrentSessionIsNotAssociatedWithAProject": {
|
|
1096
|
+
"zh": "当前 Session 尚未关联项目",
|
|
1097
|
+
"en": "The current Session is not associated with a project."
|
|
1098
|
+
},
|
|
1099
|
+
"theCurrentSessionSProjectDoesNotExist": {
|
|
1100
|
+
"zh": "当前 Session 项目不存在",
|
|
1101
|
+
"en": "The current Session's project does not exist."
|
|
1102
|
+
},
|
|
1103
|
+
"theCurrentSessionSProjectDirectoryDoesNotExist": {
|
|
1104
|
+
"zh": "当前 Session 项目目录不存在",
|
|
1105
|
+
"en": "The current Session's project directory does not exist."
|
|
1106
|
+
},
|
|
1107
|
+
"theCurrentSessionSProjectIsNotAnAvailable": {
|
|
1108
|
+
"zh": "当前 Session 项目不是可用的 Git Worktree",
|
|
1109
|
+
"en": "The current Session's project is not an available Git Worktree."
|
|
1110
|
+
},
|
|
1111
|
+
"theCurrentSessionWorkspaceCannotBeProvenToBelong": {
|
|
1112
|
+
"zh": "当前 Session Workspace 无法证明属于该 Worktree 的原始项目",
|
|
1113
|
+
"en": "The current Session Workspace cannot be proven to belong to this Worktree's original project."
|
|
1114
|
+
},
|
|
1115
|
+
"theCurrentSessionCwdDoesNotMatchTheWorktree": {
|
|
1116
|
+
"zh": "当前 Session cwd 与 Worktree 授权边界不一致",
|
|
1117
|
+
"en": "The current Session cwd does not match the Worktree authorization boundary."
|
|
1118
|
+
},
|
|
1119
|
+
"theCurrentSessionIsNotAllowedToAccessThis": {
|
|
1120
|
+
"zh": "当前 Session 无权访问该 Worktree",
|
|
1121
|
+
"en": "The current Session is not allowed to access this Worktree."
|
|
1122
|
+
},
|
|
1123
|
+
"worktreeDoesNotMatchTheCurrentSessionSProject": {
|
|
1124
|
+
"zh": "Worktree 与当前 Session 项目不一致",
|
|
1125
|
+
"en": "Worktree does not match the current Session's project."
|
|
1126
|
+
},
|
|
1127
|
+
"theAssociatedWorktreeSOwnerSessionIsUnavailable": {
|
|
1128
|
+
"zh": "关联 Worktree 的 owner Session 不可用",
|
|
1129
|
+
"en": "The associated Worktree's owner Session is unavailable."
|
|
1130
|
+
},
|
|
1131
|
+
"theAcceptanceSlotHolderHasChangedCheckAgain": {
|
|
1132
|
+
"zh": "验收槽位占用者已变化,请重新检查",
|
|
1133
|
+
"en": "The acceptance slot holder has changed. Check again."
|
|
1134
|
+
},
|
|
1135
|
+
"theWorktreeGitIdentityCannotBeVerified": {
|
|
1136
|
+
"zh": "Worktree Git 身份无法验证",
|
|
1137
|
+
"en": "The Worktree Git identity cannot be verified."
|
|
1138
|
+
},
|
|
1139
|
+
"theCurrentSessionWorkspaceCannotBeProvenToBe": {
|
|
1140
|
+
"zh": "当前 Session Workspace 无法证明关联 Worktree 项目",
|
|
1141
|
+
"en": "The current Session Workspace cannot be proven to be associated with the Worktree project."
|
|
1142
|
+
},
|
|
1143
|
+
"hostIdentityVerificationFailedForTheNewlyCreatedWorktree": {
|
|
1144
|
+
"zh": "新建 Worktree 的 Host 身份校验失败",
|
|
1145
|
+
"en": "Host identity verification failed for the newly created Worktree."
|
|
1146
|
+
},
|
|
1147
|
+
"onlyTheOwnerIsolatedSessionCanReadTheReview": {
|
|
1148
|
+
"zh": "只有 owner Isolated Session 可以读取验收 Diff",
|
|
1149
|
+
"en": "Only the owner Isolated Session can read the review Diff."
|
|
1150
|
+
},
|
|
1151
|
+
"theSessionTargetHasChangedRefresh": {
|
|
1152
|
+
"zh": "Session Target 已变化,请刷新",
|
|
1153
|
+
"en": "The Session Target has changed. Refresh."
|
|
1154
|
+
},
|
|
1155
|
+
"theReviewIdentityHasChangedRefresh": {
|
|
1156
|
+
"zh": "Review 身份已变化,请刷新",
|
|
1157
|
+
"en": "The Review identity has changed. Refresh."
|
|
1158
|
+
},
|
|
1159
|
+
"isolatedHEADChangedAfterReady": {
|
|
1160
|
+
"zh": "Ready 后 Isolated HEAD 已变化",
|
|
1161
|
+
"en": "Isolated HEAD changed after Ready."
|
|
1162
|
+
},
|
|
1163
|
+
"isolatedContentChangedAfterReadyDiffBytesWereDiscarded": {
|
|
1164
|
+
"zh": "Ready 后 Isolated 内容已变化,Diff bytes 已丢弃",
|
|
1165
|
+
"en": "Isolated content changed after Ready. Diff bytes were discarded."
|
|
1166
|
+
},
|
|
1167
|
+
"onlyTheOwnerIsolatedSessionCanRunSyncPreflight436": {
|
|
1168
|
+
"zh": "只有 owner Isolated Session 可以执行同步预检",
|
|
1169
|
+
"en": "Only the owner Isolated Session can run sync preflight."
|
|
1170
|
+
},
|
|
1171
|
+
"onlyTheOwnerIsolatedSessionCanCheckPreviewRecovery440": {
|
|
1172
|
+
"zh": "只有 owner Isolated Session 可以检查 Preview 恢复",
|
|
1173
|
+
"en": "Only the owner Isolated Session can check Preview recovery."
|
|
1174
|
+
},
|
|
1175
|
+
"theDetachedPreviewIdentityHasChangedRefresh": {
|
|
1176
|
+
"zh": "Detached Preview 身份已变化,请刷新",
|
|
1177
|
+
"en": "The Detached Preview identity has changed. Refresh."
|
|
1178
|
+
},
|
|
1179
|
+
"theCurrentSessionCheckoutModuleDoesNotSupportPreviewRecoveryPreflight": {
|
|
1180
|
+
"zh": "当前 SessionCheckoutModule 不支持 Preview Recovery 预检",
|
|
1181
|
+
"en": "The current SessionCheckoutModule does not support Preview Recovery preflight."
|
|
1182
|
+
},
|
|
1183
|
+
"thePreviewRecoveryAnalysisIdentityDoesNotMatch": {
|
|
1184
|
+
"zh": "Preview Recovery 分析身份不匹配",
|
|
1185
|
+
"en": "The Preview Recovery analysis identity does not match."
|
|
1186
|
+
},
|
|
1187
|
+
"thePreviewRecoveryHandoffIdentityDoesNotMatch": {
|
|
1188
|
+
"zh": "Preview Recovery handoff 身份不匹配",
|
|
1189
|
+
"en": "The Preview Recovery handoff identity does not match."
|
|
1190
|
+
},
|
|
1191
|
+
"hostIdentityVerificationFailedForTheRecoveryHandoffWorktree": {
|
|
1192
|
+
"zh": "Recovery handoff Worktree 的 Host 身份校验失败",
|
|
1193
|
+
"en": "Host identity verification failed for the Recovery handoff Worktree."
|
|
1194
|
+
},
|
|
1195
|
+
"onlyTheOwnerIsolatedSessionCanSaveACheckpoint447": {
|
|
1196
|
+
"zh": "只有 owner Isolated Session 可以保存阶段",
|
|
1197
|
+
"en": "Only the owner Isolated Session can save a checkpoint."
|
|
1198
|
+
},
|
|
1199
|
+
"theCheckpointCommitMessageOrRequestIdIsInvalid": {
|
|
1200
|
+
"zh": "Checkpoint Commit Message 或 requestId 无效",
|
|
1201
|
+
"en": "The Checkpoint commit message or requestId is invalid."
|
|
1202
|
+
},
|
|
1203
|
+
"checkpointReturnedAnUnexpectedState": {
|
|
1204
|
+
"zh": "Checkpoint 返回了非预期状态",
|
|
1205
|
+
"en": "Checkpoint returned an unexpected state."
|
|
1206
|
+
},
|
|
1207
|
+
"worktreeDidNotReturnToWorkingAfterCheckpoint": {
|
|
1208
|
+
"zh": "Checkpoint 后 Worktree 状态未收敛到 Working",
|
|
1209
|
+
"en": "Worktree did not return to Working after Checkpoint."
|
|
1210
|
+
},
|
|
1211
|
+
"onlyTheOwnerIsolatedSessionCanPreviewChanges": {
|
|
1212
|
+
"zh": "只有 owner Isolated Session 可以预览修改",
|
|
1213
|
+
"en": "Only the owner Isolated Session can preview changes."
|
|
1214
|
+
},
|
|
1215
|
+
"localPreviewPreflightFoundContentConflicts": {
|
|
1216
|
+
"zh": "Local Preview 预检发现内容冲突",
|
|
1217
|
+
"en": "Local Preview preflight found content conflicts."
|
|
1218
|
+
},
|
|
1219
|
+
"previewReturnedAnUnexpectedState": {
|
|
1220
|
+
"zh": "Preview 返回了非预期状态",
|
|
1221
|
+
"en": "Preview returned an unexpected state."
|
|
1222
|
+
},
|
|
1223
|
+
"onlyTheOwnerIsolatedSessionCanResumeEditing456": {
|
|
1224
|
+
"zh": "只有 owner Isolated Session 可以继续修改",
|
|
1225
|
+
"en": "Only the owner Isolated Session can resume editing."
|
|
1226
|
+
},
|
|
1227
|
+
"invalidConflictRecoveryRequestIdentity": {
|
|
1228
|
+
"zh": "冲突恢复请求身份无效",
|
|
1229
|
+
"en": "Invalid conflict recovery request identity."
|
|
1230
|
+
},
|
|
1231
|
+
"theWorktreeIdentityOrStateDoesNotMatchAfter": {
|
|
1232
|
+
"zh": "恢复编辑后 Worktree 身份或状态不一致",
|
|
1233
|
+
"en": "The Worktree identity or state does not match after resuming editing."
|
|
1234
|
+
},
|
|
1235
|
+
"theHostCouldNotPersistTheExactConflictRecovery": {
|
|
1236
|
+
"zh": "Host 未能持久化精确冲突恢复凭证",
|
|
1237
|
+
"en": "The Host could not persist the exact conflict recovery receipt."
|
|
1238
|
+
},
|
|
1239
|
+
"onlyTheOwnerIsolatedSessionCanRequestReviewRegeneration462": {
|
|
1240
|
+
"zh": "只有 owner Isolated Session 可以请求重新生成验收结果",
|
|
1241
|
+
"en": "Only the owner Isolated Session can request review regeneration."
|
|
1242
|
+
},
|
|
1243
|
+
"onlyTheOwnerIsolatedSessionCanRollBackLocal": {
|
|
1244
|
+
"zh": "只有 owner Isolated Session 可以撤回 Local Preview",
|
|
1245
|
+
"en": "Only the owner Isolated Session can roll back Local Preview."
|
|
1246
|
+
},
|
|
1247
|
+
"rollbackPreviewReturnedAnUnexpectedState": {
|
|
1248
|
+
"zh": "Rollback Preview 返回了非预期状态",
|
|
1249
|
+
"en": "Rollback Preview returned an unexpected state."
|
|
1250
|
+
},
|
|
1251
|
+
"theOwnerSessionHasTakenOverThisWorktreeOnly467": {
|
|
1252
|
+
"zh": "Owner Session 已接管该 Worktree,只有 owner 可以 Discard",
|
|
1253
|
+
"en": "The owner Session has taken over this Worktree. Only the owner can Discard it."
|
|
1254
|
+
},
|
|
1255
|
+
"discardReturnedAnUnexpectedState": {
|
|
1256
|
+
"zh": "Discard 返回了非预期状态",
|
|
1257
|
+
"en": "Discard returned an unexpected state."
|
|
1258
|
+
},
|
|
1259
|
+
"onlyTheOwnerIsolatedSessionCanCommitAcceptance": {
|
|
1260
|
+
"zh": "只有 owner Isolated Session 可以提交验收",
|
|
1261
|
+
"en": "Only the owner Isolated Session can commit acceptance."
|
|
1262
|
+
},
|
|
1263
|
+
"theCommitMessageMustContain1500Characters": {
|
|
1264
|
+
"zh": "Commit Message 必须为 1–500 个字符",
|
|
1265
|
+
"en": "The commit message must contain 1–500 characters."
|
|
1266
|
+
},
|
|
1267
|
+
"applyingToLocalCausedConflicts": {
|
|
1268
|
+
"zh": "Local 应用发生冲突",
|
|
1269
|
+
"en": "Applying to Local caused conflicts."
|
|
1270
|
+
},
|
|
1271
|
+
"finalizeReturnedAnUnexpectedState": {
|
|
1272
|
+
"zh": "Finalize 返回了非预期状态",
|
|
1273
|
+
"en": "Finalize returned an unexpected state."
|
|
1274
|
+
},
|
|
1275
|
+
"onlyTheOwnerIsolatedSessionCanFinalizeLocalPreview": {
|
|
1276
|
+
"zh": "只有 owner Isolated Session 可以完成 Local Preview 验收",
|
|
1277
|
+
"en": "Only the owner Isolated Session can finalize Local Preview acceptance."
|
|
1278
|
+
},
|
|
1279
|
+
"finalizePreviewReturnedAnUnexpectedState": {
|
|
1280
|
+
"zh": "Finalize Preview 返回了非预期状态",
|
|
1281
|
+
"en": "Finalize Preview returned an unexpected state."
|
|
1282
|
+
},
|
|
1283
|
+
"theNextWorktreeIterationDidNotEnterWorkingState484": {
|
|
1284
|
+
"zh": "下一轮 Worktree 未进入 working 状态",
|
|
1285
|
+
"en": "The next Worktree iteration did not enter working state."
|
|
1286
|
+
},
|
|
1287
|
+
"theNextIterationSWorktreeLineageOrCwdIdentity": {
|
|
1288
|
+
"zh": "下一轮 Worktree 的 lineage 或 cwd 身份不一致",
|
|
1289
|
+
"en": "The next iteration's Worktree lineage or cwd identity does not match."
|
|
1290
|
+
},
|
|
1291
|
+
"gitFailed": {
|
|
1292
|
+
"zh": "git {p0} 失败({p1}):{p2}",
|
|
1293
|
+
"en": "git {p0} failed ({p1}): {p2}"
|
|
1294
|
+
},
|
|
1295
|
+
"reviewChangedFilesContainsAnUnsafeProjectRelativePath": {
|
|
1296
|
+
"zh": "验收 changedFiles 包含不安全的项目相对路径。",
|
|
1297
|
+
"en": "review changedFiles contains an unsafe project-relative path"
|
|
1298
|
+
},
|
|
1299
|
+
"reviewDiffPathInventoryExceedsTheSafeReadBudget": {
|
|
1300
|
+
"zh": "验收 Diff 路径清单超出安全读取额度。",
|
|
1301
|
+
"en": "review diff path inventory exceeds the safe read budget"
|
|
1302
|
+
},
|
|
1303
|
+
"gitDiffReturnedAnUnsafeProjectRelativePath": {
|
|
1304
|
+
"zh": "git diff 返回了不安全的项目相对路径。",
|
|
1305
|
+
"en": "git diff returned an unsafe project-relative path"
|
|
1306
|
+
},
|
|
1307
|
+
"reviewChangedFilesNoLongerMatchesTheIsolatedSnapshot": {
|
|
1308
|
+
"zh": "验收 changedFiles 不再匹配隔离快照。",
|
|
1309
|
+
"en": "review changedFiles no longer matches the isolated snapshot"
|
|
1310
|
+
},
|
|
1311
|
+
"worktreeConsoleOperationFailed": {
|
|
1312
|
+
"zh": "Worktree Console 操作失败",
|
|
1313
|
+
"en": "Worktree Console operation failed."
|
|
1314
|
+
},
|
|
1315
|
+
"theWorktreeQuarantinePathIsInvalidOrAlreadyOccupied": {
|
|
1316
|
+
"zh": "Worktree quarantine 路径无效或已被占用",
|
|
1317
|
+
"en": "The Worktree quarantine path is invalid or already occupied."
|
|
1318
|
+
},
|
|
1319
|
+
"theWorktreeDirectoryObjectWasReplacedRecursiveCleanupWas": {
|
|
1320
|
+
"zh": "Worktree 目录对象已被替换,未执行递归清理",
|
|
1321
|
+
"en": "The Worktree directory object was replaced. Recursive cleanup was not performed."
|
|
1322
|
+
},
|
|
1323
|
+
"refusingToDeleteWorktreeResidueThatIsNotA": {
|
|
1324
|
+
"zh": "拒绝删除非目录或符号链接形式的 Worktree 残余",
|
|
1325
|
+
"en": "Refusing to delete Worktree residue that is not a directory or is a symbolic link."
|
|
1326
|
+
},
|
|
1327
|
+
"gitTimedOutMsAndWasTerminated": {
|
|
1328
|
+
"zh": "git {p0} 超时({p1}ms),已终止",
|
|
1329
|
+
"en": "git {p0} timed out ({p1}ms) and was terminated."
|
|
1330
|
+
},
|
|
1331
|
+
"gitOperationFailedGit": {
|
|
1332
|
+
"zh": "Git 操作失败: git {p0}{p1}",
|
|
1333
|
+
"en": "Git operation failed: git {p0}{p1}"
|
|
1334
|
+
},
|
|
1335
|
+
"invalidInternalGitArtifactName": {
|
|
1336
|
+
"zh": "内部 Git artifact 名称无效",
|
|
1337
|
+
"en": "Invalid internal Git artifact name."
|
|
1338
|
+
},
|
|
1339
|
+
"cannotReadTheInternalGitArtifact": {
|
|
1340
|
+
"zh": "无法读取内部 Git artifact",
|
|
1341
|
+
"en": "Cannot read the internal Git artifact."
|
|
1342
|
+
},
|
|
1343
|
+
"cannotProveGitCommitAncestry": {
|
|
1344
|
+
"zh": "无法证明 Git commit ancestry",
|
|
1345
|
+
"en": "Cannot prove Git commit ancestry."
|
|
1346
|
+
},
|
|
1347
|
+
"managedCheckoutsJsonIsCorruptCheckoutAccessHasStopped": {
|
|
1348
|
+
"zh": "managed-checkouts.json 损坏,已停止访问 checkout",
|
|
1349
|
+
"en": "managed-checkouts.json is corrupt. Checkout access has stopped."
|
|
1350
|
+
},
|
|
1351
|
+
"commandDirty": {
|
|
1352
|
+
"zh": "有未提交修改:{value}",
|
|
1353
|
+
"en": "dirty: {value}"
|
|
1354
|
+
},
|
|
1355
|
+
"commandCurrent": {
|
|
1356
|
+
"zh": "当前:{branch} @ {oid}",
|
|
1357
|
+
"en": "current: {branch} @ {oid}"
|
|
1358
|
+
},
|
|
1359
|
+
"commandDelivery": {
|
|
1360
|
+
"zh": "交付:{state}",
|
|
1361
|
+
"en": "delivery: {state}"
|
|
1362
|
+
},
|
|
1363
|
+
"commandDetached": {
|
|
1364
|
+
"zh": "分离 HEAD",
|
|
1365
|
+
"en": "detached"
|
|
1366
|
+
},
|
|
1367
|
+
"commandNoOp": {
|
|
1368
|
+
"zh": "无新增提交",
|
|
1369
|
+
"en": "no-op"
|
|
1370
|
+
},
|
|
1371
|
+
"cleanupIdentityChanged": {
|
|
1372
|
+
"zh": "Worktree 的 Git 身份或路径已变化,未执行清理。",
|
|
1373
|
+
"en": "The Worktree Git identity or path has changed. Cleanup was not performed."
|
|
1374
|
+
},
|
|
1375
|
+
"cleanupResidue": {
|
|
1376
|
+
"zh": "Git Worktree 已解除注册,仅剩物理目录残余;可重试清理环境。",
|
|
1377
|
+
"en": "Git Worktree has been unregistered; only directory residue remains. Environment cleanup can be retried."
|
|
1378
|
+
},
|
|
1379
|
+
"cleanupIncompleteDelivery": {
|
|
1380
|
+
"zh": "Worktree 交付状态不完整,未执行清理。",
|
|
1381
|
+
"en": "The Worktree delivery state is incomplete. Cleanup was not performed."
|
|
1382
|
+
},
|
|
1383
|
+
"cleanupIncompleteReceipt": {
|
|
1384
|
+
"zh": "Worktree cleanup receipt 不完整",
|
|
1385
|
+
"en": "The Worktree cleanup receipt is incomplete."
|
|
1386
|
+
},
|
|
1387
|
+
"cleanupMissingBeforeQuarantine": {
|
|
1388
|
+
"zh": "Worktree 记录在 quarantine 前丢失",
|
|
1389
|
+
"en": "The Worktree record was lost before quarantine."
|
|
1390
|
+
},
|
|
1391
|
+
"cleanupQuarantineIdentity": {
|
|
1392
|
+
"zh": "Worktree quarantine 身份无法验证",
|
|
1393
|
+
"en": "The Worktree quarantine identity cannot be verified."
|
|
1394
|
+
},
|
|
1395
|
+
"cleanupNewChanges": {
|
|
1396
|
+
"zh": "Worktree 在提交后出现了新修改,未执行清理。",
|
|
1397
|
+
"en": "Worktree has new changes after the commit. Cleanup was not performed."
|
|
1398
|
+
},
|
|
1399
|
+
"cleanupMissingBeforeRemoval": {
|
|
1400
|
+
"zh": "Worktree 记录在清理前丢失,未执行清理。",
|
|
1401
|
+
"en": "The Worktree record was lost before cleanup. Cleanup was not performed."
|
|
1402
|
+
},
|
|
1403
|
+
"cleanupQuarantineBusy": {
|
|
1404
|
+
"zh": "Worktree 已安全移入 quarantine,但目录仍被进程占用;dsh-git-worktree 会在同一清理授权内有限重试。",
|
|
1405
|
+
"en": "Worktree was safely moved into quarantine, but a process still holds the directory. dsh-git-worktree will retry a limited number of times under the same cleanup authorization."
|
|
1406
|
+
},
|
|
1407
|
+
"cleanupDirectoryBusy": {
|
|
1408
|
+
"zh": "Worktree 目录仍被进程占用或 Windows 暂时拒绝删除;dsh-git-worktree 已完成有限重试,可稍后重试清理。",
|
|
1409
|
+
"en": "A process still holds the Worktree directory or Windows temporarily denied deletion. dsh-git-worktree has completed its limited retries. Retry cleanup later."
|
|
1410
|
+
},
|
|
1411
|
+
"commandConflict": {
|
|
1412
|
+
"zh": "冲突:{files}",
|
|
1413
|
+
"en": "Conflict: {files}"
|
|
1414
|
+
},
|
|
1415
|
+
"localCheckout": {
|
|
1416
|
+
"zh": "本地检出",
|
|
1417
|
+
"en": "Local Checkout"
|
|
1418
|
+
},
|
|
1419
|
+
"isolatedCheckout": {
|
|
1420
|
+
"zh": "隔离检出",
|
|
1421
|
+
"en": "Isolated Checkout"
|
|
1422
|
+
},
|
|
1423
|
+
"cleanupTimeout": {
|
|
1424
|
+
"zh": "[session-checkout] {p0} 清理超时({p1}ms),已跳过本次收敛",
|
|
1425
|
+
"en": "[session-checkout] Cleanup of {p0} timed out ({p1}ms); skipped this reconciliation."
|
|
1426
|
+
},
|
|
1427
|
+
"checkpointRefCleanupFailed": {
|
|
1428
|
+
"zh": "[session-checkout] 清理未生效 Checkpoint ref 失败,已保守保留不可见引用",
|
|
1429
|
+
"en": "[session-checkout] Failed to clean up the unapplied Checkpoint ref; conservatively retained the hidden ref."
|
|
1430
|
+
},
|
|
1431
|
+
"tempDirectoryCleanupFailed": {
|
|
1432
|
+
"zh": "[session-checkout-apply] 临时目录清理失败:",
|
|
1433
|
+
"en": "[session-checkout-apply] Failed to clean up the temporary directory:"
|
|
1434
|
+
},
|
|
1435
|
+
"corruptPrimaryIndex": {
|
|
1436
|
+
"zh": "[数据恢复] 主索引文件损坏: {p0}",
|
|
1437
|
+
"en": "[Data recovery] Primary index file is corrupt: {p0}"
|
|
1438
|
+
},
|
|
1439
|
+
"recoveredFromTmp": {
|
|
1440
|
+
"zh": "[数据恢复] 从 .tmp 文件恢复: {p0}",
|
|
1441
|
+
"en": "[Data recovery] Recovered from .tmp file: {p0}"
|
|
1442
|
+
},
|
|
1443
|
+
"recoveredFromBak": {
|
|
1444
|
+
"zh": "[数据恢复] 从 .bak 文件恢复: {p0}",
|
|
1445
|
+
"en": "[Data recovery] Recovered from .bak file: {p0}"
|
|
1446
|
+
},
|
|
1447
|
+
"corruptBackupIndex": {
|
|
1448
|
+
"zh": "[数据恢复] .bak 文件也损坏: {p0}",
|
|
1449
|
+
"en": "[Data recovery] The .bak file is also corrupt: {p0}"
|
|
1450
|
+
},
|
|
1451
|
+
"previewRefsCleanupFailed": {
|
|
1452
|
+
"zh": "[session-checkout] 清理 Preview refs 失败,已保守保留不可见引用",
|
|
1453
|
+
"en": "[session-checkout] Failed to clean up Preview refs; conservatively retained the hidden refs."
|
|
1454
|
+
},
|
|
1455
|
+
"internalRefsCleanupFailed": {
|
|
1456
|
+
"zh": "[session-checkout] 清理内部 Session Checkout refs 失败,已保守保留不可见引用",
|
|
1457
|
+
"en": "[session-checkout] Failed to clean up internal Session Checkout refs; conservatively retained the hidden refs."
|
|
1458
|
+
}
|
|
1459
|
+
};
|
|
1460
|
+
/** Registration metadata is shared between sessions, so expose both languages. */
|
|
1461
|
+
export function hostRegistrationMessage(key) {
|
|
1462
|
+
return hostMessages[key].zh + ' / ' + hostMessages[key].en;
|
|
1463
|
+
}
|
|
1464
|
+
/**
|
|
1465
|
+
* These exact legacy messages are persisted and used by cleanup recovery discriminants.
|
|
1466
|
+
* Keep their stored values unchanged; localize only their public projection.
|
|
1467
|
+
* This finite allowlist never interprets or rewrites third-party error text.
|
|
1468
|
+
*/
|
|
1469
|
+
const persistedCleanupKeys = ["cleanupIdentityChanged", "cleanupResidue", "cleanupIncompleteDelivery", "cleanupIncompleteReceipt", "cleanupMissingBeforeQuarantine", "cleanupQuarantineIdentity", "cleanupNewChanges", "cleanupMissingBeforeRemoval", "cleanupQuarantineBusy", "cleanupDirectoryBusy"];
|
|
1470
|
+
export function hostPersistedCleanupMessage(message, translate) {
|
|
1471
|
+
const key = persistedCleanupKeys.find(key => hostMessages[key].zh === message);
|
|
1472
|
+
return key ? translate(key) : message;
|
|
1473
|
+
}
|
|
1474
|
+
//# sourceMappingURL=host-messages.js.map
|