-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpatch-core.js
More file actions
2471 lines (2279 loc) · 212 KB
/
Copy pathpatch-core.js
File metadata and controls
2471 lines (2279 loc) · 212 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// patch-core.js
// Универсальная (умная) версия: распаковывает текущий app.asar, внедряет словарь ru-RU.json,
// правит локализацию и запаковывает обратно. Работает с любыми обновлениями ZCode.
const path = require('path');
const fs = require('fs');
const os = require('os');
const asar = require('@electron/asar');
// Виртуализацию ASAR будем отключать только локально в функциях!
function candidateRoots() {
const env = process.env;
const roots = [];
const local = env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local');
const programs = path.join(local, 'Programs');
const pf = env['ProgramFiles'] || 'C:\\Program Files';
const pf86 = env['ProgramFiles(x86)'] || 'C:\\Program Files (x86)';
for (const base of [programs, pf, pf86, local]) {
roots.push(path.join(base, 'ZCode'));
}
return roots;
}
function isZcodeRoot(dir) {
const prev = process.noAsar;
process.noAsar = true;
try {
return fs.existsSync(path.join(dir, 'resources', 'app.asar'));
} catch {
return false;
} finally {
process.noAsar = prev;
}
}
function detectZcodeDir() {
for (const root of candidateRoots()) {
if (isZcodeRoot(root)) return root;
}
return null;
}
function resolveZcodeRoot(input) {
if (!input) return null;
let p = String(input).trim().replace(/^"+|"+$/g, '');
if (!p) return null;
p = path.normalize(p);
if (/app\.asar$/i.test(p)) {
const root = path.dirname(path.dirname(p));
if (isZcodeRoot(root)) return root;
}
if (path.basename(p).toLowerCase() === 'resources' && isZcodeRoot(path.dirname(p))) {
return path.dirname(p);
}
if (isZcodeRoot(p)) return p;
return p;
}
function checkZcode(input) {
const prev = process.noAsar;
process.noAsar = true;
try {
const root = resolveZcodeRoot(input);
const asarPath = root ? path.join(root, 'resources', 'app.asar') : null;
const backupPath = asarPath ? asarPath + '.ru-backup' : null;
return {
root,
path: asarPath,
backupPath,
exists: asarPath ? fs.existsSync(asarPath) : false,
hasBackup: backupPath ? fs.existsSync(backupPath) : false,
};
} finally {
process.noAsar = prev;
}
}
// ============================================================
// Таблица захардкоженных английских строк → русский
// Каждая запись: [regex, замена]
// Регэкспы не имеют флага g — используются в .replace(regex, func)
// чтобы контролировать количество замен.
// ============================================================
const HARDCODED_PATCHES = [
// --- Боковая панель, обновления и раздел «Хуки» ---
['发现新版本', 'Найдена новая версия'],
['跳过此版本', 'Пропустить эту версию'],
['稍后', 'Позже'],
['下载更新', 'Скачать обновление'],
['正在下载', 'Загрузка'],
['下载进度', 'Прогресс загрузки'],
['取消下载', 'Отменить загрузку'],
['已准备就绪', 'Готово к обновлению'],
['重启以更新', 'Перезапустить и обновить'],
['定时任务', 'Запланированные задачи'],
['新建任务', 'Новая задача'],
['还没有任务', 'Задач пока нет'],
['Hook 配置变更将在新会话中生效。', 'Изменения конфигурации хуков вступят в силу в новом сеансе.'],
['已配置 Hook', 'Настроенные хуки'],
['插件 Hook', 'Хуки плагинов'],
['Hook 未配置', 'Хуки не настроены'],
['开启预览版', 'Включить предварительные обновления'],
['自动下载并安装更新', 'Автоматически скачивать и устанавливать обновления'],
['管理 ZCode Agent 运行时消费的用户级子智能体 Markdown 文件。', 'Управление пользовательскими Markdown-файлами субагентов, которые использует ZCode Agent.'],
// --- Селектор языка ---
[/`Simplified Chinese`/g, '`Русский`'],
[/"Simplified Chinese"/g, '"Русский"'],
[/`Chinese \(Simplified\)`/g, '`Русский`'],
[/"Chinese \(Simplified\)"/g, '"Русский"'],
[/`Китайский \(упрощённый\)`/g, '`Русский`'],
[/"Китайский \(упрощённый\)"/g, '"Русский"'],
[/`Китайский \(упрощенный\)`/g, '`Русский`'],
[/"Китайский \(упрощенный\)"/g, '"Русский"'],
[/`中文简体`/g, '`Русский`'],
[/"中文简体"/g, '"Русский"'],
// --- Модальное окно «Simplified Chinese» ---
[/`简体中文`/g, '`Русский`'],
[/"简体中文"/g, '"Русский"'],
// --- Масштаб интерфейса: короткая подпись, чтобы кнопка не ломалась ---
[/"settings\.zoomLevel\.option\.default"\s*:\s*"По умолчанию"/g, '"settings.zoomLevel.option.default":"Средний"'],
[/"settings\.zoomLevel\.option\.default"\s*:\s*`По умолчанию`/g, '"settings.zoomLevel.option.default":`Средний`'],
[/"Default"/g, '"Средний"'],
[/`Default`/g, '`Средний`'],
// --- Coding Plan промо, иногда приходит жёстко на китайском ---
[/"限时 150% 配额活动"/g, '"Временно: +150% квоты"'],
[/`限时 150% 配额活动`/g, '`Временно: +150% квоты`'],
[/"升级 Coding Plan,可在活动期内获得 150% 配额"/g, '"Обновите Coding Plan и получите 150% квоты на время акции"'],
[/`升级 Coding Plan,可在活动期内获得 150% 配额`/g, '`Обновите Coding Plan и получите 150% квоты на время акции`'],
[/"升级 Coding Plan, 可在活动期内获得 150% 配额"/g, '"Обновите Coding Plan и получите 150% квоты на время акции"'],
[/`升级 Coding Plan, 可在活动期内获得 150% 配额`/g, '`Обновите Coding Plan и получите 150% квоты на время акции`'],
[/"150% 配额"/g, '"150% квоты"'],
[/`150% 配额`/g, '`150% квоты`'],
[/"3x higher Claude Pro usage limits"/g, '"В 3 раза выше лимиты использования Claude Pro"'],
[/`3x higher Claude Pro usage limits`/g, '`В 3 раза выше лимиты использования Claude Pro`'],
[/"Everything in Lite, plus 5x Lite usage"/g, '"Всё из Lite плюс в 5 раз больше лимитов Lite"'],
[/`Everything in Lite, plus 5x Lite usage`/g, '`Всё из Lite плюс в 5 раз больше лимитов Lite`'],
[/"Everything in Pro, plus 20x Lite usage"/g, '"Всё из Pro плюс в 20 раз больше лимитов Lite"'],
[/`Everything in Pro, plus 20x Lite usage`/g, '`Всё из Pro плюс в 20 раз больше лимитов Lite`'],
[/"查看 150% 配额活动说明"/g, '"Подробнее об акции +150% квоты"'],
[/`查看 150% 配额活动说明`/g, '`Подробнее об акции +150% квоты`'],
[/"权益规则说明:"/g, '"Правила начисления квоты:"'],
[/`权益规则说明:`/g, '`Правила начисления квоты:`'],
[/"说明 ZCode 内 Coding Plan 使用 GLM-5\.2 时的 150% 配额权益折算规则。"/g, '"Как в ZCode пересчитывается акция +150% квоты для GLM-5.2 через Coding Plan."'],
[/`说明 ZCode 内 Coding Plan 使用 GLM-5\.2 时的 150% 配额权益折算规则。`/g, '`Как в ZCode пересчитывается акция +150% квоты для GLM-5.2 через Coding Plan.`'],
[/"用户在 ZCode 中通过 Coding Plan 使用 GLM-5\.2 模型时,额度消耗全周期按 0\.67 系数折算。"/g, '"При использовании GLM-5.2 через Coding Plan расход квоты считается с коэффициентом 0,67 в течение всего периода акции."'],
[/`用户在 ZCode 中通过 Coding Plan 使用 GLM-5\.2 模型时,额度消耗全周期按 0\.67 系数折算。`/g, '`При использовании GLM-5.2 через Coding Plan расход квоты считается с коэффициентом 0,67 в течение всего периода акции.`'],
[/"同样的模型调用量,在额度扣减侧仅按 67% 计算;等效来看,用户在活动周期内的可用额度约为原来的 1\.5 倍。"/g, '"Та же нагрузка списывает только 67% квоты; фактически доступная квота в период акции примерно в 1,5 раза выше."'],
[/`同样的模型调用量,在额度扣减侧仅按 67% 计算;等效来看,用户在活动周期内的可用额度约为原来的 1\.5 倍。`/g, '`Та же нагрузка списывает только 67% квоты; фактически доступная квота в период акции примерно в 1,5 раза выше.`'],
[/"具体折算规则如下:"/g, '"Правила пересчёта:"'],
[/`具体折算规则如下:`/g, '`Правила пересчёта:`'],
[/"高峰期(每日 14:00~18:00):由原先的 3x 调整为 2x 系数"/g, '"Пиковые часы (ежедневно 14:00-18:00): коэффициент снижен с 3x до 2x."'],
[/`高峰期(每日 14:00~18:00):由原先的 3x 调整为 2x 系数`/g, '`Пиковые часы (ежедневно 14:00-18:00): коэффициент снижен с 3x до 2x.`'],
[/"非高峰期(除高峰期外的 20 个小时):由原先的 1x 调整为 0\.67x 系数"/g, '"Вне пиковых часов (остальные 20 часов): коэффициент снижен с 1x до 0,67x."'],
[/`非高峰期(除高峰期外的 20 个小时):由原先的 1x 调整为 0\.67x 系数`/g, '`Вне пиковых часов (остальные 20 часов): коэффициент снижен с 1x до 0,67x.`'],
[/"额度权益截止时间以官方公告为准。"/g, '"Срок действия преимущества по квоте определяется официальным объявлением."'],
[/`额度权益截止时间以官方公告为准。`/g, '`Срок действия преимущества по квоте определяется официальным объявлением.`'],
// --- Уровни Auto-approve (инструменты) ---
[/"Ask before changes"/g, '"Спрашивать перед изменениями"'],
[/`Ask before changes`/g, '`Спрашивать перед изменениями`'],
[/"Edit automatically"/g, '"Редактировать автоматически"'],
[/`Edit automatically`/g, '`Редактировать автоматически`'],
[/"Plan mode"/g, '"Режим планирования"'],
[/`Plan mode`/g, '`Режим планирования`'],
[/"Full access"/g, '"Полный доступ"'],
[/`Full access`/g, '`Полный доступ`'],
[/"Ask before each file changes."/g, '"Спрашивать перед каждым изменением файла."'],
[/`Ask before each file changes.`/g, '`Спрашивать перед каждым изменением файла.`'],
[/"Edit selected files or relevant workspace files automatically."/g, '"Автоматически изменять выбранные или подходящие файлы."'],
[/`Edit selected files or relevant workspace files automatically.`/g, '`Автоматически изменять выбранные или подходящие файлы.`'],
[/"Inspect the code and present a plan before editing."/g, '"Изучить код и представить план перед редактированием."'],
[/`Inspect the code and present a plan before editing.`/g, '`Изучить код и представить план перед редактированием.`'],
[/"Edit and run commands with fewer confirmations."/g, '"Редактировать и выполнять команды с меньшим числом подтверждений."'],
[/`Edit and run commands with fewer confirmations.`/g, '`Редактировать и выполнять команды с меньшим числом подтверждений.`'],
// --- Уровень рассуждений (Reasoning / Thought) ---
[/"Thought Level"/g, '"Уровень рассуждений"'],
[/`Thought Level`/g, '`Уровень рассуждений`'],
[/"Reasoning level for the selected model\."/g, '"Уровень рассуждений для выбранной модели."'],
[/`Reasoning level for the selected model.`/g, '`Уровень рассуждений для выбранной модели.`'],
[/"Available effort levels for this model"/g, '"Доступные уровни усилий для этой модели"'],
[/`Available effort levels for this model`/g, '`Доступные уровни усилий для этой модели`'],
[/"Determines the markup language of the output\."/g, '"Определяет язык разметки вывода."'],
[/`Determines the markup language of the output.`/g, '`Определяет язык разметки вывода.`'],
// --- Очистка смешанных русско-китайских строк после прошлых патчей ---
['О共享ное окно рабочего стола закрыто. Вернитесь к рабочему столу и снова запустите веб-дистанционное управление.', 'Окно рабочего стола закрыто. Вернитесь к рабочему столу и снова запустите веб-дистанционное управление.'],
['Развернуть панель长时间运行', 'Развернуть панель длительных задач'],
['Свернуть панель长时间运行', 'Свернуть панель длительных задач'],
['的理想 поведение', 'идеальное поведение'],
['Reasoning (задачи рассуждения)', 'Рассуждения (логические задачи)'],
['Общие квоты, управление席位ами и централизованная оплата.', 'Общие квоты, управление местами и централизованная оплата.'],
['席位ы, общие квоты и централизованная оплата будут доступны позже.', 'Места, общие квоты и централизованная оплата будут доступны позже.'],
['Для команд, поддержка席атов и централизованной оплаты.', 'Для команд: места, общие квоты и централизованная оплата.'],
['Разграничение прав по席位ам', 'Разграничение прав по местам'],
['席位ы в плане', 'Места в плане'],
['Сумма на QR-коде — итоговая стоимость по числу席атов и сроку.', 'Сумма на QR-коде — итоговая стоимость по числу мест и сроку.'],
['Вы даёте согласие на автопродление. Выберите способ, число席атов и срок, затем подтвердите сумму.', 'Вы даёте согласие на автопродление. Выберите способ оплаты, количество мест и срок, затем подтвердите сумму.'],
['Количество席атов', 'Количество мест'],
['Цена за席位', 'Цена за место'],
['{price}/席/мес.', '{price}/место/мес.'],
['/席/мес.', '/место/мес.'],
['/席/кв.', '/место/кв.'],
['/席/год', '/место/год'],
['席位', 'мест'],
// --- Усилие (Effort) ---
[/"Effort"/g, '"Усилие"'],
[/`Effort`/g, '`Усилие`'],
// --- Задачи сессии ---
[/"Set, replace, pause, resume, or clear the long-running session goal"/g,
'"Установить, заменить, приостановить, возобновить или очистить цель длительной сессии"'],
// --- Coding Plan описания ---
[/"Free Coding Plan entry for connected Z\.ai users\."/g, '"Бесплатный Coding Plan для подключённых пользователей Z.ai."'],
[/"Free Coding Plan entry for signed-in Z\.ai users\."/g, '"Бесплатный Coding Plan для авторизованных пользователей Z.ai."'],
// --- Mermaid / диаграммы ---
[/"Loading diagram\.\.\."/g, '"Загрузка диаграммы..."'],
[/`Loading diagram\.\.\.`/g, '`Загрузка диаграммы...`'],
[/"Show Code"/g, '"Показать код"'],
[/`Show Code`/g, '`Показать код`'],
[/"Failed to render Mermaid chart"/g, '"Не удалось отобразить диаграмму Mermaid"'],
[/`Failed to render Mermaid chart`/g, '`Не удалось отобразить диаграмму Mermaid`'],
// --- Копирование кода ---
[/"Copy code"/g, '"Копировать код"'],
[/`Copy code`/g, '`Копировать код`'],
// --- Process Monitor ---
[/"Process Monitor"/g, '"Монитор процессов"'],
['Reading process metrics...', 'Чтение показателей процессов...'],
['Process monitor bridge is unavailable', 'Интерфейс мониторинга процессов недоступен'],
[/`Process Monitor`/g, '`Монитор процессов`'],
// --- Верхнее меню / меню окна ---
['"quickPick.command.newTask":`新任务`', '"quickPick.command.newTask":`Новая задача`'],
['"quickPick.command.openWorkspace":`打开工作区`', '"quickPick.command.openWorkspace":`Открыть рабочее пространство`'],
['"quickPick.command.feedback":`问题反馈`', '"quickPick.command.feedback":`Сообщить о проблеме`'],
['"quickPick.command.community":`用户社群`', '"quickPick.command.community":`Сообщество пользователей`'],
['"quickPick.command.productDocs":`产品文档`', '"quickPick.command.productDocs":`Документация продукта`'],
['"workspaceHeader.help.issueReport":`问题上报`', '"workspaceHeader.help.issueReport":`Сообщить о проблеме`'],
['"workspaceHeader.help.productRequest":`给产品提需求`', '"workspaceHeader.help.productRequest":`Предложить улучшение`'],
['"workspaceHeader.help.productRequestDraft":`我想建议:`', '"workspaceHeader.help.productRequestDraft":`Хочу предложить: `'],
['"workspaceHeader.help.community":`用户社群`', '"workspaceHeader.help.community":`Сообщество пользователей`'],
['"workspaceHeader.help.docs":`产品文档`', '"workspaceHeader.help.docs":`Документация продукта`'],
['"titleBar.menu.file.newTask":`新建任务`', '"titleBar.menu.file.newTask":`Новая задача`'],
['"titleBar.menu.file.openWorkspace":`打开工作区`', '"titleBar.menu.file.openWorkspace":`Открыть рабочее пространство`'],
['"titleBar.menu.file.closeWindow":`关闭窗口`', '"titleBar.menu.file.closeWindow":`Закрыть окно`'],
['"titleBar.menu.help.about":`关于 ZCode`', '"titleBar.menu.help.about":`О ZCode`'],
['"titleBar.menu.help.checkForUpdates":`检查更新`', '"titleBar.menu.help.checkForUpdates":`Проверить обновления`'],
['"titleBar.menu.help.feedback":`问题反馈`', '"titleBar.menu.help.feedback":`Сообщить о проблеме`'],
['"titleBar.menu.help.exportLogs":`导出日志`', '"titleBar.menu.help.exportLogs":`Экспортировать логи`'],
['"titleBar.menu.help.processMonitor":`进程监视器`', '"titleBar.menu.help.processMonitor":`Монитор процессов`'],
['"sidebar.menu.community":`用户社群`', '"sidebar.menu.community":`Сообщество пользователей`'],
['"appHeader.openInFileExplorer":`在资源管理器中打开`', '"appHeader.openInFileExplorer":`Открыть в Проводнике`'],
// --- Плагины / навыки / команды / субагенты ---
['"settings.plugins.title":`插件管理`', '"settings.plugins.title":`Плагины`'],
['"settings.plugins.betaBadge":`测试`', '"settings.plugins.betaBadge":`Бета`'],
['"settings.plugins.description":`启用或停用已安装的插件。插件可打包技能、命令、Hooks 和 MCP 服务器。`', '"settings.plugins.description":`Включайте или отключайте установленные плагины. Плагины могут содержать навыки, команды, hooks и MCP-серверы.`'],
['"settings.plugins.filter.label":`启用状态`', '"settings.plugins.filter.label":`Состояние`'],
['"settings.plugins.footerSummary":`共 {total} 个插件 · {enabled} 个已启用`', '"settings.plugins.footerSummary":`Всего плагинов: {total} · включено: {enabled}`'],
['"settings.plugins.searchPlaceholder":`搜索插件...`', '"settings.plugins.searchPlaceholder":`Поиск плагинов...`'],
['"settings.plugins.refresh":`刷新`', '"settings.plugins.refresh":`Обновить`'],
['"settings.plugins.refreshing":`刷新中...`', '"settings.plugins.refreshing":`Обновление...`'],
['"settings.plugins.empty":`没有找到插件`', '"settings.plugins.empty":`Плагины не найдены`'],
['"settings.plugins.noWorkspace":`打开一个工作区以管理插件。`', '"settings.plugins.noWorkspace":`Откройте рабочее пространство, чтобы управлять плагинами.`'],
['"settings.plugins.source.builtin":`内置`', '"settings.plugins.source.builtin":`Встроенный`'],
['"settings.plugins.tab.installed":`已安装`', '"settings.plugins.tab.installed":`Установленные`'],
['"settings.plugins.tab.marketplace":`发现`', '"settings.plugins.tab.marketplace":`Каталог`'],
['"settings.plugins.installed.title":`已安装`', '"settings.plugins.installed.title":`Установленные`'],
['"settings.plugins.marketplaces.count":`{count} 个市场`', '"settings.plugins.marketplaces.count":`Каталогов: {count}`'],
['"settings.plugins.marketplaces.source":`GitHub 仓库、Git URL、文件或目录`', '"settings.plugins.marketplaces.source":`Репозиторий GitHub, Git URL, файл или папка`'],
['"settings.plugins.marketplaces.chooseDirectory":`选择目录`', '"settings.plugins.marketplaces.chooseDirectory":`Выбрать папку`'],
['"settings.plugins.marketplaces.dropHint":`拖入文件或文件夹,或`', '"settings.plugins.marketplaces.dropHint":`Перетащите файл или папку либо`'],
['"settings.plugins.marketplaces.validate":`校验Магазин плагинов`', '"settings.plugins.marketplaces.validate":`Проверить каталог плагинов`'],
['"settings.plugins.marketplaces.add":`添加Магазин плагинов`', '"settings.plugins.marketplaces.add":`Добавить каталог плагинов`'],
['"settings.plugins.marketplaces.update":`更新Магазин плагинов`', '"settings.plugins.marketplaces.update":`Обновить каталог плагинов`'],
['"settings.plugins.marketplaces.remove":`移除Магазин плагинов`', '"settings.plugins.marketplaces.remove":`Удалить каталог плагинов`'],
['"settings.plugins.marketplaces.empty":`暂无Магазин плагинов`', '"settings.plugins.marketplaces.empty":`Каталоги плагинов пока не добавлены`'],
['"settings.plugins.marketplaces.official":`官方`', '"settings.plugins.marketplaces.official":`Официальный`'],
['"settings.plugins.marketplaces.refreshCatalogHint":`刷新以加载官方目录。`', '"settings.plugins.marketplaces.refreshCatalogHint":`Обновите, чтобы загрузить официальный каталог.`'],
['"settings.plugins.marketplaces.plugins":`{count} 个插件`', '"settings.plugins.marketplaces.plugins":`Плагинов: {count}`'],
['"settings.plugins.marketplacePlugins.title":`市场插件`', '"settings.plugins.marketplacePlugins.title":`Плагины каталога`'],
['"settings.plugins.marketplacePlugins.empty":`暂无市场插件`', '"settings.plugins.marketplacePlugins.empty":`В каталоге пока нет плагинов`'],
['"settings.plugins.marketplacePlugins.install":`安装`', '"settings.plugins.marketplacePlugins.install":`Установить`'],
['"settings.plugins.marketplacePlugins.installed":`已安装`', '"settings.plugins.marketplacePlugins.installed":`Установлен`'],
['"settings.plugins.marketplace.searchPlaceholder":`搜索插件、技能、MCP…`', '"settings.plugins.marketplace.searchPlaceholder":`Поиск плагинов, навыков, MCP...`'],
['"settings.plugins.marketplace.recommendTitle":`推荐`', '"settings.plugins.marketplace.recommendTitle":`Рекомендуем`'],
['"settings.plugins.marketplace.claudeCodePlugins":`Claude Code 插件`', '"settings.plugins.marketplace.claudeCodePlugins":`Плагины Claude Code`'],
['"settings.plugins.marketplace.catalogLoading":`正在加载插件…`', '"settings.plugins.marketplace.catalogLoading":`Загрузка плагинов...`'],
['"settings.plugins.marketplace.sourceInfo.label":`发现页来源说明`', '"settings.plugins.marketplace.sourceInfo.label":`Источник каталога`'],
['"settings.plugins.marketplace.sourceInfo.title":`发现页内容来自 GitHub Магазин плагинов`', '"settings.plugins.marketplace.sourceInfo.title":`Содержимое каталога берется из GitHub-каталога плагинов`'],
['"settings.plugins.marketplace.sourceInfo.description":`请确保当前工作区网络可以访问 GitHub。GitHub 不可达时,插件目录、详情和安装可能加载失败。`', '"settings.plugins.marketplace.sourceInfo.description":`Убедитесь, что текущая сеть рабочего пространства может открыть GitHub. Если GitHub недоступен, каталог, сведения и установка плагинов могут не загрузиться.`'],
['"settings.plugins.marketplace.searchResults":`匹配 {count} 个插件`', '"settings.plugins.marketplace.searchResults":`Найдено плагинов: {count}`'],
['"settings.plugins.marketplace.groupCount":`{count} 个插件`', '"settings.plugins.marketplace.groupCount":`Плагинов: {count}`'],
['"settings.plugins.marketplace.expandGroup":`再显示 {count} 个`', '"settings.plugins.marketplace.expandGroup":`Показать ещё {count}`'],
['"settings.plugins.marketplace.showMore":`再显示 {count} 个`', '"settings.plugins.marketplace.showMore":`Показать ещё {count}`'],
['"settings.plugins.marketplace.hiddenInstalledCount":`还有 {count} 个`', '"settings.plugins.marketplace.hiddenInstalledCount":`Ещё {count}`'],
['"settings.plugins.installedMarketplace.title":`通过市场安装`', '"settings.plugins.installedMarketplace.title":`Установлено из каталога`'],
['"settings.plugins.installedMarketplace.uninstall":`卸载插件`', '"settings.plugins.installedMarketplace.uninstall":`Удалить плагин`'],
['"settings.plugins.detail.uninstall":`卸载`', '"settings.plugins.detail.uninstall":`Удалить`'],
['"settings.plugins.detail.update":`更新`', '"settings.plugins.detail.update":`Обновить`'],
['"settings.plugins.detail.updateAvailable":`有可用更新 → v{version}`', '"settings.plugins.detail.updateAvailable":`Доступно обновление -> v{version}`'],
['"settings.plugins.detail.versionChanged":`有不同版本可用`', '"settings.plugins.detail.versionChanged":`Доступна другая версия`'],
['"settings.plugins.detail.updateNewSessionsNote":`将在新会话中生效`', '"settings.plugins.detail.updateNewSessionsNote":`Вступит в силу в новых сессиях`'],
['"settings.plugins.checkForUpdates":`检查更新`', '"settings.plugins.checkForUpdates":`Проверить обновления`'],
['"settings.plugins.checkForUpdates.found":`发现 {count} 个插件可更新`', '"settings.plugins.checkForUpdates.found":`Найдены обновления плагинов: {count}`'],
['"settings.plugins.checkForUpdates.none":`所有已安装插件已是最新`', '"settings.plugins.checkForUpdates.none":`Все установленные плагины уже обновлены`'],
['"settings.plugins.list.updateAvailable":`可更新`', '"settings.plugins.list.updateAvailable":`Есть обновление`'],
['"settings.plugins.list.versionChanged":`版本变化`', '"settings.plugins.list.versionChanged":`Версия изменилась`'],
['"settings.plugins.marketplace.back":`返回`', '"settings.plugins.marketplace.back":`Назад`'],
['"settings.plugins.marketplace.get":`获取`', '"settings.plugins.marketplace.get":`Получить`'],
['"settings.plugins.marketplace.installing":`安装中…`', '"settings.plugins.marketplace.installing":`Установка...`'],
['"settings.plugins.marketplace.componentsLoading":`正在加载组件…`', '"settings.plugins.marketplace.componentsLoading":`Загрузка компонентов...`'],
['"settings.plugins.marketplace.componentsError":`组件清单加载失败,仅展示可得信息。`', '"settings.plugins.marketplace.componentsError":`Не удалось загрузить список компонентов, показана только доступная информация.`'],
['"settings.plugins.marketplace.componentsRetry":`重试`', '"settings.plugins.marketplace.componentsRetry":`Повторить`'],
['"settings.resourceGroup.item.one":`{count} 项`', '"settings.resourceGroup.item.one":`{count}`'],
['"settings.resourceGroup.item.other":`{count} 项`', '"settings.resourceGroup.item.other":`{count}`'],
['"quickPick.section.suggested":`建议`', '"quickPick.section.suggested":`Предложения`'],
['"quickPick.section.recommended":`推荐`', '"quickPick.section.recommended":`Рекомендуем`'],
['"quickPick.section.chat":`对话`', '"quickPick.section.chat":`Чат`'],
['"quickPick.section.navigation":`导航`', '"quickPick.section.navigation":`Навигация`'],
['"quickPick.section.panels":`面板`', '"quickPick.section.panels":`Панели`'],
['"quickPick.section.configure":`配置`', '"quickPick.section.configure":`Настройка`'],
['"quickPick.section.panel":`面板`', '"quickPick.section.panel":`Панель`'],
['"quickPick.section.config":`配置`', '"quickPick.section.config":`Конфигурация`'],
['"quickPick.section.app":`应用`', '"quickPick.section.app":`Приложение`'],
['"quickPick.find.scope.conversation":`搜索消息`', '"quickPick.find.scope.conversation":`Поиск сообщений`'],
['"quickPick.find.scope.changes":`搜索文件变更`', '"quickPick.find.scope.changes":`Поиск изменений файлов`'],
['"quickPick.find.scope.tooltip":`切换搜索范围消息/文件`', '"quickPick.find.scope.tooltip":`Переключить область поиска: сообщения/файлы`'],
['"update.toast.downloading":`发现新版本 v{version},正在下载…`', '"update.toast.downloading":`Найдена новая версия v{version}, идет загрузка...`'],
['"update.toast.alreadyDownloading":`正在下载新版本({progress}%)`', '"update.toast.alreadyDownloading":`Новая версия уже загружается ({progress}%)`'],
['"update.toast.ready":`v{version} 已下载,重启即可安装`', '"update.toast.ready":`v{version} загружена, перезапустите приложение для установки`'],
['"update.toast.devSkipped":`开发环境不检查更新`', '"update.toast.devSkipped":`В среде разработки обновления не проверяются`'],
['"update.toast.error":`检查更新失败:{error}`', '"update.toast.error":`Не удалось проверить обновления: {error}`'],
['"forceUpdate.title":`需要升级 ZCode 后继续使用`', '"forceUpdate.title":`Чтобы продолжить, обновите ZCode`'],
['"forceUpdate.description":`当前版本 v{currentVersion} 低于最低可用版本 v{minimalVersion}。请先完成升级,升级前暂时无法继续使用当前客户端。`', '"forceUpdate.description":`Текущая версия v{currentVersion} ниже минимально доступной v{minimalVersion}. Сначала завершите обновление; до обновления этим клиентом временно нельзя пользоваться.`'],
['"forceUpdate.minimalVersion":`最低版本`', '"forceUpdate.minimalVersion":`Минимальная версия`'],
['"forceUpdate.action.check":`检查并下载更新`', '"forceUpdate.action.check":`Проверить и скачать обновление`'],
['"forceUpdate.action.restart":`重启安装更新`', '"forceUpdate.action.restart":`Перезапустить и установить обновление`'],
['"forceUpdate.action.reload":`刷新页面`', '"forceUpdate.action.reload":`Обновить страницу`'],
['"git.selection.count":`已选 {count} 项`', '"git.selection.count":`Выбрано: {count}`'],
['"git.selection.toggle":`切换 {file} 的勾选状态`', '"git.selection.toggle":`Переключить выбор {file}`'],
['"remote.step.kind":`选择方式`', '"remote.step.kind":`Выбор способа`'],
['"remote.step.settings":`填写配置`', '"remote.step.settings":`Настройка`'],
['"remote.step.connecting":`连接中`', '"remote.step.connecting":`Подключение`'],
['"remote.step.directory":`选择目录`', '"remote.step.directory":`Выбор папки`'],
['"remote.kindStepTitle":`选择连接方式`', '"remote.kindStepTitle":`Выберите способ подключения`'],
['"remote.kindStepDescription":`选择进入当前工作区的连接方式,然后继续填写对应的连接配置。`', '"remote.kindStepDescription":`Выберите способ подключения к текущему рабочему пространству, затем заполните параметры подключения.`'],
['"remote.settingsStepTitle":`填写连接配置`', '"remote.settingsStepTitle":`Параметры подключения`'],
['"remote.settingsStepDescription":`填写建立 {method} 连接所需的信息,我们会据此准备远程会话。`', '"remote.settingsStepDescription":`Укажите данные для подключения через {method}; по ним будет подготовлена удаленная сессия.`'],
['"remote.history.empty":`没有匹配的历史连接`', '"remote.history.empty":`В истории нет подходящих подключений`'],
['"remote.connectingStepTitle":`正在连接`', '"remote.connectingStepTitle":`Подключение`'],
['"settings.pluginManaged.badge":`Plugin`', '"settings.pluginManaged.badge":`Плагин`'],
['"settings.pluginManaged.modifyInPlugin":`由插件注册,修改请到对应插件中进行。`', '"settings.pluginManaged.modifyInPlugin":`Зарегистрировано плагином. Редактируйте это в плагине.`'],
['"chat.elicitation.expandDialog":`Expand question dialog`', '"chat.elicitation.expandDialog":`Развернуть окно вопроса`'],
['"chat.elicitation.expandDialog":`展开问题弹窗`', '"chat.elicitation.expandDialog":`Развернуть окно вопроса`'],
['"chat.elicitation.collapseDialog":`Collapse question dialog`', '"chat.elicitation.collapseDialog":`Свернуть окно вопроса`'],
['"chat.elicitation.collapseDialog":`折叠问题弹窗`', '"chat.elicitation.collapseDialog":`Свернуть окно вопроса`'],
['"chat.elicitation.expandQuestion":`展开问题`', '"chat.elicitation.expandQuestion":`Развернуть вопрос`'],
['"chat.elicitation.collapseQuestion":`收起问题`', '"chat.elicitation.collapseQuestion":`Свернуть вопрос`'],
['"chat.elicitation.previousQuestion":`上一题`', '"chat.elicitation.previousQuestion":`Предыдущий вопрос`'],
['"chat.elicitation.nextQuestion":`下一题`', '"chat.elicitation.nextQuestion":`Следующий вопрос`'],
['"chat.elicitation.submit":`提交`', '"chat.elicitation.submit":`Отправить`'],
['"chat.elicitation.planApproval.approve":`Approve`', '"chat.elicitation.planApproval.approve":`Одобрить`'],
['"chat.elicitation.planApproval.approve":`批准`', '"chat.elicitation.planApproval.approve":`Одобрить`'],
['"chat.elicitation.planApproval.approveDescription":`Exit plan mode and start implementation.`', '"chat.elicitation.planApproval.approveDescription":`Выйти из режима планирования и начать реализацию.`'],
['"chat.elicitation.planApproval.approveDescription":`退出计划模式并开始实施。`', '"chat.elicitation.planApproval.approveDescription":`Выйти из режима планирования и начать реализацию.`'],
['"chat.askQuestion.asking":`Asking questions`', '"chat.askQuestion.asking":`Задаёт вопросы`'],
['"chat.askQuestion.asking":`正在询问`', '"chat.askQuestion.asking":`Задаёт вопросы`'],
['"chat.askQuestion.asked":`Asked`', '"chat.askQuestion.asked":`Вопрос задан`'],
['"chat.askQuestion.asked":`已询问`', '"chat.askQuestion.asked":`Вопрос задан`'],
['"chat.askQuestion.questionsCount":`{count} questions`', '"chat.askQuestion.questionsCount":`Вопросов: {count}`'],
['"chat.askQuestion.questionsCount":`{count} 个问题`', '"chat.askQuestion.questionsCount":`Вопросов: {count}`'],
['"chat.askQuestion.noAnswerProvided":`No answer provided`', '"chat.askQuestion.noAnswerProvided":`Ответ не указан`'],
['"chat.askQuestion.noAnswerProvided":`未提供回答`', '"chat.askQuestion.noAnswerProvided":`Ответ не указан`'],
['"chat.permission.switchMode.placeholder":`实施计划`', '"chat.permission.switchMode.placeholder":`Выполнить план`'],
['"planTool.guidance.enterMode":`已开启 Plan Mode`', '"planTool.guidance.enterMode":`Включён режим планирования`'],
['"planTool.panel.modeActions":`切换模式`', '"planTool.panel.modeActions":`Переключить режим`'],
['"planTool.panel.modeSwitchFailed":`切换模式失败:{message}`', '"planTool.panel.modeSwitchFailed":`Не удалось переключить режим: {message}`'],
['"planTool.panel.empty":`暂时还没有结构化步骤。`', '"planTool.panel.empty":`Структурированных шагов пока нет.`'],
['"planTool.panel.expand":`展开计划`', '"planTool.panel.expand":`Развернуть план`'],
['"planTool.panel.collapse":`收起计划`', '"planTool.panel.collapse":`Свернуть план`'],
['"mode.default":`默认`', '"mode.default":`По умолчанию`'],
['"mode.plan":`计划`', '"mode.plan":`План`'],
['"mode.acceptEdits":`接受编辑`', '"mode.acceptEdits":`Принимать правки`'],
['"mode.label.claude.auto":`自动模式`', '"mode.label.claude.auto":`Автоматический режим`'],
['"mode.label.claude.default":`默认模式`', '"mode.label.claude.default":`Режим по умолчанию`'],
['"mode.label.claude.acceptEdits":`自动接受编辑`', '"mode.label.claude.acceptEdits":`Автоматически принимать правки`'],
['"mode.label.claude.plan":`计划模式`', '"mode.label.claude.plan":`Режим планирования`'],
['"mode.label.claude.dontAsk":`静默模式`', '"mode.label.claude.dontAsk":`Не спрашивать`'],
['"mode.label.claude.bypassPermissions":`跳过权限检查`', '"mode.label.claude.bypassPermissions":`Пропускать проверку разрешений`'],
['"mode.label.codex.readOnly":`只读模式`', '"mode.label.codex.readOnly":`Только чтение`'],
['"mode.label.codex.auto":`自动编辑模式`', '"mode.label.codex.auto":`Автоправки`'],
['"mode.label.codex.agent":`Agent 模式`', '"mode.label.codex.agent":`Режим Agent`'],
['"mode.label.codex.fullAccess":`全权限模式`', '"mode.label.codex.fullAccess":`Полный доступ`'],
['"mode.label.codex.agentFullAccess":`全权限模式`', '"mode.label.codex.agentFullAccess":`Полный доступ`'],
['"mode.label.gemini.default":`默认模式`', '"mode.label.gemini.default":`Режим по умолчанию`'],
['"mode.label.gemini.autoEdit":`自动编辑模式`', '"mode.label.gemini.autoEdit":`Автоправки`'],
['"mode.label.gemini.yolo":`全自动模式`', '"mode.label.gemini.yolo":`Полностью автоматически`'],
['"mode.label.gemini.plan":`计划模式`', '"mode.label.gemini.plan":`Режим планирования`'],
['"mode.label.opencode.build":`构建模式`', '"mode.label.opencode.build":`Режим сборки`'],
['"mode.label.opencode.plan":`计划模式`', '"mode.label.opencode.plan":`Режим планирования`'],
['"mode.label.glm.default":`默认模式`', '"mode.label.glm.default":`Режим по умолчанию`'],
['"mode.label.glm.build":`变更前确认`', '"mode.label.glm.build":`Спрашивать перед изменениями`'],
['"mode.label.glm.edit":`自动编辑`', '"mode.label.glm.edit":`Автоправки`'],
['"mode.label.glm.plan":`计划模式`', '"mode.label.glm.plan":`Режим планирования`'],
['"mode.label.glm.yolo":`完全访问`', '"mode.label.glm.yolo":`Полный доступ`'],
['"mode.description.claude.auto":`自动选择权限模式。`', '"mode.description.claude.auto":`Автоматически выбирать режим разрешений.`'],
['"mode.description.claude.default":`编辑和高风险操作前询问。`', '"mode.description.claude.default":`Спрашивать перед правками и рискованными действиями.`'],
['"mode.description.claude.acceptEdits":`自动接受文件编辑。`', '"mode.description.claude.acceptEdits":`Автоматически принимать правки файлов.`'],
['"mode.description.claude.plan":`先计划,确认后执行。`', '"mode.description.claude.plan":`Сначала составить план, затем выполнить после подтверждения.`'],
['"mode.description.claude.dontAsk":`跳过常规确认。`', '"mode.description.claude.dontAsk":`Пропускать обычные подтверждения.`'],
['"mode.description.claude.bypassPermissions":`跳过权限检查。`', '"mode.description.claude.bypassPermissions":`Пропускать проверку разрешений.`'],
['"mode.description.codex.readOnly":`只读代码,不修改文件。`', '"mode.description.codex.readOnly":`Только читать код, без изменения файлов.`'],
['"mode.description.codex.auto":`在常规保护下编辑。`', '"mode.description.codex.auto":`Редактировать с обычной защитой.`'],
['"mode.description.codex.agent":`编辑和运行命令前保留确认。`', '"mode.description.codex.agent":`Оставлять подтверждения перед правками и запуском команд.`'],
['"mode.description.codex.fullAccess":`无需确认地访问和执行。`', '"mode.description.codex.fullAccess":`Доступ и выполнение без подтверждений.`'],
['"mode.description.codex.agentFullAccess":`完整文件和网络访问。`', '"mode.description.codex.agentFullAccess":`Полный доступ к файлам и сети.`'],
['"mode.description.gemini.default":`使用默认确认策略。`', '"mode.description.gemini.default":`Использовать стратегию подтверждений по умолчанию.`'],
['"mode.description.gemini.autoEdit":`自动应用编辑。`', '"mode.description.gemini.autoEdit":`Автоматически применять правки.`'],
['"mode.description.gemini.yolo":`减少确认次数。`', '"mode.description.gemini.yolo":`Уменьшить число подтверждений.`'],
['"mode.description.gemini.plan":`先计划,确认后执行。`', '"mode.description.gemini.plan":`Сначала составить план, затем выполнить после подтверждения.`'],
['"mode.description.opencode.build":`实施并修改文件。`', '"mode.description.opencode.build":`Выполнять и изменять файлы.`'],
['"mode.description.opencode.plan":`先计划,确认后执行。`', '"mode.description.opencode.plan":`Сначала составить план, затем выполнить после подтверждения.`'],
['"mode.description.glm.default":`使用默认确认策略。`', '"mode.description.glm.default":`Использовать стратегию подтверждений по умолчанию.`'],
['"mode.description.glm.build":`改文件前先问我。`', '"mode.description.glm.build":`Спрашивать перед изменением файлов.`'],
['"mode.description.glm.edit":`自动编辑文件。`', '"mode.description.glm.edit":`Автоматически редактировать файлы.`'],
['"mode.description.glm.plan":`编辑前先出计划。`', '"mode.description.glm.plan":`Сначала подготовить план перед редактированием.`'],
['"mode.description.glm.yolo":`减少确认次数。`', '"mode.description.glm.yolo":`Уменьшить число подтверждений.`'],
['"planTool.panel.badge":`计划面板`', '"planTool.panel.badge":`Панель плана`'],
['"planTool.panel.planTab":`计划`', '"planTool.panel.planTab":`План`'],
['"planTool.panel.rawTab":`原始数据`', '"planTool.panel.rawTab":`Исходные данные`'],
['"planTool.panel.currentMode":`当前模式 {mode}`', '"planTool.panel.currentMode":`Текущий режим: {mode}`'],
[/"Approve"/g, '"Одобрить"'],
[/`Approve`/g, '`Одобрить`'],
[/"Exit plan mode and start implementation\."/g, '"Выйти из режима планирования и начать реализацию."'],
[/`Exit plan mode and start implementation\.`/g, '`Выйти из режима планирования и начать реализацию.`'],
['"settings.optimizeAgentExperience":`Оптимизировано体验`', '"settings.optimizeAgentExperience":`Оптимизация опыта`'],
['"settings.optimizeAgentExperience":`优化体验`', '"settings.optimizeAgentExperience":`Оптимизация опыта`'],
['"settings.optimizeAgentExperienceDescription":`允许我们将你的对话内容用于Оптимизировано Agent 的使用体验。我们保障你的数据隐私安全。`', '"settings.optimizeAgentExperienceDescription":`Разрешить использовать содержимое ваших диалогов для улучшения опыта работы Agent. Мы защищаем конфиденциальность ваших данных.`'],
['"settings.optimizeAgentExperienceDescription":`允许我们将你的对话内容用于优化 Agent 的使用体验。我们保障你的数据隐私安全。`', '"settings.optimizeAgentExperienceDescription":`Разрешить использовать содержимое ваших диалогов для улучшения опыта работы Agent. Мы защищаем конфиденциальность ваших данных.`'],
['Provides Android development workflows and emulator automation for ZCode.', 'Добавляет в ZCode рабочие процессы Android-разработки и автоматизацию эмулятора.'],
['Built-in DOCX and PDF document production skills for ZCode.', 'Встроенные навыки ZCode для создания DOCX и PDF.'],
['Provides iOS development workflows and simulator automation for ZCode.', 'Добавляет в ZCode рабочие процессы iOS-разработки и автоматизацию симулятора.'],
['Select and restore legacy ACP-era ZCode sessions into the new ZCode task and session store.', 'Выбор и восстановление старых сессий ZCode эпохи ACP в новое хранилище задач и сессий ZCode.'],
['Create, edit, and iterate local ZCode skills.', 'Создание, редактирование и доработка локальных навыков ZCode.'],
['"settings.subagents.title":`子智能体`', '"settings.subagents.title":`Субагенты`'],
['"settings.subagents.description":`管理 ZCode Agent 运行时消费的用户级子智能体 Markdown 文件。`', '"settings.subagents.description":`Управление пользовательскими Markdown-файлами субагентов, которые использует ZCode Agent.`'],
['"settings.subagents.searchPlaceholder":`搜索子智能体...`', '"settings.subagents.searchPlaceholder":`Поиск субагентов...`'],
['"settings.subagents.empty":`没有找到子智能体`', '"settings.subagents.empty":`Субагенты не найдены`'],
['"settings.subagents.addNew":`新建子智能体`', '"settings.subagents.addNew":`Новый субагент`'],
['"settings.subagents.group.user":`用户子智能体`', '"settings.subagents.group.user":`Пользовательские субагенты`'],
['"settings.subagents.group.plugin":`插件子智能体`', '"settings.subagents.group.plugin":`Субагенты плагинов`'],
['"settings.subagents.group.plugin.hint":`插件 profile 来自已启用插件,当前只读。`', '"settings.subagents.group.plugin.hint":`Профили плагинов поступают из включенных плагинов и сейчас доступны только для чтения.`'],
['"settings.subagents.group.builtIn":`内置子智能体`', '"settings.subagents.group.builtIn":`Встроенные субагенты`'],
['"settings.subagents.group.builtIn.hint":`内置 profile 是运行时默认能力,当前不可在这里编辑。`', '"settings.subagents.group.builtIn.hint":`Встроенные профили являются возможностями runtime по умолчанию; здесь их нельзя редактировать.`'],
['"settings.subagents.scope.builtIn":`内置`', '"settings.subagents.scope.builtIn":`Встроенный`'],
['"settings.subagents.scope.plugin":`插件`', '"settings.subagents.scope.plugin":`Плагин`'],
['"settings.subagents.scope.workspace":`工作区`', '"settings.subagents.scope.workspace":`Рабочее пространство`'],
['"settings.subagents.scope.label":`作用域`', '"settings.subagents.scope.label":`Область`'],
['"settings.subagents.filter.all":`全部`', '"settings.subagents.filter.all":`Все`'],
['"settings.subagents.filter.enabled":`已启用`', '"settings.subagents.filter.enabled":`Включенные`'],
['"settings.subagents.filter.disabled":`已停用`', '"settings.subagents.filter.disabled":`Отключенные`'],
['"settings.subagents.footerSummary":`共 {total} 个子智能体 · {enabled} 个已启用`', '"settings.subagents.footerSummary":`Всего субагентов: {total} · включено: {enabled}`'],
['"settings.subagents.toolsCount":`{count} 个工具`', '"settings.subagents.toolsCount":`Инструментов: {count}`'],
['"settings.subagents.tools.inherit":`继承工具`', '"settings.subagents.tools.inherit":`Наследовать инструменты`'],
['"settings.subagents.tools.all":`全部工具`', '"settings.subagents.tools.all":`Все инструменты`'],
['"settings.subagents.form.model.help":`继承默认`', '"settings.subagents.form.model.help":`Наследовать значение по умолчанию`'],
['"settings.subagents.form.maxTurns.placeholder":`继承默认`', '"settings.subagents.form.maxTurns.placeholder":`Наследовать значение по умолчанию`'],
['"settings.subagents.form.tools.inheritAll":`继承全部`', '"settings.subagents.form.tools.inheritAll":`Наследовать все`'],
['"settings.subagents.model.inherit":`继承默认`', '"settings.subagents.model.inherit":`Наследовать значение по умолчанию`'],
['"settings.commands.group.plugin":`插件命令`', '"settings.commands.group.plugin":`Команды плагинов`'],
['"settings.commands.sourceFilterLabel":`来源筛选`', '"settings.commands.sourceFilterLabel":`Источник`'],
['"settings.commands.searchPlaceholder":`搜索命令...`', '"settings.commands.searchPlaceholder":`Поиск команд...`'],
['"settings.commands.import.itemCount":`{count} 个命令`', '"settings.commands.import.itemCount":`Команд: {count}`'],
['"settings.commands.noDescription":`暂无描述`', '"settings.commands.noDescription":`Нет описания`'],
['"settings.skills.group.local":`工作区与个人技能`', '"settings.skills.group.local":`Навыки рабочего пространства и личные`'],
['"settings.skills.group.plugin":`Plugin 技能`', '"settings.skills.group.plugin":`Навыки плагинов`'],
['"settings.skills.filter.all":`全部`', '"settings.skills.filter.all":`Все`'],
['"settings.skills.filter.label":`来源筛选`', '"settings.skills.filter.label":`Источник`'],
['"settings.resourceFilter.all":`全部`', '"settings.resourceFilter.all":`Все`'],
['"settings.skills.footerSummary":`共 {total} 个技能 · {enabled} 个已启用`', '"settings.skills.footerSummary":`Всего навыков: {total} · включено: {enabled}`'],
['"settings.skills.import.skillCount":`{count} 个技能`', '"settings.skills.import.skillCount":`Навыков: {count}`'],
['"settings.skills.import.itemCount":`{count} 个技能`', '"settings.skills.import.itemCount":`Навыков: {count}`'],
['"modelTrajectory.source.subagent":`子智能体`', '"modelTrajectory.source.subagent":`Субагент`'],
['"chat.toolCall.agent.backgroundActivityReceived":`已收到子智能体回传`', '"chat.toolCall.agent.backgroundActivityReceived":`Получен ответ субагента`'],
['"chat.toolCall.agent.backgroundActivityWaiting":`等待子智能体回传`', '"chat.toolCall.agent.backgroundActivityWaiting":`Ожидание ответа субагента`'],
// --- Reset zoom ---
[/"Reset zoom and pan"/g, '"Сбросить масштаб и прокрутку"'],
[/`Reset zoom and pan`/g, '`Сбросить масштаб и прокрутку`'],
// --- Blocked URL ---
[/"Blocked URL: "/g, '"Заблокированный URL: "'],
// --- Ошибки выполнения / лимиты модели ---
[/"Turn execution failed"/g, '"Не удалось выполнить запрос"'],
[/`Turn execution failed`/g, '`Не удалось выполнить запрос`'],
[/"rate_limited"/g, '"превышен лимит"'],
[/`rate_limited`/g, '`превышен лимит`'],
[/"该模型当前访问量过大,请您稍后再试"/g, '"Сейчас высокая нагрузка на модель, попробуйте позже"'],
[/`该模型当前访问量过大,请您稍后再试`/g, '`Сейчас высокая нагрузка на модель, попробуйте позже`'],
[/"请您稍后再试"/g, '"Попробуйте позже"'],
[/`请您稍后再试`/g, '`Попробуйте позже`'],
[/function Gx\(e\)\{if\(typeof e!=`string`\)return null;let t=e\.trim\(\);return t\.length>0\?t:null\}/g,
'function ZRUx(e){return typeof e==`string`?e.replaceAll(`Turn execution failed`,`Не удалось выполнить запрос`).replaceAll(`rate_limited`,`превышен лимит`).replaceAll(`该模型当前访问量过大`,`Сейчас высокая нагрузка на модель`).replaceAll(`请您稍后再试`,`попробуйте позже`).replace(/provider_code=/g,`код провайдера=`).replace(/provider=/g,`провайдер=`).replace(/model=/g,`модель=`).replace(/request=/g,`запрос=`).replace(/reason=/g,`причина=`).replace(/retryable=true/g,`можно повторить=да`).replace(/retryable=false/g,`можно повторить=нет`):e}function Gx(e){if(typeof e!=`string`)return null;let t=ZRUx(e.trim());return t.length>0?t:null}'],
// --- Параметры ---
[/"Parameters"/g, '"Параметры"'],
[/`Parameters`/g, '`Параметры`'],
// --- Issue # (обращения) ---
[/"Issue #"/g, '"Обращение #"'],
[/`Issue #`/g, '`Обращение #`'],
// --- Этапы обратной связи (feedback progress) ---
[/"Submitted"/g, '"Отправлено"'],
[/"Reviewing"/g, '"На рассмотрении"'],
[/"In Progress"/g, '"В работе"'],
[/"Done"/g, '"Завершено"'],
// --- Промо-баннер Coding Plan ---
['限时 150% 配额活动', 'Временно: +150% квоты'],
['升级 Coding Plan, 可在活动期内获得 150% 配额', 'Обновите Coding Plan и получите 150% квоты на время акции'],
['升级 Coding Plan,可在活动期内获得 150% 配额', 'Обновите Coding Plan и получите 150% квоты на время акции'],
['150% 配额', '150% квоты'],
['3x higher Claude Pro usage limits', 'В 3 раза выше лимиты использования Claude Pro'],
['Everything in Lite, plus 5x Lite usage', 'Всё из Lite плюс в 5 раз больше лимитов Lite'],
['Everything in Pro, plus 20x Lite usage', 'Всё из Pro плюс в 20 раз больше лимитов Lite'],
// --- Валюта ---
['美元', 'долл.'],
// --- Китайские ошибки API (из zh-CN словаря, могут проступить) ---
['该模型当前访问量过大,请您稍后再试', 'Сейчас высокая нагрузка на модель, попробуйте позже'],
['请您稍后再试', 'Попробуйте позже'],
['当前系统繁忙,请切换模型、升级账户,或稍后再试。', 'Система перегружена. Переключите модель, повысьте аккаунт или повторите попытку.'],
['当前系统繁忙,当前自动重试已达到最大次数,请稍后再试或升级账户。', 'Система перегружена, автоматические повторы достигли максимума. Повторите позже или повысьте аккаунт.'],
['切换模型', 'Переключить модель'],
['升级账户', 'Повысить аккаунт'],
['稍后再试', 'Повторить позже'],
['自动重试已达到最大次数', 'Автоповторы достигли максимума'],
// --- Китайские подписи Coding Plan ---
['按「{price}/月」自动续费。', 'Автопродление по {price}/мес.'],
['每月自动扣款,取消后停止续费。', 'Ежемесячное списание, прекращается при отмене.'],
['连续包月计划', 'Ежемесячный план'],
['折合 {price}/月', 'Эквивалент {price}/мес.'],
['优惠活动', 'Акция'],
// --- Китайские ошибки/сообщения в интерфейсе ---
['BigModel 账号未注册', 'Аккаунт BigModel не зарегистрирован'],
// --- Китайские единицы (万 = 10000) ---
// Патчим функцию форматирования контекстного окна
// ============================================================
// v6.3 — Новые патчи для hardcoded китайских строк (index.js)
// ============================================================
// --- Форматирование времени (fallback) ---
['`刚刚`', '`Только что`'],
['`分钟前`', '`мин. назад`'],
['`小时前`', '`ч. назад`'],
['`天前`', '`дн. назад`'],
// --- Диалоги подтверждения / Уведомления ---
['`需要你的确认`', '`Требуется ваше подтверждение`'],
['`任务已完成`', '`Задача выполнена`'],
['`任务出错`', '`Ошибка в задаче`'],
['`任务已停止,未收到终态事件。`', '`Задача остановлена, событие финального состояния не получено.`'],
['`模型切换进行中,请稍后再发送消息。`', '`Выполняется переключение модели, подождите перед отправкой.`'],
// --- Откат к предыдущей точке / rewind ---
['`确认撤销`', '`Подтвердить откат`'],
['`撤销`', '`Откатить`'],
['`撤销中...`', '`Откат...`'],
['`将删除的消息({count})`', '`Будут удалены сообщения ({count})`'],
['`将恢复的文件({count})`', '`Будут восстановлены файлы ({count})`'],
['`更多消息`', '`Другие сообщения`'],
['`更多文件`', '`Другие файлы`'],
['`这将删除选中的消息并恢复文件到之前的状态。此操作无法撤销。`', '`Выбранные сообщения будут удалены, а файлы восстановлены до предыдущего состояния. Это действие нельзя отменить.`'],
['`没有可用的 checkpoint 来撤销`', '`Нет доступной контрольной точки для отката`'],
['`没有文件变更需要恢复`', '`Нет изменений файлов для восстановления`'],
['`会话正忙,请稍候`', '`Сессия занята, подождите`'],
['`未找到目标消息`', '`Целевое сообщение не найдено`'],
// --- Метки статуса агента (fallback) ---
['`启动失败`', '`Запуск не удался`'],
['`启动中`', '`Запуск`'],
['`已启动`', '`Запущено`'],
['`后台运行中,正在同步输出`', '`Выполняется в фоне, синхронизация вывода`'],
['`后台运行中,等待输出`', '`Выполняется в фоне, ожидание вывода`'],
['`已收到 SubAgent 回传`', '`Вывод субагента получен`'],
['`等待 SubAgent 回传`', '`Ожидание вывода субагента`'],
['`后台 Agent 过程`', '`Фоновый процесс агента`'],
['`输出文件`', '`Файл вывода`'],
// --- Coding Plan / Биллинг (hardcoded inline) ---
['`体验套餐`', '`Пробный план`'],
['`GLM 模型每日 500万 tokens`', '`GLM: 5 млн токенов/день`'],
['`GLM-5.2 每日 300万 tokens`', '`GLM-5.2: 3 млн токенов/день`'],
['`GLM-5-Turbo 每日 200万 tokens`', '`GLM-5-Turbo: 2 млн токенов/день`'],
['`已过期`', '`Истёк`'],
['`已结束`', '`Завершён`'],
['`新套餐原价`', '`Первоначальная стоимость`'],
['`现有套餐剩余价值`', '`Остаток текущего плана`'],
['`实付金额`', '`К оплате`'],
['`抵扣费用`', '`Скидка`'],
['`月付`', '`Помесячно`'],
['`季付`', '`Поквартально`'],
['`年付`', '`Ежегодно`'],
['`续费政策`', '`Политика продления`'],
['`续订将按照「`', '`Продление по тарифу «`'],
['`」发起自动扣费。`', '`» с автосписанием.`'],
['`扣费优先级:优先扣除赠金,再扣余额,再采用支付宝扣费。`', '`Приоритет списания: бонусы → баланс → Alipay.`'],
['`将持续定期扣款,直至您根据我们的服务条款取消服务。`', '`Автосписание продолжается до отмены по условиям сервиса.`'],
['`人民币`', '`руб.`'],
// --- UI обратной связи (feedback inline labels) ---
['`正在连接反馈服务`', '`Подключение к службе обратной связи`'],
['`创建成功后会继续上传截图和日志`', '`После создания продолжится загрузка скриншотов и логов`'],
['`正在上传截图`', '`Загрузка скриншотов`'],
['`反馈已提交`', '`Обратная связь отправлена`'],
['`我们会尽快处理。`', '`Мы обработаем вашу заявку.`'],
['`反馈提交失败`', '`Ошибка отправки обратной связи`'],
['`正在暂停日志上传`', '`Приостановка загрузки логов`'],
['`已收到取消请求,稍等一下。`', '`Запрос на отмену получен, подождите.`'],
['`正在导出完整日志`', '`Экспорт полных логов`'],
['`会根据本机日志大小耗时数秒`', '`Может занять несколько секунд`'],
['`正在上传完整日志`', '`Загрузка полных логов`'],
['`日志上传成功`', '`Логи успешно загружены`'],
['`已暂停日志上传`', '`Загрузка логов приостановлена`'],
['`日志是定位问题的必需材料,请继续上传。`', '`Логи необходимы для диагностики, продолжите загрузку.`'],
['`准备上传`', '`Подготовка к загрузке`'],
// --- Ошибки (hardcoded) ---
['`读取附件失败`', '`Ошибка чтения вложения`'],
['`附件缺少可读取内容`', '`Вложение не содержит данных`'],
['`附件数据格式不正确`', '`Неверный формат данных вложения`'],
['`截图读取失败`', '`Ошибка чтения скриншота`'],
['`截图数据格式不正确`', '`Неверный формат скриншота`'],
['`重复提交`', '`Повторная отправка`'],
['`只允许提交一次`', '`Допускается только одна отправка`'],
['`模型调用报错`', '`Ошибка вызова модели`'],
['`ZCode 报错信息`', '`Информация об ошибке ZCode`'],
['`报错摘要`', '`Краткое описание ошибки`'],
['`报错详情`', '`Подробности ошибки`'],
['`我在使用过程中遇到了报错,请帮忙排查。`', '`Возникла ошибка, помогите разобраться.`'],
['`我当时正在做什么`', '`Что я делал в тот момент`'],
['`请补充:`', '`Дополните:`'],
['`期望结果`', '`Ожидаемый результат`'],
['`内容过长,已截断`', '`Слишком длинное содержимое, обрезано`'],
// --- Прочий UI ---
['`其它`', '`Прочее`'],
['`P2-中`', '`P2-Средняя`'],
['`P3-低`', '`P3-Низкая`'],
['`原始反馈`', '`Исходный отзыв`'],
['`反馈类型: ${n}`', '`Тип отзыва: ${n}`'],
['`产品模块: ${r}`', '`Модуль продукта: ${r}`'],
['`严重程度: ${i}`', '`Серьёзность: ${i}`'],
['`用户反馈`', '`Отзывы пользователей`'],
['`当前设备`', '`Текущее устройство`'],
['`验证码校验失败`', '`Ошибка проверки Captcha`'],
['`远程连接失败`', '`Ошибка удалённого подключения`'],
['`SSH连接失败`', '`Ошибка SSH-подключения`'],
['`WSL连接失败`', '`Ошибка WSL-подключения`'],
['`Agent任务执行失败`', '`Ошибка задачи агента`'],
['`未提供`', '`Не указано`'],
['`连接日志(最近 30 条)`', '`Логи подключения (последние 30)`'],
['`未捕获到连接日志`', '`Логи подключения не найдены`'],
['`我当时正在连接的环境`', '`Какое окружение я подключал`'],
// --- Coding Plan: описание планов (hardcoded) ---
['`适合个人开发者,独享 Coding Plan 额度。`', '`Для индивидуальных разработчиков, собственная квота.`'],
['`免费体验平台 GLM 旗舰模型额度。`', '`Бесплатный пробный доступ к флагманским моделям GLM.`'],
['`适合团队协作,支持席位和集中结算。`', '`Для команд: места, общие квоты и централизованная оплата.`'],
['`5x Lite 额度 + Lite 权益`', '`5x квота Lite + возможности Lite`'],
['`20x Lite 额度 + Pro 权益`', '`20x квота Lite + возможности Pro`'],
['`每周最多:3亿 tokens`', '`До 300 млн токенов в неделю`'],
['`5小时最多:0.6亿 tokens`', '`До 60 млн токенов за 5 часов`'],
['`5小时最多:1.6亿 tokens`', '`До 160 млн токенов за 5 часов`'],
// --- Временные единицы ---
['`小时`', '`ч`'],
['`分`', '`мин`'],
['`秒`', '`сек`'],
// --- Параллельность / Модель ---
['`并发`', '`Параллельность`'],
['`模型`', '`Модель`'],
// --- Уведомление о подтверждении задачи ---
['`任务等待你的确认`', '`Задача ожидает вашего подтверждения`'],
// --- Git operations ---
['`切换分支`', '`Переключение ветки`'],
['`创建并切换分支`', '`Создать и переключить ветку`'],
['`提交后切换分支`', '`Переключить ветку после коммита`'],
// --- Workspace plugin messages ---
['`请先打开一个工作区后再修改插件状态`', '`Откройте рабочую область перед изменением состояния плагина`'],
['`请先打开一个工作区后再卸载插件`', '`Откройте рабочую область перед удалением плагина`'],
['`请先打开一个工作区后再安装插件`', '`Откройте рабочую область перед установкой плагина`'],
// --- Mermaid additional ---
['`[MermaidBlock] Mermaid 渲染失败`', '`[MermaidBlock] Ошибка рендеринга Mermaid`'],
['`[MessageResponse] markdown 渲染失败,已降级为纯 текст`', '`[MessageResponse] Ошибка рендеринга markdown, отображается как текст`'],
// --- Agent background task ---
['`启动`', '`Запуск`'],
['`活动`', '`Активность`'],
// --- Описание проблемы ---
['`我在这个任务里遇到了问题,请帮忙排查。`', '`Возникла проблема в этой задаче, помогите разобраться.`'],
// ============================================================
// v6.3.5 — UI / metadata strings from ZCode 3.2.x screenshots
// ============================================================
// --- Меню профиля / план / настройки ---
['使用统计', 'Статистика использования'],
['升级', 'Обновить план'],
['5M GLM tokens daily', '5 млн GLM-токенов в день'],
['Base usage included', 'Базовая квота включена'],
['5x Lite usage', '5x квоты Lite'],
['20x Lite usage', '20x квоты Lite'],
['Small repo iteration', 'Итерации в небольших репозиториях'],
['Mid-sized repo development', 'Разработка средних репозиториев'],
['Mid-to-large repo work', 'Работа со средними и крупными репозиториями'],
['Latest models over time', 'Новые модели по мере выхода'],
['Priority model access', 'Приоритетный доступ к моделям'],
['Curated MCP tools', 'Подобранные MCP-инструменты'],
['First model access', 'Ранний доступ к моделям'],
['Peak-time priority', 'Приоритет в часы пик'],
['GLM-5.2 · 3M tokens daily', 'GLM-5.2 · 3 млн токенов в день'],
['GLM-5-Turbo · 2M tokens daily', 'GLM-5-Turbo · 2 млн токенов в день'],
['Chrome 硬件加速', 'Аппаратное ускорение Chrome'],
['关闭后可规避部分显卡或驱动导致的白屏、闪退、渲染异常。修改后需重启应用生效。', 'Отключение помогает обойти белый экран, вылеты и ошибки рендера, вызванные некоторыми видеокартами или драйверами. Изменение вступит в силу после перезапуска приложения.'],
['接受提前收到预览版更新', 'Получать предварительные обновления'],
['开启后将最快、提前体验Новые функции和Улучшения版本,关闭后将随着版本发布节奏获得版本推送更新。', 'После включения вы будете раньше получать новые функции и улучшения. Если отключить, обновления будут приходить по обычному графику релизов.'],
['自动下载并安装更新', 'Автоматически скачивать и устанавливать обновления'],
['开启后检测到更新会自动开始下载;下载完成后,如有任务正在运行,重启更新前仍会要求确认。', 'После включения найденные обновления будут скачиваться автоматически. Если после загрузки выполняется задача, перед перезапуском всё равно потребуется подтверждение.'],
// --- Источники плагинов / фильтры / статусы MCP ---
['从 Плагины Claude Code 安装', 'Установлено из плагинов Claude Code'],
['从 Claude Code 插件安装', 'Установлено из плагинов Claude Code'],
['选择模型', 'Выбрать модель'],
['继承默认值', 'Наследовать значение по умолчанию'],
['继承默认', 'Наследовать значение по умолчанию'],
['已连接', 'Подключён'],
['连接中', 'Подключение'],
['需要授权', 'Требуется авторизация'],
['打开授权', 'Открыть авторизацию'],
['该插件 MCP 服务器正在连接 runtime。', 'MCP-сервер плагина подключается к runtime.'],
['该插件 MCP 服务器已连接并可用。', 'MCP-сервер плагина подключён и доступен.'],
['打开授权后即可完成该插件 MCP 服务器连接。', 'Откройте авторизацию, чтобы завершить подключение MCP-сервера плагина.'],
['Плагин отключён', 'Плагин отключён'],
['Invalid URL', 'Неверный URL'],
['fetch failed', 'Ошибка загрузки'],
['Connection closed', 'Соединение закрыто'],
['connection timed out after 30000ms', 'Время подключения истекло через 30000 мс'],
// --- Описания встроенных/официальных плагинов ---
['ZCode usage and self-diagnosis guide: teaches agents and users how to configure MCP servers, commands, skills, and plugins.', 'Руководство по использованию и самодиагностике ZCode: помогает агентам и пользователям настраивать MCP-серверы, команды, навыки и плагины.'],
['ZCode usage and self-diagnosis guide: teaches agents and users how to configure MCP servers, commands,', 'Руководство по использованию и самодиагностике ZCode: настройка MCP-серверов, команд,'],
['Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples.', 'MCP-сервер Upstash Context7 для поиска актуальной документации, версий и примеров кода.'],
['Automated code review for pull requests using multiple specialized agents with confidence-based scoring', 'Автоматическое ревью pull request через специализированных агентов с оценкой уверенности.'],
['Browser automation and end-to-end testing MCP server by Microsoft. Enables Claude to interact with web pages.', 'MCP-сервер Microsoft для браузерной автоматизации и end-to-end тестов.'],
['Streamline your git workflow with simple commands for committing, pushing, and creating pull requests', 'Упрощает Git-процесс командами для коммитов, push и создания pull request.'],
['Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques', 'Базовая библиотека навыков Claude Code: TDD, отладка, совместная работа и проверенные техники.'],
['Comprehensive feature development workflow with specialized agents for codebase exploration, architecture, implementation, and validation', 'Комплексный процесс разработки функций со специализированными агентами для изучения кода, архитектуры, реализации и проверки.'],
// --- Команды плагинов из скриншотов ---
['Start the Android emulator development loop.', 'Запустить цикл разработки с Android-эмулятором.'],
['Check the health and status of Render services.', 'Проверить состояние и работоспособность сервисов Render.'],
['Cleans up all git branches marked as [gone] (branches that have been deleted on the remote but still exist locally), including removing associated worktrees.', 'Очищает локальные Git-ветки, помеченные как [gone], включая связанные worktree.'],
['Code review a pull request', 'Провести ревью pull request'],
['Run CodeRabbit AI code review on your changes', 'Запустить AI-ревью CodeRabbit для ваших изменений'],
['Create a git commit', 'Создать Git-коммит'],
['Commit, push, and open a PR', 'Сделать commit, push и открыть PR'],
['Enable or disable hookify rules interactively', 'Интерактивно включить или отключить правила hookify'],
['Guided end-to-end plugin creation workflow with component design, implementation, and validation', 'Пошаговое создание плагина от проектирования компонентов до реализации и проверки.'],
['Deploy the current project to Render.', 'Развернуть текущий проект в Render.'],
['Guided feature development with codebase understanding and architecture focus', 'Пошаговая разработка функции с изучением кодовой базы и фокусом на архитектуре.'],
['Get help with the hookify plugin', 'Получить помощь по плагину hookify'],
['Set up the Honeycomb MCP server connection for Claude Code', 'Настроить подключение MCP-сервера Honeycomb для Claude Code'],
['Create hooks to prevent unwanted behaviors from conversation analysis or explicit instructions', 'Создать hooks, предотвращающие нежелательное поведение по анализу диалогов или явным инструкциям.'],
['List all configured hookify rules', 'Показать все настроенные правила hookify'],
['Full discovery & portfolio analysis of a legacy system — inventory, complexity, debt, relative scale', 'Полный анализ legacy-системы и портфеля: инвентаризация, сложность, техдолг и относительный масштаб.'],
['Generate a phased Modernization Brief — the approved plan that transformation agents will execute against', 'Сформировать поэтапный Modernization Brief — утверждённый план для агентов трансформации.'],
['Mine business logic from legacy code into testable, human-readable rule specifications', 'Извлечь бизнес-логику из legacy-кода в проверяемые и читаемые спецификации правил.'],
['Security vulnerability scan with a reviewable remediation patch — OWASP, CWE, CVE, secrets, injection', 'Сканирование уязвимостей с проверяемым патчем исправлений: OWASP, CWE, CVE, секреты, инъекции.'],
['Dependency & topology mapping — call graphs, data lineage, batch flows, rendered as navigable diagrams', 'Карта зависимостей и топологии: графы вызовов, происхождение данных, batch-потоки и навигационные диаграммы.'],
['Environment readiness check — analysis tools, build toolchain, source completeness, telemetry access', 'Проверка готовности окружения: инструменты анализа, сборочная цепочка, полнота исходников и доступ к телеметрии.'],
['Multi-agent greenfield rebuild — extract specs from legacy, design AI-native, scaffold & validate with HITL', 'Многоагентная пересборка с нуля: извлечь спецификации из legacy, спроектировать AI-native решение, создать каркас и проверить с участием человека.'],
['Where am I in the modernization workflow — artifact inventory, staleness, secrets hygiene, next step', 'Показать текущий этап модернизации: инвентаризация артефактов, устаревание, проверка секретов и следующий шаг.'],
['Transform one legacy module to the target stack — idiomatic rewrite with behavior-equivalence tests', 'Перенести один legacy-модуль на целевой стек: идиоматичная перепись с тестами эквивалентности поведения.'],
['Same-stack version uplift (e.g. .NET Framework 4.8 → .NET 8) — preserve the code, fix the version deltas, prove equivalence by running one test suite on both runtimes', 'Обновление версии в том же стеке (например, .NET Framework 4.8 -> .NET 8): сохранить код, исправить различия версий и доказать эквивалентность одним набором тестов на обеих средах.'],
['Select and restore a legacy ZCode session.', 'Выбрать и восстановить старую сессию ZCode.'],
['Update CLAUDE.md with learnings from this session', 'Обновить CLAUDE.md выводами из этой сессии'],
['Generate a complete Agent Skill from a documentation URL using Firecrawl', 'Создать полноценный Agent Skill по URL документации через Firecrawl'],
// ============================================================
// v6.3.4 — Changelog / Release Notes модалка
// ============================================================
// --- Заголовки секций changelog ---
['更新日志', 'Список изменений'],
['`更新日志`', '`Список изменений`'],
['"更新日志"', '"Список изменений"'],
['新功能', 'Новые функции'],
['`新功能`', '`Новые функции`'],
['"新功能"', '"Новые функции"'],
['问题修复', 'Исправления'],
['`问题修复`', '`Исправления`'],
['"问题修复"', '"Исправления"'],
['已修复', 'Исправлено'],
['`已修复`', '`Исправлено`'],
['"已修复"', '"Исправлено"'],
['改进', 'Улучшения'],
['`改进`', '`Улучшения`'],
['"改进"', '"Улучшения"'],
// --- Changelog-описания (частые паттерны v3.2.0) ---
['新增支持插件管理和自定义添加插件 beta。', 'Добавлена поддержка управления плагинами и пользовательского добавления плагинов (beta).'],
['`新增支持插件管理和自定义添加插件 beta。`', '`Добавлена поддержка управления плагинами и пользовательского добавления плагинов (beta).`'],
['新增通用型子智能体,支持自定义读写权限和模型。', 'Добавлен универсальный субагент с настраиваемыми правами чтения/записи и выбором модели.'],
['`新增通用型子智能体,支持自定义读写权限和模型。`', '`Добавлен универсальный субагент с настраиваемыми правами чтения/записи и выбором модели.`'],
['长文本粘贴会自动转为附件。', 'Длинный текст при вставке автоматически становится вложением.'],
['`长文本粘贴会自动转为附件。`', '`Длинный текст при вставке автоматически становится вложением.`'],
['计划模式退出后会恢复原来的模式。', 'При выходе из режима плана восстанавливается предыдущий режим.'],
['`计划模式退出后会恢复原来的模式。`', '`При выходе из режима плана восстанавливается предыдущий режим.`'],
['更新前会先完成必要版本检查。', 'Перед обновлением выполняется проверка совместимости версий.'],
['`更新前会先完成必要版本检查。`', '`Перед обновлением выполняется проверка совместимости версий.`'],
['优化压缩逻辑。', 'Оптимизирована логика сжатия.'],
['`优化压缩逻辑。`', '`Оптимизирована логика сжатия.`'],
['优化windows任务体验。', 'Улучшен интерфейс задач Windows.'],
['`优化windows任务体验。`', '`Улучшен интерфейс задач Windows.`'],
['安装插件后自动启用(推荐确认插件来源安全后再安装)。', 'Плагин автоматически включается после установки (рекомендуется проверять источник).'],
['`安装插件后自动启用(推荐确认插件来源安全后再安装)。`', '`Плагин автоматически включается после установки (рекомендуется проверять источник).`'],
// --- Общие changelog-шаблоны ---
['新增', 'Добавлено'],
['`新增`', '`Добавлено`'],
['"新增"', '"Добавлено"'],
['优化', 'Оптимизировано'],
['`优化`', '`Оптимизировано`'],
['"优化"', '"Оптимизировано"'],
['修复', 'Исправлено'],
['`修复`', '`Исправлено`'],
['"修复"', '"Исправлено"'],
['改进了', 'Улучшено'],
['`改进了`', '`Улучшено`'],
['"改进了"', '"Улучшено"'],
// --- Кнопка/ссылка "Обновить" ---
['`Обновить`', '`Обновить`'],
['Проверка обновлений...', 'Проверка обновлений...'],
// --- Неизвестные новые функции (fallback паттерны) ---
['新增支持', 'Добавлена поддержка'],
['`新增支持`', '`Добавлена поддержка`'],
['支持自定义', 'Поддержка настройки'],
['`支持自定义`', '`Поддержка настройки`'],
['自定义添加', 'Пользовательское добавление'],
['`自定义添加`', '`Пользовательское добавление`'],
['自动启用', 'Автоматическое включение'],
['`自动启用`', '`Автоматическое включение`'],
['自动转为', 'Автоматически становится'],
['`自动转为`', '`Автоматически становится`'],
['退出后会恢复', 'При выходе восстанавливается'],
['`退出后会恢复`', '`При выходе восстанавливается`'],
['先完成必要', 'Сначала выполняется'],
['`先完成必要`', '`Сначала выполняется`'],
// --- Прочие UI-строки, которые могут проступить на китайском ---
['`版本`', '`Версия`'],
['"版本"', '"Версия"'],
['`当前版本`', '`Текущая версия`'],
['"当前版本"', '"Текущая версия"'],
['`最新版本`', '`Последняя версия`'],
['"最新版本"', '"Последняя версия"'],
['`已是最新版本`', '`Уже последняя версия`'],
['"已是最新版本"', '"Уже последняя версия"'],
['`没有更新`', '`Обновлений нет`'],
['"没有更新"', '"Обновлений нет"'],
// ============================================================
// Универсальные шаблоны для чейнджлога (будущие версии)
// ============================================================
// --- Заголовки секций (без backticks/кавычек — для инлайн-контента) ---
['性能优化', 'Оптимизации производительности'],
['界面改进', 'Улучшения интерфейса'],
['安全修复', 'Исправления безопасности'],
['稳定性改进', 'Улучшения стабильности'],
['兼容性修复', 'Исправления совместимости'],
['已知问题', 'Известные проблемы'],
['重大变更', 'Важные изменения'],
[' breaking changes', 'Ключевые изменения'],
['文档更新', 'Обновление документации'],
['依赖更新', 'Обновление зависимостей'],
// --- Частые глаголы/обороты в чейнджлоге ---
['提升了', 'Повышена'],
['降低了', 'Снижена'],
['修复了', 'Исправлено'],
['新增了', 'Добавлено'],
['优化了', 'Оптимизировано'],
['改进了', 'Улучшено'],
['删除了', 'Удалено'],
['重命名了', 'Переименовано'],
['移除了', 'Удалено'],
['增加了', 'Добавлено'],
['减少了', 'Уменьшено'],
['支持了', 'Добавлена поддержка'],
['实现了', 'Реализовано'],
['解决了', 'Решено'],
// --- Описания изменений (частые паттерны) ---
['用户体验', 'Пользовательский опыт'],
['响应速度', 'Скорость отклика'],
['内存占用', 'Потребление памяти'],
['启动速度', 'Скорость запуска'],
['文件读写', 'Чтение/запись файлов'],
['代码补全', 'Дополнение кода'],
['语法高亮', 'Подсветка синтаксиса'],
['自动保存', 'Автосохранение'],
['快捷键', 'Горячие клавиши'],
['设置页面', 'Страница настроек'],
['主题切换', 'Переключение темы'],
['插件市场', 'Магазин плагинов'],
['终端集成', 'Интеграция терминала'],
['调试功能', 'Функции отладки'],
['版本控制', 'Контроль версий'],
['多人协作', 'Совместная работа'],
['云端同步', 'Облачная синхронизация'],
['离线模式', 'Офлайн-режим'],
['暗色模式', 'Тёмная тема'],
['浅色模式', 'Светлая тема'],
['国际化', 'Интернационализация'],
['本地化', 'Локализация'],
// ============================================================
// v6.4.0 — Описания плагинов/навыков (styles-D1ZYAgbK.js)
// ============================================================
['通过 android-emulator MCP 工具构建、运行、检查并轻量自动化 Android 应用。', 'Сборка, запуск, проверка и лёгкая автоматизация Android-приложений через MCP-инструменты android-emulator.'],
['在任何创造性工作前使用:Создать功能、构建组件、增加能力或修改行为;先探索Пользователь意图、需求和设计。', 'Используйте перед любой творческой работой: создание функций, компонентов, добавление возможностей или изменение поведения; сначала изучите намерения, потребности и дизайн.'],
['控制 ZCode 内置Браузер,用于Открыть、检查、点击、输入、截图或验证网页和Локальный开发页面。', 'Управление встроенным браузером ZCode: открытие, проверка, клики, ввод, скриншоты и веб-страницы локальной разработки.'],
['面对 2 个以上彼此独立、无共享Статус或顺序依赖的Задачи时使用。', 'Используйте при наличии 2+ независимых задач без общего состояния или последовательных зависимостей.'],
['完整的 DOCX 文档Создать、Изменить与分析能力,支持修订、批注、格式保持和文本提取。适用于Создать新文档、修改内容、处理修订、Добавить批注或其它专业 Word 文档Задачи。', 'Полные возможности создания, редактирования и анализа DOCX: правки, комментарии, сохранение форматирования и извлечение текста. Создание, редактирование, обработка правок, добавление комментариев и другие профессиональные задачи Word.'],
['已有书面实现计划,并要在带评审检查点的独立会话中执行时使用。', 'Используйте при наличии письменного плана реализации для выполнения в отдельной сессии с контрольными точками проверки.'],
['实现已完成、测试通过、需要决定如何合并、发 PR 或清理分支时使用。', 'Используйте, когда реализация завершена, тесты пройдены и нужно решить, как слить, отправить PR или очистить ветку.'],
['通过 ios-simulator MCP 工具构建、运行、检查并轻量自动化 iOS Simulator应用。', 'Сборка, запуск, проверка и лёгкая автоматизация iOS-приложений через MCP-инструменты ios-simulator.'],
['专业 PDF 工具集,覆盖报告、创意视觉、学术 LaTeX 和现有 PDF 处理四条生产线。可按文档Тип自动路由,支持报告、海报、论文、简历、提取、合并、拆分、表单填写和格式转换等Задачи。', 'Профессиональный набор PDF-инструментов: отчёты, визуальные материалы, научные LaTeX и обработка существующих PDF. Автомаршрутизация по типу документа; поддержка отчётов, плакатов, диссертаций, резюме, извлечения, объединения, разделения, заполнения форм и конвертации.'],
['收到代码评审反馈、准备实现建议前使用;尤其当反馈不清楚或技术上可疑时,需要严谨验证而非盲目同意。', 'Используйте при получении отзывов код-ревью перед реализацией предложений; особенно когда отзывы неясны или технически сомнительны — требуется строгая проверка, а не слепое согласие.'],
['完成Задачи、实现重大功能或合并前,用于请求代码评审以Подтвердить满足需求。', 'Используйте перед завершением задач, реализацией крупных функций или слиянием для запроса код-ревью и подтверждения соответствия требованиям.'],
['检查、规划或执行 ACP 时代 ZCode 旧 session 恢复到新的 ZCode Задачи与会话库。', 'Проверка, планирование или выполнение восстановления старых сессий ZCode эпохи ACP в новое хранилище задач и сессий ZCode.'],
['Создать新Навыки、Изменить现有Навыки并迭代措辞。适用于从零编写 SKILL.md、Улучшения已有Навыки、把重复工作流沉淀为可复用Навыки,或ОптимизиРОВАТЬНавыкиОписание以提升触发可靠性。', 'Создание новых навыков, редактирование существующих и доработка формулировок. Подходит для написания SKILL.md с нуля, улучшения навыков, превращения повторяющихся процессов в переиспользуемые навыки и оптимизации описаний для надёжного срабатывания.'],
['在Текущий会话中执行包含独立Задачи的实现计划时使用。', 'Используйте при выполнении плана реализации с независимыми задачами в текущей сессии.'],
['遇到任何 bug、测试Не удалось或异常行为时,在提出Исправлено前使用。', 'Используйте при обнаружении бага, падения тестов или неожиданного поведения перед предложением исправления.'],
['实现任何功能或 bugfix 时,在编写实现代码前使用。', 'Используйте при реализации любой функции или исправлении бага перед написанием кода.'],
['开始需要隔离的功能工作或执行实现计划前使用,确Сохранить在隔离 workspace,优先使用原生工具,否则回退 git worktree。', 'Используйте перед изолированной работой над функцией или выполнением плана; приоритет — нативные инструменты изоляции, иначе git worktree.'],
['开始任何对话时使用;说明如何查找和使用Навыки,并要求在任何回复包括澄清问题前调用 Skill 工具。', 'Используйте в начале любого разговора; объясняет, как находить и использовать навыки, и требует вызова инструмента Skill перед любым ответом, включая уточняющие вопросы.'],
['准备声明工作完成、Исправлено或测试通过前使用;要求先运行验证Команды并Подтвердить输出,先有证据再下结论。', 'Используйте перед объявлением работы завершённой, исправленной или тестов пройденными; требуйте сначала запустить проверку и подтвердить результат — сначала доказательства, затем выводы.'],
['使用 ZCode Browser Use 对网页和Локальный Web 前端执行纯 GUI 黑盒测试,通过真实Пользователь交互、DOM 语义证据和截图验证功能、交互与响应式布局。', 'Чёрный ящик GUI-тестирование веб-страниц и локального веб-前端 через ZCode Browser Use: реальные действия пользователя, DOM-семантика и скриншоты для проверки функций, взаимодействий и адаптивной вёрстки.'],
['已有规格或多步骤Задачи需求,在动代码前用于编写实现计划。', 'Используйте при наличии спецификации или многошаговой задачи для составления плана реализации перед написанием кода.'],
['Создать新Навыки、Изменить现有Навыки或在发布前验证Навыки是否有效时使用。', 'Используйте для создания новых навыков, редактирования существующих или проверки их работоспособности перед публикацией.'],
// ============================================================
// v6.4.0 — Точные замены из текущей версии ZCode
// ============================================================
// --- Боковая панель / Меню ---
['自动化', 'Автоматизация'],
// --- Автоматизация и задачи в режиме闲时 ---