engineering-memory 1.11.19 → 1.11.21
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/bin/engineering-memory.mjs +14 -24
- package/install/localization.generated.mjs +18 -0
- package/package.json +1 -1
- package/runtime/build.json +1 -1
- package/runtime/dist/src/auth/browser-auth.js +15 -4
- package/runtime/dist/src/config.js +1 -0
- package/runtime/dist/src/git/git-inspector.js +10 -0
- package/runtime/dist/src/localization/catalogue.generated.js +786 -0
- package/runtime/dist/src/mcp/delivery-tools.js +15 -48
- package/runtime/dist/src/mcp/onboarding-tools.js +289 -618
- package/runtime/dist/src/mcp/questionnaire-tools.js +25 -26
- package/runtime/dist/src/mcp/status-meaning-tools.js +12 -86
- package/runtime/dist/src/mcp/status-remap-tools.js +252 -0
- package/runtime/dist/src/mcp/tool-annotations.js +1 -0
- package/runtime/dist/src/mcp/tool-definitions.js +33 -55
- package/runtime/dist/src/mcp/workflow-tools.js +17 -108
- package/runtime/dist/src/mcp/worktree-tools.js +168 -250
- package/runtime/dist/src/runtime/api-client.js +8 -2
- package/runtime/dist/src/runtime/bridge-service.js +100 -94
- package/runtime/dist/src/runtime/create-bridge-service.js +4 -2
- package/runtime/dist/src/runtime/language-store.js +6 -0
- package/runtime/dist/src/runtime/release-notes.js +9 -7
- package/runtime/dist/src/runtime/release-report.js +30 -30
- package/runtime/dist/src/runtime/task-start.js +75 -73
- package/runtime/dist/src/runtime/texts.js +135 -0
- package/runtime/dist/src/runtime/worktree-pool.js +30 -5
- package/runtime/dist/src/runtime/worktree-preparation.js +3 -2
- package/runtime/dist/src/utilities/process.js +7 -0
- package/skill/references/lifecycle.md +21 -3
- package/skill/references/project-onboarding.md +5 -2
- package/skill/references/questionnaires.md +5 -1
|
@@ -0,0 +1,786 @@
|
|
|
1
|
+
export const bundledDirections = { en: 'ltr', tr: 'ltr' };
|
|
2
|
+
export const bundledTexts = {
|
|
3
|
+
en: {
|
|
4
|
+
'cancelDelivery.context': 'A cancelled delivery leaves the folder reserved for this task until you say what happens to it, and a reserved folder keeps counting against the worktree limit. The branch and every commit on it stay either way.',
|
|
5
|
+
'cancelDelivery.example': 'Freeing the folder lets the next task start in it; keeping it leaves it reserved.',
|
|
6
|
+
'cancelDelivery.keep': 'Keep the folder as it is',
|
|
7
|
+
'cancelDelivery.kept': 'Nothing changes. The folder stays reserved for this task.',
|
|
8
|
+
'cancelDelivery.message': '{task} will not be delivered. What should happen to this folder?',
|
|
9
|
+
'cancelDelivery.release': 'Free the folder; the branch stays',
|
|
10
|
+
'cancelDelivery.released': 'The folder returns to the pool. Its files are left alone and the branch stays.',
|
|
11
|
+
'cancelDelivery.save': 'Save the changes and free the folder',
|
|
12
|
+
'cancelDelivery.saved': 'The uncommitted changes are written to a Git ref first, then the folder is freed. They can be restored from that ref.',
|
|
13
|
+
'cancelDelivery.uncommittedManaged': 'The folder has uncommitted changes; saving writes them to a Git ref they can be restored from.',
|
|
14
|
+
'cancelDelivery.uncommittedOwn': 'The folder has uncommitted changes; this is your own folder, so its files are never touched when it is freed.',
|
|
15
|
+
'decisionMode.approveForMe.description': 'I decide routine matters and ask you about critical ones.',
|
|
16
|
+
'decisionMode.approveForMe.label': 'Approve for me',
|
|
17
|
+
'decisionMode.ask.description': 'I ask you whenever a decision is needed.',
|
|
18
|
+
'decisionMode.ask.label': 'Ask for approval',
|
|
19
|
+
'decisionMode.autonomous.description': 'I weigh the choices against your goals and record my reasoning.',
|
|
20
|
+
'decisionMode.autonomous.label': 'Autonomous',
|
|
21
|
+
'decisionMode.context': 'This choice applies to this task; you can change it anytime.',
|
|
22
|
+
'decisionMode.example': 'For example, you can delegate a release decision or approve it yourself.',
|
|
23
|
+
'decisionMode.start': 'How should we work on this task?',
|
|
24
|
+
'decisionMode.switch': 'Which mode should we switch to?',
|
|
25
|
+
'delivery.baseContext': 'Specify the target branch explicitly. The remote default is not selected automatically.',
|
|
26
|
+
'delivery.baseMessage': 'Which branch should the PR/MR target?',
|
|
27
|
+
'delivery.baseTitle': 'Target branch',
|
|
28
|
+
'delivery.baseWrite.description': 'Target the branch you enter; merging is a separate decision.',
|
|
29
|
+
'delivery.baseWrite.label': 'Use this branch',
|
|
30
|
+
'delivery.commit.description': 'Save the changes on this local branch.',
|
|
31
|
+
'delivery.commit.label': 'Commit only',
|
|
32
|
+
'delivery.commit_push.description': 'Push this branch to the named remote repository.',
|
|
33
|
+
'delivery.commit_push.label': 'Commit and push',
|
|
34
|
+
'delivery.commit_push_draft_pr.description': 'Push the branch and open a draft that is not ready for review.',
|
|
35
|
+
'delivery.commit_push_draft_pr.label': 'Commit, push and draft PR/MR',
|
|
36
|
+
'delivery.commit_push_pr.description': 'Push the branch and open a request ready for review.',
|
|
37
|
+
'delivery.commit_push_pr.label': 'Commit, push and PR/MR',
|
|
38
|
+
'delivery.context': 'The task is verified and closed. This choice determines where the code goes; approval to publish memory does not authorize Git delivery.',
|
|
39
|
+
'delivery.defer.description': 'Keep the task closed and preserve its files without Git delivery.',
|
|
40
|
+
'delivery.defer.label': 'Keep it for now',
|
|
41
|
+
'delivery.destination': 'Branch / remote repository',
|
|
42
|
+
'delivery.example': 'Commit keeps work on the local branch. PR/MR pushes that branch and opens it for team review.',
|
|
43
|
+
'delivery.message': 'How should we deliver these changes?',
|
|
44
|
+
'forgetWorktree.context': 'A checkout that cannot be read is still counted against the worktree limit although nothing can use it; forgetting it frees that slot. No file in the folder is touched or deleted, and the branch stays.',
|
|
45
|
+
'forgetWorktree.example': 'After this, {task} no longer appears in the worktree list and the {folder} folder stays on disk exactly as it is.',
|
|
46
|
+
'forgetWorktree.forget': 'Stop tracking it; leave the files alone',
|
|
47
|
+
'forgetWorktree.forgotten': 'The record is removed and the slot is free again. The folder, its files and its branch stay untouched.',
|
|
48
|
+
'forgetWorktree.keep': 'Keep tracking it',
|
|
49
|
+
'forgetWorktree.kept': 'Nothing changes. The record stays and keeps counting against the limit.',
|
|
50
|
+
'forgetWorktree.message': 'The {folder} folder of task {task} can no longer be read as a Git checkout. Should Engineering Memory stop tracking it?',
|
|
51
|
+
'forgetWorktree.pendingDelivery': 'That task closed without its delivery being settled, so any undelivered work exists only in that folder.',
|
|
52
|
+
'gitPreferences.ask.development': 'Save {source} as the shared development branch?',
|
|
53
|
+
'gitPreferences.ask.production': 'Save {source} as the shared production branch?',
|
|
54
|
+
'gitPreferences.ask.test': 'Save {source} as the shared test branch?',
|
|
55
|
+
'gitPreferences.askNone.development': 'Record that this project has no development branch?',
|
|
56
|
+
'gitPreferences.askNone.production': 'Record that this project has no production branch?',
|
|
57
|
+
'gitPreferences.askNone.test': 'Record that this project has no test branch?',
|
|
58
|
+
'gitPreferences.context': 'These branches belong to the whole project: every member who starts a task here is offered them as the branch the task starts from. Only a project or organization administrator can change them. No branch is created, moved or deleted; only the preference is recorded.',
|
|
59
|
+
'gitPreferences.example': 'Once the development role points at origin/develop, the start form of the next task offers origin/develop as its first choice.',
|
|
60
|
+
'gitPreferences.leave': 'Leave unchanged',
|
|
61
|
+
'gitPreferences.message': 'Save the shared branch preferences of this project? Nothing is saved until you answer.',
|
|
62
|
+
'gitPreferences.save': 'Save this choice',
|
|
63
|
+
'gitPreferences.saved': 'This branch is recorded as the project default now, for every member.',
|
|
64
|
+
'gitPreferences.unchanged': 'Nothing changes. This role stays as it is and can be answered another time.',
|
|
65
|
+
'inspection.defer': 'Not now',
|
|
66
|
+
'inspection.deferDetail': 'Nothing is inspected and nothing is written. Your answer is recorded, so inspecting this source later is a new request.',
|
|
67
|
+
'inspection.example': 'When the inspection finishes, a memory record is proposed for each screen, service and flow, and you decide which of them get published.',
|
|
68
|
+
'inspection.localChanges': 'Application code will stay unchanged. Uncommitted changes will not enter shared memory.',
|
|
69
|
+
'inspection.modes.adopt': 'Start learning the existing project and its architecture?',
|
|
70
|
+
'inspection.modes.refresh': 'Start comparing project memory with the current code?',
|
|
71
|
+
'inspection.modes.rework': 'Start inspecting the existing project before planning its rework?',
|
|
72
|
+
'inspection.review': 'This approval starts the inspection. Permanent memory changes will be submitted for separate approval.',
|
|
73
|
+
'inspection.rework.preserve': 'Rework goal: preserve existing behavior.',
|
|
74
|
+
'inspection.rework.redesign': 'Rework goal: redesign the product. The target needs separate approval before implementation.',
|
|
75
|
+
'inspection.scope': 'Inspect architecture, state, services, network, data models, screens and flows.',
|
|
76
|
+
'inspection.source': 'Source',
|
|
77
|
+
'inspection.start': 'Start inspection',
|
|
78
|
+
'inspection.startDetail': 'The inspection starts now. The code stays unchanged and every record it writes comes back for your approval.',
|
|
79
|
+
'inspection.why.adopt': 'The project enters memory for the first time. The inspection reads the code at that source and works out how the project behaves.',
|
|
80
|
+
'inspection.why.refresh': 'The inspection compares the records already in memory with the code at that source and works out what changed.',
|
|
81
|
+
'inspection.why.rework': 'The rework plan can only be written once the project as it stands today is read.',
|
|
82
|
+
'move.after': 'The old repository is kept in the project history. Teammates still working in it can finish their open tasks and start new ones from the new repository. The project can be moved again later.',
|
|
83
|
+
'move.approve.description': 'The project points at this repository from now on and work can start here right away.',
|
|
84
|
+
'move.approve.label': 'Move the project here',
|
|
85
|
+
'move.ask': 'Move the project "{name}" to this repository?',
|
|
86
|
+
'move.decline.description': 'Nothing changes. The project keeps its current repository and no work can start in this folder.',
|
|
87
|
+
'move.decline.label': 'Do not move',
|
|
88
|
+
'move.example': 'After the move, a task started in this folder belongs to the same project and reads the same memory as before.',
|
|
89
|
+
'move.from': 'The project lives in',
|
|
90
|
+
'move.keeps': 'The project continues as it is: {tasks} tasks, {records} memory records and {items} work items stay with it; nothing is deleted or learned again.',
|
|
91
|
+
'move.to': 'This folder points at',
|
|
92
|
+
'move.unknown': 'address not recorded',
|
|
93
|
+
'move.why': 'The code of this project moved to another repository. This folder is not recognised as the home of the project, so no new work can start here.',
|
|
94
|
+
'onboarding.behavior.context': 'This decides what both the inspection and the plan aim at. Preserving means the screens and flows a user sees stay the same while the code underneath changes. Redesigning means the product itself changes, and the target screens, flows and contracts are approved before any implementation starts.',
|
|
95
|
+
'onboarding.behavior.example': 'If the behavior is preserved, a screen that asks for a serial number today still asks for it after the rework.',
|
|
96
|
+
'onboarding.behavior.message': 'Should the rework keep the product behaving as it does today, or redesign it?',
|
|
97
|
+
'onboarding.behavior.preserve.description': 'The rework only changes how the code is built; what the user sees stays the same.',
|
|
98
|
+
'onboarding.behavior.preserve.label': 'Preserve current behavior',
|
|
99
|
+
'onboarding.behavior.redesign.description': 'Nothing is implemented until the target screens, flows and contracts are approved.',
|
|
100
|
+
'onboarding.behavior.redesign.label': 'Redesign the product explicitly',
|
|
101
|
+
'onboarding.field.change': 'Change to {value}',
|
|
102
|
+
'onboarding.field.changeDetail': 'The project is saved as {value} and the remaining questions follow it.',
|
|
103
|
+
'onboarding.field.context': 'This value is saved with the onboarding choices and later work reads it from there instead of guessing. Keep it, write a different one, or leave it undecided; a value left undecided is never saved quietly.',
|
|
104
|
+
'onboarding.field.defer.description': 'Nothing is saved. Onboarding stops here and you come back to this question once you have decided.',
|
|
105
|
+
'onboarding.field.defer.label': 'Defer this value explicitly',
|
|
106
|
+
'onboarding.field.edit.description': 'What you write below is saved instead of the value above.',
|
|
107
|
+
'onboarding.field.edit.label': 'Edit this value in the field below',
|
|
108
|
+
'onboarding.field.editTitle': 'Edited value',
|
|
109
|
+
'onboarding.field.empty': 'not set yet',
|
|
110
|
+
'onboarding.field.example': 'If the runtime stays Node 22, a later task builds and tests on Node 22 instead of whatever the machine happens to have.',
|
|
111
|
+
'onboarding.field.idsTitle': 'Project ID JSON array',
|
|
112
|
+
'onboarding.field.keep.description': 'The value above is saved as it stands.',
|
|
113
|
+
'onboarding.field.keep.label': 'Keep this exact value',
|
|
114
|
+
'onboarding.field.value': 'Proposed value',
|
|
115
|
+
'onboarding.fieldNames.apiContract': 'API contract',
|
|
116
|
+
'onboarding.fieldNames.architecture': 'Application architecture',
|
|
117
|
+
'onboarding.fieldNames.authentication': 'Authentication',
|
|
118
|
+
'onboarding.fieldNames.backendProjectIds': 'Existing backend project links',
|
|
119
|
+
'onboarding.fieldNames.colorPalette': 'Color palette',
|
|
120
|
+
'onboarding.fieldNames.designSystem': 'Design system',
|
|
121
|
+
'onboarding.fieldNames.environments': 'Environments and configuration',
|
|
122
|
+
'onboarding.fieldNames.figma': 'Figma source',
|
|
123
|
+
'onboarding.fieldNames.localization': 'Localization languages',
|
|
124
|
+
'onboarding.fieldNames.migrations': 'Migration strategy',
|
|
125
|
+
'onboarding.fieldNames.navigation': 'Navigation',
|
|
126
|
+
'onboarding.fieldNames.platforms': 'Platforms',
|
|
127
|
+
'onboarding.fieldNames.runtime': 'Runtime and toolchain contract',
|
|
128
|
+
'onboarding.fieldNames.serviceReadiness': 'Service readiness',
|
|
129
|
+
'onboarding.fieldNames.stack': 'Application stack',
|
|
130
|
+
'onboarding.fieldNames.storage': 'Storage and persistence',
|
|
131
|
+
'onboarding.fieldNames.typography': 'Font families and text styles',
|
|
132
|
+
'onboarding.git.branchTitle': 'Branch name',
|
|
133
|
+
'onboarding.git.development.context': 'Every task you start later branches off this one and is compared against it. For a repository that does not exist yet, write the name its first branch will have. The branch is used on the origin remote once that remote is connected.',
|
|
134
|
+
'onboarding.git.development.example': 'With main here, a later task branches off main and its pull request targets main.',
|
|
135
|
+
'onboarding.git.development.message': 'Which branch should new task branches start from?',
|
|
136
|
+
'onboarding.git.development.second.description': 'Nothing is saved and setup stops here; you can continue whenever you want.',
|
|
137
|
+
'onboarding.git.development.second.label': 'Do not start setup yet',
|
|
138
|
+
'onboarding.git.production.context': 'It is recorded once so later work knows where a finished change goes. If there is no such branch yet, say so explicitly and you are not asked again.',
|
|
139
|
+
'onboarding.git.production.example': 'With main as the release branch, where a finished task goes is never asked again.',
|
|
140
|
+
'onboarding.git.production.message': 'Which branch is this project released from?',
|
|
141
|
+
'onboarding.git.production.second.description': 'It is recorded as absent and you are not asked again. You can set it later.',
|
|
142
|
+
'onboarding.git.production.second.label': 'There is no release branch yet',
|
|
143
|
+
'onboarding.git.set.description': 'That branch is saved for this project.',
|
|
144
|
+
'onboarding.git.set.label': 'Use the branch named below',
|
|
145
|
+
'onboarding.git.test.context': 'It is recorded once so later work knows where a finished change is tested. If there is no such branch yet, say so explicitly and you are not asked again.',
|
|
146
|
+
'onboarding.git.test.example': 'With develop as the test branch, where the tests run is never asked again.',
|
|
147
|
+
'onboarding.git.test.message': 'Which branch is this project tested on?',
|
|
148
|
+
'onboarding.git.test.second.description': 'It is recorded as absent and you are not asked again. You can set it later.',
|
|
149
|
+
'onboarding.git.test.second.label': 'There is no test branch yet',
|
|
150
|
+
'onboarding.mode.adopt.description': 'The code is read as it stands and written into memory; nothing is redesigned.',
|
|
151
|
+
'onboarding.mode.adopt.label': 'Learn and preserve the existing architecture',
|
|
152
|
+
'onboarding.mode.context': 'The answer decides what happens first: the project is set up from scratch, the existing one is read and preserved as it is, or it is read first and then reworked phase by phase. Reading an existing project never changes its code or its architecture.',
|
|
153
|
+
'onboarding.mode.example': 'Choosing to learn the existing project means the next step reads the code and writes down how it works, without changing a line.',
|
|
154
|
+
'onboarding.mode.greenfield.description': 'The project starts from the profile you approve next; no existing code is read.',
|
|
155
|
+
'onboarding.mode.greenfield.label': 'Set up a new or barely-started project',
|
|
156
|
+
'onboarding.mode.message': 'How should this project enter Engineering Memory?',
|
|
157
|
+
'onboarding.mode.refresh.description': 'The records already in memory are compared with the current code and the differences come back as proposals.',
|
|
158
|
+
'onboarding.mode.refresh.label': 'Refresh memory against the current project',
|
|
159
|
+
'onboarding.mode.rework.description': 'The code is read first, and nothing changes until the rework plan is approved separately.',
|
|
160
|
+
'onboarding.mode.rework.label': 'Learn first, then plan a phased rework',
|
|
161
|
+
'onboarding.save.approve.description': 'The choices are saved. Nothing in the code changes.',
|
|
162
|
+
'onboarding.save.approve.label': 'Save these exact onboarding choices',
|
|
163
|
+
'onboarding.save.approveGit': 'The choices are saved and Git is prepared in this folder.',
|
|
164
|
+
'onboarding.save.context': 'Your answers become the onboarding record of this project, and later work reads the stack, the architecture and the remaining choices from there. Memory records and project links are approved separately; nothing is published to memory here.',
|
|
165
|
+
'onboarding.save.defer.description': 'Nothing is saved. You can go through the questions again later.',
|
|
166
|
+
'onboarding.save.defer.label': 'Keep the choices pending',
|
|
167
|
+
'onboarding.save.example': 'After saving, a later task reads the stack and the architecture from here instead of asking you again.',
|
|
168
|
+
'onboarding.save.git': 'Git is prepared in this folder: existing files stay as they are and none of them is deleted or replaced.',
|
|
169
|
+
'onboarding.save.message': 'Save the onboarding choices you just went through?',
|
|
170
|
+
'onboarding.save.route.adopt': 'learn and preserve the existing project',
|
|
171
|
+
'onboarding.save.route.greenfield': 'set up a new project',
|
|
172
|
+
'onboarding.save.route.refresh': 'refresh memory against the current project',
|
|
173
|
+
'onboarding.save.route.rework': 'learn first, then plan a phased rework',
|
|
174
|
+
'onboarding.save.routeLabel': 'Chosen route',
|
|
175
|
+
'questionnaire.answer': 'Answer',
|
|
176
|
+
'questionnaire.everyQuestion': 'To record a decision, answer each question or choose an option that ends the form. You can send a comment without selecting any option.',
|
|
177
|
+
'questionnaire.example': 'Example',
|
|
178
|
+
'questionnaire.feedback': 'Write an answer or comment (optional)',
|
|
179
|
+
'questionnaire.freeAnswer': 'Write another answer (optional)',
|
|
180
|
+
'questionnaire.freeText': 'You can type a different answer without choosing an option. Free text is not stored and cannot be replayed.',
|
|
181
|
+
'questionnaire.pending': 'Choose an answer to resolve this decision. Closing or cancelling the form leaves it pending.',
|
|
182
|
+
'questionnaire.recommended': 'Recommended',
|
|
183
|
+
'questionnaire.storedText': 'The bounded text field is stored as part of this exact decision and is replayed after restart.',
|
|
184
|
+
'releaseUnowned.context': 'This checkout was found without an ownership record, so it is protected and handed to no task. Releasing it runs the safety checks again first: a folder with uncommitted work is refused. No file and no branch is ever deleted.',
|
|
185
|
+
'releaseUnowned.example': 'Once it is released, the next task can start in that folder, and the work committed at {commit} stays on its branch.',
|
|
186
|
+
'releaseUnowned.message': 'Nobody is recorded as using the {folder} folder. If the agent that worked there has stopped and its delivery is finished, should the clean checkout become reusable?',
|
|
187
|
+
'releaseUnowned.preserve': 'Keep protected',
|
|
188
|
+
'releaseUnowned.preserved': 'Nothing changes. The folder stays protected and is given to no task.',
|
|
189
|
+
'releaseUnowned.release': 'Prior work finished; release after safety checks',
|
|
190
|
+
'releaseUnowned.released': 'The safety checks run and, if they pass, the folder returns to the pool.',
|
|
191
|
+
'retireWorktree.context': 'Folders in the old location are no longer part of the pool: they are never reused and do not count toward the limit.',
|
|
192
|
+
'retireWorktree.contextFolder': 'The branch and its commits stay. Git removes only a clean folder, and the files it ignores go with it.',
|
|
193
|
+
'retireWorktree.contextMissing': 'Only the record is left, so there is no folder to remove and no file is read or deleted.',
|
|
194
|
+
'retireWorktree.example': 'After this, {folder} is gone from the worktree list and branch {branch} still holds every commit made on it.',
|
|
195
|
+
'retireWorktree.exampleMissing': 'After this, {folder} is gone from the worktree list and nothing on disk changes.',
|
|
196
|
+
'retireWorktree.keep': 'Keep it',
|
|
197
|
+
'retireWorktree.kept': 'Nothing changes. The folder and its record stay exactly as they are.',
|
|
198
|
+
'retireWorktree.message': '{folder} is a worktree left in the old location (branch {branch}). Remove the folder?',
|
|
199
|
+
'retireWorktree.missing': 'The {folder} folder is gone but its worktree record is still here. Remove the record?',
|
|
200
|
+
'retireWorktree.noBranch': 'none',
|
|
201
|
+
'retireWorktree.retire': 'Remove the folder',
|
|
202
|
+
'retireWorktree.retired': 'Git removes the folder and Engineering Memory drops its record. The branch and its commits stay.',
|
|
203
|
+
'retireWorktree.retiredMissing': 'The stale record is removed. Nothing on disk changes.',
|
|
204
|
+
'reviewBatch.approved.description': 'Every listed record takes its new text now.',
|
|
205
|
+
'reviewBatch.approved.label': 'Publish all of them',
|
|
206
|
+
'reviewBatch.context': 'Publishing replaces the current text of these records for everyone who reads this memory. Earlier revisions stay in the history.',
|
|
207
|
+
'reviewBatch.defer.description': 'Nothing changes. The proposals stay pending.',
|
|
208
|
+
'reviewBatch.defer.label': 'Decide later',
|
|
209
|
+
'reviewBatch.example': 'After publishing, the next session that reads one of these records gets the new text instead of the old one.',
|
|
210
|
+
'reviewBatch.kinds.api_endpoint': 'api endpoint',
|
|
211
|
+
'reviewBatch.kinds.architecture_template': 'architecture template',
|
|
212
|
+
'reviewBatch.kinds.component_mapping': 'component mapping',
|
|
213
|
+
'reviewBatch.kinds.current_deviation': 'current deviation',
|
|
214
|
+
'reviewBatch.kinds.data_model': 'data model',
|
|
215
|
+
'reviewBatch.kinds.engineering_rule': 'engineering rule',
|
|
216
|
+
'reviewBatch.kinds.figma_mapping': 'figma mapping',
|
|
217
|
+
'reviewBatch.kinds.figma_reference': 'figma reference',
|
|
218
|
+
'reviewBatch.kinds.flow_logic': 'flow logic',
|
|
219
|
+
'reviewBatch.kinds.localization_contract': 'localization contract',
|
|
220
|
+
'reviewBatch.kinds.module_logic': 'module logic',
|
|
221
|
+
'reviewBatch.kinds.navigation_contract': 'navigation contract',
|
|
222
|
+
'reviewBatch.kinds.project_profile': 'project profile',
|
|
223
|
+
'reviewBatch.kinds.quality_gate': 'quality gate',
|
|
224
|
+
'reviewBatch.kinds.screen_logic': 'screen logic',
|
|
225
|
+
'reviewBatch.kinds.service_contract': 'service contract',
|
|
226
|
+
'reviewBatch.kinds.state_contract': 'state contract',
|
|
227
|
+
'reviewBatch.newRecord': 'new record',
|
|
228
|
+
'reviewBatch.oneByOne.description': 'Nothing changes now. Each record is shown in full and decided on its own.',
|
|
229
|
+
'reviewBatch.oneByOne.label': 'Let me look at them one by one',
|
|
230
|
+
'reviewBatch.ready': '{count, plural, one {One memory record is ready to be published.} other {# memory records are ready to be published.}}',
|
|
231
|
+
'reviewBatch.rebase': 'written against an older revision',
|
|
232
|
+
'reviewBatch.rejected.description': 'Nothing changes. The proposals are marked rejected and have to be written again.',
|
|
233
|
+
'reviewBatch.rejected.label': 'Reject all of them',
|
|
234
|
+
'reviewBatch.revision': 'revision {from} to {to}',
|
|
235
|
+
'reviewBatch.scope.organization': 'organization',
|
|
236
|
+
'reviewBatch.scope.product': 'product',
|
|
237
|
+
'reviewBatch.scope.project': 'project',
|
|
238
|
+
'reviewBatch.untitled': 'untitled {kind}',
|
|
239
|
+
'reviewBatch.unversioned': 'Written without a source inspection: {titles}. Tasks that read memory by source version will not see them until an inspection retains them.',
|
|
240
|
+
'reviewBatch.why': 'Why',
|
|
241
|
+
'reworkPlan.approve.description': 'The work items are created now, exactly as listed. Implementing each phase still starts separately.',
|
|
242
|
+
'reworkPlan.approve.label': 'Create these work items',
|
|
243
|
+
'reworkPlan.branch': 'branch',
|
|
244
|
+
'reworkPlan.context': 'Approving creates one work item per phase, in the dependency order of the plan, and nothing else. No branch is created and no code is changed. Each phase is implemented later as its own task, with its own branch and worktree.',
|
|
245
|
+
'reworkPlan.defer.description': 'Nothing changes. No work item is created and the plan can be approved later.',
|
|
246
|
+
'reworkPlan.defer.label': 'Keep the plan for further review',
|
|
247
|
+
'reworkPlan.example': 'After approval the first phase appears as a work item that can be started, and the phases that depend on it wait until it is done.',
|
|
248
|
+
'reworkPlan.more': 'and {count} more phases',
|
|
249
|
+
'reworkPlan.phases': '{count, plural, one {Create the work item for the single phase of this rework plan?} other {Create the work items for the # phases of this rework plan?}}',
|
|
250
|
+
'ruleDeviation.approve.description': 'The deviation is recorded for this file and the self review continues.',
|
|
251
|
+
'ruleDeviation.approve.label': 'Keep the code and record the deviation',
|
|
252
|
+
'ruleDeviation.ask': '{path} breaks a rule of this project. Keep the code as it is?',
|
|
253
|
+
'ruleDeviation.change.description': 'Nothing is recorded. The self review stops until the code follows the rule and is reviewed again.',
|
|
254
|
+
'ruleDeviation.change.label': 'Change the code to follow the rule',
|
|
255
|
+
'ruleDeviation.context': "A rule conflict is yours to decide, not the agent's. Keeping the code records a deviation on this file against that rule: it travels with the self review, stays in the project memory and is what a later task reads before it touches this file.",
|
|
256
|
+
'ruleDeviation.deviation': 'Deviation',
|
|
257
|
+
'ruleDeviation.example': 'The next task that opens this file sees the rule and this recorded deviation together, instead of reading the code as if it followed the rule.',
|
|
258
|
+
'ruleDeviation.rule': 'Rule',
|
|
259
|
+
'ruleDeviation.unnamed': 'an engineering rule whose name is not recorded',
|
|
260
|
+
'signIn.completed': 'Authentication completed. You can return to the coding agent.',
|
|
261
|
+
'signIn.failed': 'Authentication could not be completed.',
|
|
262
|
+
'signIn.invalid': 'Authentication request is invalid.',
|
|
263
|
+
'startFallback.approve': 'Continue',
|
|
264
|
+
'startFallback.approved': 'The new branch is created at {local} now and the task starts.',
|
|
265
|
+
'startFallback.context': 'The branch you chose cannot be reached, so its exact commit is unavailable. The local copy is whatever was fetched last: commits pushed to the remote since then are not in it. Nothing is created until you answer.',
|
|
266
|
+
'startFallback.defer': 'Not now',
|
|
267
|
+
'startFallback.deferred': 'Nothing is created or reserved. The task waits, and it can be started again once the remote answers.',
|
|
268
|
+
'startFallback.example': 'Continuing creates the new branch at {local}; {remote} can be merged into it once the network is back.',
|
|
269
|
+
'startFallback.messageHere': 'The remote {remote} could not be fetched. Should the task start from local {local} in this folder?',
|
|
270
|
+
'startFallback.messageWorktree': 'The remote {remote} could not be fetched. Should the task start from local {local} in a separate worktree?',
|
|
271
|
+
'statusMeaning.clear.description': 'Review an explicit empty value; other fields remain unchanged.',
|
|
272
|
+
'statusMeaning.clear.label': 'Clear this field',
|
|
273
|
+
'statusMeaning.context': 'This step is optional. Feedback or requests for explanation do not save anything; a written definition is reviewed before saving.',
|
|
274
|
+
'statusMeaning.current': 'Current text',
|
|
275
|
+
'statusMeaning.defer.description': 'Defer this attempt without changing the stage or existing work.',
|
|
276
|
+
'statusMeaning.defer.label': 'Do not save now',
|
|
277
|
+
'statusMeaning.empty': '(empty)',
|
|
278
|
+
'statusMeaning.fields.entryRule.example': 'Code must be ready and the relevant tests must pass before review.',
|
|
279
|
+
'statusMeaning.fields.entryRule.inputTitle': 'Your entry condition',
|
|
280
|
+
'statusMeaning.fields.entryRule.question': 'When should work enter this stage?',
|
|
281
|
+
'statusMeaning.fields.entryRule.title': 'Stage entry condition',
|
|
282
|
+
'statusMeaning.fields.meaning.example': 'In Review: development is complete and a teammate needs to review the code.',
|
|
283
|
+
'statusMeaning.fields.meaning.inputTitle': 'Your stage meaning',
|
|
284
|
+
'statusMeaning.fields.meaning.question': 'What does work in this stage mean?',
|
|
285
|
+
'statusMeaning.fields.meaning.title': 'Stage meaning',
|
|
286
|
+
'statusMeaning.keep.description': 'Leave this field and existing work unchanged.',
|
|
287
|
+
'statusMeaning.keep.label': 'Keep the current value',
|
|
288
|
+
'statusMeaning.next.description': 'Show the next part of the text without saving anything yet.',
|
|
289
|
+
'statusMeaning.next.label': 'Review the next part',
|
|
290
|
+
'statusMeaning.page': 'Page',
|
|
291
|
+
'statusMeaning.proposed': 'New text',
|
|
292
|
+
'statusMeaning.review.context': 'All current and proposed text is shown. Continue through longer text; only the last page can save it. This does not move work or execute an event.',
|
|
293
|
+
'statusMeaning.review.example': 'Define In Review as “code is ready and awaiting review.” Tasks in that stage remain where they are.',
|
|
294
|
+
'statusMeaning.review.message': 'Review this field change',
|
|
295
|
+
'statusMeaning.save.description': 'Save the reviewed field; other fields and existing work remain unchanged.',
|
|
296
|
+
'statusMeaning.save.label': 'Save this definition',
|
|
297
|
+
'statusMeaning.write.description': 'Enter your own text and review it before saving.',
|
|
298
|
+
'statusMeaning.write.label': 'Write a definition',
|
|
299
|
+
'statusRemap.apply.description': 'Move the listed work to its new stages in one operation, leaving stage definitions and roles unchanged.',
|
|
300
|
+
'statusRemap.apply.label': 'Move the work',
|
|
301
|
+
'statusRemap.archived': 'archived',
|
|
302
|
+
'statusRemap.context': 'Each line shows where all work in one stage moves and how many items it holds. Approval is bound to these counts: if they changed by the time it applies, nothing moves and you are asked again. Stage definitions and roles stay unchanged.',
|
|
303
|
+
'statusRemap.defer.description': 'Move nothing; this attempt remains deferred.',
|
|
304
|
+
'statusRemap.defer.label': 'Do not move now',
|
|
305
|
+
'statusRemap.example': 'The 3 open and 1 archived items in Staging Check move to READY FOR QA; their order, titles and other fields stay the same.',
|
|
306
|
+
'statusRemap.message': 'Move this work to its new stages?',
|
|
307
|
+
'statusRemap.next.description': 'Show the rest of the move without moving anything yet.',
|
|
308
|
+
'statusRemap.next.label': 'Review the next part',
|
|
309
|
+
'statusRemap.open': 'open',
|
|
310
|
+
'statusRemap.page': 'Page',
|
|
311
|
+
'statusRemap.reason': 'Why',
|
|
312
|
+
'statusRemap.roles.all_prs_merged': 'All PRs merged',
|
|
313
|
+
'statusRemap.roles.blocked_declared': 'Parked work',
|
|
314
|
+
'statusRemap.roles.draft_pr_opened': 'Draft PR',
|
|
315
|
+
'statusRemap.roles.pr_opened': 'PR ready for review',
|
|
316
|
+
'statusRemap.roles.test_failed': 'Failed test',
|
|
317
|
+
'statusRemap.roles.work_started': 'Starting development',
|
|
318
|
+
'statusRemap.rolesStay': 'These roles keep pointing at stages being emptied; change them separately through role setup:',
|
|
319
|
+
'taskStart.base.fetchDetail': 'Fetch the latest commit.',
|
|
320
|
+
'taskStart.base.field': 'Branch on origin (only for another branch)',
|
|
321
|
+
'taskStart.base.local': 'Local: {branch}',
|
|
322
|
+
'taskStart.base.localDetail': 'Current commit; no fetch.',
|
|
323
|
+
'taskStart.base.message': 'Which starting branch?',
|
|
324
|
+
'taskStart.base.other': 'Another branch on origin',
|
|
325
|
+
'taskStart.base.otherDetail': 'Enter it below.',
|
|
326
|
+
'taskStart.example': 'A worktree keeps this task in its own folder.',
|
|
327
|
+
'taskStart.keepContext': 'Continue on the current branch.',
|
|
328
|
+
'taskStart.location.busy': 'Task {task} is still running in another client in this folder, so the new branch cannot start here. Once it is paused there, this folder can be chosen too.',
|
|
329
|
+
'taskStart.location.defer.description': 'Create nothing.',
|
|
330
|
+
'taskStart.location.defer.label': 'Not now',
|
|
331
|
+
'taskStart.location.dirty': 'This folder has uncommitted changes, so the new branch cannot start here.',
|
|
332
|
+
'taskStart.location.here.description': 'Switch this folder to the new branch.',
|
|
333
|
+
'taskStart.location.here.label': 'New branch in this folder',
|
|
334
|
+
'taskStart.location.holder': 'Starting here moves {task} to a separate worktree; its work is kept.',
|
|
335
|
+
'taskStart.location.keep.description': 'Continue on {branch}.',
|
|
336
|
+
'taskStart.location.keep.label': 'Stay on the current branch',
|
|
337
|
+
'taskStart.location.message': 'Where should we work?',
|
|
338
|
+
'taskStart.location.worktree.description': 'Leave this folder unchanged.',
|
|
339
|
+
'taskStart.location.worktree.label': 'Separate worktree',
|
|
340
|
+
'taskStart.message': 'Start task',
|
|
341
|
+
'taskStart.newBranch': 'New branch: {name}',
|
|
342
|
+
'taskStart.stay': 'Nothing new is created. The work continues on {source} in this folder, so every commit lands on that branch.',
|
|
343
|
+
'uiWaiver.ask': '{task}: skip the UI check (widget, golden or screenshot test) for this task?',
|
|
344
|
+
'uiWaiver.context': 'The UI check is what proves the screens this task changed still render. Skipping it means nothing in this task opens them, and the skip is stored in the task audit trail with the reason above.',
|
|
345
|
+
'uiWaiver.example': 'A layout this change broke would pass verification and first show up when someone opens the app.',
|
|
346
|
+
'uiWaiver.files': 'Changed files that draw the interface: {files}',
|
|
347
|
+
'uiWaiver.reason': 'The reason you gave: {reason}',
|
|
348
|
+
'uiWaiver.require.description': 'Nothing is skipped. The task stays unverified until a widget, golden or screenshot test covers these files.',
|
|
349
|
+
'uiWaiver.require.label': 'Keep the UI check required',
|
|
350
|
+
'uiWaiver.waive.description': 'The task verifies without a widget, golden or screenshot test of these files, and the skip is recorded.',
|
|
351
|
+
'uiWaiver.waive.label': 'Skip the UI check',
|
|
352
|
+
'whatsNew.badge': '{count, plural, one {# improvement} other {# improvements}} · Package {version}',
|
|
353
|
+
'whatsNew.build': 'Build {number}',
|
|
354
|
+
'whatsNew.example': 'In everyday use',
|
|
355
|
+
'whatsNew.footer': 'Dates indicate the first announcement in this catalogue. This local report reflects availability when it was created; you can continue your task as usual.',
|
|
356
|
+
'whatsNew.intro': 'Improvements available with your installed package, with examples of how they help in your daily work.',
|
|
357
|
+
'whatsNew.title': "What's new in EM?",
|
|
358
|
+
'workflow.approve.description': 'Save the five displayed choices together without moving existing work.',
|
|
359
|
+
'workflow.approve.label': 'Save these settings',
|
|
360
|
+
'workflow.defer.description': 'Apply nothing; this attempt remains deferred.',
|
|
361
|
+
'workflow.defer.label': 'Do not save now',
|
|
362
|
+
'workflow.modes.automatic': 'Automatic',
|
|
363
|
+
'workflow.modes.confirm': 'Ask for approval',
|
|
364
|
+
'workflow.modes.ignore': 'Ignore this event',
|
|
365
|
+
'workflow.next.description': 'Show the next stages for this same decision.',
|
|
366
|
+
'workflow.next.label': 'Next stages',
|
|
367
|
+
'workflow.page': 'Page',
|
|
368
|
+
'workflow.previous.description': 'Return to the previous stages for this same decision.',
|
|
369
|
+
'workflow.previous.label': 'Previous stages',
|
|
370
|
+
'workflow.review.context': 'The five stages and behaviors appear below. Draft PR and new-work initial settings stay unchanged. This saves configuration only; no event is executed.',
|
|
371
|
+
'workflow.review.example': 'Choosing On Hold for parked work stores that preference for the project; earlier tasks remain in place.',
|
|
372
|
+
'workflow.review.message': 'Save these workflow settings together?',
|
|
373
|
+
'workflow.roles.all_prs_merged.context': 'This configures the step after every PR belonging to the work has merged.',
|
|
374
|
+
'workflow.roles.all_prs_merged.example': 'Both the web change and its backend change have been merged.',
|
|
375
|
+
'workflow.roles.all_prs_merged.message': 'Which stage should represent all PRs being merged?',
|
|
376
|
+
'workflow.roles.all_prs_merged.title': 'All PRs merged',
|
|
377
|
+
'workflow.roles.blocked_declared.context': 'Choose the active parked stage; existing work stays where it is.',
|
|
378
|
+
'workflow.roles.blocked_declared.example': 'You put a task on hold while waiting for an external service.',
|
|
379
|
+
'workflow.roles.blocked_declared.message': 'Which stage should hold parked work?',
|
|
380
|
+
'workflow.roles.blocked_declared.title': 'Parked work',
|
|
381
|
+
'workflow.roles.pr_opened.context': 'Draft PR behavior stays unchanged; this configures the ready-for-review step.',
|
|
382
|
+
'workflow.roles.pr_opened.example': 'Use this stage when your completed change is ready for a teammate to review.',
|
|
383
|
+
'workflow.roles.pr_opened.message': 'Which stage should represent a PR ready for review?',
|
|
384
|
+
'workflow.roles.pr_opened.title': 'PR ready for review',
|
|
385
|
+
'workflow.roles.test_failed.context': 'Choose the stage for work that needs changes after a failed test.',
|
|
386
|
+
'workflow.roles.test_failed.example': 'A payment test found a problem and the work needs a correction.',
|
|
387
|
+
'workflow.roles.test_failed.message': 'Which stage should represent a failed test?',
|
|
388
|
+
'workflow.roles.test_failed.title': 'Failed test',
|
|
389
|
+
'workflow.roles.work_started.context': 'This is separate from the stage where new work is created.',
|
|
390
|
+
'workflow.roles.work_started.example': 'Choose the stage used when you begin fixing a payment bug.',
|
|
391
|
+
'workflow.roles.work_started.message': 'Which stage should represent starting development?',
|
|
392
|
+
'workflow.roles.work_started.title': 'Development',
|
|
393
|
+
},
|
|
394
|
+
tr: {
|
|
395
|
+
'cancelDelivery.context': 'Teslimi iptal edilen bir klasör, sen ne olacağını söyleyene kadar bu göreve ayrılmış kalır ve ayrılmış klasör worktree sınırına sayılmaya devam eder. Dal ve üzerindeki commit’ler her hâlükârda durur.',
|
|
396
|
+
'cancelDelivery.example': 'Klasör boşaltılırsa sıradaki görev burada başlayabilir; kalsın dersen bu göreve ayrılmış hâlde durur.',
|
|
397
|
+
'cancelDelivery.keep': 'Klasör olduğu gibi kalsın',
|
|
398
|
+
'cancelDelivery.kept': 'Hiçbir şey değişmez. Klasör bu göreve ayrılmış hâlde kalır.',
|
|
399
|
+
'cancelDelivery.message': '{task} teslim edilmeyecek. Bu klasör ne olsun?',
|
|
400
|
+
'cancelDelivery.release': 'Klasörü boşalt; branch kalsın',
|
|
401
|
+
'cancelDelivery.released': 'Klasör havuza döner. Dosyalarına dokunulmaz, dal kalır.',
|
|
402
|
+
'cancelDelivery.save': 'Değişiklikleri kaydedip klasörü boşalt',
|
|
403
|
+
'cancelDelivery.saved': 'Kaydedilmemiş değişiklikler önce bir Git ref’ine yazılır, sonra klasör boşaltılır. Değişiklikler o ref’ten geri alınabilir.',
|
|
404
|
+
'cancelDelivery.uncommittedManaged': 'Klasörde kaydedilmemiş değişiklikler var; kaydedilirse bir Git ref’ine yazılır ve oradan geri alınabilir.',
|
|
405
|
+
'cancelDelivery.uncommittedOwn': 'Klasörde kaydedilmemiş değişiklikler var; burası senin kendi klasörün olduğu için boşaltılsa da dosyalara dokunulmaz.',
|
|
406
|
+
'decisionMode.approveForMe.description': 'Sıradan kararları ben veririm; çok kritik olanları sana sorarım.',
|
|
407
|
+
'decisionMode.approveForMe.label': 'Benim için onayla',
|
|
408
|
+
'decisionMode.ask.description': 'Karar gereken her durumda sana sorarım.',
|
|
409
|
+
'decisionMode.ask.label': 'Onay iste',
|
|
410
|
+
'decisionMode.autonomous.description': 'Seçenekleri senin hedeflerine göre değerlendirip kararları gerekçesiyle veririm.',
|
|
411
|
+
'decisionMode.autonomous.label': 'Otonom',
|
|
412
|
+
'decisionMode.context': 'Seçim bu task için geçerli; istediğinde değiştirebilirsin.',
|
|
413
|
+
'decisionMode.example': 'Örneğin canlıya alma kararını ajana bırakabilir veya kendin onaylayabilirsin.',
|
|
414
|
+
'decisionMode.start': 'Bu taskta nasıl ilerleyelim?',
|
|
415
|
+
'decisionMode.switch': 'Hangi moda geçelim?',
|
|
416
|
+
'delivery.baseContext': 'Hedef dalı açıkça belirt. Depodaki varsayılan dalı kendiliğimizden seçmeyiz.',
|
|
417
|
+
'delivery.baseMessage': 'PR/MR hangi dala açılsın?',
|
|
418
|
+
'delivery.baseTitle': 'Hedef dal',
|
|
419
|
+
'delivery.baseWrite.description': 'Yazdığın dalı hedef al; birleştirme ayrı bir karardır.',
|
|
420
|
+
'delivery.baseWrite.label': 'Bu dala aç',
|
|
421
|
+
'delivery.commit.description': 'Değişiklikleri bu yerel dalda kaydet.',
|
|
422
|
+
'delivery.commit.label': 'Yalnızca commit',
|
|
423
|
+
'delivery.commit_push.description': 'Bu dalı belirtilen uzak depoya gönder.',
|
|
424
|
+
'delivery.commit_push.label': 'Commit ve push',
|
|
425
|
+
'delivery.commit_push_draft_pr.description': 'Dalı gönder; henüz incelemeye hazır olmayan bir taslak aç.',
|
|
426
|
+
'delivery.commit_push_draft_pr.label': 'Commit, push ve taslak PR/MR',
|
|
427
|
+
'delivery.commit_push_pr.description': 'Dalı gönder ve incelemeye hazır bir istek aç.',
|
|
428
|
+
'delivery.commit_push_pr.label': 'Commit, push ve PR/MR',
|
|
429
|
+
'delivery.context': 'Görev doğrulandı ve kapandı. Bu seçim kodun nereye gönderileceğini belirler; hafıza değişikliklerini yayımlama onayı bunun yerine geçmez.',
|
|
430
|
+
'delivery.defer.description': 'Görev kapalı kalır; dosyalar korunur, Git teslimi yapılmaz.',
|
|
431
|
+
'delivery.defer.label': 'Şimdilik beklet',
|
|
432
|
+
'delivery.destination': 'Dal / uzak depo',
|
|
433
|
+
'delivery.example': 'Commit yerel dalda kalır. PR/MR seçersen değişiklikler uzak dala gönderilir ve ekip incelemesine açılır.',
|
|
434
|
+
'delivery.message': 'Değişiklikleri nasıl teslim edelim?',
|
|
435
|
+
'forgetWorktree.context': 'Okunamayan bir çalışma kopyası hiçbir işe yaramadığı hâlde worktree sınırına sayılmaya devam eder; takipten çıkarılırsa o yer boşalır. Klasördeki hiçbir dosyaya dokunulmaz, hiçbiri silinmez; dal da kalır.',
|
|
436
|
+
'forgetWorktree.example': 'Bundan sonra {task} worktree listesinde görünmez, {folder} klasörü ise diskte olduğu gibi kalır.',
|
|
437
|
+
'forgetWorktree.forget': 'Takip etmeyi bırak; dosyalara dokunma',
|
|
438
|
+
'forgetWorktree.forgotten': 'Kayıt silinir ve sınırdaki yer boşalır. Klasör, içindeki dosyalar ve dal olduğu gibi kalır.',
|
|
439
|
+
'forgetWorktree.keep': 'Takip etmeye devam et',
|
|
440
|
+
'forgetWorktree.kept': 'Hiçbir şey değişmez. Kayıt durur ve sınıra sayılmaya devam eder.',
|
|
441
|
+
'forgetWorktree.message': '{task} görevinin {folder} klasörü artık bir Git çalışma kopyası olarak okunamıyor. Engineering Memory bu klasörü takip etmeyi bıraksın mı?',
|
|
442
|
+
'forgetWorktree.pendingDelivery': 'Bu görev teslimi sonuçlanmadan kapandı; teslim edilmemiş iş varsa yalnızca bu klasörde duruyor.',
|
|
443
|
+
'gitPreferences.ask.development': 'Geliştirme dalı {source} olarak kaydedilsin mi?',
|
|
444
|
+
'gitPreferences.ask.production': 'Canlı dalı {source} olarak kaydedilsin mi?',
|
|
445
|
+
'gitPreferences.ask.test': 'Test dalı {source} olarak kaydedilsin mi?',
|
|
446
|
+
'gitPreferences.askNone.development': 'Bu projede geliştirme dalı olmadığı kaydedilsin mi?',
|
|
447
|
+
'gitPreferences.askNone.production': 'Bu projede canlı dalı olmadığı kaydedilsin mi?',
|
|
448
|
+
'gitPreferences.askNone.test': 'Bu projede test dalı olmadığı kaydedilsin mi?',
|
|
449
|
+
'gitPreferences.context': 'Bu dallar projenin tamamı için geçerli: burada görev başlatan herkese, görevin başlayacağı dal olarak bunlar önerilir. Yalnızca proje ya da organizasyon yöneticisi değiştirebilir. Hiçbir dal oluşturulmaz, taşınmaz veya silinmez; yalnızca tercih kaydedilir.',
|
|
450
|
+
'gitPreferences.example': 'Geliştirme dalı origin/develop olarak kaydedilirse, bir sonraki görevin başlangıç formunda ilk seçenek origin/develop olur.',
|
|
451
|
+
'gitPreferences.leave': 'Şimdilik değiştirme',
|
|
452
|
+
'gitPreferences.message': 'Projenin ortak dal tercihleri kaydedilsin mi? Sen cevaplayana kadar hiçbir şey kaydedilmez.',
|
|
453
|
+
'gitPreferences.save': 'Bu tercihi kaydet',
|
|
454
|
+
'gitPreferences.saved': 'Bu dal şimdi proje varsayılanı olarak kaydedilir; ekipteki herkes onu görür.',
|
|
455
|
+
'gitPreferences.unchanged': 'Hiçbir şey değişmez. Bu rol olduğu gibi kalır, sonra yeniden sorulabilir.',
|
|
456
|
+
'inspection.defer': 'Şimdilik başlatma',
|
|
457
|
+
'inspection.deferDetail': 'İnceleme başlamaz, hiçbir şey yazılmaz. Cevabın kaydedilir; bu kaynağı sonra incelemek yeni bir istek olur.',
|
|
458
|
+
'inspection.example': 'İnceleme bitince her ekran, servis ve akış için birer hafıza kaydı önerilir; hangilerinin yayınlanacağına sen karar verirsin.',
|
|
459
|
+
'inspection.localChanges': 'Uygulama kodu değiştirilmeyecek. Commit edilmemiş değişiklikler ortak hafızaya alınmayacak.',
|
|
460
|
+
'inspection.modes.adopt': 'Mevcut projeyi mimarisiyle birlikte öğrenmeye başlayalım mı?',
|
|
461
|
+
'inspection.modes.refresh': 'Projenin hafızasını güncel kodla karşılaştırıp incelemeyi başlatalım mı?',
|
|
462
|
+
'inspection.modes.rework': 'Rework planından önce mevcut projeyi incelemeye başlayalım mı?',
|
|
463
|
+
'inspection.review': 'Bu onay incelemeyi başlatır. Kalıcı hafıza değişiklikleri ayrıca onayına sunulacak.',
|
|
464
|
+
'inspection.rework.preserve': 'Rework hedefi: mevcut davranışı korumak.',
|
|
465
|
+
'inspection.rework.redesign': 'Rework hedefi: ürünü yeniden tasarlamak. Uygulama öncesinde hedef ayrıca onaylanacak.',
|
|
466
|
+
'inspection.scope': 'Mimari, state yönetimi, servisler, network katmanı, veri modelleri, ekranlar ve akışlar incelenecek.',
|
|
467
|
+
'inspection.source': 'Kaynak',
|
|
468
|
+
'inspection.start': 'İncelemeyi başlat',
|
|
469
|
+
'inspection.startDetail': 'İnceleme şimdi başlar. Kod değişmez; çıkan kayıtlar sonunda tek tek onayına gelir.',
|
|
470
|
+
'inspection.why.adopt': 'Proje ilk kez hafızaya alınıyor. İnceleme, bu kaynaktaki kodu okuyup projenin nasıl çalıştığını çıkarır.',
|
|
471
|
+
'inspection.why.refresh': 'İnceleme, hafızadaki kayıtları bu kaynaktaki kodla karşılaştırır ve neyin değiştiğini çıkarır.',
|
|
472
|
+
'inspection.why.rework': 'Yeniden yazım planının yazılabilmesi için önce projenin bugünkü hâli okunmalı.',
|
|
473
|
+
'move.after': 'Eski depo projenin geçmişinde saklanır. Hâlâ eski depoda çalışan ekip arkadaşları açık görevlerini bitirebilir, yeni görevi yeni depodan açar. Proje ileride yeniden taşınabilir.',
|
|
474
|
+
'move.approve.description': 'Proje bundan sonra bu depoyu gösterir; burada hemen çalışmaya başlayabilirsin.',
|
|
475
|
+
'move.approve.label': 'Projeyi bu depoya taşı',
|
|
476
|
+
'move.ask': '"{name}" projesini bu depoya taşıyalım mı?',
|
|
477
|
+
'move.decline.description': 'Hiçbir şey değişmez. Proje mevcut deposunda kalır ve bu klasörde iş başlatılamaz.',
|
|
478
|
+
'move.decline.label': 'Taşıma',
|
|
479
|
+
'move.example': 'Taşıdıktan sonra bu klasörde açtığın görev aynı projeye ait olur ve aynı hafızayı okur.',
|
|
480
|
+
'move.from': 'Projenin şu anki deposu',
|
|
481
|
+
'move.keeps': 'Proje olduğu gibi devam eder: {tasks} görev, {records} hafıza kaydı ve {items} iş kalemi projede kalır, hiçbir şey silinmez ve yeniden öğrenilmez.',
|
|
482
|
+
'move.to': 'Bu klasörün deposu',
|
|
483
|
+
'move.unknown': 'adresi kayıtlı değil',
|
|
484
|
+
'move.why': 'Projenin kodu başka bir depoya taşınmış. Bu klasör projenin evi sayılmadığı için burada yeni iş başlatılamıyor.',
|
|
485
|
+
'onboarding.behavior.context': 'Bu seçim hem incelemenin hem de planın hedefini belirler. Korumak, kullanıcının gördüğü ekranlar ve akışlar aynı kalırken altındaki kodun değişmesi demek. Yeniden tasarlamak ürünün kendisinin değişmesi demek; o zaman hedef ekranlar, akışlar ve sözleşmeler uygulamaya geçilmeden önce ayrıca onaylanır.',
|
|
486
|
+
'onboarding.behavior.example': 'Davranışı korursan, bugün seri numarası soran ekran yeniden yazımdan sonra da seri numarası sorar.',
|
|
487
|
+
'onboarding.behavior.message': 'Yeniden yazım, ürünün bugünkü davranışını koruyacak mı yoksa ürünü yeniden mi tasarlayacak?',
|
|
488
|
+
'onboarding.behavior.preserve.description': 'Yeniden yazım yalnızca kodun yapısını değiştirir; kullanıcının gördüğü aynı kalır.',
|
|
489
|
+
'onboarding.behavior.preserve.label': 'Bugünkü davranışı koru',
|
|
490
|
+
'onboarding.behavior.redesign.description': 'Hedef ekranlar, akışlar ve sözleşmeler onaylanmadan hiçbir şey uygulanmaz.',
|
|
491
|
+
'onboarding.behavior.redesign.label': 'Ürünü açıkça yeniden tasarla',
|
|
492
|
+
'onboarding.field.change': '{value} olarak değiştir',
|
|
493
|
+
'onboarding.field.changeDetail': 'Proje {value} olarak kaydedilir ve kalan sorular buna göre gelir.',
|
|
494
|
+
'onboarding.field.context': 'Bu değer kurulum seçimleriyle birlikte kaydedilir; sonraki görevler tahmin etmek yerine buradan okur. Olduğu gibi bırakabilir, farklı bir değer yazabilir ya da şimdilik boş bırakabilirsin; boş bıraktığın bir değer sessizce kaydedilmez.',
|
|
495
|
+
'onboarding.field.defer.description': 'Hiçbir şey kaydedilmez. Kurulum burada durur; karar verdiğinde bu soruya dönersin.',
|
|
496
|
+
'onboarding.field.defer.label': 'Bu değeri şimdilik boş bırak',
|
|
497
|
+
'onboarding.field.edit.description': 'Aşağıya yazdığın metin, yukarıdaki değerin yerine kaydedilir.',
|
|
498
|
+
'onboarding.field.edit.label': 'Aşağıdaki alana farklı bir değer yaz',
|
|
499
|
+
'onboarding.field.editTitle': 'Yeni değer',
|
|
500
|
+
'onboarding.field.empty': 'henüz belirlenmedi',
|
|
501
|
+
'onboarding.field.example': 'Çalışma ortamı Node 22 olarak kalırsa sonraki görev makinede ne varsa ona göre değil, Node 22 üzerinde derleyip test eder.',
|
|
502
|
+
'onboarding.field.idsTitle': 'Proje ID listesi (JSON dizisi)',
|
|
503
|
+
'onboarding.field.keep.description': 'Yukarıdaki değer aynen kaydedilir.',
|
|
504
|
+
'onboarding.field.keep.label': 'Bu değeri olduğu gibi kaydet',
|
|
505
|
+
'onboarding.field.value': 'Önerilen değer',
|
|
506
|
+
'onboarding.fieldNames.apiContract': 'API sözleşmesi',
|
|
507
|
+
'onboarding.fieldNames.architecture': 'Uygulama mimarisi',
|
|
508
|
+
'onboarding.fieldNames.authentication': 'Kimlik doğrulama',
|
|
509
|
+
'onboarding.fieldNames.backendProjectIds': 'Bağlı backend projeleri',
|
|
510
|
+
'onboarding.fieldNames.colorPalette': 'Renk paleti',
|
|
511
|
+
'onboarding.fieldNames.designSystem': 'Tasarım sistemi',
|
|
512
|
+
'onboarding.fieldNames.environments': 'Ortamlar ve konfigürasyon',
|
|
513
|
+
'onboarding.fieldNames.figma': 'Figma kaynağı',
|
|
514
|
+
'onboarding.fieldNames.localization': 'Desteklenen diller',
|
|
515
|
+
'onboarding.fieldNames.migrations': 'Migration stratejisi',
|
|
516
|
+
'onboarding.fieldNames.navigation': 'Gezinme',
|
|
517
|
+
'onboarding.fieldNames.platforms': 'Platformlar',
|
|
518
|
+
'onboarding.fieldNames.runtime': 'Çalışma ortamı ve araç sürümleri',
|
|
519
|
+
'onboarding.fieldNames.serviceReadiness': 'Servislerin hazır olup olmadığı',
|
|
520
|
+
'onboarding.fieldNames.stack': 'Uygulama teknolojisi',
|
|
521
|
+
'onboarding.fieldNames.storage': 'Veri saklama',
|
|
522
|
+
'onboarding.fieldNames.typography': 'Yazı tipleri ve metin stilleri',
|
|
523
|
+
'onboarding.git.branchTitle': 'Dal adı',
|
|
524
|
+
'onboarding.git.development.context': 'Bundan sonra açtığın her görev bu daldan dallanır ve bu dalla karşılaştırılır. Henüz var olmayan bir depo için ilk dalın alacağı ismi yaz. Dal, depo origin adresine bağlandıktan sonra orada kullanılır.',
|
|
525
|
+
'onboarding.git.development.example': 'Buraya main yazarsan sonraki görev main üzerinden dallanır ve pull request main dalına açılır.',
|
|
526
|
+
'onboarding.git.development.message': 'Yeni görev dalları hangi daldan başlasın?',
|
|
527
|
+
'onboarding.git.development.second.description': 'Hiçbir şey kaydedilmez, kurulum burada durur; istediğinde devam edebilirsin.',
|
|
528
|
+
'onboarding.git.development.second.label': 'Şimdilik kuruluma başlama',
|
|
529
|
+
'onboarding.git.production.context': 'Bir kez kaydedilir; sonraki işler biten bir değişikliğin nereye gideceğini buradan bilir. Böyle bir dal henüz yoksa bunu açıkça söyle, bir daha sorulmaz.',
|
|
530
|
+
'onboarding.git.production.example': 'Canlı dal main ise, biten bir görevin nereye gideceği sana tekrar sorulmaz.',
|
|
531
|
+
'onboarding.git.production.message': 'Bu projenin canlı sürümü hangi daldan çıkıyor?',
|
|
532
|
+
'onboarding.git.production.second.description': 'Yok olarak kaydedilir ve bir daha sorulmaz. İleride belirleyebilirsin.',
|
|
533
|
+
'onboarding.git.production.second.label': 'Henüz canlı dal yok',
|
|
534
|
+
'onboarding.git.set.description': 'Yazdığın dal bu proje için kaydedilir.',
|
|
535
|
+
'onboarding.git.set.label': 'Aşağıya yazdığım dalı kullan',
|
|
536
|
+
'onboarding.git.test.context': 'Bir kez kaydedilir; sonraki işler biten bir değişikliğin nerede test edileceğini buradan bilir. Böyle bir dal henüz yoksa bunu açıkça söyle, bir daha sorulmaz.',
|
|
537
|
+
'onboarding.git.test.example': 'Test dalı develop ise, testlerin hangi dalda koştuğu sana tekrar sorulmaz.',
|
|
538
|
+
'onboarding.git.test.message': 'Bu proje hangi dalda test ediliyor?',
|
|
539
|
+
'onboarding.git.test.second.description': 'Yok olarak kaydedilir ve bir daha sorulmaz. İleride belirleyebilirsin.',
|
|
540
|
+
'onboarding.git.test.second.label': 'Henüz test dalı yok',
|
|
541
|
+
'onboarding.mode.adopt.description': 'Kod olduğu gibi okunup hafızaya yazılır; hiçbir şey yeniden tasarlanmaz.',
|
|
542
|
+
'onboarding.mode.adopt.label': 'Mevcut mimariyi öğren ve koru',
|
|
543
|
+
'onboarding.mode.context': 'Cevabın ilk adımı belirler: proje sıfırdan mı kurulacak, mevcut proje olduğu gibi okunup korunacak mı, yoksa önce okunup sonra aşama aşama mı yeniden yazılacak. Mevcut bir projeyi okumak ne kodu ne de mimarisini değiştirir.',
|
|
544
|
+
'onboarding.mode.example': 'Mevcut projeyi öğrenmeyi seçersen bir sonraki adım kodu okuyup nasıl çalıştığını kayda geçirir; tek satır bile değişmez.',
|
|
545
|
+
'onboarding.mode.greenfield.description': 'Proje birazdan onaylayacağın profille başlar; mevcut kod okunmaz.',
|
|
546
|
+
'onboarding.mode.greenfield.label': 'Yeni ya da yeni başlamış bir proje kur',
|
|
547
|
+
'onboarding.mode.message': 'Bu proje Engineering Memory hafızasına nasıl alınsın?',
|
|
548
|
+
'onboarding.mode.refresh.description': 'Hafızadaki kayıtlar güncel kodla karşılaştırılır, farklar öneri olarak önüne gelir.',
|
|
549
|
+
'onboarding.mode.refresh.label': 'Hafızayı güncel projeyle tazele',
|
|
550
|
+
'onboarding.mode.rework.description': 'Önce kod okunur; yeniden yazım planı ayrıca onaylanmadan hiçbir şey değişmez.',
|
|
551
|
+
'onboarding.mode.rework.label': 'Önce öğren, sonra aşama aşama yeniden yazmayı planla',
|
|
552
|
+
'onboarding.save.approve.description': 'Seçimler kaydedilir. Kodda hiçbir şey değişmez.',
|
|
553
|
+
'onboarding.save.approve.label': 'Bu seçimleri kaydet',
|
|
554
|
+
'onboarding.save.approveGit': 'Seçimler kaydedilir ve bu klasörde Git hazırlanır.',
|
|
555
|
+
'onboarding.save.context': 'Verdiğin cevaplar bu projenin kurulum kaydı olur; sonraki işler teknolojiyi, mimariyi ve kalan seçimleri oradan okur. Hafıza kayıtları ve proje bağlantıları ayrıca onaylanır, burada hafızaya hiçbir şey yayınlanmaz.',
|
|
556
|
+
'onboarding.save.defer.description': 'Hiçbir şey kaydedilmez. Soruları sonra yeniden geçebilirsin.',
|
|
557
|
+
'onboarding.save.defer.label': 'Seçimleri beklemede bırak',
|
|
558
|
+
'onboarding.save.example': 'Kaydettikten sonra sonraki görev teknolojiyi ve mimariyi sana tekrar sormadan buradan okur.',
|
|
559
|
+
'onboarding.save.git': 'Bu klasörde Git hazırlanır; mevcut dosyalar olduğu gibi kalır, hiçbiri silinmez veya değiştirilmez.',
|
|
560
|
+
'onboarding.save.message': 'Bu kurulum seçimlerini kaydedelim mi?',
|
|
561
|
+
'onboarding.save.route.adopt': 'mevcut projeyi öğren ve koru',
|
|
562
|
+
'onboarding.save.route.greenfield': 'yeni bir proje kur',
|
|
563
|
+
'onboarding.save.route.refresh': 'hafızayı güncel projeyle tazele',
|
|
564
|
+
'onboarding.save.route.rework': 'önce öğren, sonra aşama aşama yeniden yazmayı planla',
|
|
565
|
+
'onboarding.save.routeLabel': 'Seçilen yol',
|
|
566
|
+
'questionnaire.answer': 'Yanıt',
|
|
567
|
+
'questionnaire.everyQuestion': 'Karar vermek için soruları cevapla veya formu bitiren bir seçenek seç. Hiçbir seçenek seçmeden yorum da gönderebilirsin.',
|
|
568
|
+
'questionnaire.example': 'Örnek',
|
|
569
|
+
'questionnaire.feedback': 'Yanıtını veya yorumunu yaz (isteğe bağlı)',
|
|
570
|
+
'questionnaire.freeAnswer': 'Farklı yanıtını yaz (isteğe bağlı)',
|
|
571
|
+
'questionnaire.freeText': 'Bir seçenek seçmeden farklı yanıtını yazabilirsin. Serbest yanıt saklanmaz ve daha sonra geri getirilemez.',
|
|
572
|
+
'questionnaire.pending': 'Kararını kaydetmek için bir seçenek seç. Formu kapatmak veya iptal etmek onay sayılmaz; soru beklemede kalır.',
|
|
573
|
+
'questionnaire.recommended': 'Önerilen',
|
|
574
|
+
'questionnaire.storedText': 'Bu metin alanındaki yanıt kararınla birlikte saklanır; yeniden başlattığında korunur.',
|
|
575
|
+
'releaseUnowned.context': 'Bu çalışma kopyası sahiplik kaydı olmadan bulundu; bu yüzden korunuyor ve hiçbir göreve verilmiyor. Serbest bırakmadan önce güvenlik kontrolleri yeniden çalışır: kaydedilmemiş iş varsa işlem yapılmaz. Hiçbir dosya ve hiçbir dal silinmez.',
|
|
576
|
+
'releaseUnowned.example': 'Serbest bırakılırsa sıradaki görev bu klasörde başlayabilir; {commit} commit’ine kaydedilmiş iş dalında durmaya devam eder.',
|
|
577
|
+
'releaseUnowned.message': '{folder} klasörünü kimin kullandığı kayıtlı değil. Burada çalışan ajan durduysa ve teslimi bittiyse, temiz klasör yeniden kullanılabilir hâle gelsin mi?',
|
|
578
|
+
'releaseUnowned.preserve': 'Korumaya devam et',
|
|
579
|
+
'releaseUnowned.preserved': 'Hiçbir şey değişmez. Klasör korunur ve hiçbir göreve verilmez.',
|
|
580
|
+
'releaseUnowned.release': 'Önceki iş bitti; güvenlik kontrollerinden sonra kullanılabilir yap',
|
|
581
|
+
'releaseUnowned.released': 'Güvenlik kontrolleri çalışır; geçerse klasör havuza döner.',
|
|
582
|
+
'retireWorktree.context': 'Eski konumdaki klasörler artık havuzun parçası değil: yeniden kullanılmıyorlar ve sınıra da sayılmıyorlar.',
|
|
583
|
+
'retireWorktree.contextFolder': 'Dal ve üzerindeki commit’ler kalır. Git yalnızca temiz bir klasörü kaldırır; kaldırırken .gitignore kapsamındaki dosyalar da gider.',
|
|
584
|
+
'retireWorktree.contextMissing': 'Geriye yalnızca kayıt kaldı; kaldırılacak bir klasör yok, hiçbir dosya okunmaz veya silinmez.',
|
|
585
|
+
'retireWorktree.example': 'Bundan sonra {folder} worktree listesinde görünmez; {branch} dalındaki commit’ler ise yerinde durur.',
|
|
586
|
+
'retireWorktree.exampleMissing': 'Bundan sonra {folder} worktree listesinde görünmez; diskte hiçbir şey değişmez.',
|
|
587
|
+
'retireWorktree.keep': 'Kalsın',
|
|
588
|
+
'retireWorktree.kept': 'Hiçbir şey değişmez. Klasör de kaydı da olduğu gibi kalır.',
|
|
589
|
+
'retireWorktree.message': '{folder}, eski konumda kalmış bir worktree (dal {branch}). Klasör kaldırılsın mı?',
|
|
590
|
+
'retireWorktree.missing': '{folder} klasörü artık yok ama worktree kaydı duruyor. Kayıt silinsin mi?',
|
|
591
|
+
'retireWorktree.noBranch': 'yok',
|
|
592
|
+
'retireWorktree.retire': 'Klasörü kaldır',
|
|
593
|
+
'retireWorktree.retired': 'Git klasörü kaldırır, Engineering Memory de kaydını siler. Dal ve commit’ler kalır.',
|
|
594
|
+
'retireWorktree.retiredMissing': 'Boşta kalan kayıt silinir. Diskte hiçbir şey değişmez.',
|
|
595
|
+
'reviewBatch.approved.description': 'Listedeki her kayıt şimdi yeni metnine geçer.',
|
|
596
|
+
'reviewBatch.approved.label': 'Hepsini yayınla',
|
|
597
|
+
'reviewBatch.context': 'Yayınlarsan bu kayıtların mevcut metni, bu hafızayı okuyan herkes için değişir. Eski sürümler geçmişte kalır.',
|
|
598
|
+
'reviewBatch.defer.description': 'Hiçbir şey değişmez. Öneriler beklemede kalır.',
|
|
599
|
+
'reviewBatch.defer.label': 'Şimdilik karar verme',
|
|
600
|
+
'reviewBatch.example': 'Yayınladıktan sonra bu kayıtlardan birini okuyan bir sonraki oturum eski metni değil yenisini görür.',
|
|
601
|
+
'reviewBatch.kinds.api_endpoint': 'API endpoint kaydı',
|
|
602
|
+
'reviewBatch.kinds.architecture_template': 'mimari şablonu',
|
|
603
|
+
'reviewBatch.kinds.component_mapping': 'bileşen eşlemesi',
|
|
604
|
+
'reviewBatch.kinds.current_deviation': 'kayıtlı sapma',
|
|
605
|
+
'reviewBatch.kinds.data_model': 'veri modeli',
|
|
606
|
+
'reviewBatch.kinds.engineering_rule': 'mühendislik kuralı',
|
|
607
|
+
'reviewBatch.kinds.figma_mapping': 'Figma eşlemesi',
|
|
608
|
+
'reviewBatch.kinds.figma_reference': 'Figma referansı',
|
|
609
|
+
'reviewBatch.kinds.flow_logic': 'akış mantığı',
|
|
610
|
+
'reviewBatch.kinds.localization_contract': 'yerelleştirme sözleşmesi',
|
|
611
|
+
'reviewBatch.kinds.module_logic': 'modül mantığı',
|
|
612
|
+
'reviewBatch.kinds.navigation_contract': 'gezinme sözleşmesi',
|
|
613
|
+
'reviewBatch.kinds.project_profile': 'proje profili',
|
|
614
|
+
'reviewBatch.kinds.quality_gate': 'kalite kapısı',
|
|
615
|
+
'reviewBatch.kinds.screen_logic': 'ekran mantığı',
|
|
616
|
+
'reviewBatch.kinds.service_contract': 'servis sözleşmesi',
|
|
617
|
+
'reviewBatch.kinds.state_contract': 'durum yönetimi sözleşmesi',
|
|
618
|
+
'reviewBatch.newRecord': 'yeni kayıt',
|
|
619
|
+
'reviewBatch.oneByOne.description': 'Şimdi hiçbir şey değişmez. Her kayıt tam metniyle gösterilir ve ayrı ayrı karara bağlanır.',
|
|
620
|
+
'reviewBatch.oneByOne.label': 'Tek tek bakayım',
|
|
621
|
+
'reviewBatch.ready': '{count, plural, one {Bir hafıza kaydı yayına hazır.} other {# hafıza kaydı yayına hazır.}}',
|
|
622
|
+
'reviewBatch.rebase': 'eski bir sürüme göre yazılmış',
|
|
623
|
+
'reviewBatch.rejected.description': 'Hiçbir şey değişmez. Öneriler reddedilir ve yeniden yazılmaları gerekir.',
|
|
624
|
+
'reviewBatch.rejected.label': 'Hepsini reddet',
|
|
625
|
+
'reviewBatch.revision': 'sürüm {from} → {to}',
|
|
626
|
+
'reviewBatch.scope.organization': 'organizasyon',
|
|
627
|
+
'reviewBatch.scope.product': 'ürün',
|
|
628
|
+
'reviewBatch.scope.project': 'proje',
|
|
629
|
+
'reviewBatch.untitled': 'başlıksız {kind}',
|
|
630
|
+
'reviewBatch.unversioned': 'Kaynak incelemesi yapılmadan yazılanlar: {titles}. Hafızayı kaynak sürümüne göre okuyan görevler, bir inceleme bunları saklayana kadar görmez.',
|
|
631
|
+
'reviewBatch.why': 'Nedeni',
|
|
632
|
+
'reworkPlan.approve.description': 'İş kalemleri listelendiği gibi şimdi oluşturulur. Aşamaların kodlanması yine ayrı ayrı başlar.',
|
|
633
|
+
'reworkPlan.approve.label': 'Bu iş kalemlerini oluştur',
|
|
634
|
+
'reworkPlan.branch': 'dal',
|
|
635
|
+
'reworkPlan.context': 'Onaylarsan plandaki her aşama için bağımlılık sırasına göre birer iş kalemi oluşturulur; başka hiçbir şey olmaz. Dal açılmaz, koda dokunulmaz. Her aşama daha sonra kendi görevi, kendi dalı ve kendi worktree ile ayrı ayrı yapılır.',
|
|
636
|
+
'reworkPlan.defer.description': 'Hiçbir şey değişmez. İş kalemi oluşturulmaz, planı sonra onaylayabilirsin.',
|
|
637
|
+
'reworkPlan.defer.label': 'Plan beklemede kalsın',
|
|
638
|
+
'reworkPlan.example': 'Onaydan sonra ilk aşama başlatılabilir bir iş kalemi olarak görünür; ona bağlı aşamalar o bitene kadar bekler.',
|
|
639
|
+
'reworkPlan.more': 've {count} aşama daha',
|
|
640
|
+
'reworkPlan.phases': '{count, plural, one {Bu yeniden yazım planındaki tek aşama için iş kalemi oluşturalım mı?} other {Bu yeniden yazım planındaki # aşama için iş kalemleri oluşturalım mı?}}',
|
|
641
|
+
'ruleDeviation.approve.description': 'Sapma bu dosya için kaydedilir ve inceleme devam eder.',
|
|
642
|
+
'ruleDeviation.approve.label': 'Kodu olduğu gibi bırak ve sapmayı kaydet',
|
|
643
|
+
'ruleDeviation.ask': '{path} dosyası bu projenin bir kuralına uymuyor. Kod olduğu gibi kalsın mı?',
|
|
644
|
+
'ruleDeviation.change.description': 'Hiçbir şey kaydedilmez. Kod kurala uyup yeniden incelenene kadar inceleme durur.',
|
|
645
|
+
'ruleDeviation.change.label': 'Kodu kurala uyacak şekilde değiştir',
|
|
646
|
+
'ruleDeviation.context': 'Kural çatışmasında kararı kodu yazan değil sen verirsin. Kodu olduğu gibi bırakırsan bu dosya için o kurala ait bir sapma kaydedilir: sapma incelemeyle birlikte gider, proje hafızasında kalır ve bu dosyaya sonradan dokunan görev önce onu okur.',
|
|
647
|
+
'ruleDeviation.deviation': 'Sapma',
|
|
648
|
+
'ruleDeviation.example': 'Bu dosyayı sonra açan görev, kuralı ve kaydedilen bu sapmayı birlikte görür; kodu kurala uyuyormuş gibi okumaz.',
|
|
649
|
+
'ruleDeviation.rule': 'Kural',
|
|
650
|
+
'ruleDeviation.unnamed': 'adı kayıtlı olmayan bir mühendislik kuralı',
|
|
651
|
+
'signIn.completed': 'Giriş tamamlandı. Kod ajanına dönebilirsin.',
|
|
652
|
+
'signIn.failed': 'Giriş tamamlanamadı.',
|
|
653
|
+
'signIn.invalid': 'Giriş isteği geçersiz.',
|
|
654
|
+
'startFallback.approve': 'Devam et',
|
|
655
|
+
'startFallback.approved': 'Yeni dal şimdi {local} üzerinden açılır ve görev başlar.',
|
|
656
|
+
'startFallback.context': 'Seçtiğin dala ulaşılamadığı için tam commit’i alınamıyor. Yerel kopya, en son çekilen hâli gösterir: o günden sonra uzak dala giden commit’ler burada yok. Sen cevaplayana kadar hiçbir şey oluşturulmaz.',
|
|
657
|
+
'startFallback.defer': 'Şimdilik başlatma',
|
|
658
|
+
'startFallback.deferred': 'Hiçbir şey oluşturulmaz, hiçbir yer ayrılmaz. Görev bekler; uzak dala ulaşıldığında yeniden başlatılabilir.',
|
|
659
|
+
'startFallback.example': 'Devam edersen yeni dal {local} üzerinden açılır; ağ düzeldiğinde {remote} dalını bu dala birleştirebilirsin.',
|
|
660
|
+
'startFallback.messageHere': '{remote} uzak dalına ulaşılamadı. Görev, yereldeki {local} üzerinden bu klasörde başlasın mı?',
|
|
661
|
+
'startFallback.messageWorktree': '{remote} uzak dalına ulaşılamadı. Görev, yereldeki {local} üzerinden ayrı bir worktree’de başlasın mı?',
|
|
662
|
+
'statusMeaning.clear.description': 'Boş bırakma tercihini son incelemede doğrula; diğer alanlar aynı kalır.',
|
|
663
|
+
'statusMeaning.clear.label': 'Bu alanı boşalt',
|
|
664
|
+
'statusMeaning.context': 'Bu adım isteğe bağlı. Yorum veya açıklama isteği kaydedilmez; yazdığın tanımı son incelemeden sonra kaydederiz.',
|
|
665
|
+
'statusMeaning.current': 'Mevcut metin',
|
|
666
|
+
'statusMeaning.defer.description': 'Bu denemeyi ertele; kolon tanımını ve işleri değiştirme.',
|
|
667
|
+
'statusMeaning.defer.label': 'Şimdi kaydetme',
|
|
668
|
+
'statusMeaning.empty': '(boş)',
|
|
669
|
+
'statusMeaning.fields.entryRule.example': 'İncelemeye geçmek için kod hazır ve ilgili testler başarılı olmalı.',
|
|
670
|
+
'statusMeaning.fields.entryRule.inputTitle': 'Yazmak istediğin giriş koşulu',
|
|
671
|
+
'statusMeaning.fields.entryRule.question': 'Bir iş bu kolona hangi koşulda alınır?',
|
|
672
|
+
'statusMeaning.fields.entryRule.title': 'Kolona giriş koşulu',
|
|
673
|
+
'statusMeaning.fields.meaning.example': 'İncelemede: geliştirme bitti; ekip arkadaşının kodu incelemesi bekleniyor.',
|
|
674
|
+
'statusMeaning.fields.meaning.inputTitle': 'Yazmak istediğin anlam',
|
|
675
|
+
'statusMeaning.fields.meaning.question': 'Bu kolondaki iş ne aşamada olur?',
|
|
676
|
+
'statusMeaning.fields.meaning.title': 'Kolonun anlamı',
|
|
677
|
+
'statusMeaning.keep.description': 'Bu alanı ve mevcut işleri değiştirme.',
|
|
678
|
+
'statusMeaning.keep.label': 'Mevcut kalsın',
|
|
679
|
+
'statusMeaning.next.description': 'Metnin sonraki kısmını göster; henüz hiçbir şey kaydetme.',
|
|
680
|
+
'statusMeaning.next.label': 'Devamını incele',
|
|
681
|
+
'statusMeaning.page': 'Sayfa',
|
|
682
|
+
'statusMeaning.proposed': 'Yeni metin',
|
|
683
|
+
'statusMeaning.review.context': 'Mevcut ve yeni metin tümüyle gösterilir. Uzunsa sonraki sayfaya geç; kaydetme yalnızca son sayfadadır. Bu işlem bir işi taşımaz veya olay çalıştırmaz.',
|
|
684
|
+
'statusMeaning.review.example': 'İncelemede kolonunu “kod hazır, inceleme bekleniyor” diye tanımlarsın. Kolondaki işler aynı yerde kalır.',
|
|
685
|
+
'statusMeaning.review.message': 'Bu alanın değişikliğini incele',
|
|
686
|
+
'statusMeaning.save.description': 'İncelediğin alanı kaydet; diğer alanlara ve mevcut işlere dokunma.',
|
|
687
|
+
'statusMeaning.save.label': 'Bu tanımı kaydet',
|
|
688
|
+
'statusMeaning.write.description': 'Metin alanına kendi tanımını yaz; kaydetmeden önce birlikte gözden geçir.',
|
|
689
|
+
'statusMeaning.write.label': 'Tanımı yaz',
|
|
690
|
+
'statusRemap.apply.description': 'Gösterilen işleri tek işlemde yeni kolonlarına taşı; kolon tanımlarına ve rollere dokunma.',
|
|
691
|
+
'statusRemap.apply.label': 'İşleri taşı',
|
|
692
|
+
'statusRemap.archived': 'arşivde',
|
|
693
|
+
'statusRemap.context': 'Her satır bir kolondaki bütün işlerin nereye taşınacağını ve kaç iş olduğunu gösterir. Onay bu sayılara bağlıdır: uygulama anında sayılar değişmişse hiçbir iş taşınmaz ve yeniden sorulur. Kolon tanımları ve roller değişmez.',
|
|
694
|
+
'statusRemap.defer.description': 'Hiçbir işi taşıma; bu deneme ertelenmiş olarak kalır.',
|
|
695
|
+
'statusRemap.defer.label': 'Şimdi taşıma',
|
|
696
|
+
'statusRemap.example': 'Staging Check kolonundaki 3 açık ve 1 arşivlenmiş iş READY FOR QA kolonuna geçer; işlerin sırası, başlığı ve diğer alanları aynı kalır.',
|
|
697
|
+
'statusRemap.message': 'Bu işleri yeni kolonlarına taşıyalım mı?',
|
|
698
|
+
'statusRemap.next.description': 'Taşımanın sonraki kısmını göster; henüz hiçbir işi taşıma.',
|
|
699
|
+
'statusRemap.next.label': 'Devamını incele',
|
|
700
|
+
'statusRemap.open': 'açık',
|
|
701
|
+
'statusRemap.page': 'Sayfa',
|
|
702
|
+
'statusRemap.reason': 'Neden',
|
|
703
|
+
'statusRemap.roles.all_prs_merged': 'Bütün PR’lar birleşti',
|
|
704
|
+
'statusRemap.roles.blocked_declared': 'Park edilen işler',
|
|
705
|
+
'statusRemap.roles.draft_pr_opened': 'Taslak PR',
|
|
706
|
+
'statusRemap.roles.pr_opened': 'İncelemeye hazır PR',
|
|
707
|
+
'statusRemap.roles.test_failed': 'Başarısız test',
|
|
708
|
+
'statusRemap.roles.work_started': 'Geliştirmeye başlama',
|
|
709
|
+
'statusRemap.rolesStay': 'Bu roller taşınan kolonları hedeflemeye devam eder; değiştirmek için rol kurulumu ayrıca yapılır:',
|
|
710
|
+
'taskStart.base.fetchDetail': 'Güncel hali çekilir.',
|
|
711
|
+
'taskStart.base.field': 'origin dalı (yalnızca başka dal için)',
|
|
712
|
+
'taskStart.base.local': 'Yerel: {branch}',
|
|
713
|
+
'taskStart.base.localDetail': 'Çekmeden, mevcut commit’ten.',
|
|
714
|
+
'taskStart.base.message': 'Hangi daldan başlayalım?',
|
|
715
|
+
'taskStart.base.other': 'origin üzerinde başka dal',
|
|
716
|
+
'taskStart.base.otherDetail': 'Alttaki alana yaz.',
|
|
717
|
+
'taskStart.example': 'Ayrı worktree, işi ayrı klasörde tutar.',
|
|
718
|
+
'taskStart.keepContext': 'Mevcut dalda devam edilecek.',
|
|
719
|
+
'taskStart.location.busy': '{task} bu klasörde başka bir oturumda hâlâ çalışıyor; yeni branch burada açılamaz. O oturumda duraklatılırsa bu klasör de seçilebilir.',
|
|
720
|
+
'taskStart.location.defer.description': 'Hiçbir şey oluşturulmaz.',
|
|
721
|
+
'taskStart.location.defer.label': 'Şimdilik başlatma',
|
|
722
|
+
'taskStart.location.dirty': 'Bu klasörde kaydedilmemiş değişiklikler var; yeni branch burada açılamaz.',
|
|
723
|
+
'taskStart.location.here.description': 'Klasör yeni dala geçer.',
|
|
724
|
+
'taskStart.location.here.label': 'Bu klasörde yeni dal',
|
|
725
|
+
'taskStart.location.holder': 'Bu klasördeki {task} görevi burada başlarsan ayrı worktree’ye geçer; işi korunur.',
|
|
726
|
+
'taskStart.location.keep.description': '{branch} üzerinde devam et.',
|
|
727
|
+
'taskStart.location.keep.label': 'Mevcut dalda kal',
|
|
728
|
+
'taskStart.location.message': 'Nerede çalışalım?',
|
|
729
|
+
'taskStart.location.worktree.description': 'Bu klasör değişmez.',
|
|
730
|
+
'taskStart.location.worktree.label': 'Ayrı worktree',
|
|
731
|
+
'taskStart.message': 'Göreve başla',
|
|
732
|
+
'taskStart.newBranch': 'Yeni dal: {name}',
|
|
733
|
+
'taskStart.stay': 'Yeni bir şey oluşturulmaz. İş bu klasörde {source} üzerinde sürer; her commit o dala gider.',
|
|
734
|
+
'uiWaiver.ask': '{task}: bu görev için UI kontrolünü (widget, golden veya ekran görüntüsü testi) atlayalım mı?',
|
|
735
|
+
'uiWaiver.context': 'UI kontrolü, bu görevde değişen ekranların hâlâ doğru çizildiğini gösteren testtir. Atlarsan bu görevde o ekranları açan hiçbir test kalmaz ve atlama kararı yukarıdaki gerekçesiyle görevin denetim kaydına yazılır.',
|
|
736
|
+
'uiWaiver.example': 'Bu değişiklikte bozulan bir yerleşim doğrulamadan geçer ve ancak uygulamayı açan biri fark ettiğinde ortaya çıkar.',
|
|
737
|
+
'uiWaiver.files': 'Arayüzü çizen değişen dosyalar: {files}',
|
|
738
|
+
'uiWaiver.reason': 'Verdiğin gerekçe: {reason}',
|
|
739
|
+
'uiWaiver.require.description': 'Hiçbir şey atlanmaz. Bu dosyaları kapsayan bir widget, golden veya ekran görüntüsü testi gelene kadar görev doğrulanmaz.',
|
|
740
|
+
'uiWaiver.require.label': 'UI kontrolü zorunlu kalsın',
|
|
741
|
+
'uiWaiver.waive.description': 'Görev, bu dosyalar için widget, golden veya ekran görüntüsü testi olmadan doğrulanır ve atlama kaydedilir.',
|
|
742
|
+
'uiWaiver.waive.label': 'UI kontrolünü atla',
|
|
743
|
+
'whatsNew.badge': '{count} yenilik · Paket {version}',
|
|
744
|
+
'whatsNew.build': 'Build {number}',
|
|
745
|
+
'whatsNew.example': 'Günlük kullanımda',
|
|
746
|
+
'whatsNew.footer': 'Tarihler, yeniliklerin bu katalogda ilk duyurulduğu günü gösterir. Bu yerel rapor, oluşturulduğu andaki bilgileri içerir; görevine normal şekilde devam edebilirsin.',
|
|
747
|
+
'whatsNew.intro': 'Kullandığın paketle erişebildiğin yenilikler ve günlük işlerinde sana nasıl yardımcı oldukları.',
|
|
748
|
+
'whatsNew.title': "EM'de neler yeni?",
|
|
749
|
+
'workflow.approve.description': 'Gösterilen beş tercihi birlikte kaydet; mevcut işleri taşıma.',
|
|
750
|
+
'workflow.approve.label': 'Bu ayarları kaydet',
|
|
751
|
+
'workflow.defer.description': 'Seçimleri uygulama; bu deneme ertelenmiş olarak kalır.',
|
|
752
|
+
'workflow.defer.label': 'Şimdi kaydetme',
|
|
753
|
+
'workflow.modes.automatic': 'Otomatik',
|
|
754
|
+
'workflow.modes.confirm': 'Onay sor',
|
|
755
|
+
'workflow.modes.ignore': 'Olayı dikkate alma',
|
|
756
|
+
'workflow.next.description': 'Aynı kararın sonraki kolonlarını göster.',
|
|
757
|
+
'workflow.next.label': 'Sonraki kolonlar',
|
|
758
|
+
'workflow.page': 'Sayfa',
|
|
759
|
+
'workflow.previous.description': 'Aynı kararın önceki kolonlarına dön.',
|
|
760
|
+
'workflow.previous.label': 'Önceki kolonlar',
|
|
761
|
+
'workflow.review.context': 'Beş kolon ve davranış aşağıda. Taslak PR ve yeni işin başlangıç kolonu değişmez. Bu işlem yalnızca ayarları kaydeder; olay çalıştırmaz.',
|
|
762
|
+
'workflow.review.example': 'Beklemeye alınan işler için Beklemede kolonunu seçtiysen proje bundan sonra bu tercihi saklar; önceki işler yerinde kalır.',
|
|
763
|
+
'workflow.review.message': 'Bu akış ayarlarını birlikte kaydedelim mi?',
|
|
764
|
+
'workflow.roles.all_prs_merged.context': 'Bu işe bağlı bütün PR’ların birleştiği adımı ayarlıyoruz.',
|
|
765
|
+
'workflow.roles.all_prs_merged.example': 'Hem web hem sunucu değişiklikleri birleştirildiğinde kullanılacak kolon.',
|
|
766
|
+
'workflow.roles.all_prs_merged.message': 'İşin bütün PR’ları birleşince hangi kolon kullanılsın?',
|
|
767
|
+
'workflow.roles.all_prs_merged.title': 'Bütün PR’lar birleşti',
|
|
768
|
+
'workflow.roles.blocked_declared.context': 'Projenin aktif park kolonunu seçiyoruz; mevcut işler yerinde kalacak.',
|
|
769
|
+
'workflow.roles.blocked_declared.example': 'Dış servisten yanıt beklediğin için işi beklemeye aldığında kullanılacak kolon.',
|
|
770
|
+
'workflow.roles.blocked_declared.message': 'Beklemeye alınan işler hangi kolonda park edilsin?',
|
|
771
|
+
'workflow.roles.blocked_declared.title': 'Park edilen işler',
|
|
772
|
+
'workflow.roles.pr_opened.context': 'Taslak PR davranışı aynı kalır; burada incelemeye hazır PR adımını ayarlıyoruz.',
|
|
773
|
+
'workflow.roles.pr_opened.example': 'Değişikliğini bitirip ekip arkadaşının incelemesine açtığında kullanılacak kolon.',
|
|
774
|
+
'workflow.roles.pr_opened.message': 'PR incelemeye hazır olunca hangi kolon kullanılsın?',
|
|
775
|
+
'workflow.roles.pr_opened.title': 'İncelemeye hazır PR',
|
|
776
|
+
'workflow.roles.test_failed.context': 'Başarısız testin ardından yapılacak düzeltmeler için kolon seçiyoruz.',
|
|
777
|
+
'workflow.roles.test_failed.example': 'Ödeme testinde hata bulundu; düzeltme bekleyen iş için kullanılacak kolon.',
|
|
778
|
+
'workflow.roles.test_failed.message': 'Test başarısız olunca hangi kolon kullanılsın?',
|
|
779
|
+
'workflow.roles.test_failed.title': 'Başarısız test',
|
|
780
|
+
'workflow.roles.work_started.context': 'Yeni işin açıldığı kolondan ayrı olarak, geliştirmeye başlama adımını ayarlıyoruz.',
|
|
781
|
+
'workflow.roles.work_started.example': 'Ödeme hatasını düzeltmeye başladığında kullanılacak kolonu seçiyorsun.',
|
|
782
|
+
'workflow.roles.work_started.message': 'Geliştirmeye başlayınca hangi kolon kullanılsın?',
|
|
783
|
+
'workflow.roles.work_started.title': 'Geliştirme',
|
|
784
|
+
},
|
|
785
|
+
};
|
|
786
|
+
//# sourceMappingURL=catalogue.generated.js.map
|