dsh-rewind-plugin 0.19.0 → 0.20.0-alpha.1
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.en.md +5 -2
- package/README.md +5 -2
- package/docs/DETAIL.md +1 -0
- package/docs/DETAIL.zh.md +1 -0
- package/docs/preview.svg +1 -0
- package/docs/preview.zh.svg +1 -0
- package/lib/client.js +317 -47
- package/lib/index.js +288 -5
- package/lib/types/client/hidden.d.ts +3 -3
- package/lib/types/client/locales.d.ts +73 -46
- package/lib/types/locales.d.ts +95 -20
- package/locale/de.json +7 -0
- package/locale/en.json +2 -1
- package/locale/es.json +7 -0
- package/locale/fr.json +7 -0
- package/locale/ja.json +7 -0
- package/locale/pt.json +7 -0
- package/locale/ru.json +7 -0
- package/locale/zh.json +2 -1
- package/package.json +66 -64
package/lib/index.js
CHANGED
|
@@ -4,10 +4,6 @@ import { copyFile as copyFile2, rm as rm2, stat as stat2, unlink } from "node:fs
|
|
|
4
4
|
import z from "@deepseek-ai/schemastery";
|
|
5
5
|
|
|
6
6
|
// src/locales.ts
|
|
7
|
-
function preferredLocale(preference) {
|
|
8
|
-
if (typeof preference !== "string") return "en";
|
|
9
|
-
return preference.toLowerCase().split("-")[0] === "zh" ? "zh" : "en";
|
|
10
|
-
}
|
|
11
7
|
var en = {
|
|
12
8
|
"plan.skip": " not restored: {path} ({reason})",
|
|
13
9
|
"skipReason.oversized": "over the {limit} backup limit, so the recorded state predates untracked edits",
|
|
@@ -100,7 +96,294 @@ var zh = {
|
|
|
100
96
|
"cleanup.clearFailed": "\u65E0\u6CD5\u6E05\u9664\u4F1A\u8BDD {sessionId}\uFF1A{detail}\u3002",
|
|
101
97
|
"cleanup.usage": "\u7528\u6CD5\uFF1A\n /snapshot-auto-cleanup \u67E5\u770B\u72B6\u6001\n /snapshot-auto-cleanup on|off \u5F00\u542F/\u5173\u95ED\u81EA\u52A8\u6E05\u7406\n /snapshot-auto-cleanup max-age <\u5929\u6570> \u8BBE\u7F6E\u5931\u6D3B\u9608\u503C\uFF08\u5929\uFF09\n /snapshot-auto-cleanup run [--apply] \u9884\u6F14\uFF0C\u6216\u52A0 --apply \u6267\u884C\n /snapshot-auto-cleanup run --current [--apply] \u9884\u6F14/\u6E05\u9664\u672C\u4F1A\u8BDD\u5FEB\u7167"
|
|
102
98
|
};
|
|
103
|
-
var
|
|
99
|
+
var ja = {
|
|
100
|
+
"plan.skip": " \u5FA9\u5143\u5BFE\u8C61\u5916\uFF1A{path}\uFF08{reason}\uFF09",
|
|
101
|
+
"skipReason.oversized": "{limit} \u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u4E0A\u9650\u3092\u8D85\u3048\u3066\u3044\u308B\u305F\u3081\u3001\u8A18\u9332\u3055\u308C\u305F\u72B6\u614B\u306F\u672A\u8FFD\u8DE1\u306E\u7DE8\u96C6\u3088\u308A\u524D\u306E\u3082\u306E\u3067\u3059",
|
|
102
|
+
"error.invalidTarget": '\u5BFE\u8C61 "{raw}" \u3092\u89E3\u6790\u3067\u304D\u307E\u305B\u3093\uFF08<index> \u307E\u305F\u306F @<seq> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09',
|
|
103
|
+
"sep.list": "\u3001",
|
|
104
|
+
"sep.clause": "\uFF1B",
|
|
105
|
+
"failures.suffix": "\uFF1B{count} \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{list}",
|
|
106
|
+
"failures.item": "{path}\uFF08{message}\uFF09",
|
|
107
|
+
"inflight": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u306F\u65E2\u306B\u5DFB\u304D\u623B\u3057\u304C\u5B9F\u884C\u4E2D\u3067\u3059\u3002\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002",
|
|
108
|
+
"stopFailed": "\u5B9F\u884C\u4E2D\u306E\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u505C\u6B62\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u5DFB\u304D\u623B\u3057\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
|
|
109
|
+
"cancelled": "\u5DFB\u304D\u623B\u3057\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002",
|
|
110
|
+
"failed": "\u5DFB\u304D\u623B\u3057\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{error}\u3002\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u5909\u66F4\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002",
|
|
111
|
+
"restore.count": "{count} \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3057\u307E\u3057\u305F",
|
|
112
|
+
"delete.count": "{count} \u4EF6\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3057\u305F",
|
|
113
|
+
"skip.count": "{count} \u4EF6\u306E\u30D1\u30B9\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F",
|
|
114
|
+
"noRestorable": "\uFF1B\u5BFE\u8C61\u3088\u308A\u5F8C\u306B\u5FA9\u5143\u3067\u304D\u308B\u66F8\u8FBC\u307F\u7CFB\u306E\u5909\u66F4\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
115
|
+
"backupOff": "\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u304C\u7121\u52B9\u306A\u305F\u3081\u3001\u5FA9\u5143\u304C\u4E0D\u5B8C\u5168\u306B\u306A\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059",
|
|
116
|
+
"storeUnsupported": "\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093\uFF1A\u3053\u308C\u3089\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306F\u3001\u3053\u306E\u30D7\u30E9\u30B0\u30A4\u30F3\u304C\u7406\u89E3\u3067\u304D\u308B\u5F62\u5F0F\u3088\u308A\u65B0\u3057\u3044\u4FDD\u5B58\u5F62\u5F0F\uFF08v{version}\uFF09\u3092\u4F7F\u3063\u3066\u3044\u307E\u3059\u3002\u4F55\u3082\u5909\u66F4\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u6D88\u53BB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
117
|
+
"success": "seq {targetSeq} \u3068\u305D\u308C\u4EE5\u964D\u3092\u64A4\u56DE\u3057\u307E\u3057\u305F\uFF08\u4F1A\u8A71\u306F\u4EE5\u524D\u306E\u72B6\u614B\u306B\u623B\u308A\u307E\u3057\u305F\uFF09{restore}\u3002",
|
|
118
|
+
"noUserMessages": "\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306B\u306F\u307E\u3060\u5DFB\u304D\u623B\u3057\u3067\u304D\u308B\u30E6\u30FC\u30B6\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002",
|
|
119
|
+
"command.description": "\u4F1A\u8A71\u3084\u30D5\u30A1\u30A4\u30EB\u3092\u4EE5\u524D\u306E\u6642\u70B9\u307E\u3067\u5DFB\u304D\u623B\u3057\u307E\u3059",
|
|
120
|
+
"command.undoDescription": "/rewind \u306E\u30A8\u30A4\u30EA\u30A2\u30B9",
|
|
121
|
+
"engine.description": "dsh-rewind \u306E\u5185\u90E8\u30B3\u30DE\u30F3\u30C9",
|
|
122
|
+
"engine.rejected": "\u5185\u90E8\u30B3\u30DE\u30F3\u30C9\u3067\u3059\u3002/rewind \u307E\u305F\u306F /undo \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
123
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
124
|
+
"cleanup.description": "\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u3092\u7BA1\u7406\u3057\u307E\u3059",
|
|
125
|
+
"cleanup.inputHint": "on | off | max-age <\u65E5\u6570> | run [--apply] [--current]",
|
|
126
|
+
"cleanup.status": "\u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\uFF1A{state}\u3002\u6700\u5927\u4FDD\u6301\u671F\u9593\uFF1A{days} \u65E5\u3002",
|
|
127
|
+
"cleanup.enabled": "\u6709\u52B9",
|
|
128
|
+
"cleanup.disabled": "\u7121\u52B9",
|
|
129
|
+
"cleanup.onOk": "\u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u3092\u6709\u52B9\u306B\u3057\u307E\u3057\u305F\u3002",
|
|
130
|
+
"cleanup.offOk": "\u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u3092\u7121\u52B9\u306B\u3057\u307E\u3057\u305F \u2014 \u3059\u3079\u3066\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002",
|
|
131
|
+
"cleanup.maxAgeOk": "\u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u306E\u6700\u5927\u4FDD\u6301\u671F\u9593\u3092 {days} \u65E5\u306B\u8A2D\u5B9A\u3057\u307E\u3057\u305F\u3002",
|
|
132
|
+
"cleanup.cfgInvalid": '\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u306E\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u8A2D\u5B9A\u304C\u7121\u52B9\u3067\u3059\uFF1A{detail}\u3002\u4F55\u3082\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"on|off|max-age" \u3067\u8A2D\u5B9A\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002',
|
|
133
|
+
"cleanup.saveFailed": "\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u8A2D\u5B9A\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{detail}\u3002",
|
|
134
|
+
"cleanup.runDry": "\u30C9\u30E9\u30A4\u30E9\u30F3\uFF1A{deleted} \u4EF6\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u524A\u9664\u3057\u3001{freed} \u30D0\u30A4\u30C8\u3092\u89E3\u653E\u3057\u307E\u3059\u3002\u5B9F\u969B\u306B\u524A\u9664\u3059\u308B\u306B\u306F --apply \u3092\u4ED8\u3051\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
135
|
+
"cleanup.runApply": "{deleted} \u4EF6\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u3092\u524A\u9664\u3057\u3001{freed} \u30D0\u30A4\u30C8\u3092\u89E3\u653E\u3057\u307E\u3057\u305F\u3002{kept} \u4EF6\u3092\u4FDD\u6301\u3057\u3001\u6B8B\u308A\u306F {remaining} \u30D0\u30A4\u30C8\u3067\u3059\u3002",
|
|
136
|
+
"cleanup.runFailed": "\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{detail}\u3002",
|
|
137
|
+
"cleanup.skipped": "\uFF08\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30BB\u30C3\u30B7\u30E7\u30F3 {skipped} \u4EF6\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3057\u305F\u3002\uFF09",
|
|
138
|
+
"cleanup.clearDry": "\u30C9\u30E9\u30A4\u30E9\u30F3\uFF1A\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 {entries} \u4EF6\u3092\u6D88\u53BB\u3057\u3001{bytes} \u30D0\u30A4\u30C8\u3092\u89E3\u653E\u3057\u307E\u3059\u3002\u5B9F\u969B\u306B\u524A\u9664\u3059\u308B\u306B\u306F --apply \u3092\u4ED8\u3051\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
139
|
+
"cleanup.clearApply": "\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8 {entries} \u4EF6\u3092\u6D88\u53BB\u3057\u3001{bytes} \u30D0\u30A4\u30C8\u3092\u89E3\u653E\u3057\u307E\u3057\u305F\u3002\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u73FE\u5728\u306E\u72B6\u614B\u304B\u3089\u65B0\u3057\u304F\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u8A18\u9332\u3057\u307E\u3059\u3002",
|
|
140
|
+
"cleanup.clearActive": "\u30BB\u30C3\u30B7\u30E7\u30F3 {sessionId} \u3092\u6D88\u53BB\u3067\u304D\u307E\u305B\u3093\uFF1A\u30BB\u30C3\u30B7\u30E7\u30F3\u306F\u307E\u3060\u5B9F\u884C\u4E2D\u3067\u3001\u505C\u6B62\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30A2\u30A4\u30C9\u30EB\u72B6\u614B\u306B\u306A\u3063\u3066\u304B\u3089\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
|
|
141
|
+
"cleanup.clearCancelled": "\u6D88\u53BB\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F\u3002",
|
|
142
|
+
"cleanup.clearFailed": "\u30BB\u30C3\u30B7\u30E7\u30F3 {sessionId} \u3092\u6D88\u53BB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{detail}\u3002",
|
|
143
|
+
"cleanup.usage": "\u4F7F\u3044\u65B9\uFF1A\n /snapshot-auto-cleanup \u72B6\u614B\u3092\u8868\u793A\n /snapshot-auto-cleanup on|off \u81EA\u52D5\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u306E\u6709\u52B9/\u7121\u52B9\n /snapshot-auto-cleanup max-age <\u65E5\u6570> \u30A2\u30A4\u30C9\u30EB\u3057\u304D\u3044\u5024\u3092\u8A2D\u5B9A\n /snapshot-auto-cleanup run [--apply] \u30C9\u30E9\u30A4\u30E9\u30F3\u3001\u307E\u305F\u306F --apply \u3067\u5B9F\u884C\n /snapshot-auto-cleanup run --current [--apply] \u30C9\u30E9\u30A4\u30E9\u30F3\uFF0F\u73FE\u5728\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u6D88\u53BB"
|
|
144
|
+
};
|
|
145
|
+
var es = {
|
|
146
|
+
"plan.skip": " no restaurado: {path} ({reason})",
|
|
147
|
+
"skipReason.oversized": "supera el l\xEDmite de copias de seguridad de {limit}, por lo que el estado registrado es anterior a los cambios no rastreados",
|
|
148
|
+
"error.invalidTarget": 'No se puede interpretar el destino "{raw}" (se esperaba <index> o @<seq>)',
|
|
149
|
+
"sep.list": ", ",
|
|
150
|
+
"sep.clause": "; ",
|
|
151
|
+
"failures.suffix": "; no se pudieron restaurar {count} archivo(s): {list}",
|
|
152
|
+
"failures.item": "{path} ({message})",
|
|
153
|
+
"inflight": "Ya hay un rebobinado en curso para esta sesi\xF3n; espere por favor.",
|
|
154
|
+
"stopFailed": "No se pudo detener el agente en ejecuci\xF3n; rebobinado cancelado. Int\xE9ntelo de nuevo.",
|
|
155
|
+
"cancelled": "Rebobinado cancelado.",
|
|
156
|
+
"failed": "Error al rebobinar: {error}. La sesi\xF3n no ha cambiado.",
|
|
157
|
+
"restore.count": "{count} archivo(s) restaurado(s)",
|
|
158
|
+
"delete.count": "{count} archivo(s) eliminado(s)",
|
|
159
|
+
"skip.count": "{count} ruta(s) omitida(s)",
|
|
160
|
+
"noRestorable": "; no hay cambios de escritura restaurables despu\xE9s del destino",
|
|
161
|
+
"backupOff": "las copias de seguridad de instant\xE1neas est\xE1n desactivadas, la restauraci\xF3n puede ser incompleta",
|
|
162
|
+
"storeUnsupported": "restauraci\xF3n de archivos no disponible: estas instant\xE1neas usan un formato de almacenamiento m\xE1s reciente (v{version}) que este plugin no entiende; no se ha cambiado nada. Actualice el plugin o borre las instant\xE1neas de esta sesi\xF3n.",
|
|
163
|
+
"success": "Retirado seq {targetSeq} y todo lo posterior (conversaci\xF3n devuelta a un punto anterior){restore}.",
|
|
164
|
+
"noUserMessages": "Esta sesi\xF3n a\xFAn no tiene mensajes de usuario a los que rebobinar.",
|
|
165
|
+
"command.description": "Rebobinar la conversaci\xF3n y/o los archivos a un punto anterior",
|
|
166
|
+
"command.undoDescription": "Alias de /rewind",
|
|
167
|
+
"engine.description": "Comando interno de dsh-rewind",
|
|
168
|
+
"engine.rejected": "Comando interno: use /rewind o /undo.",
|
|
169
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
170
|
+
"cleanup.description": "Gestionar la limpieza autom\xE1tica de las copias de seguridad de instant\xE1neas de sesi\xF3n",
|
|
171
|
+
"cleanup.inputHint": "on | off | max-age <d\xEDas> | run [--apply] [--current]",
|
|
172
|
+
"cleanup.status": "Limpieza autom\xE1tica: {state}. Antig\xFCedad m\xE1xima: {days} d\xEDa(s).",
|
|
173
|
+
"cleanup.enabled": "activada",
|
|
174
|
+
"cleanup.disabled": "desactivada",
|
|
175
|
+
"cleanup.onOk": "Limpieza autom\xE1tica activada.",
|
|
176
|
+
"cleanup.offOk": "Limpieza autom\xE1tica desactivada: se conservan todas las instant\xE1neas.",
|
|
177
|
+
"cleanup.maxAgeOk": "Antig\xFCedad m\xE1xima de la limpieza autom\xE1tica: {days} d\xEDa(s).",
|
|
178
|
+
"cleanup.cfgInvalid": 'Configuraci\xF3n de limpieza de instant\xE1neas no v\xE1lida: {detail}. No se ejecut\xF3 nada; use "on|off|max-age" para restablecer la configuraci\xF3n.',
|
|
179
|
+
"cleanup.saveFailed": "No se pudo guardar la configuraci\xF3n de limpieza: {detail}.",
|
|
180
|
+
"cleanup.runDry": "Simulaci\xF3n: se eliminar\xEDan {deleted} copia(s) de seguridad de instant\xE1neas de sesi\xF3n y se liberar\xEDan {freed} bytes. Vuelva a ejecutar con --apply para eliminar.",
|
|
181
|
+
"cleanup.runApply": "Se eliminaron {deleted} copia(s) de seguridad de instant\xE1neas de sesi\xF3n y se liberaron {freed} bytes; {kept} conservada(s), quedan {remaining} bytes.",
|
|
182
|
+
"cleanup.runFailed": "Error en la limpieza: {detail}.",
|
|
183
|
+
"cleanup.skipped": "({skipped} sesi\xF3n(es) activa(s) omitida(s).)",
|
|
184
|
+
"cleanup.clearDry": "Simulaci\xF3n: se borrar\xEDan {entries} instant\xE1nea(s) de la sesi\xF3n actual y se liberar\xEDan {bytes} bytes. Vuelva a ejecutar con --apply para eliminar.",
|
|
185
|
+
"cleanup.clearApply": "Se borraron {entries} instant\xE1nea(s) de la sesi\xF3n actual y se liberaron {bytes} bytes. La sesi\xF3n ahora registra instant\xE1neas nuevas desde su estado actual.",
|
|
186
|
+
"cleanup.clearActive": "No se pudo borrar la sesi\xF3n {sessionId}: sigue en ejecuci\xF3n y no se pudo detener. Int\xE9ntelo de nuevo cuando est\xE9 inactiva.",
|
|
187
|
+
"cleanup.clearCancelled": "Borrado cancelado.",
|
|
188
|
+
"cleanup.clearFailed": "No se pudo borrar la sesi\xF3n {sessionId}: {detail}.",
|
|
189
|
+
"cleanup.usage": "Uso:\n /snapshot-auto-cleanup mostrar estado\n /snapshot-auto-cleanup on|off activar/desactivar la limpieza autom\xE1tica\n /snapshot-auto-cleanup max-age <d\xEDas> definir el umbral de inactividad\n /snapshot-auto-cleanup run [--apply] simular, o ejecutar con --apply\n /snapshot-auto-cleanup run --current [--apply] simular/borrar las instant\xE1neas de esta sesi\xF3n"
|
|
190
|
+
};
|
|
191
|
+
var fr = {
|
|
192
|
+
"plan.skip": " non restaur\xE9 : {path} ({reason})",
|
|
193
|
+
"skipReason.oversized": "d\xE9passe la limite de {limit} sauvegardes : l\u2019\xE9tat enregistr\xE9 pr\xE9c\xE8de les modifications non suivies",
|
|
194
|
+
"error.invalidTarget": "Impossible d\u2019analyser la cible \xAB {raw} \xBB (attendu : <index> ou @<seq>)",
|
|
195
|
+
"sep.list": ", ",
|
|
196
|
+
"sep.clause": " ; ",
|
|
197
|
+
"failures.suffix": " ; \xE9chec de la restauration de {count} fichier(s) : {list}",
|
|
198
|
+
"failures.item": "{path} ({message})",
|
|
199
|
+
"inflight": "Un rembobinage est d\xE9j\xE0 en cours pour cette session ; veuillez patienter.",
|
|
200
|
+
"stopFailed": "Impossible d\u2019arr\xEAter l\u2019agent en cours ; rembobinage annul\xE9. Veuillez r\xE9essayer.",
|
|
201
|
+
"cancelled": "Rembobinage annul\xE9.",
|
|
202
|
+
"failed": "\xC9chec du rembobinage : {error}. La session est inchang\xE9e.",
|
|
203
|
+
"restore.count": "{count} fichier(s) restaur\xE9(s)",
|
|
204
|
+
"delete.count": "{count} fichier(s) supprim\xE9(s)",
|
|
205
|
+
"skip.count": "{count} chemin(s) ignor\xE9(s)",
|
|
206
|
+
"noRestorable": " ; aucune modification d\u2019\xE9criture restaurable apr\xE8s la cible",
|
|
207
|
+
"backupOff": "les sauvegardes d\u2019instantan\xE9s sont d\xE9sactiv\xE9es, la restauration peut \xEAtre incompl\xE8te",
|
|
208
|
+
"storeUnsupported": "restauration de fichiers indisponible : ces instantan\xE9s utilisent un format de stockage plus r\xE9cent (v{version}) que celui compris par ce plugin ; rien n\u2019a \xE9t\xE9 modifi\xE9. Mettez \xE0 jour le plugin ou effacez les instantan\xE9s de cette session.",
|
|
209
|
+
"success": "Retir\xE9 seq {targetSeq} et tout ce qui suit (conversation revenue \xE0 un point ant\xE9rieur){restore}.",
|
|
210
|
+
"noUserMessages": "Cette session n\u2019a pas encore de messages utilisateur vers lesquels rembobiner.",
|
|
211
|
+
"command.description": "Rembobiner la conversation et/ou les fichiers \xE0 un point ant\xE9rieur",
|
|
212
|
+
"command.undoDescription": "Alias de /rewind",
|
|
213
|
+
"engine.description": "Commande interne de dsh-rewind",
|
|
214
|
+
"engine.rejected": "Commande interne : utilisez /rewind ou /undo.",
|
|
215
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
216
|
+
"cleanup.description": "G\xE9rer le nettoyage automatique des sauvegardes d\u2019instantan\xE9s de session",
|
|
217
|
+
"cleanup.inputHint": "on | off | max-age <jours> | run [--apply] [--current]",
|
|
218
|
+
"cleanup.status": "Nettoyage automatique : {state}. Anciennet\xE9 max. : {days} jour(s).",
|
|
219
|
+
"cleanup.enabled": "activ\xE9",
|
|
220
|
+
"cleanup.disabled": "d\xE9sactiv\xE9",
|
|
221
|
+
"cleanup.onOk": "Nettoyage automatique activ\xE9.",
|
|
222
|
+
"cleanup.offOk": "Nettoyage automatique d\xE9sactiv\xE9 \u2014 tous les instantan\xE9s sont conserv\xE9s.",
|
|
223
|
+
"cleanup.maxAgeOk": "Anciennet\xE9 maximale du nettoyage automatique : {days} jour(s).",
|
|
224
|
+
"cleanup.cfgInvalid": "Configuration de nettoyage des instantan\xE9s non valide : {detail}. Rien n\u2019a \xE9t\xE9 ex\xE9cut\xE9 ; utilisez \xAB on|off|max-age \xBB pour r\xE9initialiser la configuration.",
|
|
225
|
+
"cleanup.saveFailed": "Impossible d\u2019enregistrer la configuration de nettoyage : {detail}.",
|
|
226
|
+
"cleanup.runDry": "Simulation : supprimerait {deleted} sauvegarde(s) d\u2019instantan\xE9s de session et lib\xE9rerait {freed} octets. Relancez avec --apply pour supprimer.",
|
|
227
|
+
"cleanup.runApply": "Suppression de {deleted} sauvegarde(s) d\u2019instantan\xE9s de session, lib\xE9ration de {freed} octets ; {kept} conserv\xE9e(s), {remaining} octets restants.",
|
|
228
|
+
"cleanup.runFailed": "\xC9chec du nettoyage : {detail}.",
|
|
229
|
+
"cleanup.skipped": "({skipped} session(s) active(s) ignor\xE9e(s).)",
|
|
230
|
+
"cleanup.clearDry": "Simulation : effacerait {entries} instantan\xE9(s) de la session courante et lib\xE9rerait {bytes} octets. Relancez avec --apply pour supprimer.",
|
|
231
|
+
"cleanup.clearApply": "Suppression de {entries} instantan\xE9(s) de la session courante, lib\xE9ration de {bytes} octets. Cette session enregistre d\xE9sormais de nouveaux instantan\xE9s \xE0 partir de son \xE9tat actuel.",
|
|
232
|
+
"cleanup.clearActive": "Impossible d\u2019effacer la session {sessionId} : elle est toujours en cours et n\u2019a pas pu \xEAtre arr\xEAt\xE9e. R\xE9essayez une fois qu\u2019elle est inactive.",
|
|
233
|
+
"cleanup.clearCancelled": "Effacement annul\xE9.",
|
|
234
|
+
"cleanup.clearFailed": "Impossible d\u2019effacer la session {sessionId} : {detail}.",
|
|
235
|
+
"cleanup.usage": "Utilisation :\n /snapshot-auto-cleanup afficher l\u2019\xE9tat\n /snapshot-auto-cleanup on|off activer/d\xE9sactiver le nettoyage automatique\n /snapshot-auto-cleanup max-age <jours> d\xE9finir le seuil d\u2019inactivit\xE9\n /snapshot-auto-cleanup run [--apply] simuler, ou ex\xE9cuter avec --apply\n /snapshot-auto-cleanup run --current [--apply] simuler/effacer les instantan\xE9s de cette session"
|
|
236
|
+
};
|
|
237
|
+
var de = {
|
|
238
|
+
"plan.skip": " nicht wiederhergestellt: {path} ({reason})",
|
|
239
|
+
"skipReason.oversized": "\xFCber dem Sicherungslimit von {limit}, daher stammt der aufgezeichnete Stand von vor nicht erfassten \xC4nderungen",
|
|
240
|
+
"error.invalidTarget": 'Ziel "{raw}" kann nicht verarbeitet werden (erwartet: <index> oder @<seq>)',
|
|
241
|
+
"sep.list": ", ",
|
|
242
|
+
"sep.clause": "; ",
|
|
243
|
+
"failures.suffix": "; {count} Datei(en) konnten nicht wiederhergestellt werden: {list}",
|
|
244
|
+
"failures.item": "{path} ({message})",
|
|
245
|
+
"inflight": "F\xFCr diese Sitzung l\xE4uft bereits ein Zur\xFCckspulen; bitte warten.",
|
|
246
|
+
"stopFailed": "Der laufende Agent konnte nicht gestoppt werden; Zur\xFCckspulen abgebrochen. Bitte erneut versuchen.",
|
|
247
|
+
"cancelled": "Zur\xFCckspulen abgebrochen.",
|
|
248
|
+
"failed": "Zur\xFCckspulen fehlgeschlagen: {error}. Die Sitzung ist unver\xE4ndert.",
|
|
249
|
+
"restore.count": "{count} Datei(en) wiederhergestellt",
|
|
250
|
+
"delete.count": "{count} Datei(en) gel\xF6scht",
|
|
251
|
+
"skip.count": "{count} Pfad(e) \xFCbersprungen",
|
|
252
|
+
"noRestorable": "; keine wiederherstellbaren Schreib\xE4nderungen nach dem Ziel",
|
|
253
|
+
"backupOff": "Snapshot-Sicherungen sind deaktiviert, die Wiederherstellung kann unvollst\xE4ndig sein",
|
|
254
|
+
"storeUnsupported": "Dateiwiederherstellung nicht verf\xFCgbar: Diese Snapshots nutzen ein neueres Speicherformat (v{version}), als dieses Plugin versteht; es wurde nichts ge\xE4ndert. Aktualisieren Sie das Plugin oder l\xF6schen Sie die Snapshots dieser Sitzung.",
|
|
255
|
+
"success": "seq {targetSeq} und alles danach zur\xFCckgezogen (Unterhaltung auf einen fr\xFCheren Stand zur\xFCckgesetzt){restore}.",
|
|
256
|
+
"noUserMessages": "Diese Sitzung hat noch keine Benutzernachrichten, zu denen zur\xFCckgespult werden kann.",
|
|
257
|
+
"command.description": "Unterhaltung und/oder Dateien auf einen fr\xFCheren Stand zur\xFCckspulen",
|
|
258
|
+
"command.undoDescription": "Alias von /rewind",
|
|
259
|
+
"engine.description": "Interner Befehl von dsh-rewind",
|
|
260
|
+
"engine.rejected": "Interner Befehl: Verwenden Sie /rewind oder /undo.",
|
|
261
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
262
|
+
"cleanup.description": "Automatische Bereinigung der Snapshot-Sicherungen von Sitzungen verwalten",
|
|
263
|
+
"cleanup.inputHint": "on | off | max-age <Tage> | run [--apply] [--current]",
|
|
264
|
+
"cleanup.status": "Automatische Bereinigung: {state}. Max. Alter: {days} Tag(e).",
|
|
265
|
+
"cleanup.enabled": "aktiviert",
|
|
266
|
+
"cleanup.disabled": "deaktiviert",
|
|
267
|
+
"cleanup.onOk": "Automatische Bereinigung aktiviert.",
|
|
268
|
+
"cleanup.offOk": "Automatische Bereinigung deaktiviert \u2014 alle Snapshots bleiben erhalten.",
|
|
269
|
+
"cleanup.maxAgeOk": "Maximales Alter der automatischen Bereinigung: {days} Tag(e).",
|
|
270
|
+
"cleanup.cfgInvalid": 'Konfiguration der Snapshot-Bereinigung ung\xFCltig: {detail}. Es wurde nichts ausgef\xFChrt; setzen Sie die Konfiguration mit "on|off|max-age" zur\xFCck.',
|
|
271
|
+
"cleanup.saveFailed": "Bereinigungskonfiguration konnte nicht gespeichert werden: {detail}.",
|
|
272
|
+
"cleanup.runDry": "Testlauf: w\xFCrde {deleted} Snapshot-Sicherung(en) von Sitzungen entfernen und {freed} Bytes freigeben. Erneut mit --apply ausf\xFChren, um zu l\xF6schen.",
|
|
273
|
+
"cleanup.runApply": "{deleted} Snapshot-Sicherung(en) von Sitzungen entfernt, {freed} Bytes freigegeben; {kept} behalten, {remaining} Bytes verbleiben.",
|
|
274
|
+
"cleanup.runFailed": "Bereinigung fehlgeschlagen: {detail}.",
|
|
275
|
+
"cleanup.skipped": "({skipped} aktive Sitzung(en) \xFCbersprungen.)",
|
|
276
|
+
"cleanup.clearDry": "Testlauf: w\xFCrde {entries} Snapshot(s) der aktuellen Sitzung l\xF6schen und {bytes} Bytes freigeben. Erneut mit --apply ausf\xFChren, um zu l\xF6schen.",
|
|
277
|
+
"cleanup.clearApply": "{entries} Snapshot(s) der aktuellen Sitzung gel\xF6scht, {bytes} Bytes freigegeben. Diese Sitzung zeichnet Snapshots jetzt neu ab ihrem aktuellen Stand auf.",
|
|
278
|
+
"cleanup.clearActive": "Sitzung {sessionId} konnte nicht gel\xF6scht werden: sie l\xE4uft noch und konnte nicht gestoppt werden. Versuchen Sie es erneut, wenn sie inaktiv ist.",
|
|
279
|
+
"cleanup.clearCancelled": "L\xF6schen abgebrochen.",
|
|
280
|
+
"cleanup.clearFailed": "Sitzung {sessionId} konnte nicht gel\xF6scht werden: {detail}.",
|
|
281
|
+
"cleanup.usage": "Aufruf:\n /snapshot-auto-cleanup Status anzeigen\n /snapshot-auto-cleanup on|off automatische Bereinigung aktivieren/deaktivieren\n /snapshot-auto-cleanup max-age <Tage> Inaktivit\xE4tsschwelle festlegen\n /snapshot-auto-cleanup run [--apply] Testlauf oder mit --apply ausf\xFChren\n /snapshot-auto-cleanup run --current [--apply] Testlauf/Snapshots dieser Sitzung l\xF6schen"
|
|
282
|
+
};
|
|
283
|
+
var ru = {
|
|
284
|
+
"plan.skip": " \u043D\u0435 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E: {path} ({reason})",
|
|
285
|
+
"skipReason.oversized": "\u043F\u0440\u0435\u0432\u044B\u0448\u0435\u043D \u043F\u0440\u0435\u0434\u0435\u043B \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0445 \u043A\u043E\u043F\u0438\u0439 {limit}, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0437\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0435\u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\u043C",
|
|
286
|
+
"error.invalidTarget": '\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u0442\u044C \u0446\u0435\u043B\u044C "{raw}" (\u043E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F <index> \u0438\u043B\u0438 @<seq>)',
|
|
287
|
+
"sep.list": ", ",
|
|
288
|
+
"sep.clause": "; ",
|
|
289
|
+
"failures.suffix": "; {count} \u0444\u0430\u0439\u043B(\u043E\u0432) \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C: {list}",
|
|
290
|
+
"failures.item": "{path} ({message})",
|
|
291
|
+
"inflight": "\u0414\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430 \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u0442\u043A\u0430\u0442; \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435.",
|
|
292
|
+
"stopFailed": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0439 \u0430\u0433\u0435\u043D\u0442; \u043E\u0442\u043A\u0430\u0442 \u043E\u0442\u043C\u0435\u043D\u0451\u043D. \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443.",
|
|
293
|
+
"cancelled": "\u041E\u0442\u043A\u0430\u0442 \u043E\u0442\u043C\u0435\u043D\u0451\u043D.",
|
|
294
|
+
"failed": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043E\u0442\u043A\u0430\u0442: {error}. \u0421\u0435\u0430\u043D\u0441 \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0451\u043D.",
|
|
295
|
+
"restore.count": "\u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0444\u0430\u0439\u043B\u043E\u0432: {count}",
|
|
296
|
+
"delete.count": "\u0443\u0434\u0430\u043B\u0435\u043D\u043E \u0444\u0430\u0439\u043B\u043E\u0432: {count}",
|
|
297
|
+
"skip.count": "\u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E \u043F\u0443\u0442\u0435\u0439: {count}",
|
|
298
|
+
"noRestorable": "; \u043F\u043E\u0441\u043B\u0435 \u0446\u0435\u043B\u0438 \u043D\u0435\u0442 \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043C\u044B\u0445 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0439 \u0437\u0430\u043F\u0438\u0441\u0438",
|
|
299
|
+
"backupOff": "\u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043A\u043E\u043F\u0438\u0438 \u0441\u043D\u0438\u043C\u043A\u043E\u0432 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u044B, \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043D\u0435\u043F\u043E\u043B\u043D\u044B\u043C",
|
|
300
|
+
"storeUnsupported": "\u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E: \u044D\u0442\u0438 \u0441\u043D\u0438\u043C\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 (v{version}), \u0447\u0435\u043C \u043F\u043E\u043D\u0438\u043C\u0430\u0435\u0442 \u044D\u0442\u043E\u0442 \u043F\u043B\u0430\u0433\u0438\u043D; \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E. \u041E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u043F\u043B\u0430\u0433\u0438\u043D \u0438\u043B\u0438 \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0435 \u0441\u043D\u0438\u043C\u043A\u0438 \u044D\u0442\u043E\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430.",
|
|
301
|
+
"success": "\u041E\u0442\u043E\u0437\u0432\u0430\u043D\u043E seq {targetSeq} \u0438 \u0432\u0441\u0451 \u043F\u043E\u0441\u043B\u0435 \u043D\u0435\u0433\u043E (\u0431\u0435\u0441\u0435\u0434\u0430 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0435\u043D\u0430 \u043A \u0431\u043E\u043B\u0435\u0435 \u0440\u0430\u043D\u043D\u0435\u043C\u0443 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044E){restore}.",
|
|
302
|
+
"noUserMessages": "\u0412 \u044D\u0442\u043E\u043C \u0441\u0435\u0430\u043D\u0441\u0435 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0434\u043B\u044F \u043E\u0442\u043A\u0430\u0442\u0430.",
|
|
303
|
+
"command.description": "\u041E\u0442\u043A\u0430\u0442\u0438\u0442\u044C \u0431\u0435\u0441\u0435\u0434\u0443 \u0438/\u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u044B \u043A \u0431\u043E\u043B\u0435\u0435 \u0440\u0430\u043D\u043D\u0435\u043C\u0443 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044E",
|
|
304
|
+
"command.undoDescription": "\u041F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C /rewind",
|
|
305
|
+
"engine.description": "\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430 dsh-rewind",
|
|
306
|
+
"engine.rejected": "\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430: \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 /rewind \u0438\u043B\u0438 /undo.",
|
|
307
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
308
|
+
"cleanup.description": "\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0447\u0438\u0441\u0442\u043A\u043E\u0439 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0445 \u043A\u043E\u043F\u0438\u0439 \u0441\u043D\u0438\u043C\u043A\u043E\u0432 \u0441\u0435\u0430\u043D\u0441\u043E\u0432",
|
|
309
|
+
"cleanup.inputHint": "on | off | max-age <\u0434\u043D\u0435\u0439> | run [--apply] [--current]",
|
|
310
|
+
"cleanup.status": "\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430: {state}. \u041C\u0430\u043A\u0441. \u0432\u043E\u0437\u0440\u0430\u0441\u0442: {days} \u0434\u043D.",
|
|
311
|
+
"cleanup.enabled": "\u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430",
|
|
312
|
+
"cleanup.disabled": "\u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0430",
|
|
313
|
+
"cleanup.onOk": "\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0430.",
|
|
314
|
+
"cleanup.offOk": "\u0410\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0430 \u2014 \u0432\u0441\u0435 \u0441\u043D\u0438\u043C\u043A\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B.",
|
|
315
|
+
"cleanup.maxAgeOk": "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0432\u043E\u0437\u0440\u0430\u0441\u0442 \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0438: {days} \u0434\u043D.",
|
|
316
|
+
"cleanup.cfgInvalid": '\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0430\u044F \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043E\u0447\u0438\u0441\u0442\u043A\u0438 \u0441\u043D\u0438\u043C\u043A\u043E\u0432: {detail}. \u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E; \u0441\u0431\u0440\u043E\u0441\u044C\u0442\u0435 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E "on|off|max-age".',
|
|
317
|
+
"cleanup.saveFailed": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u043E\u0447\u0438\u0441\u0442\u043A\u0438: {detail}.",
|
|
318
|
+
"cleanup.runDry": "\u041F\u0440\u043E\u0431\u043D\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A: \u0443\u0434\u0430\u043B\u0438\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043A\u043E\u043F\u0438\u0438 \u0441\u043D\u0438\u043C\u043A\u043E\u0432 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 ({deleted}), \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0432 {freed} \u0431\u0430\u0439\u0442. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 \u0441 --apply, \u0447\u0442\u043E\u0431\u044B \u0443\u0434\u0430\u043B\u0438\u0442\u044C.",
|
|
319
|
+
"cleanup.runApply": "\u0423\u0434\u0430\u043B\u0435\u043D\u044B \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043A\u043E\u043F\u0438\u0438 \u0441\u043D\u0438\u043C\u043A\u043E\u0432 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 ({deleted}), \u043E\u0441\u0432\u043E\u0431\u043E\u0436\u0434\u0435\u043D\u043E {freed} \u0431\u0430\u0439\u0442; \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E {kept}, \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C {remaining} \u0431\u0430\u0439\u0442.",
|
|
320
|
+
"cleanup.runFailed": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043E\u0447\u0438\u0441\u0442\u043A\u0438: {detail}.",
|
|
321
|
+
"cleanup.skipped": "({skipped} \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445 \u0441\u0435\u0430\u043D\u0441\u043E\u0432 \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D\u043E.)",
|
|
322
|
+
"cleanup.clearDry": "\u041F\u0440\u043E\u0431\u043D\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A: \u043E\u0447\u0438\u0441\u0442\u0438\u0442 \u0441\u043D\u0438\u043C\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430 ({entries}), \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0432 {bytes} \u0431\u0430\u0439\u0442. \u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 \u0441 --apply, \u0447\u0442\u043E\u0431\u044B \u0443\u0434\u0430\u043B\u0438\u0442\u044C.",
|
|
323
|
+
"cleanup.clearApply": "\u041E\u0447\u0438\u0449\u0435\u043D\u044B \u0441\u043D\u0438\u043C\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430 ({entries}), \u043E\u0441\u0432\u043E\u0431\u043E\u0436\u0434\u0435\u043D\u043E {bytes} \u0431\u0430\u0439\u0442. \u0422\u0435\u043F\u0435\u0440\u044C \u0441\u0435\u0430\u043D\u0441 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442 \u0441\u043D\u0438\u043C\u043A\u0438 \u0437\u0430\u043D\u043E\u0432\u043E \u043E\u0442 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F.",
|
|
324
|
+
"cleanup.clearActive": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u0435\u0430\u043D\u0441 {sessionId}: \u043E\u043D \u0432\u0441\u0451 \u0435\u0449\u0451 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0438 \u043D\u0435 \u0431\u044B\u043B \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D. \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443, \u043A\u043E\u0433\u0434\u0430 \u043E\u043D \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0442\u0441\u044F.",
|
|
325
|
+
"cleanup.clearCancelled": "\u041E\u0447\u0438\u0441\u0442\u043A\u0430 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430.",
|
|
326
|
+
"cleanup.clearFailed": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u0435\u0430\u043D\u0441 {sessionId}: {detail}.",
|
|
327
|
+
"cleanup.usage": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435:\n /snapshot-auto-cleanup \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\n /snapshot-auto-cleanup on|off \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C/\u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0443\n /snapshot-auto-cleanup max-age <\u0434\u043D\u0435\u0439> \u0437\u0430\u0434\u0430\u0442\u044C \u043F\u043E\u0440\u043E\u0433 \u043D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438\n /snapshot-auto-cleanup run [--apply] \u043F\u0440\u043E\u0431\u043D\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A \u0438\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0441 --apply\n /snapshot-auto-cleanup run --current [--apply] \u043F\u0440\u043E\u0431\u043D\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A/\u043E\u0447\u0438\u0441\u0442\u043A\u0430 \u0441\u043D\u0438\u043C\u043A\u043E\u0432 \u044D\u0442\u043E\u0433\u043E \u0441\u0435\u0430\u043D\u0441\u0430"
|
|
328
|
+
};
|
|
329
|
+
var pt = {
|
|
330
|
+
"plan.skip": " n\xE3o restaurado: {path} ({reason})",
|
|
331
|
+
"skipReason.oversized": "acima do limite de {limit} backups, ent\xE3o o estado registrado \xE9 anterior a altera\xE7\xF5es n\xE3o rastreadas",
|
|
332
|
+
"error.invalidTarget": 'N\xE3o foi poss\xEDvel interpretar o destino "{raw}" (esperado <index> ou @<seq>)',
|
|
333
|
+
"sep.list": ", ",
|
|
334
|
+
"sep.clause": "; ",
|
|
335
|
+
"failures.suffix": "; falha ao restaurar {count} arquivo(s): {list}",
|
|
336
|
+
"failures.item": "{path} ({message})",
|
|
337
|
+
"inflight": "J\xE1 h\xE1 um rebobinamento em andamento para esta sess\xE3o; aguarde.",
|
|
338
|
+
"stopFailed": "N\xE3o foi poss\xEDvel parar o agente em execu\xE7\xE3o; rebobinamento cancelado. Tente novamente.",
|
|
339
|
+
"cancelled": "Rebobinamento cancelado.",
|
|
340
|
+
"failed": "Falha no rebobinamento: {error}. A sess\xE3o n\xE3o foi alterada.",
|
|
341
|
+
"restore.count": "{count} arquivo(s) restaurado(s)",
|
|
342
|
+
"delete.count": "{count} arquivo(s) exclu\xEDdo(s)",
|
|
343
|
+
"skip.count": "{count} caminho(s) ignorado(s)",
|
|
344
|
+
"noRestorable": "; nenhuma altera\xE7\xE3o de grava\xE7\xE3o restaur\xE1vel ap\xF3s o destino",
|
|
345
|
+
"backupOff": "os backups de snapshots est\xE3o desativados, a restaura\xE7\xE3o pode ficar incompleta",
|
|
346
|
+
"storeUnsupported": "restaura\xE7\xE3o de arquivos indispon\xEDvel: estes snapshots usam um formato de armazenamento mais novo (v{version}) do que este plugin entende; nada foi alterado. Atualize o plugin ou limpe os snapshots desta sess\xE3o.",
|
|
347
|
+
"success": "Retirado seq {targetSeq} e tudo depois dele (conversa retornada a um ponto anterior){restore}.",
|
|
348
|
+
"noUserMessages": "Esta sess\xE3o ainda n\xE3o tem mensagens de usu\xE1rio para rebobinar.",
|
|
349
|
+
"command.description": "Rebobinar a conversa e/ou os arquivos para um ponto anterior",
|
|
350
|
+
"command.undoDescription": "Alias de /rewind",
|
|
351
|
+
"engine.description": "Comando interno do dsh-rewind",
|
|
352
|
+
"engine.rejected": "Comando interno: use /rewind ou /undo.",
|
|
353
|
+
"engine.inputHint": "@<seq> chat|both",
|
|
354
|
+
"cleanup.description": "Gerenciar a limpeza autom\xE1tica dos backups de snapshots de sess\xE3o",
|
|
355
|
+
"cleanup.inputHint": "on | off | max-age <dias> | run [--apply] [--current]",
|
|
356
|
+
"cleanup.status": "Limpeza autom\xE1tica: {state}. Idade m\xE1xima: {days} dia(s).",
|
|
357
|
+
"cleanup.enabled": "ativada",
|
|
358
|
+
"cleanup.disabled": "desativada",
|
|
359
|
+
"cleanup.onOk": "Limpeza autom\xE1tica ativada.",
|
|
360
|
+
"cleanup.offOk": "Limpeza autom\xE1tica desativada \u2014 todos os snapshots s\xE3o mantidos.",
|
|
361
|
+
"cleanup.maxAgeOk": "Idade m\xE1xima da limpeza autom\xE1tica: {days} dia(s).",
|
|
362
|
+
"cleanup.cfgInvalid": 'Configura\xE7\xE3o de limpeza de snapshots inv\xE1lida: {detail}. Nada foi executado; use "on|off|max-age" para redefinir a configura\xE7\xE3o.',
|
|
363
|
+
"cleanup.saveFailed": "N\xE3o foi poss\xEDvel salvar a configura\xE7\xE3o de limpeza: {detail}.",
|
|
364
|
+
"cleanup.runDry": "Simula\xE7\xE3o: removeria {deleted} backup(s) de snapshots de sess\xE3o, liberando {freed} bytes. Execute novamente com --apply para excluir.",
|
|
365
|
+
"cleanup.runApply": "Removidos {deleted} backup(s) de snapshots de sess\xE3o, liberando {freed} bytes; {kept} mantido(s), restam {remaining} bytes.",
|
|
366
|
+
"cleanup.runFailed": "Falha na limpeza: {detail}.",
|
|
367
|
+
"cleanup.skipped": "({skipped} sess\xE3o(\xF5es) ativa(s) ignorada(s).)",
|
|
368
|
+
"cleanup.clearDry": "Simula\xE7\xE3o: limparia {entries} snapshot(s) da sess\xE3o atual, liberando {bytes} bytes. Execute novamente com --apply para excluir.",
|
|
369
|
+
"cleanup.clearApply": "Limpados {entries} snapshot(s) da sess\xE3o atual, liberando {bytes} bytes. Esta sess\xE3o agora registra snapshots novos a partir do estado atual.",
|
|
370
|
+
"cleanup.clearActive": "N\xE3o foi poss\xEDvel limpar a sess\xE3o {sessionId}: ela ainda est\xE1 em execu\xE7\xE3o e n\xE3o p\xF4de ser parada. Tente novamente quando estiver ociosa.",
|
|
371
|
+
"cleanup.clearCancelled": "Limpeza cancelada.",
|
|
372
|
+
"cleanup.clearFailed": "N\xE3o foi poss\xEDvel limpar a sess\xE3o {sessionId}: {detail}.",
|
|
373
|
+
"cleanup.usage": "Uso:\n /snapshot-auto-cleanup mostrar status\n /snapshot-auto-cleanup on|off ativar/desativar a limpeza autom\xE1tica\n /snapshot-auto-cleanup max-age <dias> definir o limite de inatividade\n /snapshot-auto-cleanup run [--apply] simular, ou executar com --apply\n /snapshot-auto-cleanup run --current [--apply] simular/limpar os snapshots desta sess\xE3o"
|
|
374
|
+
};
|
|
375
|
+
var HOST_DICTS = { en, zh, ja, es, fr, de, ru, pt };
|
|
376
|
+
var DEFAULT_HOST_LOCALE = "en";
|
|
377
|
+
function isHostLocale(tag) {
|
|
378
|
+
return Object.hasOwn(HOST_DICTS, tag);
|
|
379
|
+
}
|
|
380
|
+
function preferredLocale(preference) {
|
|
381
|
+
if (typeof preference !== "string") return DEFAULT_HOST_LOCALE;
|
|
382
|
+
const tag = preference.toLowerCase();
|
|
383
|
+
if (isHostLocale(tag)) return tag;
|
|
384
|
+
const primary = tag.split("-")[0];
|
|
385
|
+
return primary !== void 0 && isHostLocale(primary) ? primary : DEFAULT_HOST_LOCALE;
|
|
386
|
+
}
|
|
104
387
|
function translate(lang, key, params = {}) {
|
|
105
388
|
const dict = HOST_DICTS[lang] ?? en;
|
|
106
389
|
let text = dict[key] ?? key;
|
|
@@ -92,8 +92,8 @@ export declare function messageTextAt(chat: HiddenChat | undefined, seq: number)
|
|
|
92
92
|
* A durable image reference carried by an `image` content block in the chat
|
|
93
93
|
* snapshot, read structurally (the harness's `ImageAttachmentRef` from
|
|
94
94
|
* dsh-attachment, without importing it, so the plugin survives harness
|
|
95
|
-
* drift).
|
|
96
|
-
*
|
|
95
|
+
* drift). The fields are optional here so the reader tolerates older or
|
|
96
|
+
* partial snapshots; the image read only runs for a complete reference.
|
|
97
97
|
*/
|
|
98
98
|
export interface MessageImageRef {
|
|
99
99
|
readonly attachmentId: string;
|
|
@@ -113,7 +113,7 @@ export interface MessageImageRef {
|
|
|
113
113
|
* Reads the same node kinds as `messageTextAt` (`user` and `steering`).
|
|
114
114
|
* Blocks tolerate malformed or missing references (skipped, never a throw),
|
|
115
115
|
* and `image/offload` projections leave the durable reference in place —
|
|
116
|
-
* which is all the
|
|
116
|
+
* which is all the host image read needs. `file` blocks are intentionally
|
|
117
117
|
* excluded: the harness exposes no client-side file-bytes loader (file
|
|
118
118
|
* uploads go one-way), so a file is not restorable.
|
|
119
119
|
* State absent → undefined; a message without images → [].
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** `rewind` namespace dictionaries for the client plugin. */
|
|
2
|
-
/**
|
|
3
|
-
export declare const
|
|
2
|
+
/** English dictionary — the canonical key set (the harness fallback language). */
|
|
3
|
+
export declare const en: {
|
|
4
4
|
'button.aria': string;
|
|
5
5
|
'button.title': string;
|
|
6
6
|
'button.retract.aria': string;
|
|
@@ -44,54 +44,81 @@ export declare const zh: {
|
|
|
44
44
|
'cleanup.unavailable': string;
|
|
45
45
|
};
|
|
46
46
|
/** The rewind namespace key union. */
|
|
47
|
-
export type RewindKey = keyof typeof
|
|
47
|
+
export type RewindKey = keyof typeof en;
|
|
48
48
|
declare module '@deepseek-ai/dsh-client-ui-slots' {
|
|
49
49
|
interface LocaleNamespaceMap {
|
|
50
50
|
/** The in-place rewind controls' copy. */
|
|
51
51
|
rewind: RewindKey;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
/**
|
|
55
|
-
export declare const
|
|
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
|
-
|
|
54
|
+
/** Chinese dictionary, checked complete against the en key set. */
|
|
55
|
+
export declare const zh: Record<RewindKey, string>;
|
|
56
|
+
/** Japanese dictionary, checked complete against the en key set. */
|
|
57
|
+
export declare const ja: Record<RewindKey, string>;
|
|
58
|
+
/** Spanish dictionary, checked complete against the en key set. */
|
|
59
|
+
export declare const es: Record<RewindKey, string>;
|
|
60
|
+
/** French dictionary, checked complete against the en key set. */
|
|
61
|
+
export declare const fr: Record<RewindKey, string>;
|
|
62
|
+
/** German dictionary, checked complete against the en key set. */
|
|
63
|
+
export declare const de: Record<RewindKey, string>;
|
|
64
|
+
/** Russian dictionary, checked complete against the en key set. */
|
|
65
|
+
export declare const ru: Record<RewindKey, string>;
|
|
66
|
+
/** Brazilian Portuguese dictionary, checked complete against the en key set. */
|
|
67
|
+
export declare const pt: Record<RewindKey, string>;
|
|
68
|
+
/**
|
|
69
|
+
* Every dictionary this plugin ships, canonical first. Registration takes this
|
|
70
|
+
* map as a whole, so shipping another language is one dictionary above plus one
|
|
71
|
+
* entry here — no wiring change in `index.ts`.
|
|
72
|
+
*/
|
|
73
|
+
export declare const CLIENT_DICTS: {
|
|
74
|
+
en: {
|
|
75
|
+
'button.aria': string;
|
|
76
|
+
'button.title': string;
|
|
77
|
+
'button.retract.aria': string;
|
|
78
|
+
'button.retract.title': string;
|
|
79
|
+
'popover.title': string;
|
|
80
|
+
'popover.noText': string;
|
|
81
|
+
'popover.retract.title': string;
|
|
82
|
+
'popover.retract.target': string;
|
|
83
|
+
'popover.retract.hint': string;
|
|
84
|
+
'popover.retract.confirm': string;
|
|
85
|
+
'popover.chat': string;
|
|
86
|
+
'popover.chat.hint': string;
|
|
87
|
+
'popover.both': string;
|
|
88
|
+
'popover.both.hint': string;
|
|
89
|
+
'popover.checking': string;
|
|
90
|
+
'popover.noChanges': string;
|
|
91
|
+
'popover.backupDisabled': string;
|
|
92
|
+
'popover.cancel': string;
|
|
93
|
+
'popover.impact.loading': string;
|
|
94
|
+
'popover.impact.failed': string;
|
|
95
|
+
'popover.impact.none': string;
|
|
96
|
+
'popover.impact.restore': string;
|
|
97
|
+
'popover.impact.delete': string;
|
|
98
|
+
'popover.confirm': string;
|
|
99
|
+
'popover.back': string;
|
|
100
|
+
'backup.title': string;
|
|
101
|
+
'backup.on': string;
|
|
102
|
+
'backup.off': string;
|
|
103
|
+
'cleanup.auto': string;
|
|
104
|
+
'cleanup.auto.on': string;
|
|
105
|
+
'cleanup.auto.off': string;
|
|
106
|
+
'cleanup.maxAge': string;
|
|
107
|
+
'cleanup.maxAge.hint': string;
|
|
108
|
+
'cleanup.invalid': string;
|
|
109
|
+
'cleanup.overridden': string;
|
|
110
|
+
'cleanup.reset': string;
|
|
111
|
+
'cleanup.save': string;
|
|
112
|
+
'cleanup.saving': string;
|
|
113
|
+
'cleanup.saveFailed': string;
|
|
114
|
+
'cleanup.readonly': string;
|
|
115
|
+
'cleanup.unavailable': string;
|
|
116
|
+
};
|
|
117
|
+
zh: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
118
|
+
ja: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
119
|
+
es: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
120
|
+
fr: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
121
|
+
de: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
122
|
+
ru: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
123
|
+
pt: Record<"backup.off" | "backup.on" | "backup.title" | "button.aria" | "button.retract.aria" | "button.retract.title" | "button.title" | "cleanup.auto" | "cleanup.auto.off" | "cleanup.auto.on" | "cleanup.invalid" | "cleanup.maxAge" | "cleanup.maxAge.hint" | "cleanup.overridden" | "cleanup.readonly" | "cleanup.reset" | "cleanup.save" | "cleanup.saveFailed" | "cleanup.saving" | "cleanup.unavailable" | "popover.back" | "popover.backupDisabled" | "popover.both" | "popover.both.hint" | "popover.cancel" | "popover.chat" | "popover.chat.hint" | "popover.checking" | "popover.confirm" | "popover.impact.delete" | "popover.impact.failed" | "popover.impact.loading" | "popover.impact.none" | "popover.impact.restore" | "popover.noChanges" | "popover.noText" | "popover.retract.confirm" | "popover.retract.hint" | "popover.retract.target" | "popover.retract.title" | "popover.title", string>;
|
|
97
124
|
};
|