-
Notifications
You must be signed in to change notification settings - Fork 3k
Expand file tree
/
Copy pathen.json
More file actions
4441 lines (4441 loc) · 232 KB
/
Copy pathen.json
File metadata and controls
4441 lines (4441 loc) · 232 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
{
"common": {
"save": "Save",
"reset": "Reset",
"cancel": "Cancel",
"confirm": "Confirm",
"apply": "Apply",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"upload": "Upload",
"download": "Download",
"refresh": "Refresh",
"retry": "Retry",
"search": "Search",
"enable": "Enable",
"disable": "Disable",
"enabled": "Enabled",
"disabled": "Disabled",
"preview": "Preview",
"raw": "Raw",
"view": "View",
"content": "Content",
"loading": "Loading...",
"saving": "Saving...",
"copy": "Copy",
"copied": "Copied to clipboard",
"copyFailed": "Failed to copy to clipboard",
"contentPlaceholder": "Enter content...",
"help": "Help",
"close": "Close",
"back": "Back",
"actions": "Actions",
"total": "Total {{count}}",
"clear": "Clear",
"paste": "Paste",
"yes": "Yes",
"no": "No"
},
"desktop": {
"closeWindow": {
"title": "Close Window",
"description": "What would you like to do when closing the window? Quitting the app stops all running tasks and scheduled jobs.",
"remember": "Remember my choice",
"showWindow": "Show Window",
"minimizeToTray": "Minimize to Tray",
"quitApp": "Quit App",
"preference": "Close Window",
"askEveryTime": "Ask every time"
}
},
"chunkError": {
"title": "Failed to load page",
"subTitle": "This may be caused by a network issue or an application update.",
"genericTitle": "Something went wrong",
"genericSubTitle": "An unexpected error occurred while rendering this page.",
"reload": "Reload"
},
"appCenter": {
"backToList": "Back",
"subtitle": "Manage installed apps, or expand your workspace from official and community channels.",
"myApps": "My Apps",
"officialApps": "Official Apps",
"appMarket": "App Market",
"browseOfficialApps": "Browse Official Apps",
"browseMarket": "Browse App Market",
"officialAppsEmpty": "No official apps yet",
"searchOfficial": "Search official apps...",
"installedCount": "{{count}} apps",
"clearFilters": "Clear filters",
"moreActions": "More actions",
"openApp": "Open app",
"noDescription": "No description",
"search": "Search apps...",
"allCategories": "All",
"noApps": "No apps installed yet",
"noResults": "No apps match your search",
"loadFailed": "Failed to load apps. Please retry.",
"appNotLoaded": "This app is not loaded yet.",
"appLoadFailed": "The app failed to load. You can retry without affecting other apps.",
"uninstall": "Uninstall",
"uninstallConfirmTitle": "Uninstall app?",
"uninstallConfirmContent": "This will delete the app directory of \"{{name}}\". This cannot be undone.",
"uninstallSuccess": "App uninstalled",
"uninstallFailed": "Uninstall failed",
"installing": "Installing",
"installSuccess": "Installed",
"installFailed": "Install failed",
"installedStatus": "Installed",
"update": "Update",
"searchMarket": "Search app market...",
"marketFilters": "App market filters",
"filterAll": "All",
"trending": "Trending",
"marketEmpty": "No apps found",
"loadMore": "Load more",
"noMoreApps": "No more apps",
"install": "Install",
"details": "Details",
"featured": "Featured",
"aboutApp": "About App",
"exitApp": "Exit App",
"moreOptions": "More Options",
"backToListHint": "Back to app list (ESC)",
"version": "Version",
"id": "ID",
"category": "Category",
"description": "Description"
},
"harnesses": {
"connected": "Connected",
"disconnected": "Disconnected",
"notConnected": "Not connected",
"comingSoon": "Coming soon",
"connect": "Connect with ChatGPT",
"disconnect": "Disconnect",
"apiKeyAuthenticated": "Authenticated with API key",
"chatGptAuthenticated": "Connected with ChatGPT",
"cliAuthenticated": "{{type}} CLI authenticated"
},
"nav": {
"chat": "Chat",
"files": "Files",
"control": "Control",
"channels": "Channels",
"sessions": "Sessions",
"inbox": "Inbox",
"apps": "Apps",
"cronJobs": "Cron Jobs",
"heartbeat": "Heartbeat",
"agent": "Workspace",
"workspace": "Files",
"skills": "Skills",
"skillPool": "Skill Pool",
"marketplace": "Marketplace",
"market": "Skill Market",
"tools": "Tools",
"mcp": "MCP",
"acp": "ACP",
"agentConfig": "Configuration",
"agents": "Agent Management",
"settings": "Settings",
"models": "Models",
"environments": "Environments",
"offloadPolicy": "Tool Offload",
"security": "Security",
"tokenUsage": "Token Usage",
"agentStats": "Agent Statistics",
"voiceTranscription": "Voice Transcription",
"debug": "Debug",
"plugins": "Plugins",
"backups": "Backups",
"pluginManager": "Plugin Manager"
},
"os": {
"console": "Console",
"appStore": "App Store",
"appStoreDesc": "Install or remove desktop apps",
"arrangeDesktop": "Clean up desktop",
"approvalActionFailed": "Action failed, please retry",
"booting": "Starting up…",
"changeWallpaper": "Change wallpaper",
"clearAll": "Clear all",
"closeApp": "Close",
"currentSpace": "Current space",
"currentSpaceLabel": "Current space: {{name}}",
"currentAppLabel": "Current app: {{name}}",
"desktopApps": "Desktop apps",
"finder": "Desktop",
"focusApp": "Focus",
"install": "Install",
"installed": "installed",
"installedApp": "Installed",
"installedApps": "Installed apps",
"launchpad": "Launchpad",
"moveDockLeft": "Move left",
"moveDockRight": "Move right",
"missionControl": "Mission Control",
"noInstalledApps": "No apps installed",
"noNotifications": "No notifications",
"noOpenWindows": "No open windows in this space",
"noSettings": "No settings available",
"notInstalled": "not installed",
"notifications": "Notifications",
"notificationSummary": "Approvals {{approvals}} · Inbox {{inbox}}",
"notifyApproval": "Approval",
"notifyInbox": "Inbox",
"openApp": "Open",
"keepInDock": "Keep in Dock",
"removeFromDock": "Remove from Dock",
"refreshDesktop": "Refresh desktop",
"appMarket": "App Market",
"appMarketRefresh": "Refresh",
"appMarketSearch": "Search apps...",
"appMarketEmpty": "No apps found",
"appMarketUnavailable": "The app market is currently unavailable. Please try again later.",
"appMarketInstall": "Install",
"appMarketDetails": "Details",
"appMarketDeveloper": "Developer",
"appMarketDownloads": "Downloads",
"appInstalled": "App installed successfully",
"appInstallFailed": "App installation failed",
"appCompatibilityWarningTitle": "App Compatibility Warning",
"appCompatibilityWarningContent": "This app is labeled for QwenPaw {{labels}}. Your QwenPaw version is {{version}}. Installing it may cause errors. Continue?",
"appCompatibilityWarningConfirm": "Install anyway",
"appCompatibilityUnverified": "Compatibility with your QwenPaw version is unverified.",
"restoreAll": "Restore all",
"returnToConsole": "Return to console",
"desktopMode": "Desktop mode",
"qwenpawMenu": "QwenPaw menu",
"restoredAll": "Restored all apps",
"sortBy": "Sort by",
"sortFree": "Free arrangement",
"sortName": "Name",
"sortType": "Type",
"systemSettings": "System Settings",
"uninstall": "Uninstall",
"uninstallConfirmTitle": "Uninstall app?",
"uninstallFailed": "Uninstall failed",
"uninstalledApp": "Uninstalled",
"update": "Update",
"wallpaper": "Wallpaper",
"windows": "windows"
},
"sidebar": {
"newVersion": "New version available: v{{version}}, click to upgrade",
"updateModal": {
"title": "New version available: v{{version}}",
"viewReleases": "View Releases",
"installDesktopUpdate": "Update Now",
"desktopInstallHint": "QwenPaw Desktop {{version}} is ready to install. The app will restart after the update.",
"checking": "Checking for updates…",
"checkingHint": "Confirming the latest release",
"downloading": "Downloading update",
"downloadingTo": "Updating to version {{version}}",
"downloadProgress": "{{done}} / {{total}} · {{rate}}",
"installing": "Installing update",
"willRestart": "The app will restart automatically when done.",
"stepPrepare": "Prepare",
"stepDownloading": "Download",
"stepInstalling": "Install",
"failedTitle": "Update failed",
"back": "Back",
"retry": "Retry",
"errors": {
"network": "Couldn't reach the update server. Check your internet and try again.",
"signature": "Update file signature invalid. Try downloading again.",
"appLocation": "QwenPaw is running from a read-only macOS location. Move QwenPaw.app to the Applications folder, launch it from there, then try updating again.",
"other": "Update failed."
},
"updateLater": "Download in Background",
"backgroundDownloading": "Downloading in background…",
"readyToInstall": "Update ready",
"readyToInstallHint": "v{{version}} update is downloaded. Restart to install and launch the new version.",
"restartNow": "Update Now",
"backgroundFailed": "Background download failed"
},
"settings": {
"language": "Language",
"theme": "Theme",
"mode": "Mode",
"desktopMode": "Desktop Mode"
},
"simpleMode": "Simple Mode",
"fullMode": "Full Mode",
"toggleAgentNavigation": "Expand or collapse agent navigation"
},
"debug": {
"title": "Debug",
"desc": "View the backend daemon log file to help diagnose issues. Logs refresh automatically while this page is open.",
"level": {
"all": "All"
},
"backend": {
"title": "Backend logs",
"autoRefresh": "Auto refresh",
"newestFirst": "Newest first",
"updatedAt": "Updated at",
"path": "Log file",
"notFound": "Backend log file was not found yet.",
"placeholder": "Backend log output will appear here.",
"loadFailed": "Failed to load backend logs",
"searchPlaceholder": "Search backend logs..."
},
"actions": {
"refreshBackend": "Refresh backend logs",
"refreshSuccess": "Logs refreshed",
"copyBackend": "Copy backend logs"
}
},
"inbox": {
"title": "Inbox",
"tabApprovals": "Approvals",
"tabPushMessages": "Push Messages",
"tabHarvests": "AI Harvest",
"summaryApprovals": "Approvals",
"summaryPushUnread": "Unread Push",
"summaryHarvests": "Harvests",
"from": "From:",
"skillAutoSyncTitle": "Skill auto-sync",
"skillBuiltinAutoUpdateTitle": "Built-in skill auto-update",
"skillPoolSender": "Skill Pool",
"skillAutoSynced": "Skill \"{{skill}}\" changed — auto-synced to: {{agents}}",
"skillAutoSyncFailed": "Skill \"{{skill}}\" auto-sync failed for: {{agents}}",
"skillBuiltinUpdated": "Built-in \"{{skill}}\" updated in the Pool: {{from}} → {{to}}",
"skillBuiltinUpdateFailed": "Built-in \"{{skill}}\" could not update in the Pool",
"skillBuiltinSynced": "\"{{skill}}\" synced to: {{agents}}",
"skillBuiltinSyncFailed": "\"{{skill}}\" could not sync to: {{agents}}",
"requestedBy": "By",
"markRead": "Mark Read",
"markAllRead": "Mark All Read",
"markAllReadNoUnread": "No unread messages",
"markAllReadSuccess": "Marked {{count}} messages as read",
"selectAllCurrentPage": "Select current page",
"selectedItems": "{{count}} selected",
"batchDeleteButton": "Batch Delete",
"batchOperation": "Batch",
"exitBatch": "Exit Batch",
"batchDeleteConfirm": "Delete {{count}} selected push messages?",
"batchDeleteSuccess": "Deleted {{count}} push messages",
"pushCronHeader": "Cron Job: {{name}}",
"viewDetails": "View Details",
"deleteMessageConfirm": "Delete this push message?",
"viewAll": "View All",
"read": "Read",
"approve": "Approve",
"reject": "Reject",
"ready": "Ready",
"harvestNow": "Harvest Now",
"createHarvest": "Create Harvest",
"createFirstHarvest": "Create Your First Harvest",
"createSuccess": "Harvest created successfully",
"emptyApprovals": "No pending approvals",
"emptyPush": "No push messages",
"wobbleEnable": "Enable approval wobble notification",
"wobbleDisable": "Disable approval wobble notification",
"emptyHarvests": "No harvests yet",
"statusReadyToHarvest": "Ready to Harvest",
"statusGrowing": "Growing",
"harvestedTimes": "Harvested {{count}} times",
"harvestSuccessRate": "Success Rate {{rate}}%",
"messageDetailComingSoon": "Message detail view - Coming soon!",
"harvestSettingsComingSoon": "Harvest settings - Coming soon!",
"messageDetailTitle": "Execution Detail",
"detailCronTitle": "Cron Job: {{name}}",
"detailHeartbeatTitle": "Heartbeat",
"messageNotFound": "Message not found",
"detailTaskName": "Task Name",
"detailTaskId": "Task ID",
"detailStatus": "Status",
"detailSeverity": "Severity",
"detailAgent": "Agent",
"detailSource": "Source",
"detailSourceCronJob": "Cron Job",
"detailSourceHeartbeat": "Heartbeat",
"detailTrigger": "Trigger",
"detailDuration": "Duration",
"detailExecutedAt": "Executed At",
"detailReceivedAt": "Received At",
"detailRunId": "Run ID",
"detailContent": "Output",
"detailPayload": "Payload",
"detailExecutionTrace": "Execution Trace",
"detailTraceEmpty": "No execution trace available",
"mailDetailSender": "Sender",
"mailDetailSubject": "Subject",
"mailDetailDate": "Mail time",
"mailDetailBody": "Body preview",
"mailDetailProcess": "Processing steps",
"filterByAgent": "Filter by agent",
"filterBySourceType": "Filter by source",
"sourceTypeCron": "Cron",
"sourceTypeHeartbeat": "Heartbeat",
"sourceTypeMemory": "Memory",
"sourceTypeMail": "Mail",
"mailAccessControl": "Mail Access Control",
"pendingSenders": "Pending Senders",
"senderLists": "Sender Lists",
"addSender": "Add Sender",
"domainWildcardHint": "Supports domain wildcards, e.g. *@example.com",
"invalidAddress": "Invalid email address. Use a format like user@domain.com or *@domain.com",
"whitelist": "Whitelist",
"blacklist": "Blacklist",
"approveSender": "Approve",
"deny": "Block",
"dismiss": "Dismiss",
"batchApprove": "Batch Approve",
"batchDeny": "Batch Block",
"batchDismiss": "Batch Dismiss",
"batchRemove": "Batch Remove",
"confirmApprove": "Approve selected senders?",
"confirmDeny": "Deny selected senders?",
"confirmDismiss": "Dismiss selected senders?",
"confirmRemove": "Confirm remove?",
"removeSuccess": "Removed successfully",
"addedToAllAgents": "Added and synced to all agents",
"senderAddress": "Sender Address",
"displayName": "Sender Name",
"emailSubject": "Subject",
"bodyPreview": "Body Preview",
"selectAgent": "Select Agent",
"allAgents": "All Agents",
"time": "Time",
"remark": "Remark",
"actions": "Actions",
"optional": " (optional)",
"required": " (required)"
},
"acp": {
"title": "ACP",
"loading": "Loading ACP configuration...",
"builtin": "Built-in",
"custom": "Custom",
"create": "Add Custom Agent",
"createTitle": "Create ACP Agent",
"createSuccess": "ACP agent created",
"editTitle": "Edit ACP Configuration",
"agentKey": "Agent Key",
"agentKeyRequired": "Please enter an agent key",
"agentKeyInvalid": "Agent key can only contain letters, numbers, underscores, and hyphens",
"agentKeyExists": "This agent key already exists",
"enabled": "Enabled",
"command": "Command",
"commandRequired": "Please enter a command",
"args": "Arguments",
"argsHelp": "One argument per line",
"env": "Environment Variables",
"envHelp": "Use KEY=VALUE format on each line",
"envInvalidLine": "Invalid environment variable format: {{line}}",
"trusted": "Trusted",
"toolParseMode": "Tool Parse Mode",
"toolParseModeRequired": "Please select a tool parse mode",
"stdioBufferLimit": "Stdio Buffer Limit",
"stdioBufferLimitHelp": "Maximum stdio line buffer size in bytes for the ACP subprocess.",
"stdioBufferLimitRequired": "Please enter a stdio buffer limit",
"stdioBufferLimitMin": "Stdio buffer limit must be at least 1 byte",
"docs": "Setup Docs",
"docsHelp": "Open the ACP integration docs and jump to the \"How to configure external runners\" section",
"notSet": "Not set",
"configSaved": "ACP configuration saved",
"configFailed": "Failed to save ACP configuration",
"deleteTitle": "Delete {{name}}",
"deleteConfirm": "Delete this ACP agent? This action cannot be undone.",
"deleteSuccess": "ACP agent deleted",
"deleteFailed": "Failed to delete ACP agent",
"nodeSettings": "Node Settings",
"nodePath": "Node path",
"chooseOtherNode": "Choose another Node...",
"selectNodePath": "Select Node path",
"nodePathPrompt": "Enter the node executable path",
"nodeSaved": "Node settings saved",
"nodeLoadFailed": "Failed to load Node settings",
"nodeSaveFailed": "Node path is unavailable",
"nodeRuntime": {
"bundled": "Bundled Node",
"system": "System Node",
"custom": "Custom Node"
},
"nodeRuntimeReason": {
"systemNodeMissing": "System Node was not detected",
"nodeMissing": "Node path does not exist",
"npxMissing": "npx was not found",
"versionCheckFailed": "Version check failed",
"unavailable": "Unavailable"
}
},
"voiceTranscription": {
"title": "Voice Transcription",
"description": "Configure how incoming audio and voice messages are handled.",
"saveSuccess": "Audio mode saved",
"saveFailed": "Failed to save audio mode",
"audioModeLabel": "Audio Mode",
"audioModeDescription": "Choose how voice messages from channels (Discord, Telegram, etc.) are processed before being sent to the model.",
"modeAuto": "Auto (Recommended)",
"modeAutoDesc": "Transcribe audio to text using the selected transcription provider, then send the text to the model. If transcription is unavailable or disabled, a file-uploaded placeholder is shown instead. Audio is never sent directly to the model in this mode. Works with all models.",
"modeNative": "Native Audio",
"modeNativeDesc": "Send the audio file directly to the model without transcription. This is the only mode that sends audio to the model. Only works with specific audio-capable models (e.g. gpt-4o-audio). Most models do not support this and will reject the message.",
"ffmpegReady": "ffmpeg is installed. Audio conversion is available for native mode.",
"ffmpegMissing": "ffmpeg is not installed.",
"ffmpegMissingDesc": "Native audio mode requires ffmpeg to convert audio formats (e.g. .ogg to .wav). Install ffmpeg as a system package to enable this mode.",
"providerTypeLabel": "Transcription Provider",
"providerTypeDescription": "Choose the transcription backend. Select Disabled if you do not need voice transcription.",
"providerTypeDisabled": "Disabled",
"providerTypeDisabledDesc": "No transcription. Voice messages will show a file-uploaded placeholder.",
"providerTypeWhisperApi": "Whisper API",
"providerTypeWhisperApiDesc": "Use an OpenAI-compatible Whisper API endpoint from a configured provider (e.g. OpenAI, Ollama).",
"providerTypeLocalWhisper": "Local Whisper",
"providerTypeLocalWhisperDesc": "Run transcription locally using the openai-whisper Python library. Requires both ffmpeg and openai-whisper to be installed.",
"localWhisperReady": "Local Whisper is ready. Both ffmpeg and openai-whisper are installed.",
"localWhisperMissing": "Local Whisper is not ready. Missing dependencies must be installed.",
"localWhisperMissingDesc": "ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}. Install missing dependencies: ffmpeg (system package) and openai-whisper (uv pip install openai-whisper, or install QwenPaw with the [whisper] extra).",
"providerLabel": "Whisper API Provider",
"providerDescription": "Select which provider to use for audio transcription via the Whisper API. Only providers with a Whisper-compatible endpoint are shown.",
"providerPlaceholder": "Select a provider...",
"noProvidersWarning": "No transcription-capable providers found. Configure an OpenAI provider to enable voice transcription.",
"transcriptionInfoTitle": "How transcription works",
"transcriptionInfoDesc": "Whisper API transcription uses an OpenAI-compatible /v1/audio/transcriptions endpoint. This requires a configured provider with a Whisper-compatible endpoint — for example, an OpenAI provider. Select a specific provider above to enable transcription.",
"transcriptionInfoDescLocal": "Local Whisper transcription runs the openai-whisper library directly on your machine. It requires both ffmpeg (for audio decoding) and the openai-whisper Python package to be installed. No API key or network connection is needed. Install with: uv pip install 'qwenpaw[whisper]'."
},
"backup": {
"title": "Backups",
"description": "Backup and restore agent workspaces and configurations.",
"create": "Create Backup",
"import": "Import",
"export": "Export",
"restore": "Restore",
"delete": "Delete",
"batchDelete": "Delete Selected",
"batchDeleteConfirm": "Are you sure you want to delete {{count}} backup(s)? This action cannot be undone.",
"deleteConfirm": "Are you sure you want to delete this backup? This action cannot be undone.",
"name": "Name",
"createdAt": "Created",
"scopeSummary": "Scope",
"descriptionLabel": "Description",
"noBackups": "No backups yet. Create one to backup your current configuration.",
"loadFailed": "Failed to load backups",
"createTitle": "Create Backup",
"backupMode": "Backup Mode",
"fullBackup": "Full Backup",
"fullBackupDesc": "Backup everything including all agent workspaces, global settings, skill pool, and secrets",
"customBackup": "Custom Backup",
"partialBackup": "Partial Backup",
"partialBackupDesc": "Customize what to backup",
"nameRequired": "Backup name is required",
"namePlaceholder": "Enter backup name",
"descriptionPlaceholder": "Optional description...",
"scopeAgents": "Agent Workspaces",
"scopeGlobalConfig": "Global Settings",
"scopeSkillPool": "Skill Pool",
"scopeSecrets": "Secrets",
"scopeSecretsHint": "Includes model provider secrets (API keys), environment variables, and other sensitive information",
"securityNotice": "This backup may contain sensitive credentials. Agent workspaces include channel credentials (bot tokens, app secrets, etc.), and model provider secrets include API keys. Do not share backup files with others.",
"searchPlaceholder": "Search backups by name or ID...",
"total": "Total {{count}}",
"agentsPlaceholder": "Select agent workspaces (leave empty for all)",
"selectAll": "Select All",
"deselectAll": "Deselect All",
"createSuccess": "Backup created successfully",
"createFailed": "Failed to create backup",
"restoreTitle": "Restore Backup",
"restoreScope": "Restore Scope",
"restoreFullWarning": "Full restore will completely replace all contents of the current instance (including all agents, global config, skill pool, and secrets). This action cannot be undone. Related features will be unavailable during restore. Please restart the service after restoration is complete.",
"agentGroupExisting": "Existing",
"agentGroupNew": "New",
"agentExists": "Exists",
"agentNew": "New",
"agentActionReplace": "Overwrite",
"agentActionAdd": "New",
"agentColumnName": "Agent",
"agentColumnWorkspace": "Workspace",
"agentTotal": "{{count}} agents total",
"noAgentsInBackup": "No agent workspaces in this backup",
"loadingAgents": "Loading agent list...",
"agentSearchPlaceholder": "Search by name or ID...",
"agentSearchTotal": "{{count}} of {{total}} agents",
"restoreCustomSummary": "{{existing}} existing · {{added}} new selected",
"defaultWorkspaceDirUnused": "No new agents selected",
"otherOptions": "Other Options",
"defaultWorkspaceDirDefault": "<Default path>/{{aid}}",
"restoreWarningModify": "Restoring will modify current configurations. This action cannot be undone.",
"restoreWarningRestart": "Related features will be unavailable during restore. Please restart the service after restoration is complete.",
"preRestoreBackupTitle": "Create Pre-Restore Backup",
"preRestoreBackupContent": "The restore operation is irreversible. Would you like to create a backup of the current state first? This allows you to rollback if any issues occur during restoration.",
"preRestoreBackupYes": "Yes, create backup first",
"preRestoreBackupNo": "No, restore directly",
"preRestoreBackupDesc": "Auto-created backup before restore",
"preRestoreBackupFailed": "Failed to create pre-restore backup",
"preRestoreBackupSuccess": "Pre-restore backup created successfully, ID: {{id}}",
"creatingPreRestoreBackup": "Creating pre-restore backup...",
"skipAndRestore": "Skip and continue to restore",
"restoreConfirm": "I confirm that I want to restore this backup",
"restoreMode": "Restore Mode",
"restoreModeFull": "Full Restore",
"restoreModeFullDesc": "Completely replace all contents of the current instance, including all agents, global config, skill pool and secrets",
"restoreModeCustom": "Custom Restore",
"restoreModeCustomDesc": "Select the contents to restore, such as specific agents, config, etc.; existing agents not included in this restore will be preserved",
"restoreModeFullDisabled": "Full backup only",
"defaultWorkspaceDir": "Agent Default Workspace Directory",
"defaultWorkspaceDirPlaceholder": "Leave empty to use ~/.qwenpaw/workspaces",
"defaultWorkspaceDirHint": "If the agent's original workspace path does not exist, the agent will be saved under <default path>/<agent ID>. If it exists, the agent's original workspace path will be used.",
"restoreStrategy": "Restore strategy",
"restoreStrategyPreserve": "Preserve local security and MCP",
"restoreStrategyPreserveDesc": "Keep this instance's security guards and MCP configuration.",
"restoreStrategyRestore": "Restore these settings from backup",
"restoreStrategyRestoreDesc": "Use the backup's security and MCP configuration.",
"restoreSuccess": "Backup restored successfully. Please restart the service.",
"restoreSuccessPreserved": "Backup restored successfully. Preserved local settings: {{keys}}. Please restart the service.",
"restoreSuccessWithBackup": "Backup restored successfully. Pre-restore backup ID: {{preRestoreId}}. Please restart the service.",
"restoreFailed": "Failed to restore backup",
"restoreTimedOut": "Restore is still running or took longer than 5 minutes. Check the backup size, disk space, and service logs before trying again.",
"restoreTargetBusy": "Restore failed because these directories are still in use. Close the browser or process using them, then retry. If they remain locked, restart the system and try again.",
"detailLoadFailed": "Failed to load backup details; restore is unavailable",
"trustLocalBanner": "Local backup - full restore by default",
"trustForeignBanner": "Imported backup - local security and MCP are preserved by default",
"trustLegacyBanner": "Legacy backup - trust confirmation is required before restore",
"trustForeignTitle": "Trust this backup?",
"trustLegacyTitle": "Trust legacy backup?",
"unknownBackupName": "Backup archive",
"trustForeignDesc": "This backup was not signed by this instance. Only continue if you trust the source; local security and MCP settings will be preserved by default when restored.",
"trustLegacyDesc": "This older backup has no local signature. Only continue if you trust where it came from; this instance will sign it before restore.",
"deleteSuccess": "Backup(s) deleted successfully",
"deleteFailed": "Failed to delete backup(s)",
"exportFailed": "Failed to export backup",
"exportWarningTitle": "Sensitive Information Warning",
"exportWarningContent": "This backup may contain sensitive credential information. Agent workspaces contain channel credentials (such as bot tokens, app secrets, etc.), and model provider secrets contain API Keys. Do not share backup files with others.",
"exportConfirm": "Confirm Export",
"importTitle": "Import Backup",
"importSuccess": "Backup imported successfully",
"importFailed": "Failed to import backup",
"importConflictTitle": "Backup Already Exists",
"importConflictDesc": "A backup with the same ID already exists. Do you want to overwrite it?",
"importReplace": "Overwrite",
"agents": "{{count}} Agent(s)",
"allAgents": "All Agents",
"globalConfig": "Global Settings",
"skillPool": "Skill Pool",
"secrets": "Secrets",
"selected": "{{count}} selected",
"fileCount": "{{count}} files",
"totalSize": "{{size}}",
"progressStarting": "Starting backup...",
"progressAgent": "Backing up agent {{index}} / {{total}}...",
"progressSaving": "Saving backup file...",
"progressDone": "Backup complete",
"localModelsNotice": "Backup files do not include local model files. For cross-device migration, you will need to re-download the required local models on the target device."
},
"checkpoints": {
"nav": "Checkpoints",
"title": "State Checkpoints",
"auto": "Auto",
"autoEnabled": "Automatic checkpoints enabled",
"autoDisabled": "Automatic checkpoints disabled",
"refresh": "Refresh checkpoints",
"snapshot": "Snapshot",
"snapshotCreated": "Snapshot created",
"graph": "Graph",
"checkpoint": "Checkpoint",
"type": "Type",
"commit": "Commit",
"createdAt": "Created",
"session": "Session",
"channel": "Channel",
"parent": "Parent",
"details": "Checkpoint details",
"search": "Search query, name, session, or SHA",
"allTypes": "All types",
"allSessions": "All sessions",
"showingLatest": "Latest {{count}} shown",
"loadFailed": "Unable to load checkpoints",
"retry": "Retry",
"more": "More actions",
"noMatches": "No checkpoints match these filters.",
"empty": "No state checkpoints yet. Your version history will appear here.",
"kind": {
"auto": "Auto",
"snapshot": "Snapshot",
"safety": "Safety",
"commit": "Commit"
},
"summary": {
"total": "checkpoints"
},
"snapshotDialog": {
"title": "Create snapshot",
"session": "Session",
"name": "Name",
"placeholder": "Optional snapshot name"
},
"gc": {
"settingsAction": "Automatic cleanup settings",
"settingsTitle": "Automatic cleanup settings",
"keepCount": "Automatic checkpoints to keep",
"keepDays": "Automatic checkpoint retention (days)",
"preRestoreDays": "Pre-restore snapshot retention (days)",
"settingsSaved": "Automatic cleanup settings saved",
"thoroughAction": "Thoroughly compact checkpoints",
"thoroughTitle": "Thoroughly compact checkpoints?",
"thoroughDescription": "Removes {{count}} checkpoint(s), ignoring auto-checkpoint retention. Session HEADs are kept.",
"thoroughConfirm": "Thoroughly compact",
"thoroughSuccess": "Removed {{count}} checkpoint(s) during thorough compaction",
"action": "Clean up checkpoints",
"title": "Clean up checkpoints using retention policy?",
"description": "Removes {{count}} expired checkpoint(s) under the current retention policy. Session HEADs are kept.",
"confirm": "Clean up",
"success": "Removed {{count}} checkpoint(s)"
},
"reset": {
"action": "Reset checkpoint data",
"title": "Reset all checkpoint data?",
"description": "This permanently removes every checkpoint and turns automatic checkpoints off.",
"confirm": "Reset",
"success": "Checkpoint data reset"
},
"restore": {
"action": "Restore",
"title": "Restore checkpoint",
"preview": "Preview restore",
"confirm": "Restore checkpoint",
"conversation": "Conversation",
"memory": "Memory",
"files": "Workspace files",
"refreshWarning": "The conversation will change. Refresh the conversation after the restore completes.",
"selectedCount": "{{count}} files selected",
"selectAll": "Select all changed files",
"delete": "Delete",
"restore": "Restore",
"noFileChanges": "No workspace file changes are needed.",
"success": "Checkpoint restored. Refresh the conversation to load its restored state."
}
},
"workspace": {
"title": "Files",
"workspacePath": "Workspace:",
"noFiles": "No files",
"coreFiles": "Core Files",
"coreFilesDesc": "Bootstrap persona, identity, and tool guidance.",
"uploadTooltip": "ZIP files only",
"uploadTooltipWithLimit": "ZIP files only, max {{limit}}MB",
"selectFile": "Select a file to edit",
"fileContent": "File content...",
"uploadSuccess": "File uploaded successfully",
"uploadFailed": "File upload failed",
"downloadPreparing": "Preparing workspace download...",
"downloadSuccess": "Workspace downloaded successfully",
"downloadFailed": "Workspace download failed",
"zipOnly": "Only .zip files are supported for upload",
"fileSizeExceeded": "File size exceeds {{limit}}MB limit. Current file: {{size}}MB",
"systemPromptToggleTooltip": "Enable/disable this file in system prompt",
"memoryFileWarning": "MEMORY.md is typically queried on-demand by the agent using tools. Loading it into the system prompt may cause the context to become too long.",
"configUpdated": "System prompt configuration updated",
"configUpdateFailed": "Failed to update system prompt configuration",
"attribution": "Workspace design partly inspired by the OpenClaw project — thank you! 🐾",
"saveSuccess": "Saved successfully",
"saveFailed": "Save failed",
"saving": "Saving...",
"saved": "Saved",
"unsaved": "Unsaved"
},
"agent": {
"parent": "Settings",
"agents": "Agents",
"management": "Agent Management",
"pageDescription": "Create, configure, and manage multiple AI agents with custom workspaces and identities.",
"name": "Name",
"id": "ID",
"description": "Description",
"workspace": "Workspace Path",
"create": "Create Agent",
"createTitle": "Create New Agent",
"createSuccess": "Agent created successfully",
"createFailed": "Failed to create agent",
"edit": "Edit",
"editTitle": "Edit Agent - {{name}}",
"updateSuccess": "Agent updated successfully",
"updateFailed": "Failed to update agent",
"delete": "Delete",
"deleteConfirm": "Confirm Delete Agent",
"deleteConfirmDesc": "Agent will be unavailable after deletion, but workspace files will be kept",
"deleteSuccess": "Agent deleted successfully",
"deleteFailed": "Failed to delete agent",
"selectAgent": "Select Agent",
"defaultDisplayName": "Default Agent",
"currentWorkspace": "Current Agent",
"switchSuccess": "Agent switched successfully",
"switchFailed": "Failed to switch agent",
"loadFailed": "Failed to load agent list",
"loadConfigFailed": "Failed to load agent config",
"saveFailed": "Failed to save agent",
"idRequired": "Please enter agent ID",
"idLabel": "Agent ID (optional)",
"idHelp": "Leave empty to auto-generate. Only letters, digits, hyphens and underscores allowed.",
"idPattern": "ID can only contain letters, numbers, underscores and hyphens",
"idPlaceholder": "e.g.: my-agent",
"nameRequired": "Please enter agent name",
"namePlaceholder": "e.g.: My Agent",
"descriptionPlaceholder": "Briefly describe this agent's purpose...",
"workspaceHelp": "Leave empty to auto-generate in ~/.qwenpaw/workspaces/<id>",
"dragHandleTooltip": "Drag to reorder agents",
"reorderSuccess": "Agent order saved",
"reorderFailed": "Failed to save agent order",
"defaultNotEditable": "Default agent cannot be edited",
"defaultNotDeletable": "Default agent cannot be deleted",
"disable": "Disable",
"enable": "Enable",
"disabled": "Disabled",
"disableConfirm": "Confirm Disable Agent",
"disableConfirmDesc": "The agent instance will not start after disabling, but will remain visible in the list",
"enableConfirm": "Confirm Enable Agent",
"enableConfirmDesc": "The agent will be available for switching after enabling",
"disableSuccess": "Agent disabled successfully",
"enableSuccess": "Agent enabled successfully",
"toggleFailed": "Failed to toggle agent state",
"enableAgent": "Enable {{name}}",
"disableAgent": "Disable {{name}}",
"disabledAgents": "Disabled ({{count}})",
"pinnedAgents": "Pinned",
"otherAgents": "Other agents",
"pinned": "Pinned",
"defaultPinned": "The default agent is always pinned",
"longPressToPin": "Press and hold to pin",
"longPressToUnpin": "Press and hold to unpin",
"pinAgent": "Pin agent",
"unpinAgent": "Unpin agent",
"pinSuccess": "Agent pinned",
"unpinSuccess": "Agent unpinned",
"pinFailed": "Failed to update pinned state",
"status": {
"disabled": "Disabled",
"pending": "Waiting to start",
"starting": "Starting",
"running": "Running",
"failed": "Startup failed",
"waitUntilStarted": "Available after startup completes"
},
"defaultNotDisablable": "Default agent cannot be disabled",
"currentAgentDeleted": "Current agent has been deleted, automatically switched to default agent",
"currentAgentDisabled": "Current agent has been disabled, automatically switched to default agent",
"switchedToDefault": "Automatically switched to default agent",
"cannotSwitchToDisabled": "This agent is disabled, please enable it in the management page first",
"initialSkills": "Initial Skills",
"initialSkillsHelp": "Select skills to add from the pool. You can add or remove skills later.",
"selectAll": "All",
"selectBuiltin": "Builtin",
"selectNone": "None",
"noPoolSkills": "No skills available in pool",
"addSkillsToAgent": "Add Skills",
"backend": {
"column": "Backend",
"eyebrow": "Agent architecture",
"typeTitle": "Choose how this agent works",
"typeDescription": "The agent type controls every Chat, Coding, and Channel conversation.",
"nativeTitle": "QwenPaw native agent",
"nativeBadge": "Native",
"nativeDescription": "Uses your configured LLM, Skills, tools, memory, and QwenPaw runtime.",
"thirdPartyTitle": "Third-party agent",
"thirdPartyBadge": "Third-party",
"thirdPartyDescription": "Uses an authorized external agent runtime instead of a QwenPaw model.",
"providerTitle": "Choose a third-party agent",
"providerDescription": "Authentication is shared on this device; projects and conversations stay isolated per agent.",
"codexHint": "ChatGPT OAuth · Agent workspace",
"qoderHint": "Qoder account or PAT · Agent workspace",
"account": "Codex account",
"qoderAccount": "Qoder account",
"binary": "Codex executable",
"binaryHelp": "Leave blank to use the Codex CLI bundled with the Python SDK or detect a standalone installation. Otherwise enter the full path to codex on macOS/Linux or codex.exe on Windows. Binaries inside the ChatGPT app or editor extensions are not supported. QwenPaw also reads CODEX_BINARY and the backend PATH.",
"binaryPlaceholder": "Auto-detect, or paste the Codex executable path",
"qoderBinary": "Qoder executable",
"qoderBinaryHelp": "Leave blank to use the qodercli bundled with the Python SDK or detect an existing installation. Otherwise enter the full path to qodercli on macOS/Linux or qodercli.exe on Windows. QwenPaw also reads QODERCLI_PATH and the backend PATH.",
"qoderBinaryPlaceholder": "Auto-detect, or paste the qodercli executable path",
"detect": "Detect",
"detectedBinary": "Codex detected",
"qoderDetectedBinary": "Qoder detected",
"apiKeyLoginHint": "You can also authenticate in a terminal with: codex login --with-api-key",
"qoderAuthHint": "Connect opens Qoder browser login. You can also run qodercli login or set QODER_PERSONAL_ACCESS_TOKEN before starting the backend.",
"qoderConnect": "Connect to Qoder",
"model": "Agent model",
"modelDefault": "Use the agent default",
"defaultBadge": "Default",
"reasoningEffort": "Reasoning effort",
"reasoningDefault": "Use the model default",
"codexNotFound": "Codex runtime not found. Install qwenpaw[codex] or provide a standalone Codex CLI.",
"qoderNotFound": "Qoder runtime not found. Install qwenpaw[qoder] or provide qodercli.",
"chatSettingsHint": "Choose the model, reasoning effort, and execution permissions from the Chat toolbar.",
"capabilityTitle": "QwenPaw capabilities",
"inheritedSkills": "Skills",
"inheritedMcp": "MCP servers",
"runtimeInherited": "Inherited at runtime · new sessions",
"notSupported": "Not supported by this provider",
"policyCompatibility": "MCP policy",
"toolAllowlistSupported": "Tool allowlist supported",
"policyLimited": "Provider limitations apply",
"chatModelHint": "Agent-scoped settings · applied on the next turn",
"appliesNextTurn": "Applies on the next turn",
"approvalMode": "Execution permissions",
"approvalPresets": {
"ask": {
"name": "Ask before changes",
"description": "Allow workspace changes and ask before elevated actions."
},
"read-only": {
"name": "Read only",
"description": "Inspect files without changing them."
},
"workspace": {
"name": "Workspace access",
"description": "Allow workspace changes without confirmation."
},
"accept-edits": {
"name": "Accept edits",
"description": "Allow file edits while keeping other safeguards."
},
"plan": {
"name": "Plan only",
"description": "Analyze and plan without changing files."
},
"auto": {
"name": "Automatic",
"description": "Let Qoder decide which safe actions can run."
},
"full-access": {
"name": "Full access",
"description": "Allow unrestricted local execution without confirmation."
}
}
},
"model": "Model",
"modelHelp": "Assign a specific LLM model to this agent. Leave empty to use the global default.",
"modelPlaceholder": "Use global default",
"noConfiguredModels": "No configured models",
"modelColumn": "Model",
"copyTooltip": "Copy agent configuration",
"copyDefaultTooltip": "Copy using the default agent as a template",
"copyTitle": "Copy Agent Configuration",
"copyNameLabel": "New agent name",
"copyOptionsLabel": "Copy content",
"copyOptionAgentJson": "agent.json (required)",
"copyOptionAgentJsonHint": "Always copies the parsed source config and resets ID, name, workspace, and channels. This is not a byte-for-byte copy of the on-disk agent.json.",
"copyOptionMdFiles": "AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md",
"copyOptionSkills": "skills/ + manifest",
"copyOptionJobs": "jobs.json",
"copyOptionJobsHint": "Copies job definitions only, not run history. The new agent will start running them on schedule after creation.",
"copySuccess": "Agent configuration copied successfully",
"copyFailed": "Failed to copy agent configuration",
"mailManagement": "Email Management",
"mailModeNone": "No email management",
"mailModePersonal": "Manage your personal mailbox",
"mailModeDedicated": "Provision a dedicated mailbox",
"mailName": "Mailbox name",
"mailNameOptional": "Mailbox name (optional)",
"mailNameDedicated": "Mailbox name (optional before registration, required afterward)",
"mailDomain": "Mail domain",
"mailPassword": "Password",
"mailPhone": "Phone number",
"mailAuthCode": "16-digit authorization code",
"mailAuthCodeOptional": "16-digit authorization code / app password (optional)",
"mailCredentialOptional": "Mailbox password (optional)",
"mailNameRequired": "Please enter mailbox name",
"mailPasswordRequired": "Please enter password",
"mailPhoneRequired": "Please enter phone number",
"mailAuthCodeRequired": "Please enter authorization code",
"mailAuthCodeLength": "Authorization code must be 16 characters",
"mailDomainRequired": "Please select a mail domain",
"mailDomainInvalid": "Please enter a valid mail domain, e.g. mycompany.com",
"mailDomainPlaceholder": "Select or enter a mail domain",
"mailProvider": "Mail provider",
"mailProviderRequired": "Please select a mail provider",
"mailProviderPlaceholder": "Select the provider hosting this domain",
"mailProviderTencentExmail": "Tencent Exmail",
"mailProviderAliyunQiye": "Alibaba Enterprise Mail",
"mailProviderNeteaseQiye": "Netease Enterprise Mail",
"mailCredentialLabel": "Credential",
"mailCredentialRequired": "Please enter the credential",
"mailCredentialHintAuthCode": "Enter the 16-digit authorization code generated in the mailbox settings",
"mailCredentialHintGmail": "Enter a Gmail app-specific password (requires 2-Step Verification enabled)",
"mailCredentialHintAliyun": "Enter the mailbox login password",
"mailCredentialHintEnterprise": "Enter the client-specific password or the mailbox login password",
"mailDedicatedCredentialHint": "{{credentialHint}}. Leave this blank before registration; after registration, enter it here and save to finish connecting the mailbox.",
"mailPushTitle": "Auto-response to new mail",
"mailAccessControl": "Mail Access Control",
"mailAccessControlTip": "When enabled, emails from unknown senders require approval before being processed",
"mailPushModeOff": "Off",
"mailPushModeRulesOnly": "Rules only",
"mailPushModeRulesThenAgent": "Rules + wake on demand",
"mailPushModeAgentAll": "Wake for every email",
"mailPushModeOffDesc": "Do nothing automatically for new mail",
"mailPushModeRulesOnlyDesc": "Process new mail with the rules below only, without waking the agent",
"mailPushModeRulesThenAgentDesc": "Apply rules first; wake the agent only when a wake action matches",
"mailPushModeAgentAllDesc": "Wake the agent for every new email and let it decide how to handle it autonomously",
"mailPushModeLegacySuffix": " (legacy)",
"mailPushFieldFrom": "Sender",
"mailPushFieldSubject": "Subject",
"mailPushFieldContent": "Content",
"mailPushFieldKeyword": "Keyword",
"mailPushActionMarkRead": "Mark as read",
"mailPushActionMove": "Move to folder",
"mailPushActionNotify": "Notify only",
"mailPushActionWakeAgent": "Wake agent",
"mailPushContainsPlaceholder": "Contains text",
"mailPushParamMovePlaceholder": "Target folder",
"mailPushParamWakePlaceholder": "Extra instruction (optional)",
"mailPushParamRequired": "Please enter the target folder",
"mailPushAddRule": "Add rule",
"mailPushWakeOptionInvoice": "Download and archive attachments of invoice/billing emails",
"mailPushWakeOptionReply": "Politely reply to inquiry emails",
"mailPushWakeOptionOtp": "Extract the verification code and notify me",
"mailPushWakeOptionSummary": "Summarize key points into the inbox"
},
"skills": {
"title": "Skills",
"description": "Manage agent skills and capabilities.",
"qwenpawManaged": "QwenPaw managed",
"qwenpawManagedHint": "Editable Skills projected into supported third-party agents at runtime.",
"providerManaged": "Third-party agent Skills",
"providerManagedHint": "Discovered from the current third-party agent and shown read-only.",
"providerOnly": "Current third-party agent only",
"readOnly": "Read only",
"noDescription": "No description provided.",
"providerSkillDetails": "Third-party agent Skill details",
"providerManagedDetailHint": "This Skill is managed by the third-party agent. QwenPaw can display and use it, but cannot modify it.",
"provider": "Third-party agent",