@goodandready/dsh-russian-lang 0.2.17 → 0.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/README.ru.md +2 -1
- package/README.zh.md +102 -0
- package/lib/client.js +242 -277
- package/lib/index.js +49 -10
- package/lib/locales/plugins/01-token-dashboard.json +1 -0
- package/lib/locales/plugins/02-subscriptions.json +1 -0
- package/lib/locales/plugins/03-dshmarket.json +1 -0
- package/lib/locales/plugins/04-context-doctor.json +1 -0
- package/lib/locales/plugins/05-plugins-store.json +1 -0
- package/lib/locales/plugins/06-im-hub.json +1 -0
- package/lib/locales/plugins/07-better-sidebar.json +1 -0
- package/lib/locales/plugins/08-task-board.json +1 -0
- package/lib/locales/plugins/09-dshmarket-1.13.json +1 -0
- package/lib/locales/plugins/10-kanban.json +1 -0
- package/lib/locales/plugins/11-skill-hub.json +1 -0
- package/lib/locales/plugins/12-skills-manager.json +1 -0
- package/lib/locales/plugins/13-agent-teams.json +1 -0
- package/lib/locales/plugins/14-ollama-cloud.json +1 -0
- package/lib/locales/plugins/15-commandcode.json +1 -0
- package/lib/locales/plugins/16-usage-stats.json +1 -0
- package/lib/locales/plugins/17-dsh-context.json +1 -0
- package/lib/locales/plugins/18-opencode-palette.json +1 -0
- package/lib/locales/plugins/19-univer-office.json +1 -0
- package/lib/locales/plugins/20-skill-explorer.json +1 -0
- package/lib/locales/plugins/21-auto-collapse.json +1 -0
- package/lib/locales/plugins/22-subagent-director.json +1 -0
- package/lib/locales/plugins/23-moa.json +1 -0
- package/lib/locales/plugins/24-personal-directive.json +1 -0
- package/lib/locales/plugins/25-hooks.json +1 -0
- package/lib/locales/plugins/26-config-manager.json +1 -0
- package/lib/locales/plugins/27-config-manager-sync.json +1 -0
- package/lib/locales/plugins/28-config-manager-market.json +1 -0
- package/lib/locales/plugins/29-config-manager-recovery.json +1 -0
- package/lib/locales/plugins/30-config-manager-history.json +1 -0
- package/lib/locales/plugins/31-dshhub-market.json +1 -0
- package/lib/locales/plugins/32-vision-bridge.json +1 -0
- package/lib/locales/plugins/33-messenger-gateway.json +1 -0
- package/lib/locales/plugins/34-key-rotation.json +1 -0
- package/lib/locales/plugins/35-gitea.json +1 -0
- package/lib/locales/plugins/36-cost-meter.json +1 -0
- package/lib/locales/plugins/37-time-machine.json +1 -0
- package/lib/locales/plugins/38-context-lens.json +1 -0
- package/lib/locales/plugins/39-shadow-auditor.json +1 -0
- package/lib/locales/plugins/40-clinebot.json +1 -0
- package/lib/locales/plugins/41-lanmode.json +1 -0
- package/lib/locales/plugins/42-plugin-console.json +1 -0
- package/lib/locales/plugins/43-better-input.json +1 -0
- package/lib/locales/plugins/44-auto-review.json +1 -0
- package/lib/locales/plugins/45-session-control.json +1 -0
- package/lib/locales/plugins/46-memory-brain.json +1 -0
- package/lib/locales/plugins/47-llm-wiki.json +1 -0
- package/lib/locales/plugins/48-task-tracker.json +1 -0
- package/lib/locales/plugins/49-usage-guard.json +1 -0
- package/lib/locales/plugins/50-automode.json +1 -0
- package/lib/locales/plugins/51-plugin-guard.json +1 -0
- package/lib/locales/plugins/52-navbar.json +1 -0
- package/lib/locales/plugins/53-remote-workspace.json +1 -0
- package/lib/locales/plugins/54-workshop-market.json +1 -0
- package/lib/locales/plugins/55-skin-center.json +1 -0
- package/lib/locales/plugins/56-cron.json +1 -0
- package/lib/locales/plugins/57-live-canvas.json +1 -0
- package/lib/locales/plugins/58-grok-xsearch.json +1 -0
- package/lib/locales/plugins/59-goal.json +1 -0
- package/lib/locales/plugins/60-model-sync.json +1 -0
- package/lib/locales/plugins/61-issue-reporter.json +1 -0
- package/lib/locales/plugins/62-model-search.json +1 -0
- package/lib/locales/plugins/63-agent-orchestrator.json +1 -0
- package/lib/locales/plugins/64-key-limits.json +1 -0
- package/lib/locales/plugins/65-subscriptions.json +1 -0
- package/lib/locales/plugins/66-tts.json +1 -0
- package/lib/locales/plugins/67-voice.json +1 -0
- package/lib/locales/plugins/68-image-gen.json +1 -0
- package/lib/locales/plugins/69-plugin-notify.json +1 -0
- package/lib/locales/plugins/70-hypotheses.json +1 -0
- package/lib/locales/zh-ru.json +1 -0
- package/lib/locales.js +32 -0
- package/lib/plugin-updater.js +8 -2
- package/package.json +6 -7
- package/docs/media/banner.jpg +0 -0
- package/docs/media/language-selector.png +0 -0
- package/docs/media/ui-russian.png +0 -0
- package/ru/01-core-small.json +0 -201
- package/ru/02-conversation.json +0 -834
- package/ru/03-models-workspace.json +0 -190
- package/ru/04-preset-cordis.json +0 -136
- package/ru/05-plugins-subagent.json +0 -158
- package/ru/06-rest.json +0 -257
- package/ru/07-sidebar-previewers.json +0 -57
- package/ru-plugins/01-token-dashboard.json +0 -83
- package/ru-plugins/02-subscriptions.json +0 -40
- package/ru-plugins/03-dshmarket.json +0 -536
- package/ru-plugins/04-context-doctor.json +0 -64
- package/ru-plugins/05-plugins-store.json +0 -81
- package/ru-plugins/06-im-hub.json +0 -97
- package/ru-plugins/07-better-sidebar.json +0 -490
- package/ru-plugins/08-task-board.json +0 -126
- package/ru-plugins/09-dshmarket-1.13.json +0 -46
- package/ru-plugins/10-kanban.json +0 -460
- package/ru-plugins/11-skill-hub.json +0 -257
- package/ru-plugins/12-skills-manager.json +0 -222
- package/ru-plugins/13-agent-teams.json +0 -193
- package/ru-plugins/14-ollama-cloud.json +0 -72
- package/ru-plugins/15-commandcode.json +0 -200
- package/ru-plugins/16-usage-stats.json +0 -126
- package/ru-plugins/17-dsh-context.json +0 -316
- package/ru-plugins/18-opencode-palette.json +0 -31
- package/ru-plugins/19-univer-office.json +0 -57
- package/ru-plugins/20-skill-explorer.json +0 -69
- package/ru-plugins/21-auto-collapse.json +0 -16
- package/ru-plugins/22-subagent-director.json +0 -142
- package/ru-plugins/23-moa.json +0 -214
- package/ru-plugins/24-personal-directive.json +0 -9
- package/ru-plugins/25-hooks.json +0 -11
- package/ru-plugins/26-config-manager.json +0 -453
- package/ru-plugins/27-config-manager-sync.json +0 -202
- package/ru-plugins/28-config-manager-market.json +0 -142
- package/ru-plugins/29-config-manager-recovery.json +0 -102
- package/ru-plugins/30-config-manager-history.json +0 -55
- package/ru-plugins/31-dshhub-market.json +0 -398
- package/ru-plugins/32-vision-bridge.json +0 -216
- package/ru-plugins/33-messenger-gateway.json +0 -236
- package/ru-plugins/34-key-rotation.json +0 -217
- package/ru-plugins/35-gitea.json +0 -174
- package/ru-plugins/36-cost-meter.json +0 -90
- package/ru-plugins/37-time-machine.json +0 -38
- package/ru-plugins/38-context-lens.json +0 -36
- package/ru-plugins/39-shadow-auditor.json +0 -67
- package/ru-plugins/40-clinebot.json +0 -142
- package/ru-plugins/41-lanmode.json +0 -164
- package/ru-plugins/42-plugin-console.json +0 -354
- package/ru-plugins/43-better-input.json +0 -127
- package/ru-plugins/44-auto-review.json +0 -83
- package/ru-plugins/45-session-control.json +0 -122
- package/ru-plugins/46-memory-brain.json +0 -33
- package/ru-plugins/47-llm-wiki.json +0 -26
- package/ru-plugins/48-task-tracker.json +0 -19
- package/ru-plugins/49-usage-guard.json +0 -51
- package/ru-plugins/50-automode.json +0 -28
- package/ru-plugins/51-plugin-guard.json +0 -12
- package/ru-plugins/52-navbar.json +0 -6
- package/ru-plugins/53-remote-workspace.json +0 -140
- package/ru-plugins/54-workshop-market.json +0 -58
- package/ru-plugins/55-skin-center.json +0 -97
- package/ru-plugins/56-cron.json +0 -334
- package/ru-plugins/57-live-canvas.json +0 -121
- package/ru-plugins/58-grok-xsearch.json +0 -80
- package/ru-plugins/59-goal.json +0 -54
- package/ru-plugins/60-model-sync.json +0 -121
- package/ru-plugins/61-issue-reporter.json +0 -192
- package/ru-plugins/62-model-search.json +0 -22
- package/ru-plugins/63-agent-orchestrator.json +0 -10
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"config-manager": {
|
|
3
|
-
"section.label": "Резервное копирование и миграция",
|
|
4
|
-
"section.description": "Экспорт / импорт / миграция конфигурации DSH (секреты исключены; опционально шифрование архива)",
|
|
5
|
-
"view.transfer": "Экспорт и импорт",
|
|
6
|
-
"view.export": "Export",
|
|
7
|
-
"view.import": "Import",
|
|
8
|
-
"view.snapshots": "Backup & Snapshots",
|
|
9
|
-
"view.sync": "Remote Sync",
|
|
10
|
-
"view.market": "Marketplace",
|
|
11
|
-
"view.about": "About",
|
|
12
|
-
"view.more": "More",
|
|
13
|
-
"view.profiles": "Управление профилями",
|
|
14
|
-
"common.close": "Закрыть",
|
|
15
|
-
"common.cancel": "Отмена",
|
|
16
|
-
"common.back": "Назад",
|
|
17
|
-
"common.next": "Далее",
|
|
18
|
-
"common.done": "Готово",
|
|
19
|
-
"common.retry": "Повторить",
|
|
20
|
-
"common.confirm": "Confirm",
|
|
21
|
-
"common.loading": "Загрузка…",
|
|
22
|
-
"common.unknownError": "Неизвестная ошибка",
|
|
23
|
-
"status.ready": "Config Manager ready (plugin {version} · DSH {dsh} · {platform})",
|
|
24
|
-
"status.unavailable": "Config Manager service unavailable — verify the plugin is mounted.",
|
|
25
|
-
"export.mode.quick": "Quick Export",
|
|
26
|
-
"export.mode.quickHint": "One-click export of recommended sections (portable, no device-specific data) for routine backups.",
|
|
27
|
-
"export.mode.custom": "Custom Export",
|
|
28
|
-
"export.mode.customHint": "Select sections per group.",
|
|
29
|
-
"export.security": "Security options",
|
|
30
|
-
"export.encrypt": "Encrypt backup",
|
|
31
|
-
"export.encryptHint": "Encrypt the entire backup file with a password (AES-256-GCM). The password is used once and never written into the backup or any config file; it is required to unlock the backup on import.",
|
|
32
|
-
"export.password": "Backup encryption password",
|
|
33
|
-
"export.passwordConfirm": "Confirm password",
|
|
34
|
-
"export.passwordMismatch": "Passwords do not match",
|
|
35
|
-
"export.passwordRequired": "An encryption password is required when encrypting the backup",
|
|
36
|
-
"export.includeSecrets": "Export secrets",
|
|
37
|
-
"export.includeSecretsHint": "Write the real secrets (credential values) into the backup. Secrets must be stored encrypted: checking this also checks «Encrypt backup»; unchecking «Encrypt backup» unchecks this.",
|
|
38
|
-
"export.run": "Start Export",
|
|
39
|
-
"export.preview": "Preview export contents",
|
|
40
|
-
"export.previewing": "Counting…",
|
|
41
|
-
"export.previewSummary": "Will package {sections} section(s), approx. {size} (no secrets)",
|
|
42
|
-
"export.previewSkipped": "{count} section(s) failed to export and were skipped",
|
|
43
|
-
"export.running": "Exporting…",
|
|
44
|
-
"export.download": "Download backup file",
|
|
45
|
-
"export.saved": "Saved to downloads: {name}",
|
|
46
|
-
"export.selectionWarnings": "Device-specific sections may not apply on another machine:",
|
|
47
|
-
"export.group.unknown": "Other",
|
|
48
|
-
"export.included": "Included",
|
|
49
|
-
"export.excluded": "Excluded",
|
|
50
|
-
"export.naming": "File name & note (optional)",
|
|
51
|
-
"export.fileName": "Custom file name",
|
|
52
|
-
"export.fileNameHint": "Leave empty to auto-name (dsh-config-<date>.zip); no need to type .zip — it is appended automatically. Letters, digits, spaces, — _ . only.",
|
|
53
|
-
"export.fileNameInvalid": "Invalid file name: letters, digits, spaces, — _ . only, no path separators.",
|
|
54
|
-
"export.note": "Note",
|
|
55
|
-
"export.notePlaceholder": "e.g. Full backup before migration / 2026-08 archive",
|
|
56
|
-
"export.noteHint": "The note is shown in the local backup list (and travels with the config backup) so you can tell exports apart.",
|
|
57
|
-
"import.select.title": "Select Backup File",
|
|
58
|
-
"import.select.hint": "Pick a dsh-config-*.zip backup exported from DSH to begin. Analysis is read-only and changes nothing.",
|
|
59
|
-
"import.select.browse": "Choose ZIP file",
|
|
60
|
-
"import.select.reselect": "Reselect",
|
|
61
|
-
"import.select.cancel": "Cancel selection",
|
|
62
|
-
"import.select.file": "Selected: {name}",
|
|
63
|
-
"import.analyzing": "Analyzing backup…",
|
|
64
|
-
"import.compatibility.title": "Compatibility",
|
|
65
|
-
"import.compatibility.score": "Compatibility score: {score}",
|
|
66
|
-
"import.compatibility.ok": "The backup can be imported",
|
|
67
|
-
"import.compatibility.fail": "Backup analysis failed: {reason}",
|
|
68
|
-
"import.preview.title": "Import Preview",
|
|
69
|
-
"import.preview.willChange": "{count} item(s) will change",
|
|
70
|
-
"import.preview.unchanged": "{count} item(s) already identical (skipped)",
|
|
71
|
-
"import.preview.settings": "{count} settings update(s)",
|
|
72
|
-
"import.preview.plugins": "{count} plugin(s) to install",
|
|
73
|
-
"import.preview.mcp": "{count} MCP server(s) added",
|
|
74
|
-
"import.preview.prompts": "{count} prompt(s)",
|
|
75
|
-
"import.preview.paths": "{count} path mapping(s) needed",
|
|
76
|
-
"import.preview.secrets": "{count} secret(s) to re-enter",
|
|
77
|
-
"import.preview.conflicts": "{count} conflict(s)",
|
|
78
|
-
"import.preview.restart": "A DSH restart is required after import",
|
|
79
|
-
"import.confirm.execute": "Confirm Import",
|
|
80
|
-
"import.confirm.warning": "Import modifies the current DSH configuration; a safety snapshot is created first and everything rolls back on failure.",
|
|
81
|
-
"import.confirm.encrypted": "The backup password will decrypt and restore {count} credential(s).",
|
|
82
|
-
"import.rollbackOnError": "Roll back everything on failure (recommended)",
|
|
83
|
-
"import.importing": "Importing… (installing many plugins may take a few minutes; keep this page open)",
|
|
84
|
-
"import.log.title": "Import Log",
|
|
85
|
-
"import.log.empty": "Waiting for command output…",
|
|
86
|
-
"import.log.newOutput": "↓ New output",
|
|
87
|
-
"import.skipCurrent": "Skip current plugin",
|
|
88
|
-
"import.skipPending": "Skipping… the rest of the import continues",
|
|
89
|
-
"import.retrySkipped": "Retry failed/skipped items ({count})",
|
|
90
|
-
"import.secrets.title": "Re-enter Secrets",
|
|
91
|
-
"import.secrets.hint": "These credentials were not exported with the backup (security by design). Enter them manually to use them here; leave blank to skip.",
|
|
92
|
-
"import.secrets.optional": "(optional)",
|
|
93
|
-
"import.secrets.required": "(required)",
|
|
94
|
-
"import.decrypt.badge": "encrypted backup",
|
|
95
|
-
"import.decryptArchive.title": "Unlock Encrypted Backup",
|
|
96
|
-
"import.decryptArchive.hint": "This backup is fully encrypted (the whole file is password-protected). Enter the password set at export time to decrypt and continue — encrypted credentials inside are restored with the same password, so this is the only password prompt. It is used once and never written to disk.",
|
|
97
|
-
"import.decryptArchive.passwordPlaceholder": "Enter backup encryption password",
|
|
98
|
-
"import.decryptArchive.unlock": "Unlock & Continue",
|
|
99
|
-
"import.decryptArchive.unlocking": "Unlocking…",
|
|
100
|
-
"import.decrypt.previewHint": "Encrypted backup: credentials are restored automatically by the unlock password — no further password prompt.",
|
|
101
|
-
"import.conflicts.title": "Resolve Conflicts",
|
|
102
|
-
"import.conflicts.hint": "These items already exist on this machine and differ from the backup. Decide per item.",
|
|
103
|
-
"import.conflicts.keepCurrent": "Keep current",
|
|
104
|
-
"import.conflicts.useImported": "Use backup",
|
|
105
|
-
"import.conflicts.review": "Decide later",
|
|
106
|
-
"import.conflicts.unresolved": "{count} item(s) unresolved",
|
|
107
|
-
"import.conflicts.keepCurrentAll": "Keep all current",
|
|
108
|
-
"import.conflicts.useImportedAll": "Use all backup",
|
|
109
|
-
"import.paths.title": "Path Mapping",
|
|
110
|
-
"import.paths.hint": "Absolute paths in the backup may not exist on this machine. Map each path to a new location (leave blank to skip).",
|
|
111
|
-
"import.paths.old": "Original path",
|
|
112
|
-
"import.paths.new": "New path",
|
|
113
|
-
"import.paths.unresolved": "{count} path(s) unmapped",
|
|
114
|
-
"snapshots.title": "Backup & Snapshots",
|
|
115
|
-
"snapshots.hint": "Export backups = portable ZIPs (download / one-click import / delete, incl. scheduled full backups). Snapshot restore = back to the pre-import state: whole-file restore of settings/patch, uninstall plugins added during import, compensate modified files; current files are backed up to a safe location first.",
|
|
116
|
-
"snapshots.subTab.restore": "Snapshot Restore",
|
|
117
|
-
"snapshots.subTab.files": "Backup Files",
|
|
118
|
-
"snapshots.subTab.recovery": "Recovery",
|
|
119
|
-
"snapshots.empty": "No snapshots yet. A safety snapshot is created automatically on import.",
|
|
120
|
-
"snapshots.loading": "Loading snapshots…",
|
|
121
|
-
"snapshots.selectHint": "Select a snapshot to preview its restore plan (read-only preview, changes nothing):",
|
|
122
|
-
"snapshots.createdAt": "Created",
|
|
123
|
-
"snapshots.sourceZip": "Source",
|
|
124
|
-
"snapshots.status": "Status",
|
|
125
|
-
"snapshots.entries": "Entries",
|
|
126
|
-
"snapshots.plugins": "Plugins",
|
|
127
|
-
"snapshots.actions": "Actions",
|
|
128
|
-
"snapshots.retentionHint": "Up to {count} snapshots are kept automatically (oldest pruned); pinned snapshots are exempt from auto-pruning and can only be deleted manually.",
|
|
129
|
-
"snapshots.pin": "Pin",
|
|
130
|
-
"snapshots.unpin": "Unpin",
|
|
131
|
-
"snapshots.delete": "Delete",
|
|
132
|
-
"snapshots.deleteConfirmTitle": "Delete Snapshot",
|
|
133
|
-
"snapshots.deleteConfirm": "Delete the snapshot created at {time}? This pre-import rollback point will be permanently removed and cannot be recovered.",
|
|
134
|
-
"snapshots.status.pending": "Pending",
|
|
135
|
-
"snapshots.status.done": "Done",
|
|
136
|
-
"snapshots.status.rolled-back": "Rolled back",
|
|
137
|
-
"snapshots.status.unknown": "Unknown",
|
|
138
|
-
"snapshots.planTitle": "Restore Plan Preview",
|
|
139
|
-
"snapshots.viewPlan": "View restore plan",
|
|
140
|
-
"snapshots.noActions": "No restorable actions for this snapshot (or all skipped).",
|
|
141
|
-
"snapshots.execute": "Restore now",
|
|
142
|
-
"snapshots.executing": "Restoring…",
|
|
143
|
-
"snapshots.confirmTitle": "Confirm restore",
|
|
144
|
-
"snapshots.confirmRestore": "Confirm restore? Current files are first backed up to a safe location, then plugins added during the import are removed.",
|
|
145
|
-
"snapshots.reportTitle": "Restore Report",
|
|
146
|
-
"snapshots.restored": "Restored",
|
|
147
|
-
"snapshots.removedPlugins": "Removed plugins",
|
|
148
|
-
"snapshots.manualHints": "Manual action needed",
|
|
149
|
-
"snapshots.failed": "Failed",
|
|
150
|
-
"snapshots.skipped": "Skipped",
|
|
151
|
-
"snapshots.kind.hostFileRestore": "Restore whole file",
|
|
152
|
-
"snapshots.kind.hostFileRemove": "Remove whole file",
|
|
153
|
-
"snapshots.kind.pluginRemove": "Uninstall plugin",
|
|
154
|
-
"snapshots.kind.fileRestore": "Restore file",
|
|
155
|
-
"snapshots.kind.fileRemove": "Remove file",
|
|
156
|
-
"snapshots.kind.credentialHint": "Manual hint",
|
|
157
|
-
"snapshots.kind.skip": "Skip",
|
|
158
|
-
"snapshots.kind.unknown": "Unknown",
|
|
159
|
-
"snapshots.summary": "{hostFileRestores} whole-file restore · {hostFileRemoves} whole-file remove · {pluginRemoves} plugin uninstall · {fileRestores} file restore · {fileRemoves} file remove · {credentialHints} credential hints · {skips} skip",
|
|
160
|
-
"backupSchedule.title": "Scheduled Full Backups",
|
|
161
|
-
"backupSchedule.hint": "Automatically export a full backup ZIP in the background on a fixed cadence (secrets are never included, never encrypted — use manual export for encryption). Config lives in sync/backup-schedule.json and migrates with the self section.",
|
|
162
|
-
"backupSchedule.enabled": "Enable scheduled backups",
|
|
163
|
-
"backupSchedule.enabledHint": "When on, DSH backs up automatically on the cadence below; one run fires on every startup (skipped if less than 1h since the last run).",
|
|
164
|
-
"backupSchedule.interval": "Backup interval",
|
|
165
|
-
"backupSchedule.interval.6h": "Every 6 hours",
|
|
166
|
-
"backupSchedule.interval.12h": "Every 12 hours",
|
|
167
|
-
"backupSchedule.interval.24h": "Every 24 hours",
|
|
168
|
-
"backupSchedule.interval.7d": "Every 7 days",
|
|
169
|
-
"backupSchedule.interval.custom": "Custom (weekly at a fixed time)",
|
|
170
|
-
"backupSchedule.customHint": "Runs a full backup once a week at the selected weekday and time (missed triggers are not backfilled)",
|
|
171
|
-
"backupSchedule.weekday.sunday": "Sunday",
|
|
172
|
-
"backupSchedule.weekday.monday": "Monday",
|
|
173
|
-
"backupSchedule.weekday.tuesday": "Tuesday",
|
|
174
|
-
"backupSchedule.weekday.wednesday": "Wednesday",
|
|
175
|
-
"backupSchedule.weekday.thursday": "Thursday",
|
|
176
|
-
"backupSchedule.weekday.friday": "Friday",
|
|
177
|
-
"backupSchedule.weekday.saturday": "Saturday",
|
|
178
|
-
"backupSchedule.save": "Save settings",
|
|
179
|
-
"backupSchedule.saved": "Settings saved",
|
|
180
|
-
"backupSchedule.runNow": "Back up now",
|
|
181
|
-
"backupSchedule.running": "Backing up…",
|
|
182
|
-
"backupSchedule.lastRun": "Last run",
|
|
183
|
-
"backupSchedule.never": "Never run",
|
|
184
|
-
"backupSchedule.status.success": "Success",
|
|
185
|
-
"backupSchedule.status.skipped": "Skipped",
|
|
186
|
-
"backupSchedule.status.failed": "Failed",
|
|
187
|
-
"backupSchedule.consecutiveFailures": "Scheduled backups failed {count} time(s) in a row — check the configuration (disk space / permissions / section export errors)",
|
|
188
|
-
"backupSchedule.loading": "Loading scheduled backup settings…",
|
|
189
|
-
"backupSchedule.error": "Failed to load scheduled backup settings",
|
|
190
|
-
"backupFiles.title": "Backup Files",
|
|
191
|
-
"backupFiles.hint": "All export artifacts (manual exports and scheduled backups) are managed here: download to your machine, import to restore, or delete. Scheduled backups auto-keep the latest 10.",
|
|
192
|
-
"backupFiles.empty": "No backup files yet. They appear here after a manual export or once scheduled backups are enabled.",
|
|
193
|
-
"backupFiles.loading": "Loading backup files…",
|
|
194
|
-
"backupFiles.error": "Failed to load backup files",
|
|
195
|
-
"backupFiles.source.auto": "Scheduled",
|
|
196
|
-
"backupFiles.source.manual": "Manual",
|
|
197
|
-
"backupFiles.download": "Download",
|
|
198
|
-
"backupFiles.import": "Import",
|
|
199
|
-
"backupFiles.delete": "Delete",
|
|
200
|
-
"backupFiles.deleteConfirmTitle": "Delete backup file",
|
|
201
|
-
"backupFiles.deleteConfirm": "Delete backup file \\«{name}\\»? This cannot be undone.",
|
|
202
|
-
"backupFiles.searchPlaceholder": "Search by file name or note…",
|
|
203
|
-
"backupFiles.searchEmpty": "No matching backup files",
|
|
204
|
-
"backupFiles.inspect": "Inspect / Compare",
|
|
205
|
-
"backupFiles.inspectLoading": "Analyzing backup contents…",
|
|
206
|
-
"backupFiles.inspectEmpty": "This backup could not be analyzed (corrupt or unsupported format)",
|
|
207
|
-
"backupFiles.inspectSections": "Sections included",
|
|
208
|
-
"backupFiles.inspectDiff": "Diff against this backup (read-only preview)",
|
|
209
|
-
"backupFiles.inspectItems": "Change details",
|
|
210
|
-
"backupFiles.inspectGroup.conflicts": "Conflicts (need decision)",
|
|
211
|
-
"backupFiles.inspectGroup.changes": "Changes (will apply)",
|
|
212
|
-
"backupFiles.inspectGroup.paths": "Path mappings (need handling)",
|
|
213
|
-
"backupFiles.inspectGroup.skipped": "Identical (nothing to do)",
|
|
214
|
-
"backupFiles.inspectGroup.others": "Others",
|
|
215
|
-
"report.export.title": "Export Complete",
|
|
216
|
-
"report.import.title": "Import Result",
|
|
217
|
-
"report.rollback.title": "Rollback Report",
|
|
218
|
-
"report.action.fixIssues": "View failures",
|
|
219
|
-
"report.action.viewDetails": "View details",
|
|
220
|
-
"report.action.done": "Done",
|
|
221
|
-
"report.needsRestart": "Plugin / MCP changes take effect after restarting DSH.",
|
|
222
|
-
"error.title": "Operation failed",
|
|
223
|
-
"error.hint": "Error messages are auto-redacted and never leak secrets.",
|
|
224
|
-
"starPrompt.title": "Enjoying Config Manager?",
|
|
225
|
-
"starPrompt.body": "If you find this plugin useful, please give it a ⭐ on GitHub — your support keeps it maintained!",
|
|
226
|
-
"starPrompt.star": "Star on GitHub",
|
|
227
|
-
"starPrompt.dismiss": "Don't ask again",
|
|
228
|
-
"about.title": "About DSH Config Manager",
|
|
229
|
-
"about.subtitle": "Plugin info, author and feedback links",
|
|
230
|
-
"about.official": "Official",
|
|
231
|
-
"about.version": "Version {version}",
|
|
232
|
-
"about.dshVersion": "DSH {version}",
|
|
233
|
-
"about.links": "Links",
|
|
234
|
-
"about.star": "⭐ Star on GitHub",
|
|
235
|
-
"about.repo": "GitHub Repository",
|
|
236
|
-
"about.docs": "Documentation",
|
|
237
|
-
"about.issues": "Issues",
|
|
238
|
-
"about.authorLabel": "Author",
|
|
239
|
-
"about.loading": "Loading version info…",
|
|
240
|
-
"about.retryStatus": "Retry",
|
|
241
|
-
"about.releaseNotes": "Release Notes",
|
|
242
|
-
"about.releaseNotes.title": "Release Notes",
|
|
243
|
-
"about.releaseNotes.loading": "Loading release notes…",
|
|
244
|
-
"about.releaseNotes.loadingMore": "Loading more releases…",
|
|
245
|
-
"about.releaseNotes.empty": "No releases found.",
|
|
246
|
-
"about.releaseNotes.error": "Failed to load release notes. Please check your network connection or try again later.",
|
|
247
|
-
"about.releaseNotes.retry": "Retry",
|
|
248
|
-
"about.releaseNotes.viewOnGithub": "View all releases on GitHub",
|
|
249
|
-
"about.releaseNotes.viewSingleOnGithub": "View on GitHub",
|
|
250
|
-
"about.releaseNotes.allLoaded": "All releases loaded",
|
|
251
|
-
"about.releaseNotes.prerelease": "Pre-release",
|
|
252
|
-
"about.releaseNotes.latest": "Latest",
|
|
253
|
-
"about.releaseNotes.noBody": "No description provided for this release.",
|
|
254
|
-
"about.releaseNotes.confirm": "Confirm",
|
|
255
|
-
"about.releaseNotes.neverShow": "Don't show again",
|
|
256
|
-
"about.cli.title": "CLI Rescue Tool",
|
|
257
|
-
"about.cli.hint": "The GUI lives inside DSH — when DSH cannot start, the separately installed CLI (dsh-config-manager) is your first rescue tool: list snapshots / offline restore / one-click DSH reinstall, no DSH runtime needed. Install once and use it on any machine:",
|
|
258
|
-
"about.cli.docs": "CLI documentation",
|
|
259
|
-
"profiles.title": "Profiles",
|
|
260
|
-
"profiles.subtitle": "Save your current DSH configuration as multiple switchable profiles (Work / Personal / …); switching includes preview + auto snapshot + rollback on failure.",
|
|
261
|
-
"profiles.save.title": "Save current config as a profile",
|
|
262
|
-
"profiles.save.hint": "Pick a name and save: contents reuse the export pipeline (no secrets), file sections (skills / presets) are embedded too.",
|
|
263
|
-
"profiles.save.placeholder": "e.g. Work / Personal / Minimal",
|
|
264
|
-
"profiles.save.action": "Save profile",
|
|
265
|
-
"profiles.save.saving": "Saving…",
|
|
266
|
-
"profiles.nameInvalid": "Invalid profile name: letters, digits and common characters only; no path separators (/ \\\\) or \\«..\\»",
|
|
267
|
-
"profiles.name": "Name",
|
|
268
|
-
"profiles.sections": "Sections",
|
|
269
|
-
"profiles.updatedAt": "Updated",
|
|
270
|
-
"profiles.loading": "Loading profiles…",
|
|
271
|
-
"profiles.empty": "No profiles yet. Save the current configuration to get started.",
|
|
272
|
-
"profiles.switch": "Switch",
|
|
273
|
-
"profiles.previewHint": "Click to preview the switch (read-only)",
|
|
274
|
-
"profiles.rename": "Rename",
|
|
275
|
-
"profiles.delete": "Delete",
|
|
276
|
-
"profiles.renameTitle": "Rename profile",
|
|
277
|
-
"profiles.renameMessage": "Rename profile \\«{name}\\» to:",
|
|
278
|
-
"profiles.deleteTitle": "Delete profile",
|
|
279
|
-
"profiles.deleteMessage": "Delete profile \\«{name}\\»? This group of configuration snapshots will be permanently removed.",
|
|
280
|
-
"profiles.import.title": "Import profile",
|
|
281
|
-
"profiles.import.hint": "Import an exported profile.json (from this or another machine; file sections are embedded).",
|
|
282
|
-
"profiles.import.choose": "Choose JSON file",
|
|
283
|
-
"profiles.switchPreviewTitle": "Switch preview: {name}",
|
|
284
|
-
"profiles.previewing": "Analyzing switch plan…",
|
|
285
|
-
"profiles.previewSummary": "Switch impact",
|
|
286
|
-
"profiles.previewWillChange": "{count} item(s) will change",
|
|
287
|
-
"profiles.previewUnchanged": "{count} identical",
|
|
288
|
-
"profiles.previewConflicts": "{count} conflict(s)",
|
|
289
|
-
"profiles.previewSecrets": "{count} secret(s) to re-enter",
|
|
290
|
-
"profiles.previewRestart": "DSH restart required",
|
|
291
|
-
"profiles.previewNote": "Read-only preview above (zero writes). After confirmation a snapshot is created automatically and everything rolls back on failure.",
|
|
292
|
-
"profiles.previewSections": "Sections in this profile",
|
|
293
|
-
"profiles.previewItems": "Change details",
|
|
294
|
-
"profiles.switchConfirm": "Confirm switch",
|
|
295
|
-
"profiles.switching": "Switching… (auto snapshot + staged apply)",
|
|
296
|
-
"profiles.switchDone": "Switch complete: {count} item(s) applied",
|
|
297
|
-
"profiles.switchFailed": "Switch failed (some items not applied)",
|
|
298
|
-
"profiles.switchRolledBack": "Switch failed — fully rolled back",
|
|
299
|
-
"nextSteps.title": "Next steps",
|
|
300
|
-
"nextSteps.done": "All done — nothing else to handle",
|
|
301
|
-
"nextSteps.restart.title": "Restart DSH to apply ({count})",
|
|
302
|
-
"nextSteps.restart.hint": "These changes only take effect after restarting DSH:",
|
|
303
|
-
"nextSteps.secrets.title": "Re-enter credentials ({count})",
|
|
304
|
-
"nextSteps.secrets.hint": "These credentials were not exported with the backup; re-enter them on this machine:",
|
|
305
|
-
"nextSteps.unresolved.title": "Failed / skipped ({count})",
|
|
306
|
-
"nextSteps.unresolved.hint": "These items were not applied; you can retry them from the result page:",
|
|
307
|
-
"view.overview": "Обзор",
|
|
308
|
-
"toast.copied": "Скопировано в буфер обмена",
|
|
309
|
-
"toast.copyFailed": "Не удалось скопировать — выделите текст и скопируйте вручную",
|
|
310
|
-
"toast.refreshed": "Обновлено",
|
|
311
|
-
"overview.subtitle": "Здоровье конфигурации и быстрые действия (данные только для чтения из каждого раздела)",
|
|
312
|
-
"overview.refresh": "Обновить",
|
|
313
|
-
"overview.loading": "Загрузка обзора…",
|
|
314
|
-
"overview.health.ok": "Конфигурация в полном порядке",
|
|
315
|
-
"overview.health.noBackup": "Резервных копий пока нет — сначала создайте бэкап или снимок",
|
|
316
|
-
"overview.health.scheduleFailed": "Последний бэкап по расписанию не удался — проверьте настройки",
|
|
317
|
-
"overview.health.recovery": "Неразрешённые элементы восстановления требуют внимания",
|
|
318
|
-
"overview.health.recoveryAction": "Перейти к восстановлению инцидентов",
|
|
319
|
-
"overview.metric.backups": "Файлы бэкапов",
|
|
320
|
-
"overview.metric.snapshots": "Снимки безопасности",
|
|
321
|
-
"overview.metric.schedule": "Бэкап по расписанию",
|
|
322
|
-
"overview.metric.sync": "Удалённая синхронизация",
|
|
323
|
-
"overview.state.on": "Вкл.",
|
|
324
|
-
"overview.state.off": "Выкл.",
|
|
325
|
-
"overview.meta.lastBackup": "Посл.: {time}",
|
|
326
|
-
"overview.meta.noBackup": "Записей пока нет",
|
|
327
|
-
"overview.meta.scheduleOn": "Включено · посл. запуск {time}",
|
|
328
|
-
"overview.meta.scheduleOff": "Отключено (включите для автозащиты)",
|
|
329
|
-
"overview.meta.scheduleFail": "Сбой последнего бэкапа",
|
|
330
|
-
"overview.meta.syncOn": "Настроено · посл. синхронизация {time}",
|
|
331
|
-
"overview.meta.syncOff": "Не настроено",
|
|
332
|
-
"overview.meta.never": "Никогда не запускалось",
|
|
333
|
-
"overview.time.now": "только что",
|
|
334
|
-
"overview.time.min": "{n} мин назад",
|
|
335
|
-
"overview.time.hour": "{n} ч назад",
|
|
336
|
-
"overview.time.day": "{n} дн назад",
|
|
337
|
-
"overview.quick.title": "Быстрые действия",
|
|
338
|
-
"overview.quick.backup": "Создать бэкап",
|
|
339
|
-
"overview.quick.backupHint": "Полный снимок (без секретов), доступный для отката в любой момент",
|
|
340
|
-
"overview.quick.backupDone": "Резервное копирование завершено",
|
|
341
|
-
"overview.quick.backupFailed": "Сбой резервного копирования",
|
|
342
|
-
"overview.quick.export": "Экспорт бэкапа",
|
|
343
|
-
"overview.quick.exportHint": "Создать переносимый ZIP-архив резервной копии",
|
|
344
|
-
"overview.quick.import": "Импорт / восстановление",
|
|
345
|
-
"overview.quick.importHint": "Восстановить конфигурацию из файла бэкапа на этом компьютере",
|
|
346
|
-
"overview.quick.sync": "Удалённая синхронизация",
|
|
347
|
-
"overview.quick.syncHint": "Поддерживать одинаковые настройки на разных устройствах (Git / WebDAV)",
|
|
348
|
-
"overview.activity.title": "Недавняя активность",
|
|
349
|
-
"overview.activity.empty": "Активности пока нет (здесь появятся бэкапы, импорты и синхронизации)",
|
|
350
|
-
"overview.suggest.title": "Рекомендации",
|
|
351
|
-
"overview.suggest.schedule": "Включите бэкап по расписанию для автоматической защиты настроек",
|
|
352
|
-
"overview.suggest.sync": "Настройте удалённую синхронизацию для лёгкого переноса между устройствами",
|
|
353
|
-
"overview.empty.title": "Начните защиту своей конфигурации",
|
|
354
|
-
"overview.empty.body": "После создания первого бэкапа или снимка здесь отобразятся статус здоровья и недавняя активность.",
|
|
355
|
-
"overview.running": "Задач выполняется: {count}",
|
|
356
|
-
"overview.kind.import": "Импорт",
|
|
357
|
-
"overview.kind.restore": "Восстановление",
|
|
358
|
-
"overview.kind.rollback": "Откат",
|
|
359
|
-
"overview.kind.profile-switch": "Переключение профиля",
|
|
360
|
-
"overview.kind.profile-delete": "Удаление профиля",
|
|
361
|
-
"overview.kind.profile-rename": "Переименование профиля",
|
|
362
|
-
"overview.kind.profile-save": "Сохранение профиля",
|
|
363
|
-
"overview.kind.profile-import": "Импорт профиля",
|
|
364
|
-
"overview.kind.sync-apply": "Применение синхронизации",
|
|
365
|
-
"overview.kind.autosync": "Автосинхронизация",
|
|
366
|
-
"overview.kind.recovery": "Восстановление",
|
|
367
|
-
"overview.kind.backup": "Резервное копирование",
|
|
368
|
-
"overview.kind.snapshot-delete": "Удаление снимка",
|
|
369
|
-
"overview.kind.snapshot-prune": "Очистка снимков",
|
|
370
|
-
"overview.kind.other": "Другая операция",
|
|
371
|
-
"import.stage.select": "Выбор",
|
|
372
|
-
"import.stage.analyze": "Анализ",
|
|
373
|
-
"import.stage.decide": "Предпросмотр и решение",
|
|
374
|
-
"import.stage.confirm": "Подтверждение",
|
|
375
|
-
"import.stage.execute": "Выполнение",
|
|
376
|
-
"import.stage.done": "Готово",
|
|
377
|
-
"import.stepper.label": "Шаг {current} из {total}: {label}",
|
|
378
|
-
"snapshots.subTab.schedule": "Расписание",
|
|
379
|
-
"snapshots.empty.title": "Снимков пока нет",
|
|
380
|
-
"snapshots.empty.body": "Снимки создаются автоматически перед импортом и восстановлением для отката в один клик. Вы также можете сделать снимок прямо сейчас.",
|
|
381
|
-
"snapshots.empty.viewFiles": "Просмотр файлов бэкапов",
|
|
382
|
-
"snapshots.empty.runBackup": "Создать снимок сейчас",
|
|
383
|
-
"backupFiles.noteUnreadable": "(примечание не читается)",
|
|
384
|
-
"snapshots.deleted": "Снимок удалён",
|
|
385
|
-
"backupFiles.name": "Файл",
|
|
386
|
-
"backupFiles.source": "Источник",
|
|
387
|
-
"backupFiles.size": "Размер",
|
|
388
|
-
"backupFiles.time": "Изменён",
|
|
389
|
-
"backupFiles.deleted": "Удалён файл бэкапа «{name}»",
|
|
390
|
-
"about.diag.label": "Источник списка плагинов",
|
|
391
|
-
"about.diag.profileDir": "Каталог: {path}",
|
|
392
|
-
"about.diag.profile": "Профиль: {profile}",
|
|
393
|
-
"about.diag.pluginCount": "Обнаружено плагинов: {count}",
|
|
394
|
-
"about.diag.manifestUnreadable": "В каталоге отсутствует читаемый package.json — список плагинов пуст. Проверьте соответствие профиля DSH и переменной DSH_HOME этому пути.",
|
|
395
|
-
"about.diag.bundles": "бандлы: {bundles}",
|
|
396
|
-
"about.diag.hint": "Если данные не совпадают с вашей конфигурацией, проверьте аргумент DSH --profile и переменную DSH_HOME.",
|
|
397
|
-
"profiles.save.done": "Сохранён профиль «{name}»",
|
|
398
|
-
"profiles.delete.done": "Удалён профиль «{name}»",
|
|
399
|
-
"profiles.import.done": "Импортирован профиль «{name}»",
|
|
400
|
-
"import.compatibility.sections": "Разделов: {count}",
|
|
401
|
-
"import.compatibility.plugins": "установлено {installed} · к установке {toInstall}",
|
|
402
|
-
"import.compatibility.paths": "Проблем с путями: {count}",
|
|
403
|
-
"import.compatibility.secrets": "Секретов для повторного ввода: {count}",
|
|
404
|
-
"import.compatibility.score.excellent": "Отличная",
|
|
405
|
-
"import.compatibility.score.good": "Хорошая",
|
|
406
|
-
"import.compatibility.score.partial": "Частичная",
|
|
407
|
-
"import.compatibility.score.unsupported": "Не поддерживается",
|
|
408
|
-
"import.compatibility.sectionsTitle": "Разделы в этой резервной копии",
|
|
409
|
-
"sync.status.lastSync": "Последняя синхронизация",
|
|
410
|
-
"sync.status.sections": "Синхронизируемые разделы",
|
|
411
|
-
"nav.overview": "Обзор",
|
|
412
|
-
"nav.backups": "Бэкапы",
|
|
413
|
-
"nav.export": "Экспорт",
|
|
414
|
-
"nav.import": "Импорт",
|
|
415
|
-
"nav.sync": "Синхронизация",
|
|
416
|
-
"nav.market": "Витрина",
|
|
417
|
-
"nav.profiles": "Профили",
|
|
418
|
-
"nav.activity": "Активность",
|
|
419
|
-
"nav.about": "О плагине",
|
|
420
|
-
"nav.refresh": "Обновить",
|
|
421
|
-
"shell.status.idle": "Ожидание",
|
|
422
|
-
"shell.status.running": "Задач выполняется: {count}",
|
|
423
|
-
"shell.status.recovery": "Ожидает восстановления",
|
|
424
|
-
"shell.version": "Плагин {plugin} · DSH {dsh}",
|
|
425
|
-
"shell.drawer.title": "Активность и информация",
|
|
426
|
-
"overview.result.success": "Успешно",
|
|
427
|
-
"overview.result.failed": "Сбой",
|
|
428
|
-
"overview.result.skipped": "Пропущено",
|
|
429
|
-
"overview.activity.viewAll": "Смотреть все",
|
|
430
|
-
"overview.activity.copy": "Копировать",
|
|
431
|
-
"overview.activity.redacted": "(имя файла скрыто)",
|
|
432
|
-
"overview.location.title": "Хранилище бэкапов",
|
|
433
|
-
"overview.location.dir": "Каталог бэкапов",
|
|
434
|
-
"overview.location.totalSize": "Общий объём",
|
|
435
|
-
"overview.location.retention": "Снимки",
|
|
436
|
-
"overview.location.retentionValue": "{used} / {limit}",
|
|
437
|
-
"overview.location.schedule": "Расписание",
|
|
438
|
-
"overview.location.scheduleOn": "{interval} · посл. {time}",
|
|
439
|
-
"overview.location.scheduleOff": "Выкл.",
|
|
440
|
-
"overview.location.nextRun": "Следующий запуск",
|
|
441
|
-
"overview.location.lastRun": "Последний запуск",
|
|
442
|
-
"overview.sections.title": "Состав разделов",
|
|
443
|
-
"overview.sections.hint": "Оценено по текущей конфигурации (предпросмотр только для чтения, без записи)",
|
|
444
|
-
"overview.sections.total": "Всего",
|
|
445
|
-
"overview.sections.entries": "Элементов: {count}",
|
|
446
|
-
"overview.quick.exportTitle": "Сформировать переносимый ZIP-бэкап и скачать его",
|
|
447
|
-
"overview.quick.importTitle": "Восстановить из файла бэкапа или перенести на этот компьютер",
|
|
448
|
-
"overview.quick.syncTitle": "Синхронизировать конфигурации между устройствами (Git / WebDAV)",
|
|
449
|
-
"overview.quick.backupTitle": "Полный снимок с возможностью отката в любой момент",
|
|
450
|
-
"overview.nav.activity": "Активность",
|
|
451
|
-
"overview.nav.about": "О плагине"
|
|
452
|
-
}
|
|
453
|
-
}
|