@qwen-code/sdk 0.1.5-preview.2 → 0.1.6-preview.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/README.md +31 -0
- package/dist/cli/cli.js +243331 -226153
- package/dist/cli/locales/de.js +1658 -0
- package/dist/cli/locales/en.js +1709 -0
- package/dist/cli/locales/ja.js +1162 -0
- package/dist/cli/locales/pt.js +1653 -0
- package/dist/cli/locales/ru.js +1665 -0
- package/dist/cli/locales/zh.js +1529 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +15 -0
- package/dist/index.mjs +5 -5
- package/package.json +1 -1
|
@@ -0,0 +1,1709 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// English translations for Qwen Code CLI
|
|
8
|
+
// The key serves as both the translation key and the default English text
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Help / UI Components
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Attachment hints
|
|
15
|
+
'↑ to manage attachments': '↑ to manage attachments',
|
|
16
|
+
'← → select, Delete to remove, ↓ to exit':
|
|
17
|
+
'← → select, Delete to remove, ↓ to exit',
|
|
18
|
+
'Attachments: ': 'Attachments: ',
|
|
19
|
+
|
|
20
|
+
'Basics:': 'Basics:',
|
|
21
|
+
'Add context': 'Add context',
|
|
22
|
+
'Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.':
|
|
23
|
+
'Use {{symbol}} to specify files for context (e.g., {{example}}) to target specific files or folders.',
|
|
24
|
+
'@': '@',
|
|
25
|
+
'@src/myFile.ts': '@src/myFile.ts',
|
|
26
|
+
'Shell mode': 'Shell mode',
|
|
27
|
+
'YOLO mode': 'YOLO mode',
|
|
28
|
+
'plan mode': 'plan mode',
|
|
29
|
+
'auto-accept edits': 'auto-accept edits',
|
|
30
|
+
'Accepting edits': 'Accepting edits',
|
|
31
|
+
'(shift + tab to cycle)': '(shift + tab to cycle)',
|
|
32
|
+
'(tab to cycle)': '(tab to cycle)',
|
|
33
|
+
'Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).':
|
|
34
|
+
'Execute shell commands via {{symbol}} (e.g., {{example1}}) or use natural language (e.g., {{example2}}).',
|
|
35
|
+
'!': '!',
|
|
36
|
+
'!npm run start': '!npm run start',
|
|
37
|
+
'start server': 'start server',
|
|
38
|
+
'Commands:': 'Commands:',
|
|
39
|
+
'shell command': 'shell command',
|
|
40
|
+
'Model Context Protocol command (from external servers)':
|
|
41
|
+
'Model Context Protocol command (from external servers)',
|
|
42
|
+
'Keyboard Shortcuts:': 'Keyboard Shortcuts:',
|
|
43
|
+
'Toggle this help display': 'Toggle this help display',
|
|
44
|
+
'Toggle shell mode': 'Toggle shell mode',
|
|
45
|
+
'Open command menu': 'Open command menu',
|
|
46
|
+
'Add file context': 'Add file context',
|
|
47
|
+
'Accept suggestion / Autocomplete': 'Accept suggestion / Autocomplete',
|
|
48
|
+
'Reverse search history': 'Reverse search history',
|
|
49
|
+
'Press ? again to close': 'Press ? again to close',
|
|
50
|
+
// Keyboard shortcuts panel descriptions
|
|
51
|
+
'for shell mode': 'for shell mode',
|
|
52
|
+
'for commands': 'for commands',
|
|
53
|
+
'for file paths': 'for file paths',
|
|
54
|
+
'to clear input': 'to clear input',
|
|
55
|
+
'to cycle approvals': 'to cycle approvals',
|
|
56
|
+
'to quit': 'to quit',
|
|
57
|
+
'for newline': 'for newline',
|
|
58
|
+
'to clear screen': 'to clear screen',
|
|
59
|
+
'to search history': 'to search history',
|
|
60
|
+
'to paste images': 'to paste images',
|
|
61
|
+
'for external editor': 'for external editor',
|
|
62
|
+
'Jump through words in the input': 'Jump through words in the input',
|
|
63
|
+
'Close dialogs, cancel requests, or quit application':
|
|
64
|
+
'Close dialogs, cancel requests, or quit application',
|
|
65
|
+
'New line': 'New line',
|
|
66
|
+
'New line (Alt+Enter works for certain linux distros)':
|
|
67
|
+
'New line (Alt+Enter works for certain linux distros)',
|
|
68
|
+
'Clear the screen': 'Clear the screen',
|
|
69
|
+
'Open input in external editor': 'Open input in external editor',
|
|
70
|
+
'Send message': 'Send message',
|
|
71
|
+
'Initializing...': 'Initializing...',
|
|
72
|
+
'Connecting to MCP servers... ({{connected}}/{{total}})':
|
|
73
|
+
'Connecting to MCP servers... ({{connected}}/{{total}})',
|
|
74
|
+
'Type your message or @path/to/file': 'Type your message or @path/to/file',
|
|
75
|
+
'? for shortcuts': '? for shortcuts',
|
|
76
|
+
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.":
|
|
77
|
+
"Press 'i' for INSERT mode and 'Esc' for NORMAL mode.",
|
|
78
|
+
'Cancel operation / Clear input (double press)':
|
|
79
|
+
'Cancel operation / Clear input (double press)',
|
|
80
|
+
'Cycle approval modes': 'Cycle approval modes',
|
|
81
|
+
'Cycle through your prompt history': 'Cycle through your prompt history',
|
|
82
|
+
'For a full list of shortcuts, see {{docPath}}':
|
|
83
|
+
'For a full list of shortcuts, see {{docPath}}',
|
|
84
|
+
'docs/keyboard-shortcuts.md': 'docs/keyboard-shortcuts.md',
|
|
85
|
+
'for help on Qwen Code': 'for help on Qwen Code',
|
|
86
|
+
'show version info': 'show version info',
|
|
87
|
+
'submit a bug report': 'submit a bug report',
|
|
88
|
+
'About Qwen Code': 'About Qwen Code',
|
|
89
|
+
Status: 'Status',
|
|
90
|
+
|
|
91
|
+
// ============================================================================
|
|
92
|
+
// System Information Fields
|
|
93
|
+
// ============================================================================
|
|
94
|
+
'Qwen Code': 'Qwen Code',
|
|
95
|
+
Runtime: 'Runtime',
|
|
96
|
+
OS: 'OS',
|
|
97
|
+
Auth: 'Auth',
|
|
98
|
+
'CLI Version': 'CLI Version',
|
|
99
|
+
'Git Commit': 'Git Commit',
|
|
100
|
+
Model: 'Model',
|
|
101
|
+
Sandbox: 'Sandbox',
|
|
102
|
+
'OS Platform': 'OS Platform',
|
|
103
|
+
'OS Arch': 'OS Arch',
|
|
104
|
+
'OS Release': 'OS Release',
|
|
105
|
+
'Node.js Version': 'Node.js Version',
|
|
106
|
+
'NPM Version': 'NPM Version',
|
|
107
|
+
'Session ID': 'Session ID',
|
|
108
|
+
'Auth Method': 'Auth Method',
|
|
109
|
+
'Base URL': 'Base URL',
|
|
110
|
+
Proxy: 'Proxy',
|
|
111
|
+
'Memory Usage': 'Memory Usage',
|
|
112
|
+
'IDE Client': 'IDE Client',
|
|
113
|
+
|
|
114
|
+
// ============================================================================
|
|
115
|
+
// Commands - General
|
|
116
|
+
// ============================================================================
|
|
117
|
+
'Analyzes the project and creates a tailored QWEN.md file.':
|
|
118
|
+
'Analyzes the project and creates a tailored QWEN.md file.',
|
|
119
|
+
'List available Qwen Code tools. Usage: /tools [desc]':
|
|
120
|
+
'List available Qwen Code tools. Usage: /tools [desc]',
|
|
121
|
+
'List available skills.': 'List available skills.',
|
|
122
|
+
'Available Qwen Code CLI tools:': 'Available Qwen Code CLI tools:',
|
|
123
|
+
'No tools available': 'No tools available',
|
|
124
|
+
'View or change the approval mode for tool usage':
|
|
125
|
+
'View or change the approval mode for tool usage',
|
|
126
|
+
'Invalid approval mode "{{arg}}". Valid modes: {{modes}}':
|
|
127
|
+
'Invalid approval mode "{{arg}}". Valid modes: {{modes}}',
|
|
128
|
+
'Approval mode set to "{{mode}}"': 'Approval mode set to "{{mode}}"',
|
|
129
|
+
'View or change the language setting': 'View or change the language setting',
|
|
130
|
+
'change the theme': 'change the theme',
|
|
131
|
+
'Select Theme': 'Select Theme',
|
|
132
|
+
Preview: 'Preview',
|
|
133
|
+
'(Use Enter to select, Tab to configure scope)':
|
|
134
|
+
'(Use Enter to select, Tab to configure scope)',
|
|
135
|
+
'(Use Enter to apply scope, Tab to go back)':
|
|
136
|
+
'(Use Enter to apply scope, Tab to go back)',
|
|
137
|
+
'Theme configuration unavailable due to NO_COLOR env variable.':
|
|
138
|
+
'Theme configuration unavailable due to NO_COLOR env variable.',
|
|
139
|
+
'Theme "{{themeName}}" not found.': 'Theme "{{themeName}}" not found.',
|
|
140
|
+
'Theme "{{themeName}}" not found in selected scope.':
|
|
141
|
+
'Theme "{{themeName}}" not found in selected scope.',
|
|
142
|
+
'Clear conversation history and free up context':
|
|
143
|
+
'Clear conversation history and free up context',
|
|
144
|
+
'Compresses the context by replacing it with a summary.':
|
|
145
|
+
'Compresses the context by replacing it with a summary.',
|
|
146
|
+
'open full Qwen Code documentation in your browser':
|
|
147
|
+
'open full Qwen Code documentation in your browser',
|
|
148
|
+
'Configuration not available.': 'Configuration not available.',
|
|
149
|
+
'change the auth method': 'change the auth method',
|
|
150
|
+
'Configure authentication information for login':
|
|
151
|
+
'Configure authentication information for login',
|
|
152
|
+
'Copy the last result or code snippet to clipboard':
|
|
153
|
+
'Copy the last result or code snippet to clipboard',
|
|
154
|
+
|
|
155
|
+
// ============================================================================
|
|
156
|
+
// Commands - Agents
|
|
157
|
+
// ============================================================================
|
|
158
|
+
'Manage subagents for specialized task delegation.':
|
|
159
|
+
'Manage subagents for specialized task delegation.',
|
|
160
|
+
'Manage existing subagents (view, edit, delete).':
|
|
161
|
+
'Manage existing subagents (view, edit, delete).',
|
|
162
|
+
'Create a new subagent with guided setup.':
|
|
163
|
+
'Create a new subagent with guided setup.',
|
|
164
|
+
|
|
165
|
+
// ============================================================================
|
|
166
|
+
// Agents - Management Dialog
|
|
167
|
+
// ============================================================================
|
|
168
|
+
Agents: 'Agents',
|
|
169
|
+
'Choose Action': 'Choose Action',
|
|
170
|
+
'Edit {{name}}': 'Edit {{name}}',
|
|
171
|
+
'Edit Tools: {{name}}': 'Edit Tools: {{name}}',
|
|
172
|
+
'Edit Color: {{name}}': 'Edit Color: {{name}}',
|
|
173
|
+
'Delete {{name}}': 'Delete {{name}}',
|
|
174
|
+
'Unknown Step': 'Unknown Step',
|
|
175
|
+
'Esc to close': 'Esc to close',
|
|
176
|
+
'Enter to select, ↑↓ to navigate, Esc to close':
|
|
177
|
+
'Enter to select, ↑↓ to navigate, Esc to close',
|
|
178
|
+
'Esc to go back': 'Esc to go back',
|
|
179
|
+
'Enter to confirm, Esc to cancel': 'Enter to confirm, Esc to cancel',
|
|
180
|
+
'Enter to select, ↑↓ to navigate, Esc to go back':
|
|
181
|
+
'Enter to select, ↑↓ to navigate, Esc to go back',
|
|
182
|
+
'Enter to submit, Esc to go back': 'Enter to submit, Esc to go back',
|
|
183
|
+
'Invalid step: {{step}}': 'Invalid step: {{step}}',
|
|
184
|
+
'No subagents found.': 'No subagents found.',
|
|
185
|
+
"Use '/agents create' to create your first subagent.":
|
|
186
|
+
"Use '/agents create' to create your first subagent.",
|
|
187
|
+
'(built-in)': '(built-in)',
|
|
188
|
+
'(overridden by project level agent)': '(overridden by project level agent)',
|
|
189
|
+
'Project Level ({{path}})': 'Project Level ({{path}})',
|
|
190
|
+
'User Level ({{path}})': 'User Level ({{path}})',
|
|
191
|
+
'Built-in Agents': 'Built-in Agents',
|
|
192
|
+
'Extension Agents': 'Extension Agents',
|
|
193
|
+
'Using: {{count}} agents': 'Using: {{count}} agents',
|
|
194
|
+
'View Agent': 'View Agent',
|
|
195
|
+
'Edit Agent': 'Edit Agent',
|
|
196
|
+
'Delete Agent': 'Delete Agent',
|
|
197
|
+
Back: 'Back',
|
|
198
|
+
'No agent selected': 'No agent selected',
|
|
199
|
+
'File Path: ': 'File Path: ',
|
|
200
|
+
'Tools: ': 'Tools: ',
|
|
201
|
+
'Color: ': 'Color: ',
|
|
202
|
+
'Description:': 'Description:',
|
|
203
|
+
'System Prompt:': 'System Prompt:',
|
|
204
|
+
'Open in editor': 'Open in editor',
|
|
205
|
+
'Edit tools': 'Edit tools',
|
|
206
|
+
'Edit color': 'Edit color',
|
|
207
|
+
'❌ Error:': '❌ Error:',
|
|
208
|
+
'Are you sure you want to delete agent "{{name}}"?':
|
|
209
|
+
'Are you sure you want to delete agent "{{name}}"?',
|
|
210
|
+
// ============================================================================
|
|
211
|
+
// Agents - Creation Wizard
|
|
212
|
+
// ============================================================================
|
|
213
|
+
'Project Level (.qwen/agents/)': 'Project Level (.qwen/agents/)',
|
|
214
|
+
'User Level (~/.qwen/agents/)': 'User Level (~/.qwen/agents/)',
|
|
215
|
+
'✅ Subagent Created Successfully!': '✅ Subagent Created Successfully!',
|
|
216
|
+
'Subagent "{{name}}" has been saved to {{level}} level.':
|
|
217
|
+
'Subagent "{{name}}" has been saved to {{level}} level.',
|
|
218
|
+
'Name: ': 'Name: ',
|
|
219
|
+
'Location: ': 'Location: ',
|
|
220
|
+
'❌ Error saving subagent:': '❌ Error saving subagent:',
|
|
221
|
+
'Warnings:': 'Warnings:',
|
|
222
|
+
'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent':
|
|
223
|
+
'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent',
|
|
224
|
+
'Name "{{name}}" exists at user level - project level will take precedence':
|
|
225
|
+
'Name "{{name}}" exists at user level - project level will take precedence',
|
|
226
|
+
'Name "{{name}}" exists at project level - existing subagent will take precedence':
|
|
227
|
+
'Name "{{name}}" exists at project level - existing subagent will take precedence',
|
|
228
|
+
'Description is over {{length}} characters':
|
|
229
|
+
'Description is over {{length}} characters',
|
|
230
|
+
'System prompt is over {{length}} characters':
|
|
231
|
+
'System prompt is over {{length}} characters',
|
|
232
|
+
// Agents - Creation Wizard Steps
|
|
233
|
+
'Step {{n}}: Choose Location': 'Step {{n}}: Choose Location',
|
|
234
|
+
'Step {{n}}: Choose Generation Method':
|
|
235
|
+
'Step {{n}}: Choose Generation Method',
|
|
236
|
+
'Generate with Qwen Code (Recommended)':
|
|
237
|
+
'Generate with Qwen Code (Recommended)',
|
|
238
|
+
'Manual Creation': 'Manual Creation',
|
|
239
|
+
'Describe what this subagent should do and when it should be used. (Be comprehensive for best results)':
|
|
240
|
+
'Describe what this subagent should do and when it should be used. (Be comprehensive for best results)',
|
|
241
|
+
'e.g., Expert code reviewer that reviews code based on best practices...':
|
|
242
|
+
'e.g., Expert code reviewer that reviews code based on best practices...',
|
|
243
|
+
'Generating subagent configuration...':
|
|
244
|
+
'Generating subagent configuration...',
|
|
245
|
+
'Failed to generate subagent: {{error}}':
|
|
246
|
+
'Failed to generate subagent: {{error}}',
|
|
247
|
+
'Step {{n}}: Describe Your Subagent': 'Step {{n}}: Describe Your Subagent',
|
|
248
|
+
'Step {{n}}: Enter Subagent Name': 'Step {{n}}: Enter Subagent Name',
|
|
249
|
+
'Step {{n}}: Enter System Prompt': 'Step {{n}}: Enter System Prompt',
|
|
250
|
+
'Step {{n}}: Enter Description': 'Step {{n}}: Enter Description',
|
|
251
|
+
// Agents - Tool Selection
|
|
252
|
+
'Step {{n}}: Select Tools': 'Step {{n}}: Select Tools',
|
|
253
|
+
'All Tools (Default)': 'All Tools (Default)',
|
|
254
|
+
'All Tools': 'All Tools',
|
|
255
|
+
'Read-only Tools': 'Read-only Tools',
|
|
256
|
+
'Read & Edit Tools': 'Read & Edit Tools',
|
|
257
|
+
'Read & Edit & Execution Tools': 'Read & Edit & Execution Tools',
|
|
258
|
+
'All tools selected, including MCP tools':
|
|
259
|
+
'All tools selected, including MCP tools',
|
|
260
|
+
'Selected tools:': 'Selected tools:',
|
|
261
|
+
'Read-only tools:': 'Read-only tools:',
|
|
262
|
+
'Edit tools:': 'Edit tools:',
|
|
263
|
+
'Execution tools:': 'Execution tools:',
|
|
264
|
+
'Step {{n}}: Choose Background Color': 'Step {{n}}: Choose Background Color',
|
|
265
|
+
'Step {{n}}: Confirm and Save': 'Step {{n}}: Confirm and Save',
|
|
266
|
+
// Agents - Navigation & Instructions
|
|
267
|
+
'Esc to cancel': 'Esc to cancel',
|
|
268
|
+
'Press Enter to save, e to save and edit, Esc to go back':
|
|
269
|
+
'Press Enter to save, e to save and edit, Esc to go back',
|
|
270
|
+
'Press Enter to continue, {{navigation}}Esc to {{action}}':
|
|
271
|
+
'Press Enter to continue, {{navigation}}Esc to {{action}}',
|
|
272
|
+
cancel: 'cancel',
|
|
273
|
+
'go back': 'go back',
|
|
274
|
+
'↑↓ to navigate, ': '↑↓ to navigate, ',
|
|
275
|
+
'Enter a clear, unique name for this subagent.':
|
|
276
|
+
'Enter a clear, unique name for this subagent.',
|
|
277
|
+
'e.g., Code Reviewer': 'e.g., Code Reviewer',
|
|
278
|
+
'Name cannot be empty.': 'Name cannot be empty.',
|
|
279
|
+
"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.":
|
|
280
|
+
"Write the system prompt that defines this subagent's behavior. Be comprehensive for best results.",
|
|
281
|
+
'e.g., You are an expert code reviewer...':
|
|
282
|
+
'e.g., You are an expert code reviewer...',
|
|
283
|
+
'System prompt cannot be empty.': 'System prompt cannot be empty.',
|
|
284
|
+
'Describe when and how this subagent should be used.':
|
|
285
|
+
'Describe when and how this subagent should be used.',
|
|
286
|
+
'e.g., Reviews code for best practices and potential bugs.':
|
|
287
|
+
'e.g., Reviews code for best practices and potential bugs.',
|
|
288
|
+
'Description cannot be empty.': 'Description cannot be empty.',
|
|
289
|
+
'Failed to launch editor: {{error}}': 'Failed to launch editor: {{error}}',
|
|
290
|
+
'Failed to save and edit subagent: {{error}}':
|
|
291
|
+
'Failed to save and edit subagent: {{error}}',
|
|
292
|
+
|
|
293
|
+
// ============================================================================
|
|
294
|
+
// Extensions - Management Dialog
|
|
295
|
+
// ============================================================================
|
|
296
|
+
'Manage Extensions': 'Manage Extensions',
|
|
297
|
+
'Extension Details': 'Extension Details',
|
|
298
|
+
'View Extension': 'View Extension',
|
|
299
|
+
'Update Extension': 'Update Extension',
|
|
300
|
+
'Disable Extension': 'Disable Extension',
|
|
301
|
+
'Enable Extension': 'Enable Extension',
|
|
302
|
+
'Uninstall Extension': 'Uninstall Extension',
|
|
303
|
+
'Select Scope': 'Select Scope',
|
|
304
|
+
'User Scope': 'User Scope',
|
|
305
|
+
'Workspace Scope': 'Workspace Scope',
|
|
306
|
+
'No extensions found.': 'No extensions found.',
|
|
307
|
+
Active: 'Active',
|
|
308
|
+
Disabled: 'Disabled',
|
|
309
|
+
'Update available': 'Update available',
|
|
310
|
+
'Up to date': 'Up to date',
|
|
311
|
+
'Checking...': 'Checking...',
|
|
312
|
+
'Updating...': 'Updating...',
|
|
313
|
+
Unknown: 'Unknown',
|
|
314
|
+
Error: 'Error',
|
|
315
|
+
'Version:': 'Version:',
|
|
316
|
+
'Status:': 'Status:',
|
|
317
|
+
'Are you sure you want to uninstall extension "{{name}}"?':
|
|
318
|
+
'Are you sure you want to uninstall extension "{{name}}"?',
|
|
319
|
+
'This action cannot be undone.': 'This action cannot be undone.',
|
|
320
|
+
'Extension "{{name}}" disabled successfully.':
|
|
321
|
+
'Extension "{{name}}" disabled successfully.',
|
|
322
|
+
'Extension "{{name}}" enabled successfully.':
|
|
323
|
+
'Extension "{{name}}" enabled successfully.',
|
|
324
|
+
'Extension "{{name}}" updated successfully.':
|
|
325
|
+
'Extension "{{name}}" updated successfully.',
|
|
326
|
+
'Failed to update extension "{{name}}": {{error}}':
|
|
327
|
+
'Failed to update extension "{{name}}": {{error}}',
|
|
328
|
+
'Select the scope for this action:': 'Select the scope for this action:',
|
|
329
|
+
'User - Applies to all projects': 'User - Applies to all projects',
|
|
330
|
+
'Workspace - Applies to current project only':
|
|
331
|
+
'Workspace - Applies to current project only',
|
|
332
|
+
// Extension dialog - missing keys
|
|
333
|
+
'Name:': 'Name:',
|
|
334
|
+
'MCP Servers:': 'MCP Servers:',
|
|
335
|
+
'Settings:': 'Settings:',
|
|
336
|
+
active: 'active',
|
|
337
|
+
disabled: 'disabled',
|
|
338
|
+
'View Details': 'View Details',
|
|
339
|
+
'Update failed:': 'Update failed:',
|
|
340
|
+
'Updating {{name}}...': 'Updating {{name}}...',
|
|
341
|
+
'Update complete!': 'Update complete!',
|
|
342
|
+
'User (global)': 'User (global)',
|
|
343
|
+
'Workspace (project-specific)': 'Workspace (project-specific)',
|
|
344
|
+
'Disable "{{name}}" - Select Scope': 'Disable "{{name}}" - Select Scope',
|
|
345
|
+
'Enable "{{name}}" - Select Scope': 'Enable "{{name}}" - Select Scope',
|
|
346
|
+
'No extension selected': 'No extension selected',
|
|
347
|
+
'Press Y/Enter to confirm, N/Esc to cancel':
|
|
348
|
+
'Press Y/Enter to confirm, N/Esc to cancel',
|
|
349
|
+
'Y/Enter to confirm, N/Esc to cancel': 'Y/Enter to confirm, N/Esc to cancel',
|
|
350
|
+
'{{count}} extensions installed': '{{count}} extensions installed',
|
|
351
|
+
"Use '/extensions install' to install your first extension.":
|
|
352
|
+
"Use '/extensions install' to install your first extension.",
|
|
353
|
+
// Update status values
|
|
354
|
+
'up to date': 'up to date',
|
|
355
|
+
'update available': 'update available',
|
|
356
|
+
'checking...': 'checking...',
|
|
357
|
+
'not updatable': 'not updatable',
|
|
358
|
+
error: 'error',
|
|
359
|
+
|
|
360
|
+
// ============================================================================
|
|
361
|
+
// Commands - General (continued)
|
|
362
|
+
// ============================================================================
|
|
363
|
+
'View and edit Qwen Code settings': 'View and edit Qwen Code settings',
|
|
364
|
+
Settings: 'Settings',
|
|
365
|
+
'To see changes, Qwen Code must be restarted. Press r to exit and apply changes now.':
|
|
366
|
+
'To see changes, Qwen Code must be restarted. Press r to exit and apply changes now.',
|
|
367
|
+
'The command "/{{command}}" is not supported in non-interactive mode.':
|
|
368
|
+
'The command "/{{command}}" is not supported in non-interactive mode.',
|
|
369
|
+
// ============================================================================
|
|
370
|
+
// Settings Labels
|
|
371
|
+
// ============================================================================
|
|
372
|
+
'Vim Mode': 'Vim Mode',
|
|
373
|
+
'Disable Auto Update': 'Disable Auto Update',
|
|
374
|
+
'Attribution: commit': 'Attribution: commit',
|
|
375
|
+
'Terminal Bell Notification': 'Terminal Bell Notification',
|
|
376
|
+
'Enable Usage Statistics': 'Enable Usage Statistics',
|
|
377
|
+
Theme: 'Theme',
|
|
378
|
+
'Preferred Editor': 'Preferred Editor',
|
|
379
|
+
'Auto-connect to IDE': 'Auto-connect to IDE',
|
|
380
|
+
'Enable Prompt Completion': 'Enable Prompt Completion',
|
|
381
|
+
'Debug Keystroke Logging': 'Debug Keystroke Logging',
|
|
382
|
+
'Language: UI': 'Language: UI',
|
|
383
|
+
'Language: Model': 'Language: Model',
|
|
384
|
+
'Output Format': 'Output Format',
|
|
385
|
+
'Hide Window Title': 'Hide Window Title',
|
|
386
|
+
'Show Status in Title': 'Show Status in Title',
|
|
387
|
+
'Hide Tips': 'Hide Tips',
|
|
388
|
+
'Show Line Numbers in Code': 'Show Line Numbers in Code',
|
|
389
|
+
'Show Citations': 'Show Citations',
|
|
390
|
+
'Custom Witty Phrases': 'Custom Witty Phrases',
|
|
391
|
+
'Show Welcome Back Dialog': 'Show Welcome Back Dialog',
|
|
392
|
+
'Enable User Feedback': 'Enable User Feedback',
|
|
393
|
+
'How is Qwen doing this session? (optional)':
|
|
394
|
+
'How is Qwen doing this session? (optional)',
|
|
395
|
+
Bad: 'Bad',
|
|
396
|
+
Fine: 'Fine',
|
|
397
|
+
Good: 'Good',
|
|
398
|
+
Dismiss: 'Dismiss',
|
|
399
|
+
'Not Sure Yet': 'Not Sure Yet',
|
|
400
|
+
'Any other key': 'Any other key',
|
|
401
|
+
'Disable Loading Phrases': 'Disable Loading Phrases',
|
|
402
|
+
'Screen Reader Mode': 'Screen Reader Mode',
|
|
403
|
+
'IDE Mode': 'IDE Mode',
|
|
404
|
+
'Max Session Turns': 'Max Session Turns',
|
|
405
|
+
'Skip Next Speaker Check': 'Skip Next Speaker Check',
|
|
406
|
+
'Skip Loop Detection': 'Skip Loop Detection',
|
|
407
|
+
'Skip Startup Context': 'Skip Startup Context',
|
|
408
|
+
'Enable OpenAI Logging': 'Enable OpenAI Logging',
|
|
409
|
+
'OpenAI Logging Directory': 'OpenAI Logging Directory',
|
|
410
|
+
Timeout: 'Timeout',
|
|
411
|
+
'Max Retries': 'Max Retries',
|
|
412
|
+
'Disable Cache Control': 'Disable Cache Control',
|
|
413
|
+
'Memory Discovery Max Dirs': 'Memory Discovery Max Dirs',
|
|
414
|
+
'Load Memory From Include Directories':
|
|
415
|
+
'Load Memory From Include Directories',
|
|
416
|
+
'Respect .gitignore': 'Respect .gitignore',
|
|
417
|
+
'Respect .qwenignore': 'Respect .qwenignore',
|
|
418
|
+
'Enable Recursive File Search': 'Enable Recursive File Search',
|
|
419
|
+
'Disable Fuzzy Search': 'Disable Fuzzy Search',
|
|
420
|
+
'Interactive Shell (PTY)': 'Interactive Shell (PTY)',
|
|
421
|
+
'Show Color': 'Show Color',
|
|
422
|
+
'Auto Accept': 'Auto Accept',
|
|
423
|
+
'Use Ripgrep': 'Use Ripgrep',
|
|
424
|
+
'Use Builtin Ripgrep': 'Use Builtin Ripgrep',
|
|
425
|
+
'Enable Tool Output Truncation': 'Enable Tool Output Truncation',
|
|
426
|
+
'Tool Output Truncation Threshold': 'Tool Output Truncation Threshold',
|
|
427
|
+
'Tool Output Truncation Lines': 'Tool Output Truncation Lines',
|
|
428
|
+
'Folder Trust': 'Folder Trust',
|
|
429
|
+
'Vision Model Preview': 'Vision Model Preview',
|
|
430
|
+
'Tool Schema Compliance': 'Tool Schema Compliance',
|
|
431
|
+
// Settings enum options
|
|
432
|
+
'Auto (detect from system)': 'Auto (detect from system)',
|
|
433
|
+
Text: 'Text',
|
|
434
|
+
JSON: 'JSON',
|
|
435
|
+
Plan: 'Plan',
|
|
436
|
+
Default: 'Default',
|
|
437
|
+
'Auto Edit': 'Auto Edit',
|
|
438
|
+
YOLO: 'YOLO',
|
|
439
|
+
'toggle vim mode on/off': 'toggle vim mode on/off',
|
|
440
|
+
'check session stats. Usage: /stats [model|tools]':
|
|
441
|
+
'check session stats. Usage: /stats [model|tools]',
|
|
442
|
+
'Show model-specific usage statistics.':
|
|
443
|
+
'Show model-specific usage statistics.',
|
|
444
|
+
'Show tool-specific usage statistics.':
|
|
445
|
+
'Show tool-specific usage statistics.',
|
|
446
|
+
'exit the cli': 'exit the cli',
|
|
447
|
+
'Open MCP management dialog, or authenticate with OAuth-enabled servers':
|
|
448
|
+
'Open MCP management dialog, or authenticate with OAuth-enabled servers',
|
|
449
|
+
'List configured MCP servers and tools, or authenticate with OAuth-enabled servers':
|
|
450
|
+
'List configured MCP servers and tools, or authenticate with OAuth-enabled servers',
|
|
451
|
+
'Manage workspace directories': 'Manage workspace directories',
|
|
452
|
+
'Add directories to the workspace. Use comma to separate multiple paths':
|
|
453
|
+
'Add directories to the workspace. Use comma to separate multiple paths',
|
|
454
|
+
'Show all directories in the workspace':
|
|
455
|
+
'Show all directories in the workspace',
|
|
456
|
+
'set external editor preference': 'set external editor preference',
|
|
457
|
+
'Select Editor': 'Select Editor',
|
|
458
|
+
'Editor Preference': 'Editor Preference',
|
|
459
|
+
'These editors are currently supported. Please note that some editors cannot be used in sandbox mode.':
|
|
460
|
+
'These editors are currently supported. Please note that some editors cannot be used in sandbox mode.',
|
|
461
|
+
'Your preferred editor is:': 'Your preferred editor is:',
|
|
462
|
+
'Manage extensions': 'Manage extensions',
|
|
463
|
+
'Manage installed extensions': 'Manage installed extensions',
|
|
464
|
+
'List active extensions': 'List active extensions',
|
|
465
|
+
'Update extensions. Usage: update <extension-names>|--all':
|
|
466
|
+
'Update extensions. Usage: update <extension-names>|--all',
|
|
467
|
+
'Disable an extension': 'Disable an extension',
|
|
468
|
+
'Enable an extension': 'Enable an extension',
|
|
469
|
+
'Install an extension from a git repo or local path':
|
|
470
|
+
'Install an extension from a git repo or local path',
|
|
471
|
+
'Uninstall an extension': 'Uninstall an extension',
|
|
472
|
+
'No extensions installed.': 'No extensions installed.',
|
|
473
|
+
'Usage: /extensions update <extension-names>|--all':
|
|
474
|
+
'Usage: /extensions update <extension-names>|--all',
|
|
475
|
+
'Extension "{{name}}" not found.': 'Extension "{{name}}" not found.',
|
|
476
|
+
'No extensions to update.': 'No extensions to update.',
|
|
477
|
+
'Usage: /extensions install <source>': 'Usage: /extensions install <source>',
|
|
478
|
+
'Installing extension from "{{source}}"...':
|
|
479
|
+
'Installing extension from "{{source}}"...',
|
|
480
|
+
'Extension "{{name}}" installed successfully.':
|
|
481
|
+
'Extension "{{name}}" installed successfully.',
|
|
482
|
+
'Failed to install extension from "{{source}}": {{error}}':
|
|
483
|
+
'Failed to install extension from "{{source}}": {{error}}',
|
|
484
|
+
'Usage: /extensions uninstall <extension-name>':
|
|
485
|
+
'Usage: /extensions uninstall <extension-name>',
|
|
486
|
+
'Uninstalling extension "{{name}}"...':
|
|
487
|
+
'Uninstalling extension "{{name}}"...',
|
|
488
|
+
'Extension "{{name}}" uninstalled successfully.':
|
|
489
|
+
'Extension "{{name}}" uninstalled successfully.',
|
|
490
|
+
'Failed to uninstall extension "{{name}}": {{error}}':
|
|
491
|
+
'Failed to uninstall extension "{{name}}": {{error}}',
|
|
492
|
+
'Usage: /extensions {{command}} <extension> [--scope=<user|workspace>]':
|
|
493
|
+
'Usage: /extensions {{command}} <extension> [--scope=<user|workspace>]',
|
|
494
|
+
'Unsupported scope "{{scope}}", should be one of "user" or "workspace"':
|
|
495
|
+
'Unsupported scope "{{scope}}", should be one of "user" or "workspace"',
|
|
496
|
+
'Extension "{{name}}" disabled for scope "{{scope}}"':
|
|
497
|
+
'Extension "{{name}}" disabled for scope "{{scope}}"',
|
|
498
|
+
'Extension "{{name}}" enabled for scope "{{scope}}"':
|
|
499
|
+
'Extension "{{name}}" enabled for scope "{{scope}}"',
|
|
500
|
+
'Do you want to continue? [Y/n]: ': 'Do you want to continue? [Y/n]: ',
|
|
501
|
+
'Do you want to continue?': 'Do you want to continue?',
|
|
502
|
+
'Installing extension "{{name}}".': 'Installing extension "{{name}}".',
|
|
503
|
+
'**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**':
|
|
504
|
+
'**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**',
|
|
505
|
+
'This extension will run the following MCP servers:':
|
|
506
|
+
'This extension will run the following MCP servers:',
|
|
507
|
+
local: 'local',
|
|
508
|
+
remote: 'remote',
|
|
509
|
+
'This extension will add the following commands: {{commands}}.':
|
|
510
|
+
'This extension will add the following commands: {{commands}}.',
|
|
511
|
+
'This extension will append info to your QWEN.md context using {{fileName}}':
|
|
512
|
+
'This extension will append info to your QWEN.md context using {{fileName}}',
|
|
513
|
+
'This extension will exclude the following core tools: {{tools}}':
|
|
514
|
+
'This extension will exclude the following core tools: {{tools}}',
|
|
515
|
+
'This extension will install the following skills:':
|
|
516
|
+
'This extension will install the following skills:',
|
|
517
|
+
'This extension will install the following subagents:':
|
|
518
|
+
'This extension will install the following subagents:',
|
|
519
|
+
'Installation cancelled for "{{name}}".':
|
|
520
|
+
'Installation cancelled for "{{name}}".',
|
|
521
|
+
'You are installing an extension from {{originSource}}. Some features may not work perfectly with Qwen Code.':
|
|
522
|
+
'You are installing an extension from {{originSource}}. Some features may not work perfectly with Qwen Code.',
|
|
523
|
+
'--ref and --auto-update are not applicable for marketplace extensions.':
|
|
524
|
+
'--ref and --auto-update are not applicable for marketplace extensions.',
|
|
525
|
+
'Extension "{{name}}" installed successfully and enabled.':
|
|
526
|
+
'Extension "{{name}}" installed successfully and enabled.',
|
|
527
|
+
'Installs an extension from a git repository URL, local path, or claude marketplace (marketplace-url:plugin-name).':
|
|
528
|
+
'Installs an extension from a git repository URL, local path, or claude marketplace (marketplace-url:plugin-name).',
|
|
529
|
+
'The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.':
|
|
530
|
+
'The github URL, local path, or marketplace source (marketplace-url:plugin-name) of the extension to install.',
|
|
531
|
+
'The git ref to install from.': 'The git ref to install from.',
|
|
532
|
+
'Enable auto-update for this extension.':
|
|
533
|
+
'Enable auto-update for this extension.',
|
|
534
|
+
'Enable pre-release versions for this extension.':
|
|
535
|
+
'Enable pre-release versions for this extension.',
|
|
536
|
+
'Acknowledge the security risks of installing an extension and skip the confirmation prompt.':
|
|
537
|
+
'Acknowledge the security risks of installing an extension and skip the confirmation prompt.',
|
|
538
|
+
'The source argument must be provided.':
|
|
539
|
+
'The source argument must be provided.',
|
|
540
|
+
'Extension "{{name}}" successfully uninstalled.':
|
|
541
|
+
'Extension "{{name}}" successfully uninstalled.',
|
|
542
|
+
'Uninstalls an extension.': 'Uninstalls an extension.',
|
|
543
|
+
'The name or source path of the extension to uninstall.':
|
|
544
|
+
'The name or source path of the extension to uninstall.',
|
|
545
|
+
'Please include the name of the extension to uninstall as a positional argument.':
|
|
546
|
+
'Please include the name of the extension to uninstall as a positional argument.',
|
|
547
|
+
'Enables an extension.': 'Enables an extension.',
|
|
548
|
+
'The name of the extension to enable.':
|
|
549
|
+
'The name of the extension to enable.',
|
|
550
|
+
'The scope to enable the extenison in. If not set, will be enabled in all scopes.':
|
|
551
|
+
'The scope to enable the extenison in. If not set, will be enabled in all scopes.',
|
|
552
|
+
'Extension "{{name}}" successfully enabled for scope "{{scope}}".':
|
|
553
|
+
'Extension "{{name}}" successfully enabled for scope "{{scope}}".',
|
|
554
|
+
'Extension "{{name}}" successfully enabled in all scopes.':
|
|
555
|
+
'Extension "{{name}}" successfully enabled in all scopes.',
|
|
556
|
+
'Invalid scope: {{scope}}. Please use one of {{scopes}}.':
|
|
557
|
+
'Invalid scope: {{scope}}. Please use one of {{scopes}}.',
|
|
558
|
+
'Disables an extension.': 'Disables an extension.',
|
|
559
|
+
'The name of the extension to disable.':
|
|
560
|
+
'The name of the extension to disable.',
|
|
561
|
+
'The scope to disable the extenison in.':
|
|
562
|
+
'The scope to disable the extenison in.',
|
|
563
|
+
'Extension "{{name}}" successfully disabled for scope "{{scope}}".':
|
|
564
|
+
'Extension "{{name}}" successfully disabled for scope "{{scope}}".',
|
|
565
|
+
'Extension "{{name}}" successfully updated: {{oldVersion}} → {{newVersion}}.':
|
|
566
|
+
'Extension "{{name}}" successfully updated: {{oldVersion}} → {{newVersion}}.',
|
|
567
|
+
'Unable to install extension "{{name}}" due to missing install metadata':
|
|
568
|
+
'Unable to install extension "{{name}}" due to missing install metadata',
|
|
569
|
+
'Extension "{{name}}" is already up to date.':
|
|
570
|
+
'Extension "{{name}}" is already up to date.',
|
|
571
|
+
'Updates all extensions or a named extension to the latest version.':
|
|
572
|
+
'Updates all extensions or a named extension to the latest version.',
|
|
573
|
+
'Update all extensions.': 'Update all extensions.',
|
|
574
|
+
'Either an extension name or --all must be provided':
|
|
575
|
+
'Either an extension name or --all must be provided',
|
|
576
|
+
'Lists installed extensions.': 'Lists installed extensions.',
|
|
577
|
+
'Path:': 'Path:',
|
|
578
|
+
'Source:': 'Source:',
|
|
579
|
+
'Type:': 'Type:',
|
|
580
|
+
'Ref:': 'Ref:',
|
|
581
|
+
'Release tag:': 'Release tag:',
|
|
582
|
+
'Enabled (User):': 'Enabled (User):',
|
|
583
|
+
'Enabled (Workspace):': 'Enabled (Workspace):',
|
|
584
|
+
'Context files:': 'Context files:',
|
|
585
|
+
'Skills:': 'Skills:',
|
|
586
|
+
'Agents:': 'Agents:',
|
|
587
|
+
'MCP servers:': 'MCP servers:',
|
|
588
|
+
'Link extension failed to install.': 'Link extension failed to install.',
|
|
589
|
+
'Extension "{{name}}" linked successfully and enabled.':
|
|
590
|
+
'Extension "{{name}}" linked successfully and enabled.',
|
|
591
|
+
'Links an extension from a local path. Updates made to the local path will always be reflected.':
|
|
592
|
+
'Links an extension from a local path. Updates made to the local path will always be reflected.',
|
|
593
|
+
'The name of the extension to link.': 'The name of the extension to link.',
|
|
594
|
+
'Set a specific setting for an extension.':
|
|
595
|
+
'Set a specific setting for an extension.',
|
|
596
|
+
'Name of the extension to configure.': 'Name of the extension to configure.',
|
|
597
|
+
'The setting to configure (name or env var).':
|
|
598
|
+
'The setting to configure (name or env var).',
|
|
599
|
+
'The scope to set the setting in.': 'The scope to set the setting in.',
|
|
600
|
+
'List all settings for an extension.': 'List all settings for an extension.',
|
|
601
|
+
'Name of the extension.': 'Name of the extension.',
|
|
602
|
+
'Extension "{{name}}" has no settings to configure.':
|
|
603
|
+
'Extension "{{name}}" has no settings to configure.',
|
|
604
|
+
'Settings for "{{name}}":': 'Settings for "{{name}}":',
|
|
605
|
+
'(workspace)': '(workspace)',
|
|
606
|
+
'(user)': '(user)',
|
|
607
|
+
'[not set]': '[not set]',
|
|
608
|
+
'[value stored in keychain]': '[value stored in keychain]',
|
|
609
|
+
'Value:': 'Value:',
|
|
610
|
+
'Manage extension settings.': 'Manage extension settings.',
|
|
611
|
+
'You need to specify a command (set or list).':
|
|
612
|
+
'You need to specify a command (set or list).',
|
|
613
|
+
// ============================================================================
|
|
614
|
+
// Plugin Choice / Marketplace
|
|
615
|
+
// ============================================================================
|
|
616
|
+
'No plugins available in this marketplace.':
|
|
617
|
+
'No plugins available in this marketplace.',
|
|
618
|
+
'Select a plugin to install from marketplace "{{name}}":':
|
|
619
|
+
'Select a plugin to install from marketplace "{{name}}":',
|
|
620
|
+
'Plugin selection cancelled.': 'Plugin selection cancelled.',
|
|
621
|
+
'Select a plugin from "{{name}}"': 'Select a plugin from "{{name}}"',
|
|
622
|
+
'Use ↑↓ or j/k to navigate, Enter to select, Escape to cancel':
|
|
623
|
+
'Use ↑↓ or j/k to navigate, Enter to select, Escape to cancel',
|
|
624
|
+
'{{count}} more above': '{{count}} more above',
|
|
625
|
+
'{{count}} more below': '{{count}} more below',
|
|
626
|
+
'manage IDE integration': 'manage IDE integration',
|
|
627
|
+
'check status of IDE integration': 'check status of IDE integration',
|
|
628
|
+
'install required IDE companion for {{ideName}}':
|
|
629
|
+
'install required IDE companion for {{ideName}}',
|
|
630
|
+
'enable IDE integration': 'enable IDE integration',
|
|
631
|
+
'disable IDE integration': 'disable IDE integration',
|
|
632
|
+
'IDE integration is not supported in your current environment. To use this feature, run Qwen Code in one of these supported IDEs: VS Code or VS Code forks.':
|
|
633
|
+
'IDE integration is not supported in your current environment. To use this feature, run Qwen Code in one of these supported IDEs: VS Code or VS Code forks.',
|
|
634
|
+
'Set up GitHub Actions': 'Set up GitHub Actions',
|
|
635
|
+
'Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)':
|
|
636
|
+
'Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf, Trae)',
|
|
637
|
+
'Please restart your terminal for the changes to take effect.':
|
|
638
|
+
'Please restart your terminal for the changes to take effect.',
|
|
639
|
+
'Failed to configure terminal: {{error}}':
|
|
640
|
+
'Failed to configure terminal: {{error}}',
|
|
641
|
+
'Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.':
|
|
642
|
+
'Could not determine {{terminalName}} config path on Windows: APPDATA environment variable is not set.',
|
|
643
|
+
'{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.':
|
|
644
|
+
'{{terminalName}} keybindings.json exists but is not a valid JSON array. Please fix the file manually or delete it to allow automatic configuration.',
|
|
645
|
+
'File: {{file}}': 'File: {{file}}',
|
|
646
|
+
'Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.':
|
|
647
|
+
'Failed to parse {{terminalName}} keybindings.json. The file contains invalid JSON. Please fix the file manually or delete it to allow automatic configuration.',
|
|
648
|
+
'Error: {{error}}': 'Error: {{error}}',
|
|
649
|
+
'Shift+Enter binding already exists': 'Shift+Enter binding already exists',
|
|
650
|
+
'Ctrl+Enter binding already exists': 'Ctrl+Enter binding already exists',
|
|
651
|
+
'Existing keybindings detected. Will not modify to avoid conflicts.':
|
|
652
|
+
'Existing keybindings detected. Will not modify to avoid conflicts.',
|
|
653
|
+
'Please check and modify manually if needed: {{file}}':
|
|
654
|
+
'Please check and modify manually if needed: {{file}}',
|
|
655
|
+
'Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.':
|
|
656
|
+
'Added Shift+Enter and Ctrl+Enter keybindings to {{terminalName}}.',
|
|
657
|
+
'Modified: {{file}}': 'Modified: {{file}}',
|
|
658
|
+
'{{terminalName}} keybindings already configured.':
|
|
659
|
+
'{{terminalName}} keybindings already configured.',
|
|
660
|
+
'Failed to configure {{terminalName}}.':
|
|
661
|
+
'Failed to configure {{terminalName}}.',
|
|
662
|
+
'Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).':
|
|
663
|
+
'Your terminal is already configured for an optimal experience with multiline input (Shift+Enter and Ctrl+Enter).',
|
|
664
|
+
// ============================================================================
|
|
665
|
+
// Commands - Hooks
|
|
666
|
+
// ============================================================================
|
|
667
|
+
'Manage Qwen Code hooks': 'Manage Qwen Code hooks',
|
|
668
|
+
'List all configured hooks': 'List all configured hooks',
|
|
669
|
+
'Enable a disabled hook': 'Enable a disabled hook',
|
|
670
|
+
'Disable an active hook': 'Disable an active hook',
|
|
671
|
+
|
|
672
|
+
// ============================================================================
|
|
673
|
+
// Commands - Session Export
|
|
674
|
+
// ============================================================================
|
|
675
|
+
'Export current session message history to a file':
|
|
676
|
+
'Export current session message history to a file',
|
|
677
|
+
'Export session to HTML format': 'Export session to HTML format',
|
|
678
|
+
'Export session to JSON format': 'Export session to JSON format',
|
|
679
|
+
'Export session to JSONL format (one message per line)':
|
|
680
|
+
'Export session to JSONL format (one message per line)',
|
|
681
|
+
'Export session to markdown format': 'Export session to markdown format',
|
|
682
|
+
|
|
683
|
+
// ============================================================================
|
|
684
|
+
// Commands - Insights
|
|
685
|
+
// ============================================================================
|
|
686
|
+
'generate personalized programming insights from your chat history':
|
|
687
|
+
'generate personalized programming insights from your chat history',
|
|
688
|
+
|
|
689
|
+
// ============================================================================
|
|
690
|
+
// Commands - Session History
|
|
691
|
+
// ============================================================================
|
|
692
|
+
'Resume a previous session': 'Resume a previous session',
|
|
693
|
+
'Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested':
|
|
694
|
+
'Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested',
|
|
695
|
+
'Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.':
|
|
696
|
+
'Could not detect terminal type. Supported terminals: VS Code, Cursor, Windsurf, and Trae.',
|
|
697
|
+
'Terminal "{{terminal}}" is not supported yet.':
|
|
698
|
+
'Terminal "{{terminal}}" is not supported yet.',
|
|
699
|
+
|
|
700
|
+
// ============================================================================
|
|
701
|
+
// Commands - Language
|
|
702
|
+
// ============================================================================
|
|
703
|
+
'Invalid language. Available: {{options}}':
|
|
704
|
+
'Invalid language. Available: {{options}}',
|
|
705
|
+
'Language subcommands do not accept additional arguments.':
|
|
706
|
+
'Language subcommands do not accept additional arguments.',
|
|
707
|
+
'Current UI language: {{lang}}': 'Current UI language: {{lang}}',
|
|
708
|
+
'Current LLM output language: {{lang}}':
|
|
709
|
+
'Current LLM output language: {{lang}}',
|
|
710
|
+
'LLM output language not set': 'LLM output language not set',
|
|
711
|
+
'Set UI language': 'Set UI language',
|
|
712
|
+
'Set LLM output language': 'Set LLM output language',
|
|
713
|
+
'Usage: /language ui [{{options}}]': 'Usage: /language ui [{{options}}]',
|
|
714
|
+
'Usage: /language output <language>': 'Usage: /language output <language>',
|
|
715
|
+
'Example: /language output 中文': 'Example: /language output 中文',
|
|
716
|
+
'Example: /language output English': 'Example: /language output English',
|
|
717
|
+
'Example: /language output 日本語': 'Example: /language output 日本語',
|
|
718
|
+
'Example: /language output Português': 'Example: /language output Português',
|
|
719
|
+
'UI language changed to {{lang}}': 'UI language changed to {{lang}}',
|
|
720
|
+
'LLM output language set to {{lang}}': 'LLM output language set to {{lang}}',
|
|
721
|
+
'LLM output language rule file generated at {{path}}':
|
|
722
|
+
'LLM output language rule file generated at {{path}}',
|
|
723
|
+
'Please restart the application for the changes to take effect.':
|
|
724
|
+
'Please restart the application for the changes to take effect.',
|
|
725
|
+
'Failed to generate LLM output language rule file: {{error}}':
|
|
726
|
+
'Failed to generate LLM output language rule file: {{error}}',
|
|
727
|
+
'Invalid command. Available subcommands:':
|
|
728
|
+
'Invalid command. Available subcommands:',
|
|
729
|
+
'Available subcommands:': 'Available subcommands:',
|
|
730
|
+
'To request additional UI language packs, please open an issue on GitHub.':
|
|
731
|
+
'To request additional UI language packs, please open an issue on GitHub.',
|
|
732
|
+
'Available options:': 'Available options:',
|
|
733
|
+
'Set UI language to {{name}}': 'Set UI language to {{name}}',
|
|
734
|
+
|
|
735
|
+
// ============================================================================
|
|
736
|
+
// Commands - Approval Mode
|
|
737
|
+
// ============================================================================
|
|
738
|
+
'Tool Approval Mode': 'Tool Approval Mode',
|
|
739
|
+
'Current approval mode: {{mode}}': 'Current approval mode: {{mode}}',
|
|
740
|
+
'Available approval modes:': 'Available approval modes:',
|
|
741
|
+
'Approval mode changed to: {{mode}}': 'Approval mode changed to: {{mode}}',
|
|
742
|
+
'Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})':
|
|
743
|
+
'Approval mode changed to: {{mode}} (saved to {{scope}} settings{{location}})',
|
|
744
|
+
'Usage: /approval-mode <mode> [--session|--user|--project]':
|
|
745
|
+
'Usage: /approval-mode <mode> [--session|--user|--project]',
|
|
746
|
+
|
|
747
|
+
'Scope subcommands do not accept additional arguments.':
|
|
748
|
+
'Scope subcommands do not accept additional arguments.',
|
|
749
|
+
'Plan mode - Analyze only, do not modify files or execute commands':
|
|
750
|
+
'Plan mode - Analyze only, do not modify files or execute commands',
|
|
751
|
+
'Default mode - Require approval for file edits or shell commands':
|
|
752
|
+
'Default mode - Require approval for file edits or shell commands',
|
|
753
|
+
'Auto-edit mode - Automatically approve file edits':
|
|
754
|
+
'Auto-edit mode - Automatically approve file edits',
|
|
755
|
+
'YOLO mode - Automatically approve all tools':
|
|
756
|
+
'YOLO mode - Automatically approve all tools',
|
|
757
|
+
'{{mode}} mode': '{{mode}} mode',
|
|
758
|
+
'Settings service is not available; unable to persist the approval mode.':
|
|
759
|
+
'Settings service is not available; unable to persist the approval mode.',
|
|
760
|
+
'Failed to save approval mode: {{error}}':
|
|
761
|
+
'Failed to save approval mode: {{error}}',
|
|
762
|
+
'Failed to change approval mode: {{error}}':
|
|
763
|
+
'Failed to change approval mode: {{error}}',
|
|
764
|
+
'Apply to current session only (temporary)':
|
|
765
|
+
'Apply to current session only (temporary)',
|
|
766
|
+
'Persist for this project/workspace': 'Persist for this project/workspace',
|
|
767
|
+
'Persist for this user on this machine':
|
|
768
|
+
'Persist for this user on this machine',
|
|
769
|
+
'Analyze only, do not modify files or execute commands':
|
|
770
|
+
'Analyze only, do not modify files or execute commands',
|
|
771
|
+
'Require approval for file edits or shell commands':
|
|
772
|
+
'Require approval for file edits or shell commands',
|
|
773
|
+
'Automatically approve file edits': 'Automatically approve file edits',
|
|
774
|
+
'Automatically approve all tools': 'Automatically approve all tools',
|
|
775
|
+
'Workspace approval mode exists and takes priority. User-level change will have no effect.':
|
|
776
|
+
'Workspace approval mode exists and takes priority. User-level change will have no effect.',
|
|
777
|
+
'Apply To': 'Apply To',
|
|
778
|
+
'User Settings': 'User Settings',
|
|
779
|
+
'Workspace Settings': 'Workspace Settings',
|
|
780
|
+
|
|
781
|
+
// ============================================================================
|
|
782
|
+
// Commands - Memory
|
|
783
|
+
// ============================================================================
|
|
784
|
+
'Commands for interacting with memory.':
|
|
785
|
+
'Commands for interacting with memory.',
|
|
786
|
+
'Show the current memory contents.': 'Show the current memory contents.',
|
|
787
|
+
'Show project-level memory contents.': 'Show project-level memory contents.',
|
|
788
|
+
'Show global memory contents.': 'Show global memory contents.',
|
|
789
|
+
'Add content to project-level memory.':
|
|
790
|
+
'Add content to project-level memory.',
|
|
791
|
+
'Add content to global memory.': 'Add content to global memory.',
|
|
792
|
+
'Refresh the memory from the source.': 'Refresh the memory from the source.',
|
|
793
|
+
'Usage: /memory add --project <text to remember>':
|
|
794
|
+
'Usage: /memory add --project <text to remember>',
|
|
795
|
+
'Usage: /memory add --global <text to remember>':
|
|
796
|
+
'Usage: /memory add --global <text to remember>',
|
|
797
|
+
'Attempting to save to project memory: "{{text}}"':
|
|
798
|
+
'Attempting to save to project memory: "{{text}}"',
|
|
799
|
+
'Attempting to save to global memory: "{{text}}"':
|
|
800
|
+
'Attempting to save to global memory: "{{text}}"',
|
|
801
|
+
'Current memory content from {{count}} file(s):':
|
|
802
|
+
'Current memory content from {{count}} file(s):',
|
|
803
|
+
'Memory is currently empty.': 'Memory is currently empty.',
|
|
804
|
+
'Project memory file not found or is currently empty.':
|
|
805
|
+
'Project memory file not found or is currently empty.',
|
|
806
|
+
'Global memory file not found or is currently empty.':
|
|
807
|
+
'Global memory file not found or is currently empty.',
|
|
808
|
+
'Global memory is currently empty.': 'Global memory is currently empty.',
|
|
809
|
+
'Global memory content:\n\n---\n{{content}}\n---':
|
|
810
|
+
'Global memory content:\n\n---\n{{content}}\n---',
|
|
811
|
+
'Project memory content from {{path}}:\n\n---\n{{content}}\n---':
|
|
812
|
+
'Project memory content from {{path}}:\n\n---\n{{content}}\n---',
|
|
813
|
+
'Project memory is currently empty.': 'Project memory is currently empty.',
|
|
814
|
+
'Refreshing memory from source files...':
|
|
815
|
+
'Refreshing memory from source files...',
|
|
816
|
+
'Add content to the memory. Use --global for global memory or --project for project memory.':
|
|
817
|
+
'Add content to the memory. Use --global for global memory or --project for project memory.',
|
|
818
|
+
'Usage: /memory add [--global|--project] <text to remember>':
|
|
819
|
+
'Usage: /memory add [--global|--project] <text to remember>',
|
|
820
|
+
'Attempting to save to memory {{scope}}: "{{fact}}"':
|
|
821
|
+
'Attempting to save to memory {{scope}}: "{{fact}}"',
|
|
822
|
+
|
|
823
|
+
// ============================================================================
|
|
824
|
+
// Commands - MCP
|
|
825
|
+
// ============================================================================
|
|
826
|
+
'Authenticate with an OAuth-enabled MCP server':
|
|
827
|
+
'Authenticate with an OAuth-enabled MCP server',
|
|
828
|
+
'List configured MCP servers and tools':
|
|
829
|
+
'List configured MCP servers and tools',
|
|
830
|
+
'Restarts MCP servers.': 'Restarts MCP servers.',
|
|
831
|
+
'Open MCP management dialog': 'Open MCP management dialog',
|
|
832
|
+
'Config not loaded.': 'Config not loaded.',
|
|
833
|
+
'Could not retrieve tool registry.': 'Could not retrieve tool registry.',
|
|
834
|
+
'No MCP servers configured with OAuth authentication.':
|
|
835
|
+
'No MCP servers configured with OAuth authentication.',
|
|
836
|
+
'MCP servers with OAuth authentication:':
|
|
837
|
+
'MCP servers with OAuth authentication:',
|
|
838
|
+
'Use /mcp auth <server-name> to authenticate.':
|
|
839
|
+
'Use /mcp auth <server-name> to authenticate.',
|
|
840
|
+
"MCP server '{{name}}' not found.": "MCP server '{{name}}' not found.",
|
|
841
|
+
"Successfully authenticated and refreshed tools for '{{name}}'.":
|
|
842
|
+
"Successfully authenticated and refreshed tools for '{{name}}'.",
|
|
843
|
+
"Failed to authenticate with MCP server '{{name}}': {{error}}":
|
|
844
|
+
"Failed to authenticate with MCP server '{{name}}': {{error}}",
|
|
845
|
+
"Re-discovering tools from '{{name}}'...":
|
|
846
|
+
"Re-discovering tools from '{{name}}'...",
|
|
847
|
+
"Discovered {{count}} tool(s) from '{{name}}'.":
|
|
848
|
+
"Discovered {{count}} tool(s) from '{{name}}'.",
|
|
849
|
+
'Authentication complete. Returning to server details...':
|
|
850
|
+
'Authentication complete. Returning to server details...',
|
|
851
|
+
'Authentication successful.': 'Authentication successful.',
|
|
852
|
+
'If the browser does not open, copy and paste this URL into your browser:':
|
|
853
|
+
'If the browser does not open, copy and paste this URL into your browser:',
|
|
854
|
+
'Make sure to copy the COMPLETE URL - it may wrap across multiple lines.':
|
|
855
|
+
'Make sure to copy the COMPLETE URL - it may wrap across multiple lines.',
|
|
856
|
+
|
|
857
|
+
// ============================================================================
|
|
858
|
+
// MCP Management Dialog
|
|
859
|
+
// ============================================================================
|
|
860
|
+
'Manage MCP servers': 'Manage MCP servers',
|
|
861
|
+
'Server Detail': 'Server Detail',
|
|
862
|
+
'Disable Server': 'Disable Server',
|
|
863
|
+
Tools: 'Tools',
|
|
864
|
+
'Tool Detail': 'Tool Detail',
|
|
865
|
+
'MCP Management': 'MCP Management',
|
|
866
|
+
'Loading...': 'Loading...',
|
|
867
|
+
'Unknown step': 'Unknown step',
|
|
868
|
+
'Esc to back': 'Esc to back',
|
|
869
|
+
'↑↓ to navigate · Enter to select · Esc to close':
|
|
870
|
+
'↑↓ to navigate · Enter to select · Esc to close',
|
|
871
|
+
'↑↓ to navigate · Enter to select · Esc to back':
|
|
872
|
+
'↑↓ to navigate · Enter to select · Esc to back',
|
|
873
|
+
'↑↓ to navigate · Enter to confirm · Esc to back':
|
|
874
|
+
'↑↓ to navigate · Enter to confirm · Esc to back',
|
|
875
|
+
'User Settings (global)': 'User Settings (global)',
|
|
876
|
+
'Workspace Settings (project-specific)':
|
|
877
|
+
'Workspace Settings (project-specific)',
|
|
878
|
+
'Disable server:': 'Disable server:',
|
|
879
|
+
'Select where to add the server to the exclude list:':
|
|
880
|
+
'Select where to add the server to the exclude list:',
|
|
881
|
+
'Press Enter to confirm, Esc to cancel':
|
|
882
|
+
'Press Enter to confirm, Esc to cancel',
|
|
883
|
+
'View tools': 'View tools',
|
|
884
|
+
Reconnect: 'Reconnect',
|
|
885
|
+
Enable: 'Enable',
|
|
886
|
+
Disable: 'Disable',
|
|
887
|
+
Authenticate: 'Authenticate',
|
|
888
|
+
'Re-authenticate': 'Re-authenticate',
|
|
889
|
+
'Clear Authentication': 'Clear Authentication',
|
|
890
|
+
'Server:': 'Server:',
|
|
891
|
+
'Command:': 'Command:',
|
|
892
|
+
'Working Directory:': 'Working Directory:',
|
|
893
|
+
'Capabilities:': 'Capabilities:',
|
|
894
|
+
'No server selected': 'No server selected',
|
|
895
|
+
prompts: 'prompts',
|
|
896
|
+
'(disabled)': '(disabled)',
|
|
897
|
+
'Error:': 'Error:',
|
|
898
|
+
Extension: 'Extension',
|
|
899
|
+
tool: 'tool',
|
|
900
|
+
tools: 'tools',
|
|
901
|
+
connected: 'connected',
|
|
902
|
+
connecting: 'connecting',
|
|
903
|
+
disconnected: 'disconnected',
|
|
904
|
+
|
|
905
|
+
// MCP Server List
|
|
906
|
+
'User MCPs': 'User MCPs',
|
|
907
|
+
'Project MCPs': 'Project MCPs',
|
|
908
|
+
'Extension MCPs': 'Extension MCPs',
|
|
909
|
+
server: 'server',
|
|
910
|
+
servers: 'servers',
|
|
911
|
+
'Add MCP servers to your settings to get started.':
|
|
912
|
+
'Add MCP servers to your settings to get started.',
|
|
913
|
+
'Run qwen --debug to see error logs': 'Run qwen --debug to see error logs',
|
|
914
|
+
|
|
915
|
+
// MCP OAuth Authentication
|
|
916
|
+
'OAuth Authentication': 'OAuth Authentication',
|
|
917
|
+
'Press Enter to start authentication, Esc to go back':
|
|
918
|
+
'Press Enter to start authentication, Esc to go back',
|
|
919
|
+
'Authenticating... Please complete the login in your browser.':
|
|
920
|
+
'Authenticating... Please complete the login in your browser.',
|
|
921
|
+
'Press Enter or Esc to go back': 'Press Enter or Esc to go back',
|
|
922
|
+
|
|
923
|
+
// MCP Tool List
|
|
924
|
+
'No tools available for this server.': 'No tools available for this server.',
|
|
925
|
+
destructive: 'destructive',
|
|
926
|
+
'read-only': 'read-only',
|
|
927
|
+
'open-world': 'open-world',
|
|
928
|
+
idempotent: 'idempotent',
|
|
929
|
+
'Tools for {{name}}': 'Tools for {{name}}',
|
|
930
|
+
'Tools for {{serverName}}': 'Tools for {{serverName}}',
|
|
931
|
+
'{{current}}/{{total}}': '{{current}}/{{total}}',
|
|
932
|
+
|
|
933
|
+
// MCP Tool Detail
|
|
934
|
+
required: 'required',
|
|
935
|
+
Type: 'Type',
|
|
936
|
+
Enum: 'Enum',
|
|
937
|
+
Parameters: 'Parameters',
|
|
938
|
+
'No tool selected': 'No tool selected',
|
|
939
|
+
Annotations: 'Annotations',
|
|
940
|
+
Title: 'Title',
|
|
941
|
+
'Read Only': 'Read Only',
|
|
942
|
+
Destructive: 'Destructive',
|
|
943
|
+
Idempotent: 'Idempotent',
|
|
944
|
+
'Open World': 'Open World',
|
|
945
|
+
Server: 'Server',
|
|
946
|
+
|
|
947
|
+
// Invalid tool related translations
|
|
948
|
+
'{{count}} invalid tools': '{{count}} invalid tools',
|
|
949
|
+
invalid: 'invalid',
|
|
950
|
+
'invalid: {{reason}}': 'invalid: {{reason}}',
|
|
951
|
+
'missing name': 'missing name',
|
|
952
|
+
'missing description': 'missing description',
|
|
953
|
+
'(unnamed)': '(unnamed)',
|
|
954
|
+
'Warning: This tool cannot be called by the LLM':
|
|
955
|
+
'Warning: This tool cannot be called by the LLM',
|
|
956
|
+
Reason: 'Reason',
|
|
957
|
+
'Tools must have both name and description to be used by the LLM.':
|
|
958
|
+
'Tools must have both name and description to be used by the LLM.',
|
|
959
|
+
|
|
960
|
+
// ============================================================================
|
|
961
|
+
// Commands - Chat
|
|
962
|
+
// ============================================================================
|
|
963
|
+
'Manage conversation history.': 'Manage conversation history.',
|
|
964
|
+
'List saved conversation checkpoints': 'List saved conversation checkpoints',
|
|
965
|
+
'No saved conversation checkpoints found.':
|
|
966
|
+
'No saved conversation checkpoints found.',
|
|
967
|
+
'List of saved conversations:': 'List of saved conversations:',
|
|
968
|
+
'Note: Newest last, oldest first': 'Note: Newest last, oldest first',
|
|
969
|
+
'Save the current conversation as a checkpoint. Usage: /chat save <tag>':
|
|
970
|
+
'Save the current conversation as a checkpoint. Usage: /chat save <tag>',
|
|
971
|
+
'Missing tag. Usage: /chat save <tag>':
|
|
972
|
+
'Missing tag. Usage: /chat save <tag>',
|
|
973
|
+
'Delete a conversation checkpoint. Usage: /chat delete <tag>':
|
|
974
|
+
'Delete a conversation checkpoint. Usage: /chat delete <tag>',
|
|
975
|
+
'Missing tag. Usage: /chat delete <tag>':
|
|
976
|
+
'Missing tag. Usage: /chat delete <tag>',
|
|
977
|
+
"Conversation checkpoint '{{tag}}' has been deleted.":
|
|
978
|
+
"Conversation checkpoint '{{tag}}' has been deleted.",
|
|
979
|
+
"Error: No checkpoint found with tag '{{tag}}'.":
|
|
980
|
+
"Error: No checkpoint found with tag '{{tag}}'.",
|
|
981
|
+
'Resume a conversation from a checkpoint. Usage: /chat resume <tag>':
|
|
982
|
+
'Resume a conversation from a checkpoint. Usage: /chat resume <tag>',
|
|
983
|
+
'Missing tag. Usage: /chat resume <tag>':
|
|
984
|
+
'Missing tag. Usage: /chat resume <tag>',
|
|
985
|
+
'No saved checkpoint found with tag: {{tag}}.':
|
|
986
|
+
'No saved checkpoint found with tag: {{tag}}.',
|
|
987
|
+
'A checkpoint with the tag {{tag}} already exists. Do you want to overwrite it?':
|
|
988
|
+
'A checkpoint with the tag {{tag}} already exists. Do you want to overwrite it?',
|
|
989
|
+
'No chat client available to save conversation.':
|
|
990
|
+
'No chat client available to save conversation.',
|
|
991
|
+
'Conversation checkpoint saved with tag: {{tag}}.':
|
|
992
|
+
'Conversation checkpoint saved with tag: {{tag}}.',
|
|
993
|
+
'No conversation found to save.': 'No conversation found to save.',
|
|
994
|
+
'No chat client available to share conversation.':
|
|
995
|
+
'No chat client available to share conversation.',
|
|
996
|
+
'Invalid file format. Only .md and .json are supported.':
|
|
997
|
+
'Invalid file format. Only .md and .json are supported.',
|
|
998
|
+
'Error sharing conversation: {{error}}':
|
|
999
|
+
'Error sharing conversation: {{error}}',
|
|
1000
|
+
'Conversation shared to {{filePath}}': 'Conversation shared to {{filePath}}',
|
|
1001
|
+
'No conversation found to share.': 'No conversation found to share.',
|
|
1002
|
+
'Share the current conversation to a markdown or json file. Usage: /chat share <file>':
|
|
1003
|
+
'Share the current conversation to a markdown or json file. Usage: /chat share <file>',
|
|
1004
|
+
|
|
1005
|
+
// ============================================================================
|
|
1006
|
+
// Commands - Summary
|
|
1007
|
+
// ============================================================================
|
|
1008
|
+
'Generate a project summary and save it to .qwen/PROJECT_SUMMARY.md':
|
|
1009
|
+
'Generate a project summary and save it to .qwen/PROJECT_SUMMARY.md',
|
|
1010
|
+
'No chat client available to generate summary.':
|
|
1011
|
+
'No chat client available to generate summary.',
|
|
1012
|
+
'Already generating summary, wait for previous request to complete':
|
|
1013
|
+
'Already generating summary, wait for previous request to complete',
|
|
1014
|
+
'No conversation found to summarize.': 'No conversation found to summarize.',
|
|
1015
|
+
'Failed to generate project context summary: {{error}}':
|
|
1016
|
+
'Failed to generate project context summary: {{error}}',
|
|
1017
|
+
'Saved project summary to {{filePathForDisplay}}.':
|
|
1018
|
+
'Saved project summary to {{filePathForDisplay}}.',
|
|
1019
|
+
'Saving project summary...': 'Saving project summary...',
|
|
1020
|
+
'Generating project summary...': 'Generating project summary...',
|
|
1021
|
+
'Failed to generate summary - no text content received from LLM response':
|
|
1022
|
+
'Failed to generate summary - no text content received from LLM response',
|
|
1023
|
+
|
|
1024
|
+
// ============================================================================
|
|
1025
|
+
// Commands - Model
|
|
1026
|
+
// ============================================================================
|
|
1027
|
+
'Switch the model for this session': 'Switch the model for this session',
|
|
1028
|
+
'Content generator configuration not available.':
|
|
1029
|
+
'Content generator configuration not available.',
|
|
1030
|
+
'Authentication type not available.': 'Authentication type not available.',
|
|
1031
|
+
'No models available for the current authentication type ({{authType}}).':
|
|
1032
|
+
'No models available for the current authentication type ({{authType}}).',
|
|
1033
|
+
|
|
1034
|
+
// ============================================================================
|
|
1035
|
+
// Commands - Clear
|
|
1036
|
+
// ============================================================================
|
|
1037
|
+
'Starting a new session, resetting chat, and clearing terminal.':
|
|
1038
|
+
'Starting a new session, resetting chat, and clearing terminal.',
|
|
1039
|
+
'Starting a new session and clearing.':
|
|
1040
|
+
'Starting a new session and clearing.',
|
|
1041
|
+
|
|
1042
|
+
// ============================================================================
|
|
1043
|
+
// Commands - Compress
|
|
1044
|
+
// ============================================================================
|
|
1045
|
+
'Already compressing, wait for previous request to complete':
|
|
1046
|
+
'Already compressing, wait for previous request to complete',
|
|
1047
|
+
'Failed to compress chat history.': 'Failed to compress chat history.',
|
|
1048
|
+
'Failed to compress chat history: {{error}}':
|
|
1049
|
+
'Failed to compress chat history: {{error}}',
|
|
1050
|
+
'Compressing chat history': 'Compressing chat history',
|
|
1051
|
+
'Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.':
|
|
1052
|
+
'Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.',
|
|
1053
|
+
'Compression was not beneficial for this history size.':
|
|
1054
|
+
'Compression was not beneficial for this history size.',
|
|
1055
|
+
'Chat history compression did not reduce size. This may indicate issues with the compression prompt.':
|
|
1056
|
+
'Chat history compression did not reduce size. This may indicate issues with the compression prompt.',
|
|
1057
|
+
'Could not compress chat history due to a token counting error.':
|
|
1058
|
+
'Could not compress chat history due to a token counting error.',
|
|
1059
|
+
'Chat history is already compressed.': 'Chat history is already compressed.',
|
|
1060
|
+
|
|
1061
|
+
// ============================================================================
|
|
1062
|
+
// Commands - Directory
|
|
1063
|
+
// ============================================================================
|
|
1064
|
+
'Configuration is not available.': 'Configuration is not available.',
|
|
1065
|
+
'Please provide at least one path to add.':
|
|
1066
|
+
'Please provide at least one path to add.',
|
|
1067
|
+
'The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.':
|
|
1068
|
+
'The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.',
|
|
1069
|
+
"Error adding '{{path}}': {{error}}": "Error adding '{{path}}': {{error}}",
|
|
1070
|
+
'Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}':
|
|
1071
|
+
'Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}',
|
|
1072
|
+
'Error refreshing memory: {{error}}': 'Error refreshing memory: {{error}}',
|
|
1073
|
+
'Successfully added directories:\n- {{directories}}':
|
|
1074
|
+
'Successfully added directories:\n- {{directories}}',
|
|
1075
|
+
'Current workspace directories:\n{{directories}}':
|
|
1076
|
+
'Current workspace directories:\n{{directories}}',
|
|
1077
|
+
|
|
1078
|
+
// ============================================================================
|
|
1079
|
+
// Commands - Docs
|
|
1080
|
+
// ============================================================================
|
|
1081
|
+
'Please open the following URL in your browser to view the documentation:\n{{url}}':
|
|
1082
|
+
'Please open the following URL in your browser to view the documentation:\n{{url}}',
|
|
1083
|
+
'Opening documentation in your browser: {{url}}':
|
|
1084
|
+
'Opening documentation in your browser: {{url}}',
|
|
1085
|
+
|
|
1086
|
+
// ============================================================================
|
|
1087
|
+
// Dialogs - Tool Confirmation
|
|
1088
|
+
// ============================================================================
|
|
1089
|
+
'Do you want to proceed?': 'Do you want to proceed?',
|
|
1090
|
+
'Yes, allow once': 'Yes, allow once',
|
|
1091
|
+
'Allow always': 'Allow always',
|
|
1092
|
+
Yes: 'Yes',
|
|
1093
|
+
No: 'No',
|
|
1094
|
+
'No (esc)': 'No (esc)',
|
|
1095
|
+
'Yes, allow always for this session': 'Yes, allow always for this session',
|
|
1096
|
+
'Modify in progress:': 'Modify in progress:',
|
|
1097
|
+
'Save and close external editor to continue':
|
|
1098
|
+
'Save and close external editor to continue',
|
|
1099
|
+
'Apply this change?': 'Apply this change?',
|
|
1100
|
+
'Yes, allow always': 'Yes, allow always',
|
|
1101
|
+
'Modify with external editor': 'Modify with external editor',
|
|
1102
|
+
'No, suggest changes (esc)': 'No, suggest changes (esc)',
|
|
1103
|
+
"Allow execution of: '{{command}}'?": "Allow execution of: '{{command}}'?",
|
|
1104
|
+
'Yes, allow always ...': 'Yes, allow always ...',
|
|
1105
|
+
'Yes, and auto-accept edits': 'Yes, and auto-accept edits',
|
|
1106
|
+
'Yes, and manually approve edits': 'Yes, and manually approve edits',
|
|
1107
|
+
'No, keep planning (esc)': 'No, keep planning (esc)',
|
|
1108
|
+
'URLs to fetch:': 'URLs to fetch:',
|
|
1109
|
+
'MCP Server: {{server}}': 'MCP Server: {{server}}',
|
|
1110
|
+
'Tool: {{tool}}': 'Tool: {{tool}}',
|
|
1111
|
+
'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?':
|
|
1112
|
+
'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?',
|
|
1113
|
+
'Yes, always allow tool "{{tool}}" from server "{{server}}"':
|
|
1114
|
+
'Yes, always allow tool "{{tool}}" from server "{{server}}"',
|
|
1115
|
+
'Yes, always allow all tools from server "{{server}}"':
|
|
1116
|
+
'Yes, always allow all tools from server "{{server}}"',
|
|
1117
|
+
|
|
1118
|
+
// ============================================================================
|
|
1119
|
+
// Dialogs - Shell Confirmation
|
|
1120
|
+
// ============================================================================
|
|
1121
|
+
'Shell Command Execution': 'Shell Command Execution',
|
|
1122
|
+
'A custom command wants to run the following shell commands:':
|
|
1123
|
+
'A custom command wants to run the following shell commands:',
|
|
1124
|
+
|
|
1125
|
+
// ============================================================================
|
|
1126
|
+
// Dialogs - Pro Quota
|
|
1127
|
+
// ============================================================================
|
|
1128
|
+
'Pro quota limit reached for {{model}}.':
|
|
1129
|
+
'Pro quota limit reached for {{model}}.',
|
|
1130
|
+
'Change auth (executes the /auth command)':
|
|
1131
|
+
'Change auth (executes the /auth command)',
|
|
1132
|
+
'Continue with {{model}}': 'Continue with {{model}}',
|
|
1133
|
+
|
|
1134
|
+
// ============================================================================
|
|
1135
|
+
// Dialogs - Welcome Back
|
|
1136
|
+
// ============================================================================
|
|
1137
|
+
'Current Plan:': 'Current Plan:',
|
|
1138
|
+
'Progress: {{done}}/{{total}} tasks completed':
|
|
1139
|
+
'Progress: {{done}}/{{total}} tasks completed',
|
|
1140
|
+
', {{inProgress}} in progress': ', {{inProgress}} in progress',
|
|
1141
|
+
'Pending Tasks:': 'Pending Tasks:',
|
|
1142
|
+
'What would you like to do?': 'What would you like to do?',
|
|
1143
|
+
'Choose how to proceed with your session:':
|
|
1144
|
+
'Choose how to proceed with your session:',
|
|
1145
|
+
'Start new chat session': 'Start new chat session',
|
|
1146
|
+
'Continue previous conversation': 'Continue previous conversation',
|
|
1147
|
+
'👋 Welcome back! (Last updated: {{timeAgo}})':
|
|
1148
|
+
'👋 Welcome back! (Last updated: {{timeAgo}})',
|
|
1149
|
+
'🎯 Overall Goal:': '🎯 Overall Goal:',
|
|
1150
|
+
|
|
1151
|
+
// ============================================================================
|
|
1152
|
+
// Dialogs - Auth
|
|
1153
|
+
// ============================================================================
|
|
1154
|
+
'Get started': 'Get started',
|
|
1155
|
+
'Select Authentication Method': 'Select Authentication Method',
|
|
1156
|
+
'OpenAI API key is required to use OpenAI authentication.':
|
|
1157
|
+
'OpenAI API key is required to use OpenAI authentication.',
|
|
1158
|
+
'You must select an auth method to proceed. Press Ctrl+C again to exit.':
|
|
1159
|
+
'You must select an auth method to proceed. Press Ctrl+C again to exit.',
|
|
1160
|
+
'Terms of Services and Privacy Notice':
|
|
1161
|
+
'Terms of Services and Privacy Notice',
|
|
1162
|
+
'Qwen OAuth': 'Qwen OAuth',
|
|
1163
|
+
'Free \u00B7 Up to 1,000 requests/day \u00B7 Qwen latest models':
|
|
1164
|
+
'Free \u00B7 Up to 1,000 requests/day \u00B7 Qwen latest models',
|
|
1165
|
+
'Login with QwenChat account to use daily free quota.':
|
|
1166
|
+
'Login with QwenChat account to use daily free quota.',
|
|
1167
|
+
'Paid \u00B7 Up to 6,000 requests/5 hrs \u00B7 All Alibaba Cloud Coding Plan Models':
|
|
1168
|
+
'Paid \u00B7 Up to 6,000 requests/5 hrs \u00B7 All Alibaba Cloud Coding Plan Models',
|
|
1169
|
+
'Alibaba Cloud Coding Plan': 'Alibaba Cloud Coding Plan',
|
|
1170
|
+
'Bring your own API key': 'Bring your own API key',
|
|
1171
|
+
'API-KEY': 'API-KEY',
|
|
1172
|
+
'Use coding plan credentials or your own api-keys/providers.':
|
|
1173
|
+
'Use coding plan credentials or your own api-keys/providers.',
|
|
1174
|
+
OpenAI: 'OpenAI',
|
|
1175
|
+
'Failed to login. Message: {{message}}':
|
|
1176
|
+
'Failed to login. Message: {{message}}',
|
|
1177
|
+
'Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.':
|
|
1178
|
+
'Authentication is enforced to be {{enforcedType}}, but you are currently using {{currentType}}.',
|
|
1179
|
+
'Qwen OAuth authentication timed out. Please try again.':
|
|
1180
|
+
'Qwen OAuth authentication timed out. Please try again.',
|
|
1181
|
+
'Qwen OAuth authentication cancelled.':
|
|
1182
|
+
'Qwen OAuth authentication cancelled.',
|
|
1183
|
+
'Qwen OAuth Authentication': 'Qwen OAuth Authentication',
|
|
1184
|
+
'Please visit this URL to authorize:': 'Please visit this URL to authorize:',
|
|
1185
|
+
'Or scan the QR code below:': 'Or scan the QR code below:',
|
|
1186
|
+
'Waiting for authorization': 'Waiting for authorization',
|
|
1187
|
+
'Time remaining:': 'Time remaining:',
|
|
1188
|
+
'(Press ESC or CTRL+C to cancel)': '(Press ESC or CTRL+C to cancel)',
|
|
1189
|
+
'Qwen OAuth Authentication Timeout': 'Qwen OAuth Authentication Timeout',
|
|
1190
|
+
'OAuth token expired (over {{seconds}} seconds). Please select authentication method again.':
|
|
1191
|
+
'OAuth token expired (over {{seconds}} seconds). Please select authentication method again.',
|
|
1192
|
+
'Press any key to return to authentication type selection.':
|
|
1193
|
+
'Press any key to return to authentication type selection.',
|
|
1194
|
+
'Waiting for Qwen OAuth authentication...':
|
|
1195
|
+
'Waiting for Qwen OAuth authentication...',
|
|
1196
|
+
'Note: Your existing API key in settings.json will not be cleared when using Qwen OAuth. You can switch back to OpenAI authentication later if needed.':
|
|
1197
|
+
'Note: Your existing API key in settings.json will not be cleared when using Qwen OAuth. You can switch back to OpenAI authentication later if needed.',
|
|
1198
|
+
'Note: Your existing API key will not be cleared when using Qwen OAuth.':
|
|
1199
|
+
'Note: Your existing API key will not be cleared when using Qwen OAuth.',
|
|
1200
|
+
'Authentication timed out. Please try again.':
|
|
1201
|
+
'Authentication timed out. Please try again.',
|
|
1202
|
+
'Waiting for auth... (Press ESC or CTRL+C to cancel)':
|
|
1203
|
+
'Waiting for auth... (Press ESC or CTRL+C to cancel)',
|
|
1204
|
+
'Missing API key for OpenAI-compatible auth. Set settings.security.auth.apiKey, or set the {{envKeyHint}} environment variable.':
|
|
1205
|
+
'Missing API key for OpenAI-compatible auth. Set settings.security.auth.apiKey, or set the {{envKeyHint}} environment variable.',
|
|
1206
|
+
'{{envKeyHint}} environment variable not found.':
|
|
1207
|
+
'{{envKeyHint}} environment variable not found.',
|
|
1208
|
+
'{{envKeyHint}} environment variable not found. Please set it in your .env file or environment variables.':
|
|
1209
|
+
'{{envKeyHint}} environment variable not found. Please set it in your .env file or environment variables.',
|
|
1210
|
+
'{{envKeyHint}} environment variable not found (or set settings.security.auth.apiKey). Please set it in your .env file or environment variables.':
|
|
1211
|
+
'{{envKeyHint}} environment variable not found (or set settings.security.auth.apiKey). Please set it in your .env file or environment variables.',
|
|
1212
|
+
'Missing API key for OpenAI-compatible auth. Set the {{envKeyHint}} environment variable.':
|
|
1213
|
+
'Missing API key for OpenAI-compatible auth. Set the {{envKeyHint}} environment variable.',
|
|
1214
|
+
'Anthropic provider missing required baseUrl in modelProviders[].baseUrl.':
|
|
1215
|
+
'Anthropic provider missing required baseUrl in modelProviders[].baseUrl.',
|
|
1216
|
+
'ANTHROPIC_BASE_URL environment variable not found.':
|
|
1217
|
+
'ANTHROPIC_BASE_URL environment variable not found.',
|
|
1218
|
+
'Invalid auth method selected.': 'Invalid auth method selected.',
|
|
1219
|
+
'Failed to authenticate. Message: {{message}}':
|
|
1220
|
+
'Failed to authenticate. Message: {{message}}',
|
|
1221
|
+
'Authenticated successfully with {{authType}} credentials.':
|
|
1222
|
+
'Authenticated successfully with {{authType}} credentials.',
|
|
1223
|
+
'Invalid QWEN_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}':
|
|
1224
|
+
'Invalid QWEN_DEFAULT_AUTH_TYPE value: "{{value}}". Valid values are: {{validValues}}',
|
|
1225
|
+
'OpenAI Configuration Required': 'OpenAI Configuration Required',
|
|
1226
|
+
'Please enter your OpenAI configuration. You can get an API key from':
|
|
1227
|
+
'Please enter your OpenAI configuration. You can get an API key from',
|
|
1228
|
+
'API Key:': 'API Key:',
|
|
1229
|
+
'Invalid credentials: {{errorMessage}}':
|
|
1230
|
+
'Invalid credentials: {{errorMessage}}',
|
|
1231
|
+
'Failed to validate credentials': 'Failed to validate credentials',
|
|
1232
|
+
'Press Enter to continue, Tab/↑↓ to navigate, Esc to cancel':
|
|
1233
|
+
'Press Enter to continue, Tab/↑↓ to navigate, Esc to cancel',
|
|
1234
|
+
|
|
1235
|
+
// ============================================================================
|
|
1236
|
+
// Dialogs - Model
|
|
1237
|
+
// ============================================================================
|
|
1238
|
+
'Select Model': 'Select Model',
|
|
1239
|
+
'(Press Esc to close)': '(Press Esc to close)',
|
|
1240
|
+
'Current (effective) configuration': 'Current (effective) configuration',
|
|
1241
|
+
AuthType: 'AuthType',
|
|
1242
|
+
'API Key': 'API Key',
|
|
1243
|
+
unset: 'unset',
|
|
1244
|
+
'(default)': '(default)',
|
|
1245
|
+
'(set)': '(set)',
|
|
1246
|
+
'(not set)': '(not set)',
|
|
1247
|
+
Modality: 'Modality',
|
|
1248
|
+
'Context Window': 'Context Window',
|
|
1249
|
+
text: 'text',
|
|
1250
|
+
'text-only': 'text-only',
|
|
1251
|
+
image: 'image',
|
|
1252
|
+
pdf: 'pdf',
|
|
1253
|
+
audio: 'audio',
|
|
1254
|
+
video: 'video',
|
|
1255
|
+
'not set': 'not set',
|
|
1256
|
+
none: 'none',
|
|
1257
|
+
unknown: 'unknown',
|
|
1258
|
+
"Failed to switch model to '{{modelId}}'.\n\n{{error}}":
|
|
1259
|
+
"Failed to switch model to '{{modelId}}'.\n\n{{error}}",
|
|
1260
|
+
'Qwen 3.5 Plus — efficient hybrid model with leading coding performance':
|
|
1261
|
+
'Qwen 3.5 Plus — efficient hybrid model with leading coding performance',
|
|
1262
|
+
'The latest Qwen Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)':
|
|
1263
|
+
'The latest Qwen Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)',
|
|
1264
|
+
|
|
1265
|
+
// ============================================================================
|
|
1266
|
+
// Dialogs - Permissions
|
|
1267
|
+
// ============================================================================
|
|
1268
|
+
'Manage folder trust settings': 'Manage folder trust settings',
|
|
1269
|
+
|
|
1270
|
+
// ============================================================================
|
|
1271
|
+
// Status Bar
|
|
1272
|
+
// ============================================================================
|
|
1273
|
+
'Using:': 'Using:',
|
|
1274
|
+
'{{count}} open file': '{{count}} open file',
|
|
1275
|
+
'{{count}} open files': '{{count}} open files',
|
|
1276
|
+
'(ctrl+g to view)': '(ctrl+g to view)',
|
|
1277
|
+
'{{count}} {{name}} file': '{{count}} {{name}} file',
|
|
1278
|
+
'{{count}} {{name}} files': '{{count}} {{name}} files',
|
|
1279
|
+
'{{count}} MCP server': '{{count}} MCP server',
|
|
1280
|
+
'{{count}} MCP servers': '{{count}} MCP servers',
|
|
1281
|
+
'{{count}} Blocked': '{{count}} Blocked',
|
|
1282
|
+
'(ctrl+t to view)': '(ctrl+t to view)',
|
|
1283
|
+
'(ctrl+t to toggle)': '(ctrl+t to toggle)',
|
|
1284
|
+
'Press Ctrl+C again to exit.': 'Press Ctrl+C again to exit.',
|
|
1285
|
+
'Press Ctrl+D again to exit.': 'Press Ctrl+D again to exit.',
|
|
1286
|
+
'Press Esc again to clear.': 'Press Esc again to clear.',
|
|
1287
|
+
|
|
1288
|
+
// ============================================================================
|
|
1289
|
+
// MCP Status
|
|
1290
|
+
// ============================================================================
|
|
1291
|
+
'No MCP servers configured.': 'No MCP servers configured.',
|
|
1292
|
+
'⏳ MCP servers are starting up ({{count}} initializing)...':
|
|
1293
|
+
'⏳ MCP servers are starting up ({{count}} initializing)...',
|
|
1294
|
+
'Note: First startup may take longer. Tool availability will update automatically.':
|
|
1295
|
+
'Note: First startup may take longer. Tool availability will update automatically.',
|
|
1296
|
+
'Configured MCP servers:': 'Configured MCP servers:',
|
|
1297
|
+
Ready: 'Ready',
|
|
1298
|
+
'Starting... (first startup may take longer)':
|
|
1299
|
+
'Starting... (first startup may take longer)',
|
|
1300
|
+
Disconnected: 'Disconnected',
|
|
1301
|
+
'{{count}} tool': '{{count}} tool',
|
|
1302
|
+
'{{count}} tools': '{{count}} tools',
|
|
1303
|
+
'{{count}} prompt': '{{count}} prompt',
|
|
1304
|
+
'{{count}} prompts': '{{count}} prompts',
|
|
1305
|
+
'(from {{extensionName}})': '(from {{extensionName}})',
|
|
1306
|
+
OAuth: 'OAuth',
|
|
1307
|
+
'OAuth expired': 'OAuth expired',
|
|
1308
|
+
'OAuth not authenticated': 'OAuth not authenticated',
|
|
1309
|
+
'tools and prompts will appear when ready':
|
|
1310
|
+
'tools and prompts will appear when ready',
|
|
1311
|
+
'{{count}} tools cached': '{{count}} tools cached',
|
|
1312
|
+
'Tools:': 'Tools:',
|
|
1313
|
+
'Parameters:': 'Parameters:',
|
|
1314
|
+
'Prompts:': 'Prompts:',
|
|
1315
|
+
Blocked: 'Blocked',
|
|
1316
|
+
'💡 Tips:': '💡 Tips:',
|
|
1317
|
+
Use: 'Use',
|
|
1318
|
+
'to show server and tool descriptions':
|
|
1319
|
+
'to show server and tool descriptions',
|
|
1320
|
+
'to show tool parameter schemas': 'to show tool parameter schemas',
|
|
1321
|
+
'to hide descriptions': 'to hide descriptions',
|
|
1322
|
+
'to authenticate with OAuth-enabled servers':
|
|
1323
|
+
'to authenticate with OAuth-enabled servers',
|
|
1324
|
+
Press: 'Press',
|
|
1325
|
+
'to toggle tool descriptions on/off': 'to toggle tool descriptions on/off',
|
|
1326
|
+
"Starting OAuth authentication for MCP server '{{name}}'...":
|
|
1327
|
+
"Starting OAuth authentication for MCP server '{{name}}'...",
|
|
1328
|
+
'Restarting MCP servers...': 'Restarting MCP servers...',
|
|
1329
|
+
|
|
1330
|
+
// ============================================================================
|
|
1331
|
+
// Startup Tips
|
|
1332
|
+
// ============================================================================
|
|
1333
|
+
'Tips:': 'Tips:',
|
|
1334
|
+
'Use /compress when the conversation gets long to summarize history and free up context.':
|
|
1335
|
+
'Use /compress when the conversation gets long to summarize history and free up context.',
|
|
1336
|
+
'Start a fresh idea with /clear or /new; the previous session stays available in history.':
|
|
1337
|
+
'Start a fresh idea with /clear or /new; the previous session stays available in history.',
|
|
1338
|
+
'Use /bug to submit issues to the maintainers when something goes off.':
|
|
1339
|
+
'Use /bug to submit issues to the maintainers when something goes off.',
|
|
1340
|
+
'Switch auth type quickly with /auth.':
|
|
1341
|
+
'Switch auth type quickly with /auth.',
|
|
1342
|
+
'You can run any shell commands from Qwen Code using ! (e.g. !ls).':
|
|
1343
|
+
'You can run any shell commands from Qwen Code using ! (e.g. !ls).',
|
|
1344
|
+
'Type / to open the command popup; Tab autocompletes slash commands and saved prompts.':
|
|
1345
|
+
'Type / to open the command popup; Tab autocompletes slash commands and saved prompts.',
|
|
1346
|
+
'You can resume a previous conversation by running qwen --continue or qwen --resume.':
|
|
1347
|
+
'You can resume a previous conversation by running qwen --continue or qwen --resume.',
|
|
1348
|
+
'You can switch permission mode quickly with Shift+Tab or /approval-mode.':
|
|
1349
|
+
'You can switch permission mode quickly with Shift+Tab or /approval-mode.',
|
|
1350
|
+
'You can switch permission mode quickly with Tab or /approval-mode.':
|
|
1351
|
+
'You can switch permission mode quickly with Tab or /approval-mode.',
|
|
1352
|
+
'Try /insight to generate personalized insights from your chat history.':
|
|
1353
|
+
'Try /insight to generate personalized insights from your chat history.',
|
|
1354
|
+
|
|
1355
|
+
// ============================================================================
|
|
1356
|
+
// Exit Screen / Stats
|
|
1357
|
+
// ============================================================================
|
|
1358
|
+
'Agent powering down. Goodbye!': 'Agent powering down. Goodbye!',
|
|
1359
|
+
'To continue this session, run': 'To continue this session, run',
|
|
1360
|
+
'Interaction Summary': 'Interaction Summary',
|
|
1361
|
+
'Session ID:': 'Session ID:',
|
|
1362
|
+
'Tool Calls:': 'Tool Calls:',
|
|
1363
|
+
'Success Rate:': 'Success Rate:',
|
|
1364
|
+
'User Agreement:': 'User Agreement:',
|
|
1365
|
+
reviewed: 'reviewed',
|
|
1366
|
+
'Code Changes:': 'Code Changes:',
|
|
1367
|
+
Performance: 'Performance',
|
|
1368
|
+
'Wall Time:': 'Wall Time:',
|
|
1369
|
+
'Agent Active:': 'Agent Active:',
|
|
1370
|
+
'API Time:': 'API Time:',
|
|
1371
|
+
'Tool Time:': 'Tool Time:',
|
|
1372
|
+
'Session Stats': 'Session Stats',
|
|
1373
|
+
'Model Usage': 'Model Usage',
|
|
1374
|
+
Reqs: 'Reqs',
|
|
1375
|
+
'Input Tokens': 'Input Tokens',
|
|
1376
|
+
'Output Tokens': 'Output Tokens',
|
|
1377
|
+
'Savings Highlight:': 'Savings Highlight:',
|
|
1378
|
+
'of input tokens were served from the cache, reducing costs.':
|
|
1379
|
+
'of input tokens were served from the cache, reducing costs.',
|
|
1380
|
+
'Tip: For a full token breakdown, run `/stats model`.':
|
|
1381
|
+
'Tip: For a full token breakdown, run `/stats model`.',
|
|
1382
|
+
'Model Stats For Nerds': 'Model Stats For Nerds',
|
|
1383
|
+
'Tool Stats For Nerds': 'Tool Stats For Nerds',
|
|
1384
|
+
Metric: 'Metric',
|
|
1385
|
+
API: 'API',
|
|
1386
|
+
Requests: 'Requests',
|
|
1387
|
+
Errors: 'Errors',
|
|
1388
|
+
'Avg Latency': 'Avg Latency',
|
|
1389
|
+
Tokens: 'Tokens',
|
|
1390
|
+
Total: 'Total',
|
|
1391
|
+
Prompt: 'Prompt',
|
|
1392
|
+
Cached: 'Cached',
|
|
1393
|
+
Thoughts: 'Thoughts',
|
|
1394
|
+
Tool: 'Tool',
|
|
1395
|
+
Output: 'Output',
|
|
1396
|
+
'No API calls have been made in this session.':
|
|
1397
|
+
'No API calls have been made in this session.',
|
|
1398
|
+
'Tool Name': 'Tool Name',
|
|
1399
|
+
Calls: 'Calls',
|
|
1400
|
+
'Success Rate': 'Success Rate',
|
|
1401
|
+
'Avg Duration': 'Avg Duration',
|
|
1402
|
+
'User Decision Summary': 'User Decision Summary',
|
|
1403
|
+
'Total Reviewed Suggestions:': 'Total Reviewed Suggestions:',
|
|
1404
|
+
' » Accepted:': ' » Accepted:',
|
|
1405
|
+
' » Rejected:': ' » Rejected:',
|
|
1406
|
+
' » Modified:': ' » Modified:',
|
|
1407
|
+
' Overall Agreement Rate:': ' Overall Agreement Rate:',
|
|
1408
|
+
'No tool calls have been made in this session.':
|
|
1409
|
+
'No tool calls have been made in this session.',
|
|
1410
|
+
'Session start time is unavailable, cannot calculate stats.':
|
|
1411
|
+
'Session start time is unavailable, cannot calculate stats.',
|
|
1412
|
+
|
|
1413
|
+
// ============================================================================
|
|
1414
|
+
// Command Format Migration
|
|
1415
|
+
// ============================================================================
|
|
1416
|
+
'Command Format Migration': 'Command Format Migration',
|
|
1417
|
+
'Found {{count}} TOML command file:': 'Found {{count}} TOML command file:',
|
|
1418
|
+
'Found {{count}} TOML command files:': 'Found {{count}} TOML command files:',
|
|
1419
|
+
'... and {{count}} more': '... and {{count}} more',
|
|
1420
|
+
'The TOML format is deprecated. Would you like to migrate them to Markdown format?':
|
|
1421
|
+
'The TOML format is deprecated. Would you like to migrate them to Markdown format?',
|
|
1422
|
+
'(Backups will be created and original files will be preserved)':
|
|
1423
|
+
'(Backups will be created and original files will be preserved)',
|
|
1424
|
+
|
|
1425
|
+
// ============================================================================
|
|
1426
|
+
// Loading Phrases
|
|
1427
|
+
// ============================================================================
|
|
1428
|
+
'Waiting for user confirmation...': 'Waiting for user confirmation...',
|
|
1429
|
+
'(esc to cancel, {{time}})': '(esc to cancel, {{time}})',
|
|
1430
|
+
|
|
1431
|
+
// ============================================================================
|
|
1432
|
+
// Loading Phrases
|
|
1433
|
+
// ============================================================================
|
|
1434
|
+
WITTY_LOADING_PHRASES: [
|
|
1435
|
+
"I'm Feeling Lucky",
|
|
1436
|
+
'Shipping awesomeness... ',
|
|
1437
|
+
'Painting the serifs back on...',
|
|
1438
|
+
'Navigating the slime mold...',
|
|
1439
|
+
'Consulting the digital spirits...',
|
|
1440
|
+
'Reticulating splines...',
|
|
1441
|
+
'Warming up the AI hamsters...',
|
|
1442
|
+
'Asking the magic conch shell...',
|
|
1443
|
+
'Generating witty retort...',
|
|
1444
|
+
'Polishing the algorithms...',
|
|
1445
|
+
"Don't rush perfection (or my code)...",
|
|
1446
|
+
'Brewing fresh bytes...',
|
|
1447
|
+
'Counting electrons...',
|
|
1448
|
+
'Engaging cognitive processors...',
|
|
1449
|
+
'Checking for syntax errors in the universe...',
|
|
1450
|
+
'One moment, optimizing humor...',
|
|
1451
|
+
'Shuffling punchlines...',
|
|
1452
|
+
'Untangling neural nets...',
|
|
1453
|
+
'Compiling brilliance...',
|
|
1454
|
+
'Loading wit.exe...',
|
|
1455
|
+
'Summoning the cloud of wisdom...',
|
|
1456
|
+
'Preparing a witty response...',
|
|
1457
|
+
"Just a sec, I'm debugging reality...",
|
|
1458
|
+
'Confuzzling the options...',
|
|
1459
|
+
'Tuning the cosmic frequencies...',
|
|
1460
|
+
'Crafting a response worthy of your patience...',
|
|
1461
|
+
'Compiling the 1s and 0s...',
|
|
1462
|
+
'Resolving dependencies... and existential crises...',
|
|
1463
|
+
'Defragmenting memories... both RAM and personal...',
|
|
1464
|
+
'Rebooting the humor module...',
|
|
1465
|
+
'Caching the essentials (mostly cat memes)...',
|
|
1466
|
+
'Optimizing for ludicrous speed',
|
|
1467
|
+
"Swapping bits... don't tell the bytes...",
|
|
1468
|
+
'Garbage collecting... be right back...',
|
|
1469
|
+
'Assembling the interwebs...',
|
|
1470
|
+
'Converting coffee into code...',
|
|
1471
|
+
'Updating the syntax for reality...',
|
|
1472
|
+
'Rewiring the synapses...',
|
|
1473
|
+
'Looking for a misplaced semicolon...',
|
|
1474
|
+
"Greasin' the cogs of the machine...",
|
|
1475
|
+
'Pre-heating the servers...',
|
|
1476
|
+
'Calibrating the flux capacitor...',
|
|
1477
|
+
'Engaging the improbability drive...',
|
|
1478
|
+
'Channeling the Force...',
|
|
1479
|
+
'Aligning the stars for optimal response...',
|
|
1480
|
+
'So say we all...',
|
|
1481
|
+
'Loading the next great idea...',
|
|
1482
|
+
"Just a moment, I'm in the zone...",
|
|
1483
|
+
'Preparing to dazzle you with brilliance...',
|
|
1484
|
+
"Just a tick, I'm polishing my wit...",
|
|
1485
|
+
"Hold tight, I'm crafting a masterpiece...",
|
|
1486
|
+
"Just a jiffy, I'm debugging the universe...",
|
|
1487
|
+
"Just a moment, I'm aligning the pixels...",
|
|
1488
|
+
"Just a sec, I'm optimizing the humor...",
|
|
1489
|
+
"Just a moment, I'm tuning the algorithms...",
|
|
1490
|
+
'Warp speed engaged...',
|
|
1491
|
+
'Mining for more Dilithium crystals...',
|
|
1492
|
+
"Don't panic...",
|
|
1493
|
+
'Following the white rabbit...',
|
|
1494
|
+
'The truth is in here... somewhere...',
|
|
1495
|
+
'Blowing on the cartridge...',
|
|
1496
|
+
'Loading... Do a barrel roll!',
|
|
1497
|
+
'Waiting for the respawn...',
|
|
1498
|
+
'Finishing the Kessel Run in less than 12 parsecs...',
|
|
1499
|
+
"The cake is not a lie, it's just still loading...",
|
|
1500
|
+
'Fiddling with the character creation screen...',
|
|
1501
|
+
"Just a moment, I'm finding the right meme...",
|
|
1502
|
+
"Pressing 'A' to continue...",
|
|
1503
|
+
'Herding digital cats...',
|
|
1504
|
+
'Polishing the pixels...',
|
|
1505
|
+
'Finding a suitable loading screen pun...',
|
|
1506
|
+
'Distracting you with this witty phrase...',
|
|
1507
|
+
'Almost there... probably...',
|
|
1508
|
+
'Our hamsters are working as fast as they can...',
|
|
1509
|
+
'Giving Cloudy a pat on the head...',
|
|
1510
|
+
'Petting the cat...',
|
|
1511
|
+
'Rickrolling my boss...',
|
|
1512
|
+
'Never gonna give you up, never gonna let you down...',
|
|
1513
|
+
'Slapping the bass...',
|
|
1514
|
+
'Tasting the snozberries...',
|
|
1515
|
+
"I'm going the distance, I'm going for speed...",
|
|
1516
|
+
'Is this the real life? Is this just fantasy?...',
|
|
1517
|
+
"I've got a good feeling about this...",
|
|
1518
|
+
'Poking the bear...',
|
|
1519
|
+
'Doing research on the latest memes...',
|
|
1520
|
+
'Figuring out how to make this more witty...',
|
|
1521
|
+
'Hmmm... let me think...',
|
|
1522
|
+
'What do you call a fish with no eyes? A fsh...',
|
|
1523
|
+
'Why did the computer go to therapy? It had too many bytes...',
|
|
1524
|
+
"Why don't programmers like nature? It has too many bugs...",
|
|
1525
|
+
'Why do programmers prefer dark mode? Because light attracts bugs...',
|
|
1526
|
+
'Why did the developer go broke? Because they used up all their cache...',
|
|
1527
|
+
"What can you do with a broken pencil? Nothing, it's pointless...",
|
|
1528
|
+
'Applying percussive maintenance...',
|
|
1529
|
+
'Searching for the correct USB orientation...',
|
|
1530
|
+
'Ensuring the magic smoke stays inside the wires...',
|
|
1531
|
+
'Trying to exit Vim...',
|
|
1532
|
+
'Spinning up the hamster wheel...',
|
|
1533
|
+
"That's not a bug, it's an undocumented feature...",
|
|
1534
|
+
'Engage.',
|
|
1535
|
+
"I'll be back... with an answer.",
|
|
1536
|
+
'My other process is a TARDIS...',
|
|
1537
|
+
'Communing with the machine spirit...',
|
|
1538
|
+
'Letting the thoughts marinate...',
|
|
1539
|
+
'Just remembered where I put my keys...',
|
|
1540
|
+
'Pondering the orb...',
|
|
1541
|
+
"I've seen things you people wouldn't believe... like a user who reads loading messages.",
|
|
1542
|
+
'Initiating thoughtful gaze...',
|
|
1543
|
+
"What's a computer's favorite snack? Microchips.",
|
|
1544
|
+
"Why do Java developers wear glasses? Because they don't C#.",
|
|
1545
|
+
'Charging the laser... pew pew!',
|
|
1546
|
+
'Dividing by zero... just kidding!',
|
|
1547
|
+
'Looking for an adult superviso... I mean, processing.',
|
|
1548
|
+
'Making it go beep boop.',
|
|
1549
|
+
'Buffering... because even AIs need a moment.',
|
|
1550
|
+
'Entangling quantum particles for a faster response...',
|
|
1551
|
+
'Polishing the chrome... on the algorithms.',
|
|
1552
|
+
'Are you not entertained? (Working on it!)',
|
|
1553
|
+
'Summoning the code gremlins... to help, of course.',
|
|
1554
|
+
'Just waiting for the dial-up tone to finish...',
|
|
1555
|
+
'Recalibrating the humor-o-meter.',
|
|
1556
|
+
'My other loading screen is even funnier.',
|
|
1557
|
+
"Pretty sure there's a cat walking on the keyboard somewhere...",
|
|
1558
|
+
'Enhancing... Enhancing... Still loading.',
|
|
1559
|
+
"It's not a bug, it's a feature... of this loading screen.",
|
|
1560
|
+
'Have you tried turning it off and on again? (The loading screen, not me.)',
|
|
1561
|
+
'Constructing additional pylons...',
|
|
1562
|
+
],
|
|
1563
|
+
|
|
1564
|
+
// ============================================================================
|
|
1565
|
+
// Extension Settings Input
|
|
1566
|
+
// ============================================================================
|
|
1567
|
+
'Enter value...': 'Enter value...',
|
|
1568
|
+
'Enter sensitive value...': 'Enter sensitive value...',
|
|
1569
|
+
'Press Enter to submit, Escape to cancel':
|
|
1570
|
+
'Press Enter to submit, Escape to cancel',
|
|
1571
|
+
|
|
1572
|
+
// ============================================================================
|
|
1573
|
+
// Command Migration Tool
|
|
1574
|
+
// ============================================================================
|
|
1575
|
+
'Markdown file already exists: {{filename}}':
|
|
1576
|
+
'Markdown file already exists: {{filename}}',
|
|
1577
|
+
'TOML Command Format Deprecation Notice':
|
|
1578
|
+
'TOML Command Format Deprecation Notice',
|
|
1579
|
+
'Found {{count}} command file(s) in TOML format:':
|
|
1580
|
+
'Found {{count}} command file(s) in TOML format:',
|
|
1581
|
+
'The TOML format for commands is being deprecated in favor of Markdown format.':
|
|
1582
|
+
'The TOML format for commands is being deprecated in favor of Markdown format.',
|
|
1583
|
+
'Markdown format is more readable and easier to edit.':
|
|
1584
|
+
'Markdown format is more readable and easier to edit.',
|
|
1585
|
+
'You can migrate these files automatically using:':
|
|
1586
|
+
'You can migrate these files automatically using:',
|
|
1587
|
+
'Or manually convert each file:': 'Or manually convert each file:',
|
|
1588
|
+
'TOML: prompt = "..." / description = "..."':
|
|
1589
|
+
'TOML: prompt = "..." / description = "..."',
|
|
1590
|
+
'Markdown: YAML frontmatter + content':
|
|
1591
|
+
'Markdown: YAML frontmatter + content',
|
|
1592
|
+
'The migration tool will:': 'The migration tool will:',
|
|
1593
|
+
'Convert TOML files to Markdown': 'Convert TOML files to Markdown',
|
|
1594
|
+
'Create backups of original files': 'Create backups of original files',
|
|
1595
|
+
'Preserve all command functionality': 'Preserve all command functionality',
|
|
1596
|
+
'TOML format will continue to work for now, but migration is recommended.':
|
|
1597
|
+
'TOML format will continue to work for now, but migration is recommended.',
|
|
1598
|
+
|
|
1599
|
+
// ============================================================================
|
|
1600
|
+
// Extensions - Explore Command
|
|
1601
|
+
// ============================================================================
|
|
1602
|
+
'Open extensions page in your browser':
|
|
1603
|
+
'Open extensions page in your browser',
|
|
1604
|
+
'Unknown extensions source: {{source}}.':
|
|
1605
|
+
'Unknown extensions source: {{source}}.',
|
|
1606
|
+
'Would open extensions page in your browser: {{url}} (skipped in test environment)':
|
|
1607
|
+
'Would open extensions page in your browser: {{url}} (skipped in test environment)',
|
|
1608
|
+
'View available extensions at {{url}}':
|
|
1609
|
+
'View available extensions at {{url}}',
|
|
1610
|
+
'Opening extensions page in your browser: {{url}}':
|
|
1611
|
+
'Opening extensions page in your browser: {{url}}',
|
|
1612
|
+
'Failed to open browser. Check out the extensions gallery at {{url}}':
|
|
1613
|
+
'Failed to open browser. Check out the extensions gallery at {{url}}',
|
|
1614
|
+
|
|
1615
|
+
// ============================================================================
|
|
1616
|
+
// Retry / Rate Limit
|
|
1617
|
+
// ============================================================================
|
|
1618
|
+
'Rate limit error: {{reason}}': 'Rate limit error: {{reason}}',
|
|
1619
|
+
'Retrying in {{seconds}} seconds… (attempt {{attempt}}/{{maxRetries}})':
|
|
1620
|
+
'Retrying in {{seconds}} seconds… (attempt {{attempt}}/{{maxRetries}})',
|
|
1621
|
+
'Press Ctrl+Y to retry': 'Press Ctrl+Y to retry',
|
|
1622
|
+
'No failed request to retry.': 'No failed request to retry.',
|
|
1623
|
+
'to retry last request': 'to retry last request',
|
|
1624
|
+
|
|
1625
|
+
// ============================================================================
|
|
1626
|
+
// Coding Plan Authentication
|
|
1627
|
+
// ============================================================================
|
|
1628
|
+
'API key cannot be empty.': 'API key cannot be empty.',
|
|
1629
|
+
'You can get your Coding Plan API key here':
|
|
1630
|
+
'You can get your Coding Plan API key here',
|
|
1631
|
+
'API key is stored in settings.env. You can migrate it to a .env file for better security.':
|
|
1632
|
+
'API key is stored in settings.env. You can migrate it to a .env file for better security.',
|
|
1633
|
+
'New model configurations are available for Alibaba Cloud Coding Plan. Update now?':
|
|
1634
|
+
'New model configurations are available for Alibaba Cloud Coding Plan. Update now?',
|
|
1635
|
+
'Coding Plan configuration updated successfully. New models are now available.':
|
|
1636
|
+
'Coding Plan configuration updated successfully. New models are now available.',
|
|
1637
|
+
'Coding Plan API key not found. Please re-authenticate with Coding Plan.':
|
|
1638
|
+
'Coding Plan API key not found. Please re-authenticate with Coding Plan.',
|
|
1639
|
+
'Failed to update Coding Plan configuration: {{message}}':
|
|
1640
|
+
'Failed to update Coding Plan configuration: {{message}}',
|
|
1641
|
+
|
|
1642
|
+
// ============================================================================
|
|
1643
|
+
// Custom API Key Configuration
|
|
1644
|
+
// ============================================================================
|
|
1645
|
+
'You can configure your API key and models in settings.json':
|
|
1646
|
+
'You can configure your API key and models in settings.json',
|
|
1647
|
+
'Refer to the documentation for setup instructions':
|
|
1648
|
+
'Refer to the documentation for setup instructions',
|
|
1649
|
+
|
|
1650
|
+
// ============================================================================
|
|
1651
|
+
// Auth Dialog - View Titles and Labels
|
|
1652
|
+
// ============================================================================
|
|
1653
|
+
'Coding Plan': 'Coding Plan',
|
|
1654
|
+
"Paste your api key of Bailian Coding Plan and you're all set!":
|
|
1655
|
+
"Paste your api key of Bailian Coding Plan and you're all set!",
|
|
1656
|
+
Custom: 'Custom',
|
|
1657
|
+
'More instructions about configuring `modelProviders` manually.':
|
|
1658
|
+
'More instructions about configuring `modelProviders` manually.',
|
|
1659
|
+
'Select API-KEY configuration mode:': 'Select API-KEY configuration mode:',
|
|
1660
|
+
'(Press Escape to go back)': '(Press Escape to go back)',
|
|
1661
|
+
'(Press Enter to submit, Escape to cancel)':
|
|
1662
|
+
'(Press Enter to submit, Escape to cancel)',
|
|
1663
|
+
'Select Region for Coding Plan': 'Select Region for Coding Plan',
|
|
1664
|
+
'Choose based on where your account is registered':
|
|
1665
|
+
'Choose based on where your account is registered',
|
|
1666
|
+
'Enter Coding Plan API Key': 'Enter Coding Plan API Key',
|
|
1667
|
+
|
|
1668
|
+
// ============================================================================
|
|
1669
|
+
// Coding Plan International Updates
|
|
1670
|
+
// ============================================================================
|
|
1671
|
+
'New model configurations are available for {{region}}. Update now?':
|
|
1672
|
+
'New model configurations are available for {{region}}. Update now?',
|
|
1673
|
+
'{{region}} configuration updated successfully. Model switched to "{{model}}".':
|
|
1674
|
+
'{{region}} configuration updated successfully. Model switched to "{{model}}".',
|
|
1675
|
+
'{{region}} configuration updated successfully.':
|
|
1676
|
+
'{{region}} configuration updated successfully.',
|
|
1677
|
+
'Authenticated successfully with {{region}}. API key and model configs saved to settings.json.':
|
|
1678
|
+
'Authenticated successfully with {{region}}. API key and model configs saved to settings.json.',
|
|
1679
|
+
'Tip: Use /model to switch between available Coding Plan models.':
|
|
1680
|
+
'Tip: Use /model to switch between available Coding Plan models.',
|
|
1681
|
+
|
|
1682
|
+
// ============================================================================
|
|
1683
|
+
// Ask User Question Tool
|
|
1684
|
+
// ============================================================================
|
|
1685
|
+
'Please answer the following question(s):':
|
|
1686
|
+
'Please answer the following question(s):',
|
|
1687
|
+
'Cannot ask user questions in non-interactive mode. Please run in interactive mode to use this tool.':
|
|
1688
|
+
'Cannot ask user questions in non-interactive mode. Please run in interactive mode to use this tool.',
|
|
1689
|
+
'User declined to answer the questions.':
|
|
1690
|
+
'User declined to answer the questions.',
|
|
1691
|
+
'User has provided the following answers:':
|
|
1692
|
+
'User has provided the following answers:',
|
|
1693
|
+
'Failed to process user answers:': 'Failed to process user answers:',
|
|
1694
|
+
'Type something...': 'Type something...',
|
|
1695
|
+
Submit: 'Submit',
|
|
1696
|
+
'Submit answers': 'Submit answers',
|
|
1697
|
+
Cancel: 'Cancel',
|
|
1698
|
+
'Your answers:': 'Your answers:',
|
|
1699
|
+
'(not answered)': '(not answered)',
|
|
1700
|
+
'Ready to submit your answers?': 'Ready to submit your answers?',
|
|
1701
|
+
'↑/↓: Navigate | ←/→: Switch tabs | Enter: Select':
|
|
1702
|
+
'↑/↓: Navigate | ←/→: Switch tabs | Enter: Select',
|
|
1703
|
+
'↑/↓: Navigate | ←/→: Switch tabs | Space/Enter: Toggle | Esc: Cancel':
|
|
1704
|
+
'↑/↓: Navigate | ←/→: Switch tabs | Space/Enter: Toggle | Esc: Cancel',
|
|
1705
|
+
'↑/↓: Navigate | Space/Enter: Toggle | Esc: Cancel':
|
|
1706
|
+
'↑/↓: Navigate | Space/Enter: Toggle | Esc: Cancel',
|
|
1707
|
+
'↑/↓: Navigate | Enter: Select | Esc: Cancel':
|
|
1708
|
+
'↑/↓: Navigate | Enter: Select | Esc: Cancel',
|
|
1709
|
+
};
|