@synopackageland/sdk 0.31.3 → 0.31.4

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/dist/index.js CHANGED
@@ -5,24 +5,24 @@ function R(e = 6e4) {
5
5
  function IO(e) {
6
6
  if (e.fullPage !== void 0) return e.fullPage;
7
7
  if (!e.host) throw new Error("isFullPage: the context has neither fullPage nor host; pass fullPage (true for a page of its own), or a host (createStandaloneHost() outside DSM)");
8
- const n = e.host.platform();
9
- return n.host !== "dsm" || n.dsmStandalone === !0;
8
+ const t = e.host.platform();
9
+ return t.host !== "dsm" || t.dsmStandalone === !0;
10
10
  }
11
11
  const k = { status: "unsupported" };
12
12
  function fe(e = {}) {
13
- const n = { web: !0, host: "standalone-web", dsmStandalone: null, dsmLanguage: null, appLocale: null, systemVersion: null, fullVersion: null, theme: null, ...e }, a = /* @__PURE__ */ new Set();
13
+ const t = { web: !0, host: "standalone-web", dsmStandalone: null, dsmLanguage: null, appLocale: null, systemVersion: null, fullVersion: null, theme: null, ...e }, a = /* @__PURE__ */ new Set();
14
14
  return {
15
- platform: () => ({ ...n }),
16
- setTitle(t) {
17
- return typeof document > "u" ? { status: "unavailable" } : (document.title = t, { status: "ok", target: "document" });
15
+ platform: () => ({ ...t }),
16
+ setTitle(n) {
17
+ return typeof document > "u" ? { status: "unavailable" } : (document.title = n, { status: "ok", target: "document" });
18
18
  },
19
19
  activateWindow: () => k,
20
20
  requestClose: () => k,
21
21
  openApp: () => k,
22
- openURL(t) {
22
+ openURL(n) {
23
23
  let o;
24
24
  try {
25
- o = new URL(t, typeof location > "u" ? void 0 : location.href);
25
+ o = new URL(n, typeof location > "u" ? void 0 : location.href);
26
26
  } catch {
27
27
  return { status: "invalid-input" };
28
28
  }
@@ -33,8 +33,8 @@ function fe(e = {}) {
33
33
  openFile: () => k,
34
34
  showFileDetails: () => k,
35
35
  openAppSetting: () => k,
36
- subscribe(t, o) {
37
- if (t !== "window-resize") return k;
36
+ subscribe(n, o) {
37
+ if (n !== "window-resize") return k;
38
38
  if (typeof window > "u") return { status: "unavailable" };
39
39
  window.addEventListener("resize", o);
40
40
  const i = () => {
@@ -43,7 +43,7 @@ function fe(e = {}) {
43
43
  return a.add(i), { status: "subscribed", dispose: i };
44
44
  },
45
45
  dispose() {
46
- for (const t of [...a]) t();
46
+ for (const n of [...a]) n();
47
47
  }
48
48
  };
49
49
  }
@@ -53,41 +53,41 @@ function RO(e) {
53
53
  }
54
54
  const $e = 2048;
55
55
  function F(e) {
56
- const n = e?.route;
57
- if (!(typeof n != "string" || n.length > $e) && !(!n.startsWith("/") || n.startsWith("//") || /[\\\u0000-\u001f\u007f]/.test(n)))
58
- return n;
56
+ const t = e?.route;
57
+ if (!(typeof t != "string" || t.length > $e) && !(!t.startsWith("/") || t.startsWith("//") || /[\\\u0000-\u001f\u007f]/.test(t)))
58
+ return t;
59
59
  }
60
- function jO(e, n) {
60
+ function jO(e, t) {
61
61
  const a = F(e.launchParams);
62
- return a !== void 0 && n(a), e.onLaunch?.((t) => {
63
- const o = F(t);
64
- o !== void 0 && n(o);
62
+ return a !== void 0 && t(a), e.onLaunch?.((n) => {
63
+ const o = F(n);
64
+ o !== void 0 && t(o);
65
65
  }) ?? (() => {
66
66
  });
67
67
  }
68
68
  const ve = /^[A-Za-z][A-Za-z0-9]{1,63}$/;
69
- function xO(e, n, a) {
70
- if (!ve.test(n)) throw new Error(`dsmLaunchURL: ${JSON.stringify(n)} is not a DSM package id`);
71
- const t = new URL("/", e);
72
- return t.searchParams.set("launchApp", `SYNO.SDS.${n}.Instance`), t.searchParams.set("launchParam", Object.entries(a).map(([o, i]) => `${encodeURIComponent(o)}=${encodeURIComponent(i)}`).join("&")), t.href;
69
+ function xO(e, t, a) {
70
+ if (!ve.test(t)) throw new Error(`dsmLaunchURL: ${JSON.stringify(t)} is not a DSM package id`);
71
+ const n = new URL("/", e);
72
+ return n.searchParams.set("launchApp", `SYNO.SDS.${t}.Instance`), n.searchParams.set("launchParam", Object.entries(a).map(([o, i]) => `${encodeURIComponent(o)}=${encodeURIComponent(i)}`).join("&")), n.href;
73
73
  }
74
74
  function be(e) {
75
- var n, a;
76
- function t(s) {
75
+ var t, a;
76
+ function n(s) {
77
77
  return typeof s == "string" && s.length > 0 && s.length <= 4096 && !/[\u0000-\u001f\u007f-\u009f]/.test(s) ? s : void 0;
78
78
  }
79
79
  function o() {
80
- return t(e.read()) || n;
80
+ return n(e.read()) || t;
81
81
  }
82
82
  function i() {
83
83
  var s = o();
84
84
  return s ? Promise.resolve(s) : a || (a = new Promise(function(r) {
85
- var l = new AbortController(), c = !1;
85
+ var c = new AbortController(), l = !1;
86
86
  function m(d) {
87
- c || (c = !0, clearTimeout(h), r(d));
87
+ l || (l = !0, clearTimeout(p), r(d));
88
88
  }
89
- var h = setTimeout(function() {
90
- l.abort(), m(void 0);
89
+ var p = setTimeout(function() {
90
+ c.abort(), m(void 0);
91
91
  }, 15e3);
92
92
  try {
93
93
  e.fetch("webman/login.cgi?enable_syno_token=yes", {
@@ -96,18 +96,18 @@ function be(e) {
96
96
  mode: "same-origin",
97
97
  redirect: "error",
98
98
  cache: "no-store",
99
- signal: l.signal
99
+ signal: c.signal
100
100
  }).then(function(d) {
101
101
  return d.ok ? d.json() : void 0;
102
102
  }).then(function(d) {
103
- if (!c) {
104
- var u = t(e.read());
103
+ if (!l) {
104
+ var u = n(e.read());
105
105
  if (u) {
106
106
  m(u);
107
107
  return;
108
108
  }
109
- var f = d && d.success === !0 ? t(d.SynoToken) : void 0;
110
- f && (e.write && e.write(f), n = f), m(f);
109
+ var f = d && d.success === !0 ? n(d.SynoToken) : void 0;
110
+ f && (e.write && e.write(f), t = f), m(f);
111
111
  }
112
112
  }).catch(function() {
113
113
  m(void 0);
@@ -119,30 +119,30 @@ function be(e) {
119
119
  }
120
120
  return { token: o, ready: i };
121
121
  }
122
- const te = "/webapi/entry.cgi", Se = 16 * 1024 ** 3;
122
+ const ne = "/webapi/entry.cgi", Se = 16 * 1024 ** 3;
123
123
  function H(e) {
124
- const n = e;
125
- if (n?.additional != null && (typeof n.additional != "object" || Array.isArray(n.additional))) throw { code: "unavailable" };
126
- if (!n || typeof n.name != "string" || typeof n.path != "string" || typeof n.isdir != "boolean" || n.additional?.size !== void 0 && (!Number.isSafeInteger(n.additional.size) || n.additional.size < 0)) throw { code: "unavailable" };
127
- return n.additional === null ? { ...n, additional: void 0 } : n;
124
+ const t = e;
125
+ if (t?.additional != null && (typeof t.additional != "object" || Array.isArray(t.additional))) throw { code: "unavailable" };
126
+ if (!t || typeof t.name != "string" || typeof t.path != "string" || typeof t.isdir != "boolean" || t.additional?.size !== void 0 && (!Number.isSafeInteger(t.additional.size) || t.additional.size < 0)) throw { code: "unavailable" };
127
+ return t.additional === null ? { ...t, additional: void 0 } : t;
128
128
  }
129
129
  async function _e(e) {
130
- const n = e.body?.getReader();
131
- if (!n) throw Error();
130
+ const t = e.body?.getReader();
131
+ if (!t) throw Error();
132
132
  const a = [];
133
- let t = 0;
133
+ let n = 0;
134
134
  try {
135
135
  for (; ; ) {
136
- const { done: s, value: r } = await n.read();
136
+ const { done: s, value: r } = await t.read();
137
137
  if (s) break;
138
- if (t += r.byteLength, t > 1024 * 1024)
139
- throw await n.cancel(), Error();
138
+ if (n += r.byteLength, n > 1024 * 1024)
139
+ throw await t.cancel(), Error();
140
140
  a.push(r);
141
141
  }
142
142
  } finally {
143
- n.releaseLock();
143
+ t.releaseLock();
144
144
  }
145
- const o = new Uint8Array(t);
145
+ const o = new Uint8Array(n);
146
146
  let i = 0;
147
147
  for (const s of a)
148
148
  o.set(s, i), i += s.length;
@@ -152,7 +152,7 @@ function B(e) {
152
152
  throw { code: { 106: "session_required", 107: "session_required", 119: "session_required", 105: "denied", 403: "denied", 407: "denied", 408: "denied", 414: "conflict", 1805: "conflict", 400: "invalid-request" }[String(e)] ?? "unavailable" };
153
153
  }
154
154
  function D(e) {
155
- if (typeof e != "string" || e.length < 2 || e.length > 4096 || !e.startsWith("/") || /[\u0000-\u001f\u007f\\,"]/.test(e) || e.split("/").slice(1).some((n) => !n || n === "." || n === "..")) throw { code: "invalid-request" };
155
+ if (typeof e != "string" || e.length < 2 || e.length > 4096 || !e.startsWith("/") || /[\u0000-\u001f\u007f\\,"]/.test(e) || e.split("/").slice(1).some((t) => !t || t === "." || t === "..")) throw { code: "invalid-request" };
156
156
  }
157
157
  function V(e) {
158
158
  if (typeof e != "string" || !e || e.length > 255 || e === "." || e === ".." || /[\u0000-\u001f\u007f/\\,"]/.test(e)) throw { code: "invalid-request" };
@@ -161,28 +161,28 @@ function ze() {
161
161
  return globalThis.SYNO?.SDS?.Session?.SynoToken;
162
162
  }
163
163
  function oe(e = {}) {
164
- const n = be({ read: e.token ?? ze, fetch: (i, s) => globalThis.fetch("/webman/login.cgi?enable_syno_token=yes", s) });
164
+ const t = be({ read: e.token ?? ze, fetch: (i, s) => globalThis.fetch("/webman/login.cgi?enable_syno_token=yes", s) });
165
165
  async function a(i) {
166
166
  if (i?.aborted) throw { code: "canceled" };
167
- const s = await n.ready();
167
+ const s = await t.ready();
168
168
  if (i?.aborted) throw { code: "canceled" };
169
169
  if (!s) throw { code: "dsm_session_required" };
170
170
  return s;
171
171
  }
172
- async function t(i, s, r, l, c, m = !1, h) {
173
- const d = await a(c), u = new AbortController(), f = h ? new FormData() : new URLSearchParams();
174
- for (const [y, S] of Object.entries({ api: i, method: s, version: String(r), ...l, SynoToken: d })) f.append(y, S);
175
- h && f.append("file", h);
176
- let p = !1, g = !1;
172
+ async function n(i, s, r, c, l, m = !1, p) {
173
+ const d = await a(l), u = new AbortController(), f = p ? new FormData() : new URLSearchParams();
174
+ for (const [y, S] of Object.entries({ api: i, method: s, version: String(r), ...c, SynoToken: d })) f.append(y, S);
175
+ p && f.append("file", p);
176
+ let h = !1, g = !1;
177
177
  const v = () => u.abort();
178
- c.addEventListener("abort", v, { once: !0 }), c.aborted && u.abort();
178
+ l.addEventListener("abort", v, { once: !0 }), l.aborted && u.abort();
179
179
  const _ = setTimeout(() => {
180
180
  g = !0, u.abort();
181
- }, e.timeout ?? (h ? 1200 * 1e3 : 6e4));
181
+ }, e.timeout ?? (p ? 1200 * 1e3 : 6e4));
182
182
  try {
183
183
  if (u.signal.aborted) throw { code: "canceled" };
184
- p = !0;
185
- const y = await fetch(te, { method: "POST", body: f, credentials: "same-origin", mode: "same-origin", redirect: "error", cache: "no-store", signal: u.signal, headers: { "X-SYNO-TOKEN": d } });
184
+ h = !0;
185
+ const y = await fetch(ne, { method: "POST", body: f, credentials: "same-origin", mode: "same-origin", redirect: "error", cache: "no-store", signal: u.signal, headers: { "X-SYNO-TOKEN": d } });
186
186
  if (!y.ok) throw Error();
187
187
  const S = await _e(y);
188
188
  if (S?.success === !1 && B(S.error?.code), S?.success !== !0) throw Error();
@@ -190,17 +190,17 @@ function oe(e = {}) {
190
190
  return S.data;
191
191
  } catch (y) {
192
192
  const S = y?.code;
193
- throw typeof S == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(S) && B(S), typeof S == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain", "canceled", "timeout"].includes(S) ? { code: S } : { code: m && p ? "commit-uncertain" : g ? "timeout" : c.aborted ? "canceled" : "unavailable" };
193
+ throw typeof S == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(S) && B(S), typeof S == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain", "canceled", "timeout"].includes(S) ? { code: S } : { code: m && h ? "commit-uncertain" : g ? "timeout" : l.aborted ? "canceled" : "unavailable" };
194
194
  } finally {
195
- clearTimeout(_), c.removeEventListener("abort", v);
195
+ clearTimeout(_), l.removeEventListener("abort", v);
196
196
  }
197
197
  }
198
- async function o(i, s, r, l) {
198
+ async function o(i, s, r, c) {
199
199
  i !== void 0 && D(i);
200
- const c = r.limit ?? 100, m = r.sortBy ?? "name", h = r.sortDirection ?? "ASC";
201
- if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(c) || c < 1 || c > 100 || !["name", "size", "type", "mtime"].includes(m) || !["ASC", "DESC"].includes(h)) throw { code: "invalid-request" };
202
- const d = await t("SYNO.FileStation.List", i === void 0 ? "list_share" : "list", 2, { offset: String(s), limit: String(c), sort_by: m, sort_direction: h, additional: '["size"]', ...i === void 0 ? {} : { folder_path: i } }, l), u = i === void 0 ? d?.shares ?? d?.files : d?.files;
203
- if (!Array.isArray(u) || u.length > c || !Number.isSafeInteger(d.total) || d.total < 0 || d.offset !== s || s + u.length > d.total || !u.length && s < d.total) throw { code: "unavailable" };
200
+ const l = r.limit ?? 100, m = r.sortBy ?? "name", p = r.sortDirection ?? "ASC";
201
+ if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(l) || l < 1 || l > 100 || !["name", "size", "type", "mtime"].includes(m) || !["ASC", "DESC"].includes(p)) throw { code: "invalid-request" };
202
+ const d = await n("SYNO.FileStation.List", i === void 0 ? "list_share" : "list", 2, { offset: String(s), limit: String(l), sort_by: m, sort_direction: p, additional: '["size"]', ...i === void 0 ? {} : { folder_path: i } }, c), u = i === void 0 ? d?.shares ?? d?.files : d?.files;
203
+ if (!Array.isArray(u) || u.length > l || !Number.isSafeInteger(d.total) || d.total < 0 || d.offset !== s || s + u.length > d.total || !u.length && s < d.total) throw { code: "unavailable" };
204
204
  return u.forEach(H), d;
205
205
  }
206
206
  return {
@@ -209,69 +209,69 @@ function oe(e = {}) {
209
209
  list: (i, s, r) => o(i, s.offset ?? 0, s, r),
210
210
  async info(i, s) {
211
211
  D(i);
212
- const r = await t("SYNO.FileStation.List", "getinfo", 2, { path: JSON.stringify([i]), additional: '["size"]' }, s);
212
+ const r = await n("SYNO.FileStation.List", "getinfo", 2, { path: JSON.stringify([i]), additional: '["size"]' }, s);
213
213
  if (!Array.isArray(r?.files) || r.files.length !== 1 || r.files[0]?.path !== i) throw { code: "not_found" };
214
214
  return H(r.files[0]);
215
215
  },
216
216
  async createFolder(i, s, r) {
217
- return D(i), V(s), await t("SYNO.FileStation.CreateFolder", "create", 2, { folder_path: JSON.stringify([i]), name: JSON.stringify([s]), force_parent: "false" }, r, !0), { created: !0 };
217
+ return D(i), V(s), await n("SYNO.FileStation.CreateFolder", "create", 2, { folder_path: JSON.stringify([i]), name: JSON.stringify([s]), force_parent: "false" }, r, !0), { created: !0 };
218
218
  },
219
219
  // Display/preview only. A successful browser result never authorizes a
220
220
  // backend write or grant; the executor independently checks its subject.
221
221
  async checkPermission(i, s) {
222
222
  D(i);
223
- const r = Array.from(crypto.getRandomValues(new Uint8Array(16)), (c) => c.toString(16).padStart(2, "0")).join("");
224
- if ((await t("SYNO.FileStation.CheckPermission", "write", 3, { path: i, filename: `.synopkgland-permission-probe-${r}`, overwrite: "false", size: "0" }, s))?.blSkip !== !1) throw { code: "denied" };
223
+ const r = Array.from(crypto.getRandomValues(new Uint8Array(16)), (l) => l.toString(16).padStart(2, "0")).join("");
224
+ if ((await n("SYNO.FileStation.CheckPermission", "write", 3, { path: i, filename: `.synopkgland-permission-probe-${r}`, overwrite: "false", size: "0" }, s))?.blSkip !== !1) throw { code: "denied" };
225
225
  },
226
226
  async upload(i, s, r) {
227
227
  if (D(i), V(s.name), !Number.isSafeInteger(s.size) || s.size < 0 || s.size > Se) throw { code: "upload_size_required" };
228
- await t("SYNO.FileStation.Upload", "upload", 2, { path: i, create_parents: "false", overwrite: "false", size: String(s.size) }, r, !0, s);
228
+ await n("SYNO.FileStation.Upload", "upload", 2, { path: i, create_parents: "false", overwrite: "false", size: String(s.size) }, r, !0, s);
229
229
  }
230
230
  };
231
231
  }
232
- const ye = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, w = (e) => typeof e == "string" && ye.test(e), L = (e) => e && w(e.delegation_id) && w(e.job_id), q = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((n) => !n || n === "." || n === "..");
232
+ const ye = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, w = (e) => typeof e == "string" && ye.test(e), L = (e) => e && w(e.delegation_id) && w(e.job_id), q = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((t) => !t || t === "." || t === "..");
233
233
  function $() {
234
234
  throw { code: "EXECUTOR_PROTOCOL" };
235
235
  }
236
236
  function W(e) {
237
237
  return e && Number.isSafeInteger(e.generation) && e.generation >= 0 && q(e.root) && (e.scope === "home" ? e.root === "/home" : e.scope.startsWith("shared:") && e.root === "/" + e.scope.slice(7));
238
238
  }
239
- function Ae(e, n) {
240
- return (!e || e.job_id !== n.job_id || !["queued", "copying", "committed", "canceled", "interrupted", "uncertain"].includes(e.state)) && $(), e.state === "committed" ? (!e.receipt || !q(e.receipt.path) || !Number.isSafeInteger(e.receipt.size) || e.receipt.size < 0 || e.receipt.size > 16 * 1024 ** 3) && $() : e.receipt !== void 0 && $(), e.reason !== void 0 && (typeof e.reason != "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(e.reason)) && $(), { job_id: e.job_id, state: e.state, ...e.receipt ? { receipt: { ...e.receipt } } : {}, ...e.code ? { code: e.code } : {}, ...e.reason ? { reason: e.reason } : {} };
239
+ function Ae(e, t) {
240
+ return (!e || e.job_id !== t.job_id || !["queued", "copying", "committed", "canceled", "interrupted", "uncertain"].includes(e.state)) && $(), e.state === "committed" ? (!e.receipt || !q(e.receipt.path) || !Number.isSafeInteger(e.receipt.size) || e.receipt.size < 0 || e.receipt.size > 16 * 1024 ** 3) && $() : e.receipt !== void 0 && $(), e.reason !== void 0 && (typeof e.reason != "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(e.reason)) && $(), { job_id: e.job_id, state: e.state, ...e.receipt ? { receipt: { ...e.receipt } } : {}, ...e.code ? { code: e.code } : {}, ...e.reason ? { reason: e.reason } : {} };
241
241
  }
242
- function NO(e, n = async () => {
242
+ function NO(e, t = async () => {
243
243
  const a = await e.call("delegate.operations.list");
244
244
  return Array.isArray(a?.operations) || $(), a.operations;
245
245
  }) {
246
- const a = async (t, o) => (L(o) || $(), Ae(await e.call(t, { delegation_id: o.delegation_id, job_id: o.job_id }), o));
246
+ const a = async (n, o) => (L(o) || $(), Ae(await e.call(n, { delegation_id: o.delegation_id, job_id: o.job_id }), o));
247
247
  return {
248
- async destination(t) {
249
- w(t) || $();
250
- const o = await e.call("delegate.destination", { key: t });
251
- if ((!o || o.key !== t || !["active", "missing", "revoked", "reselection-required", "needs-scope-confirmation", "disabled"].includes(o.status) || o.selection !== null && !W(o.selection)) && $(), o.status === "active") {
248
+ async destination(n) {
249
+ w(n) || $();
250
+ const o = await e.call("delegate.destination", { key: n });
251
+ if ((!o || o.key !== n || !["active", "missing", "revoked", "reselection-required", "needs-scope-confirmation", "disabled"].includes(o.status) || o.selection !== null && !W(o.selection)) && $(), o.status === "active") {
252
252
  const i = o.destination, s = o.selection;
253
- (!i || !s || !w(i.id) || i.key !== t || i.lifetime !== "until-revoked" || !i.username || !q(i.path) || !(i.path === s.root || i.path.startsWith(s.root + "/"))) && $();
253
+ (!i || !s || !w(i.id) || i.key !== n || i.lifetime !== "until-revoked" || !i.username || !q(i.path) || !(i.path === s.root || i.path.startsWith(s.root + "/"))) && $();
254
254
  } else o.destination !== null && $();
255
255
  return o;
256
256
  },
257
- async exportExample(t) {
258
- (!w(t.key) || !w(t.job_id)) && $();
259
- const o = await e.call("delegate.example.export", { key: t.key, job_id: t.job_id });
260
- return (!L(o) || o.job_id !== t.job_id) && $(), o;
257
+ async exportExample(n) {
258
+ (!w(n.key) || !w(n.job_id)) && $();
259
+ const o = await e.call("delegate.example.export", { key: n.key, job_id: n.job_id });
260
+ return (!L(o) || o.job_id !== n.job_id) && $(), o;
261
261
  },
262
- selectDestination: (t) => e.call("delegate.select_destination", { key: t.key, path: t.path }),
262
+ selectDestination: (n) => e.call("delegate.select_destination", { key: n.key, path: n.path }),
263
263
  async status() {
264
- const t = await e.call("delegate.status");
265
- if (!["ready", "disabled", "needs-scope-confirmation"].includes(t?.state)) throw { code: "EXECUTOR_UNAVAILABLE" };
266
- return typeof t?.disabled != "boolean" && $(), t.selection && !W(t.selection) && $(), { disabled: t.disabled, ...t.scope_mode ? { scopeMode: t.scope_mode, selection: t.selection ?? null, preselection: t.preselection, mismatch: t.mismatch } : {} };
264
+ const n = await e.call("delegate.status");
265
+ if (!["ready", "disabled", "needs-scope-confirmation"].includes(n?.state)) throw { code: "EXECUTOR_UNAVAILABLE" };
266
+ return typeof n?.disabled != "boolean" && $(), n.selection && !W(n.selection) && $(), { disabled: n.disabled, ...n.scope_mode ? { scopeMode: n.scope_mode, selection: n.selection ?? null, preselection: n.preselection, mismatch: n.mismatch } : {} };
267
267
  },
268
268
  async list() {
269
- const t = await e.call("delegate.list");
270
- return Array.isArray(t?.delegations) || $(), t.delegations.filter((o) => o.lifetime === "until-revoked" && !o.revoked).map((o) => ((!w(o.delegation_id) || typeof o.destination != "string" || !o.destination || !q(o.path) || typeof o.subject?.username != "string" || !o.subject.username) && $(), { id: o.delegation_id, key: o.destination, path: o.path, username: o.subject.username, lifetime: "until-revoked" }));
269
+ const n = await e.call("delegate.list");
270
+ return Array.isArray(n?.delegations) || $(), n.delegations.filter((o) => o.lifetime === "until-revoked" && !o.revoked).map((o) => ((!w(o.delegation_id) || typeof o.destination != "string" || !o.destination || !q(o.path) || typeof o.subject?.username != "string" || !o.subject.username) && $(), { id: o.delegation_id, key: o.destination, path: o.path, username: o.subject.username, lifetime: "until-revoked" }));
271
271
  },
272
272
  async operations() {
273
- const t = await n();
274
- return Promise.all(t.map(async (o) => {
273
+ const n = await t();
274
+ return Promise.all(n.map(async (o) => {
275
275
  (typeof o?.name != "string" || !o.name || !L(o)) && $();
276
276
  const i = { delegation_id: o.delegation_id, job_id: o.job_id };
277
277
  try {
@@ -282,10 +282,10 @@ function NO(e, n = async () => {
282
282
  }
283
283
  }));
284
284
  },
285
- async revoke(t) {
286
- return (await e.call("delegate.revoke", { delegation_id: t.delegation_id }))?.revoked !== !0 && $(), { revoked: !0 };
285
+ async revoke(n) {
286
+ return (await e.call("delegate.revoke", { delegation_id: n.delegation_id }))?.revoked !== !0 && $(), { revoked: !0 };
287
287
  },
288
- cancel: (t) => a("delegate.operations.cancel", t),
288
+ cancel: (n) => a("delegate.operations.cancel", n),
289
289
  async disable() {
290
290
  return (await e.call("delegate.disable"))?.disabled !== !0 && $(), { disabled: !0 };
291
291
  },
@@ -782,77 +782,77 @@ const ke = {
782
782
  "authorization.admin_required.body": "此 App 僅供 administrators 群組的成員使用。請使用管理員帳號開啟。"
783
783
  }, x = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], ie = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
784
784
  function z(e) {
785
- const n = e.replaceAll("_", "-");
786
- return [ie[n] ?? n, n.split("-")[0]].find((a) => x.includes(a)) ?? "en";
785
+ const t = e.replaceAll("_", "-");
786
+ return [ie[t] ?? t, t.split("-")[0]].find((a) => x.includes(a)) ?? "en";
787
787
  }
788
- function A(e, n) {
788
+ function A(e, t) {
789
789
  const a = se(e);
790
- return Object.fromEntries(x.map((t) => [t, C(a.en, a[t])]));
790
+ return Object.fromEntries(x.map((n) => [n, C(a.en, a[n])]));
791
791
  }
792
- function UO(e, n) {
793
- const a = se(n), t = C(e.en, a.en);
794
- return Object.fromEntries(x.map((o) => [o, C(C(t, e[o]), a[o])]));
792
+ function UO(e, t) {
793
+ const a = se(t), n = C(e.en, a.en);
794
+ return Object.fromEntries(x.map((o) => [o, C(C(n, e[o]), a[o])]));
795
795
  }
796
- function Ee(e, n, a = "en") {
797
- return (typeof e == "string" ? e : e[Le(n.count, a)] ?? e.other).replace(/\{(\w+)\}/g, (o, i) => i in n ? String(n[i]) : o);
796
+ function Ee(e, t, a = "en") {
797
+ return (typeof e == "string" ? e : e[Le(t.count, a)] ?? e.other).replace(/\{(\w+)\}/g, (o, i) => i in t ? String(t[i]) : o);
798
798
  }
799
- function Le(e, n) {
800
- return new Intl.PluralRules(ie[n] ?? n.replaceAll("_", "-")).select(Number(e ?? 0));
799
+ function Le(e, t) {
800
+ return new Intl.PluralRules(ie[t] ?? t.replaceAll("_", "-")).select(Number(e ?? 0));
801
801
  }
802
802
  function se(e) {
803
- return Object.fromEntries(Object.entries(e).map(([n, a]) => [n.slice(n.lastIndexOf("/") + 1, -5), a]));
803
+ return Object.fromEntries(Object.entries(e).map(([t, a]) => [t.slice(t.lastIndexOf("/") + 1, -5), a]));
804
804
  }
805
805
  const J = (e) => typeof e == "object" && e !== null && !Array.isArray(e), Ie = (e) => typeof e.other == "string";
806
- function C(e, n) {
807
- if (!J(e) || !J(n) || Ie(n)) return n ?? e;
806
+ function C(e, t) {
807
+ if (!J(e) || !J(t) || Ie(t)) return t ?? e;
808
808
  const a = { ...e };
809
- for (const [t, o] of Object.entries(n)) a[t] = C(e[t], o);
809
+ for (const [n, o] of Object.entries(t)) a[n] = C(e[n], o);
810
810
  return a;
811
811
  }
812
812
  function OO(e) {
813
813
  return /^(zh|ja)/.test(z(e)) ? ":" : ": ";
814
814
  }
815
815
  const Re = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/authorization/de.json": ke, "../../i18n/authorization/en.json": ae, "../../i18n/authorization/es.json": we, "../../i18n/authorization/fr.json": De, "../../i18n/authorization/it.json": Ce, "../../i18n/authorization/ja.json": Pe, "../../i18n/authorization/ko.json": Me, "../../i18n/authorization/zh-CN.json": qe, "../../i18n/authorization/zh-TW.json": Te }));
816
- function je(e, n) {
816
+ function je(e, t) {
817
817
  const a = { ...ae, ...Re[z(e)] };
818
- return (t) => (a[`authorization.${t}`] || t).replaceAll("{package}", n);
818
+ return (n) => (a[`authorization.${n}`] || n).replaceAll("{package}", t);
819
819
  }
820
820
  function j(e) {
821
- const n = e?.code;
822
- return n === "app_privilege_denied" || n === "admin_required" ? n : void 0;
821
+ const t = e?.code;
822
+ return t === "app_privilege_denied" || t === "admin_required" ? t : void 0;
823
823
  }
824
- function E(e, n = "en", a) {
825
- const t = j(e);
826
- if (!t) return;
827
- const o = a?.trim() ?? "", i = je(n, o);
828
- return { title: i(`${t}.title`), message: i(`${t}.${t === "app_privilege_denied" && o ? "namedBody" : "body"}`) };
824
+ function E(e, t = "en", a) {
825
+ const n = j(e);
826
+ if (!n) return;
827
+ const o = a?.trim() ?? "", i = je(t, o);
828
+ return { title: i(`${n}.title`), message: i(`${n}.${n === "app_privilege_denied" && o ? "namedBody" : "body"}`) };
829
829
  }
830
830
  function xe(e = {}) {
831
- const n = oe(e), a = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
831
+ const t = oe(e), a = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
832
832
  let o = !1;
833
833
  return {
834
834
  async download(i) {
835
835
  if (D(i), o) throw { code: "canceled" };
836
- const s = await n.token();
836
+ const s = await t.token();
837
837
  if (o) throw { code: "canceled" };
838
838
  const r = document.createElement("iframe");
839
839
  r.hidden = !0, r.setAttribute("sandbox", "allow-forms allow-same-origin allow-downloads"), a.add(r), document.body.append(r);
840
- const l = r.contentDocument;
841
- if (!l)
840
+ const c = r.contentDocument;
841
+ if (!c)
842
842
  throw r.remove(), a.delete(r), { code: "unavailable" };
843
- const c = l.createElement("meta");
844
- c.httpEquiv = "Content-Security-Policy", c.content = "default-src 'none'; form-action 'self'; base-uri 'none'", l.head.append(c);
845
- const m = l.createElement("form");
846
- m.method = "POST", m.action = te;
847
- for (const [h, d] of Object.entries({ api: "SYNO.FileStation.Download", method: "download", version: "2", path: JSON.stringify([i]), mode: "download", SynoToken: s })) {
848
- const u = l.createElement("input");
849
- u.type = "hidden", u.name = h, u.value = d, m.append(u);
843
+ const l = c.createElement("meta");
844
+ l.httpEquiv = "Content-Security-Policy", l.content = "default-src 'none'; form-action 'self'; base-uri 'none'", c.head.append(l);
845
+ const m = c.createElement("form");
846
+ m.method = "POST", m.action = ne;
847
+ for (const [p, d] of Object.entries({ api: "SYNO.FileStation.Download", method: "download", version: "2", path: JSON.stringify([i]), mode: "download", SynoToken: s })) {
848
+ const u = c.createElement("input");
849
+ u.type = "hidden", u.name = p, u.value = d, m.append(u);
850
850
  }
851
- l.body.append(m);
851
+ c.body.append(m);
852
852
  try {
853
853
  m.submit();
854
854
  } finally {
855
- for (const h of Array.from(m.querySelectorAll("input"))) h.value = "";
855
+ for (const p of Array.from(m.querySelectorAll("input"))) p.value = "";
856
856
  m.remove();
857
857
  }
858
858
  },
@@ -860,17 +860,17 @@ function xe(e = {}) {
860
860
  o = !0;
861
861
  for (const i of a) i.remove();
862
862
  a.clear();
863
- for (const i of t) i.abort();
864
- t.clear();
863
+ for (const i of n) i.abort();
864
+ n.clear();
865
865
  },
866
866
  async upload(i, s, r) {
867
867
  if (o) throw { code: "canceled" };
868
- const l = new AbortController(), c = () => l.abort();
869
- t.add(l), r.addEventListener("abort", c, { once: !0 }), r.aborted && l.abort();
868
+ const c = new AbortController(), l = () => c.abort();
869
+ n.add(c), r.addEventListener("abort", l, { once: !0 }), r.aborted && c.abort();
870
870
  try {
871
- await n.upload(i, s, l.signal);
871
+ await t.upload(i, s, c.signal);
872
872
  } finally {
873
- t.delete(l), r.removeEventListener("abort", c);
873
+ n.delete(c), r.removeEventListener("abort", l);
874
874
  }
875
875
  }
876
876
  };
@@ -883,30 +883,30 @@ function T(e) {
883
883
  }
884
884
  const re = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0;
885
885
  function ce(e) {
886
- const n = T(e), a = T(n.additional ?? {});
887
- return (typeof n.name != "string" || typeof n.path != "string" || typeof n.isdir != "boolean" || a.size !== void 0 && !re(a.size)) && b(), { name: n.name, path: n.path, isDir: n.isdir, ...a.size === void 0 ? {} : { bytes: a.size } };
886
+ const t = T(e), a = T(t.additional ?? {});
887
+ return (typeof t.name != "string" || typeof t.path != "string" || typeof t.isdir != "boolean" || a.size !== void 0 && !re(a.size)) && b(), { name: t.name, path: t.path, isDir: t.isdir, ...a.size === void 0 ? {} : { bytes: a.size } };
888
888
  }
889
889
  const Ne = /* @__PURE__ */ new Set(["#recycle", "#snapshot", "@eaDir", "@tmp", "@sharebin"]);
890
- function K(e, n, a) {
891
- const t = T(e), o = t.shares ?? t.files;
892
- (!Array.isArray(o) || o.length > a || !re(t.total) || t.offset !== n || n + o.length > t.total) && b();
893
- const i = o.map(ce), s = n + i.length;
894
- return s < t.total && !i.length && b(), { entries: i.filter((r) => !Ne.has(r.name)), total: t.total, offset: n, ...s < t.total ? { nextOffset: s } : {} };
890
+ function K(e, t, a) {
891
+ const n = T(e), o = n.shares ?? n.files;
892
+ (!Array.isArray(o) || o.length > a || !re(n.total) || n.offset !== t || t + o.length > n.total) && b();
893
+ const i = o.map(ce), s = t + i.length;
894
+ return s < n.total && !i.length && b(), { entries: i.filter((r) => !Ne.has(r.name)), total: n.total, offset: t, ...s < n.total ? { nextOffset: s } : {} };
895
895
  }
896
896
  function Ue(e) {
897
- let n = !1;
898
- const a = new AbortController(), t = xe(e.files), o = oe({ token: e.files?.token, timeout: R(e.requestTimeout) });
899
- async function i(s, r, l, c = !1) {
900
- (n || l.aborted) && b("canceled");
897
+ let t = !1;
898
+ const a = new AbortController(), n = xe(e.files), o = oe({ token: e.files?.token, timeout: R(e.requestTimeout) });
899
+ async function i(s, r, c, l = !1) {
900
+ (t || c.aborted) && b("canceled");
901
901
  let m = () => {
902
902
  };
903
- const h = new Promise((p, g) => {
904
- const v = () => g({ code: c ? "commit-uncertain" : "canceled" }), _ = setTimeout(() => g({ code: c ? "commit-uncertain" : "timeout" }), R(e.requestTimeout));
905
- l.addEventListener("abort", v, { once: !0 }), a.signal.addEventListener("abort", v, { once: !0 }), m = () => {
906
- clearTimeout(_), l.removeEventListener("abort", v), a.signal.removeEventListener("abort", v);
903
+ const p = new Promise((h, g) => {
904
+ const v = () => g({ code: l ? "commit-uncertain" : "canceled" }), _ = setTimeout(() => g({ code: l ? "commit-uncertain" : "timeout" }), R(e.requestTimeout));
905
+ c.addEventListener("abort", v, { once: !0 }), a.signal.addEventListener("abort", v, { once: !0 }), m = () => {
906
+ clearTimeout(_), c.removeEventListener("abort", v), a.signal.removeEventListener("abort", v);
907
907
  };
908
908
  }), d = new AbortController(), u = () => d.abort();
909
- l.addEventListener("abort", u, { once: !0 }), a.signal.addEventListener("abort", u, { once: !0 });
909
+ c.addEventListener("abort", u, { once: !0 }), a.signal.addEventListener("abort", u, { once: !0 });
910
910
  async function f() {
911
911
  switch (await e.call("nas.session.status", {}, { signal: d.signal }), d.signal.aborted && b("canceled"), s) {
912
912
  case "nas.files.shares":
@@ -921,88 +921,88 @@ function Ue(e) {
921
921
  b("unsupported");
922
922
  }
923
923
  try {
924
- return await Promise.race([f(), h]);
925
- } catch (p) {
926
- const g = p?.code;
927
- j(p) && b(j(p)), [407, 408, "407", "408", "denied"].includes(g) && b("denied"), (g === "cross_origin" || g === "origin_required") && b("origin-refused"), (g === "request_timeout" || g === "request_canceled") && b(c ? "commit-uncertain" : g === "request_timeout" ? "timeout" : "canceled"), b(typeof g == "string" && ["session_required", "dsm_session_required", "auth_unavailable", "denied", "not_found", "conflict", "invalid-request", "unavailable", "unknown_method", "unsupported", "commit-uncertain", "canceled", "timeout"].includes(g) ? g : c ? "commit-uncertain" : "unavailable");
924
+ return await Promise.race([f(), p]);
925
+ } catch (h) {
926
+ const g = h?.code;
927
+ j(h) && b(j(h)), [407, 408, "407", "408", "denied"].includes(g) && b("denied"), (g === "cross_origin" || g === "origin_required") && b("origin-refused"), (g === "request_timeout" || g === "request_canceled") && b(l ? "commit-uncertain" : g === "request_timeout" ? "timeout" : "canceled"), b(typeof g == "string" && ["session_required", "dsm_session_required", "auth_unavailable", "denied", "not_found", "conflict", "invalid-request", "unavailable", "unknown_method", "unsupported", "commit-uncertain", "canceled", "timeout"].includes(g) ? g : l ? "commit-uncertain" : "unavailable");
928
928
  } finally {
929
- m(), d.abort(), l.removeEventListener("abort", u), a.signal.removeEventListener("abort", u);
929
+ m(), d.abort(), c.removeEventListener("abort", u), a.signal.removeEventListener("abort", u);
930
930
  }
931
931
  }
932
932
  return {
933
- async upload(s, r, l) {
934
- (n || l.aborted) && b("canceled"), await e.call("nas.session.status", {}, { signal: l }), (n || l.aborted) && b("canceled"), await t.upload(s, r, l);
933
+ async upload(s, r, c) {
934
+ (t || c.aborted) && b("canceled"), await e.call("nas.session.status", {}, { signal: c }), (t || c.aborted) && b("canceled"), await n.upload(s, r, c);
935
935
  },
936
936
  async download(s) {
937
- n && b("canceled"), await e.call("nas.session.status"), n && b("canceled"), await t.download(s);
937
+ t && b("canceled"), await e.call("nas.session.status"), t && b("canceled"), await n.download(s);
938
938
  },
939
939
  async shares(s, r) {
940
940
  return K(await i("nas.files.shares", { offset: s }, r), s, 100);
941
941
  },
942
- async list(s, r, l) {
943
- const c = r.offset ?? 0, m = r.limit ?? 100;
944
- return K(await i("nas.files.list", { path: s, ...r, offset: c, limit: m }, l), c, m);
942
+ async list(s, r, c) {
943
+ const l = r.offset ?? 0, m = r.limit ?? 100;
944
+ return K(await i("nas.files.list", { path: s, ...r, offset: l, limit: m }, c), l, m);
945
945
  },
946
946
  async info(s, r) {
947
947
  return ce(await i("nas.files.info", { path: s }, r));
948
948
  },
949
- async createFolder(s, r, l) {
950
- T(await i("nas.files.create_folder", { parent: s, name: r }, l, !0)).created !== !0 && b("commit-uncertain");
949
+ async createFolder(s, r, c) {
950
+ T(await i("nas.files.create_folder", { parent: s, name: r }, c, !0)).created !== !0 && b("commit-uncertain");
951
951
  },
952
952
  dispose() {
953
- n = !0, a.abort(), t?.dispose();
953
+ t = !0, a.abort(), n?.dispose();
954
954
  }
955
955
  };
956
956
  }
957
957
  const I = "SYNO.SDS.App.FileStation3.Instance";
958
- function le(e, n) {
958
+ function le(e, t) {
959
959
  if (!e.startsWith("/")) return e;
960
- const a = (n ?? "").replace(/\/+$/, "");
960
+ const a = (t ?? "").replace(/\/+$/, "");
961
961
  if (a && (e === a || e.startsWith(`${a}/`))) return e.slice(a.length) || "/";
962
- const t = /^\/volume(?:USB|SATA)?\d+(?=\/|$)/.exec(e);
963
- return t ? e.slice(t[0].length) || "/" : e;
962
+ const n = /^\/volume(?:USB|SATA)?\d+(?=\/|$)/.exec(e);
963
+ return n ? e.slice(n[0].length) || "/" : e;
964
964
  }
965
- function FO(e, n = {}) {
966
- return de({ opendir: le(e, n.mount) }, n);
965
+ function FO(e, t = {}) {
966
+ return de({ opendir: le(e, t.mount) }, t);
967
967
  }
968
- function HO(e, n = {}) {
969
- return de({ openfile: le(e, n.mount) }, n);
968
+ function HO(e, t = {}) {
969
+ return de({ openfile: le(e, t.mount) }, t);
970
970
  }
971
971
  function Oe(e) {
972
972
  if (e.length > 4096 || /[\x00-\x1f\x7f\\]/.test(e)) return !1;
973
- const n = e.split("/");
974
- return n[0] === "" && n.length > 1 && n.slice(1).every((a) => a !== "" && a !== "." && a !== "..");
973
+ const t = e.split("/");
974
+ return t[0] === "" && t.length > 1 && t.slice(1).every((a) => a !== "" && a !== "." && a !== "..");
975
975
  }
976
- function de(e, n) {
977
- const a = "desktop" in n ? n.desktop : globalThis.SYNO?.SDS, t = a?.StatusNotifier, o = "opendir" in e ? e.opendir : e.openfile;
978
- return !Oe(o) || typeof a?.AppLaunch != "function" || t?.isAppEnabled?.(I) === !1 || t?.isAppLaunchable?.(I) === !1 ? !1 : (a.AppLaunch(I, e), !0);
976
+ function de(e, t) {
977
+ const a = "desktop" in t ? t.desktop : globalThis.SYNO?.SDS, n = a?.StatusNotifier, o = "opendir" in e ? e.opendir : e.openfile;
978
+ return !Oe(o) || typeof a?.AppLaunch != "function" || n?.isAppEnabled?.(I) === !1 || n?.isAppLaunchable?.(I) === !1 ? !1 : (a.AppLaunch(I, e), !0);
979
979
  }
980
980
  function BO(e) {
981
981
  return Ue(e);
982
982
  }
983
- function VO(e, n) {
984
- const a = (t) => {
985
- if (!n || !(t === n || t.startsWith(n + "/")) || t.includes("\\") || t.slice(1).split("/").some((o) => !o || o === "." || o === "..")) throw { code: "SCOPE_DENIED" };
983
+ function VO(e, t) {
984
+ const a = (n) => {
985
+ if (!t || !(n === t || n.startsWith(t + "/")) || n.includes("\\") || n.slice(1).split("/").some((o) => !o || o === "." || o === "..")) throw { code: "SCOPE_DENIED" };
986
986
  };
987
987
  return {
988
- async shares(t, o) {
989
- if (a(n), t !== 0) return { entries: [], offset: t, total: 1 };
990
- const i = await e.info(n, o);
991
- if (i.path !== n || !i.isDir) throw { code: "SCOPE_DENIED" };
988
+ async shares(n, o) {
989
+ if (a(t), n !== 0) return { entries: [], offset: n, total: 1 };
990
+ const i = await e.info(t, o);
991
+ if (i.path !== t || !i.isDir) throw { code: "SCOPE_DENIED" };
992
992
  return { entries: [i], offset: 0, total: 1 };
993
993
  },
994
- async list(t, o, i) {
995
- a(t);
996
- const s = await e.list(t, o, i);
994
+ async list(n, o, i) {
995
+ a(n);
996
+ const s = await e.list(n, o, i);
997
997
  return s.entries.forEach((r) => a(r.path)), s;
998
998
  },
999
- async info(t, o) {
1000
- a(t);
1001
- const i = await e.info(t, o);
999
+ async info(n, o) {
1000
+ a(n);
1001
+ const i = await e.info(n, o);
1002
1002
  return a(i.path), i;
1003
1003
  },
1004
- async createFolder(t, o, i) {
1005
- return a(t), a(t + "/" + o), e.createFolder(t, o, i);
1004
+ async createFolder(n, o, i) {
1005
+ return a(n), a(n + "/" + o), e.createFolder(n, o, i);
1006
1006
  },
1007
1007
  // The parent owns the shared session provider; closing a picker must not dispose it.
1008
1008
  dispose() {
@@ -1014,14 +1014,14 @@ function WO() {
1014
1014
  }
1015
1015
  const Fe = ["status", "background"];
1016
1016
  function JO(e) {
1017
- return Fe.filter((n) => n === "status" || e[n] === !0);
1017
+ return Fe.filter((t) => t === "status" || e[t] === !0);
1018
1018
  }
1019
1019
  const G = (e) => typeof e == "string" ? e : e.id;
1020
- function KO(e, n) {
1021
- const a = n.find((o) => G(o) === e), t = n.find((o) => typeof o == "string" || !o.hidden);
1022
- return G(a ?? t ?? "status");
1020
+ function KO(e, t) {
1021
+ const a = t.find((o) => G(o) === e), n = t.find((o) => typeof o == "string" || !o.hidden);
1022
+ return G(a ?? n ?? "status");
1023
1023
  }
1024
- const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte.", Ve = "Ordner auswählen", We = "Auswahl bestätigen", Je = "Ordner aktualisieren", Ke = "Wird geladen…", Ge = "Dieser Ordner ist leer.", Ze = "Ordner", Ye = "Zurück", Qe = "Vorwärts", Xe = "{name} auswählen", en = "{name} öffnen", nn = "Ausgewählt: {name}", tn = "Abbrechen", on = "Schließen", an = "Mehr laden", sn = "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner.", rn = "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner.", cn = "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste.", ln = "Dieser Name existiert bereits. Wählen Sie einen anderen Namen.", dn = "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung.", un = "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe.", pn = "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später.", hn = "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren.", gn = "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren.", mn = "Die Anfrage wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut über DSM.", fn = "Metadaten", $n = "Datei", vn = "Ordner", bn = "Name", Sn = "Typ", _n = "Größe", zn = "Auswählen", yn = "Datei auswählen", An = "{name} erweitern", kn = "{name} reduzieren", wn = "Hochladen", Dn = "Herunterladen", Cn = "Datei hochgeladen.", Pn = "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station.", Mn = "Wählen Sie eine Datei mit höchstens 16 GB aus.", qn = "Speicherort", Tn = "Vollständigen Pfad anzeigen", En = {
1024
+ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte.", Ve = "Ordner auswählen", We = "Auswahl bestätigen", Je = "Ordner aktualisieren", Ke = "Wird geladen…", Ge = "Dieser Ordner ist leer.", Ze = "Ordner", Ye = "Zurück", Qe = "Vorwärts", Xe = "{name} auswählen", et = "{name} öffnen", tt = "Ausgewählt: {name}", nt = "Abbrechen", ot = "Schließen", at = "Mehr laden", it = "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner.", st = "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner.", rt = "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste.", ct = "Dieser Name existiert bereits. Wählen Sie einen anderen Namen.", lt = "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung.", dt = "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe.", ut = "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später.", pt = "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren.", ht = "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren.", gt = "Die Anfrage wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut über DSM.", mt = "Metadaten", ft = "Datei", $t = "Ordner", vt = "Name", bt = "Typ", St = "Größe", _t = "Auswählen", zt = "Datei auswählen", yt = "{name} erweitern", At = "{name} reduzieren", kt = "Hochladen", wt = "Herunterladen", Dt = "Datei hochgeladen.", Ct = "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station.", Pt = "Wählen Sie eine Datei mit höchstens 16 GB aus.", Mt = "Speicherort", qt = "Vollständigen Pfad anzeigen", Tt = {
1025
1025
  title: He,
1026
1026
  ownPermissions: Be,
1027
1027
  choose: Ve,
@@ -1033,116 +1033,116 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1033
1033
  back: Ye,
1034
1034
  forward: Qe,
1035
1035
  select: Xe,
1036
- open: en,
1037
- selected: nn,
1038
- cancel: tn,
1039
- close: on,
1040
- loadMore: an,
1041
- errorSession: sn,
1042
- errorDenied: rn,
1043
- errorNotFound: cn,
1044
- errorConflict: ln,
1045
- errorUncertain: dn,
1046
- errorInvalid: un,
1047
- errorUnavailable: pn,
1048
- errorCanceled: hn,
1049
- errorTimeout: gn,
1050
- errorOrigin: mn,
1051
- metadata: fn,
1052
- fileKind: $n,
1053
- directoryKind: vn,
1054
- nameColumn: bn,
1055
- kindColumn: Sn,
1056
- sizeColumn: _n,
1057
- selectAction: zn,
1058
- chooseFile: yn,
1059
- expand: An,
1060
- collapse: kn,
1061
- upload: wn,
1062
- download: Dn,
1063
- uploaded: Cn,
1064
- errorDSM: Pn,
1065
- errorUploadSize: Mn,
1066
- location: qn,
1067
- fullPath: Tn
1068
- }, Ln = "NAS folders", In = "Operations use your own DSM session and current File Station permissions.", Rn = "Choose folder", jn = "Confirm selection", xn = "Refresh folders", Nn = "Loading…", Un = "This folder is empty.", On = "Folders", Fn = "Back", Hn = "Forward", Bn = "Select {name}", Vn = "Open {name}", Wn = "Selected: {name}", Jn = "Cancel", Kn = "Close", Gn = "Load more", Zn = "Your DSM session expired. Sign in to DSM again, then refresh folders.", Yn = "You do not have permission to access this file or folder. Choose another folder.", Qn = "The file or folder no longer exists. Refresh the listing.", Xn = "A file or folder with that name already exists. Choose another name.", et = "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again.", nt = "Invalid folder, filename or request. Check the input and try again.", tt = "File Station is unavailable or this package lacks the session adapter. Refresh later.", ot = "Request canceled. Refresh before continuing.", at = "The request timed out. Refresh the listing before continuing.", it = "The request was refused: the browser did not show that it came from this App's page. Open the App again from DSM in a current browser.", st = "Metadata", rt = "File", ct = "Folder", lt = "Name", dt = "Type", ut = "Size", pt = "Select", ht = "Choose file", gt = "Expand {name}", mt = "Collapse {name}", ft = "Upload", $t = "Download", vt = "File uploaded.", bt = "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station.", St = "Choose one file up to 16 GB.", _t = "Location", zt = "Show full path", yt = {
1069
- title: Ln,
1070
- ownPermissions: In,
1071
- choose: Rn,
1072
- confirm: jn,
1073
- refresh: xn,
1074
- loading: Nn,
1075
- emptyFolder: Un,
1076
- roots: On,
1077
- back: Fn,
1078
- forward: Hn,
1079
- select: Bn,
1080
- open: Vn,
1081
- selected: Wn,
1082
- cancel: Jn,
1083
- close: Kn,
1084
- loadMore: Gn,
1085
- errorSession: Zn,
1086
- errorDenied: Yn,
1087
- errorNotFound: Qn,
1088
- errorConflict: Xn,
1089
- errorUncertain: et,
1090
- errorInvalid: nt,
1091
- errorUnavailable: tt,
1092
- errorCanceled: ot,
1093
- errorTimeout: at,
1094
- errorOrigin: it,
1095
- metadata: st,
1096
- fileKind: rt,
1097
- directoryKind: ct,
1098
- nameColumn: lt,
1099
- kindColumn: dt,
1100
- sizeColumn: ut,
1101
- selectAction: pt,
1102
- chooseFile: ht,
1103
- expand: gt,
1104
- collapse: mt,
1105
- upload: ft,
1106
- download: $t,
1107
- uploaded: vt,
1108
- errorDSM: bt,
1109
- errorUploadSize: St,
1110
- location: _t,
1111
- fullPath: zt
1112
- }, At = "Carpetas NAS", kt = "Las operaciones usan su sesión DSM y sus permisos actuales de File Station.", wt = "Elegir carpeta", Dt = "Confirmar selección", Ct = "Actualizar carpetas", Pt = "Cargando…", Mt = "Esta carpeta está vacía.", qt = "Carpetas", Tt = "Atrás", Et = "Adelante", Lt = "Seleccionar {name}", It = "Abrir {name}", Rt = "Seleccionado: {name}", jt = "Cancelar", xt = "Cerrar", Nt = "Cargar más", Ut = "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas.", Ot = "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta.", Ft = "El archivo o la carpeta ya no existe. Actualice la lista.", Ht = "Ya existe un archivo o carpeta con ese nombre. Use otro nombre.", Bt = "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo.", Vt = "Carpeta, nombre o solicitud no válidos. Revise los datos.", Wt = "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde.", Jt = "Solicitud cancelada. Actualice antes de continuar.", Kt = "La solicitud agotó el tiempo. Actualice la lista antes de continuar.", Gt = "La solicitud se rechazó: el navegador no indicó que procediera de la página de esta App. Vuelva a abrir la App desde DSM en un navegador actual.", Zt = "Metadatos", Yt = "Archivo", Qt = "Carpeta", Xt = "Nombre", eo = "Tipo", no = "Tamaño", to = "Seleccionar", oo = "Elegir archivo", ao = "Expandir {name}", io = "Contraer {name}", so = "Subir", ro = "Descargar", co = "Archivo subido.", lo = "Inicie sesión en DSM con este nombre de host para acceder a los archivos NAS. El inicio de sesión en la App por sí solo no permite usar File Station.", uo = "Seleccione un archivo de hasta 16 GB.", po = "Ubicación", ho = "Mostrar la ruta completa", go = {
1113
- title: At,
1114
- ownPermissions: kt,
1115
- choose: wt,
1116
- confirm: Dt,
1117
- refresh: Ct,
1118
- loading: Pt,
1119
- emptyFolder: Mt,
1120
- roots: qt,
1121
- back: Tt,
1122
- forward: Et,
1123
- select: Lt,
1124
- open: It,
1125
- selected: Rt,
1126
- cancel: jt,
1127
- close: xt,
1128
- loadMore: Nt,
1129
- errorSession: Ut,
1130
- errorDenied: Ot,
1131
- errorNotFound: Ft,
1132
- errorConflict: Ht,
1133
- errorUncertain: Bt,
1134
- errorInvalid: Vt,
1135
- errorUnavailable: Wt,
1136
- errorCanceled: Jt,
1137
- errorTimeout: Kt,
1138
- errorOrigin: Gt,
1139
- metadata: Zt,
1140
- fileKind: Yt,
1141
- directoryKind: Qt,
1142
- nameColumn: Xt,
1036
+ open: et,
1037
+ selected: tt,
1038
+ cancel: nt,
1039
+ close: ot,
1040
+ loadMore: at,
1041
+ errorSession: it,
1042
+ errorDenied: st,
1043
+ errorNotFound: rt,
1044
+ errorConflict: ct,
1045
+ errorUncertain: lt,
1046
+ errorInvalid: dt,
1047
+ errorUnavailable: ut,
1048
+ errorCanceled: pt,
1049
+ errorTimeout: ht,
1050
+ errorOrigin: gt,
1051
+ metadata: mt,
1052
+ fileKind: ft,
1053
+ directoryKind: $t,
1054
+ nameColumn: vt,
1055
+ kindColumn: bt,
1056
+ sizeColumn: St,
1057
+ selectAction: _t,
1058
+ chooseFile: zt,
1059
+ expand: yt,
1060
+ collapse: At,
1061
+ upload: kt,
1062
+ download: wt,
1063
+ uploaded: Dt,
1064
+ errorDSM: Ct,
1065
+ errorUploadSize: Pt,
1066
+ location: Mt,
1067
+ fullPath: qt
1068
+ }, Et = "NAS folders", Lt = "Operations use your own DSM session and current File Station permissions.", It = "Choose folder", Rt = "Confirm selection", jt = "Refresh folders", xt = "Loading…", Nt = "This folder is empty.", Ut = "Folders", Ot = "Back", Ft = "Forward", Ht = "Select {name}", Bt = "Open {name}", Vt = "Selected: {name}", Wt = "Cancel", Jt = "Close", Kt = "Load more", Gt = "Your DSM session expired. Sign in to DSM again, then refresh folders.", Zt = "You do not have permission to access this file or folder. Choose another folder.", Yt = "The file or folder no longer exists. Refresh the listing.", Qt = "A file or folder with that name already exists. Choose another name.", Xt = "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again.", en = "Invalid folder, filename or request. Check the input and try again.", tn = "File Station is unavailable or this package lacks the session adapter. Refresh later.", nn = "Request canceled. Refresh before continuing.", on = "The request timed out. Refresh the listing before continuing.", an = "The request was refused: the browser did not show that it came from this App's page. Open the App again from DSM in a current browser.", sn = "Metadata", rn = "File", cn = "Folder", ln = "Name", dn = "Type", un = "Size", pn = "Select", hn = "Choose file", gn = "Expand {name}", mn = "Collapse {name}", fn = "Upload", $n = "Download", vn = "File uploaded.", bn = "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station.", Sn = "Choose one file up to 16 GB.", _n = "Location", zn = "Show full path", yn = {
1069
+ title: Et,
1070
+ ownPermissions: Lt,
1071
+ choose: It,
1072
+ confirm: Rt,
1073
+ refresh: jt,
1074
+ loading: xt,
1075
+ emptyFolder: Nt,
1076
+ roots: Ut,
1077
+ back: Ot,
1078
+ forward: Ft,
1079
+ select: Ht,
1080
+ open: Bt,
1081
+ selected: Vt,
1082
+ cancel: Wt,
1083
+ close: Jt,
1084
+ loadMore: Kt,
1085
+ errorSession: Gt,
1086
+ errorDenied: Zt,
1087
+ errorNotFound: Yt,
1088
+ errorConflict: Qt,
1089
+ errorUncertain: Xt,
1090
+ errorInvalid: en,
1091
+ errorUnavailable: tn,
1092
+ errorCanceled: nn,
1093
+ errorTimeout: on,
1094
+ errorOrigin: an,
1095
+ metadata: sn,
1096
+ fileKind: rn,
1097
+ directoryKind: cn,
1098
+ nameColumn: ln,
1099
+ kindColumn: dn,
1100
+ sizeColumn: un,
1101
+ selectAction: pn,
1102
+ chooseFile: hn,
1103
+ expand: gn,
1104
+ collapse: mn,
1105
+ upload: fn,
1106
+ download: $n,
1107
+ uploaded: vn,
1108
+ errorDSM: bn,
1109
+ errorUploadSize: Sn,
1110
+ location: _n,
1111
+ fullPath: zn
1112
+ }, An = "Carpetas NAS", kn = "Las operaciones usan su sesión DSM y sus permisos actuales de File Station.", wn = "Elegir carpeta", Dn = "Confirmar selección", Cn = "Actualizar carpetas", Pn = "Cargando…", Mn = "Esta carpeta está vacía.", qn = "Carpetas", Tn = "Atrás", En = "Adelante", Ln = "Seleccionar {name}", In = "Abrir {name}", Rn = "Seleccionado: {name}", jn = "Cancelar", xn = "Cerrar", Nn = "Cargar más", Un = "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas.", On = "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta.", Fn = "El archivo o la carpeta ya no existe. Actualice la lista.", Hn = "Ya existe un archivo o carpeta con ese nombre. Use otro nombre.", Bn = "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo.", Vn = "Carpeta, nombre o solicitud no válidos. Revise los datos.", Wn = "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde.", Jn = "Solicitud cancelada. Actualice antes de continuar.", Kn = "La solicitud agotó el tiempo. Actualice la lista antes de continuar.", Gn = "La solicitud se rechazó: el navegador no indicó que procediera de la página de esta App. Vuelva a abrir la App desde DSM en un navegador actual.", Zn = "Metadatos", Yn = "Archivo", Qn = "Carpeta", Xn = "Nombre", eo = "Tipo", to = "Tamaño", no = "Seleccionar", oo = "Elegir archivo", ao = "Expandir {name}", io = "Contraer {name}", so = "Subir", ro = "Descargar", co = "Archivo subido.", lo = "Inicie sesión en DSM con este nombre de host para acceder a los archivos NAS. El inicio de sesión en la App por sí solo no permite usar File Station.", uo = "Seleccione un archivo de hasta 16 GB.", po = "Ubicación", ho = "Mostrar la ruta completa", go = {
1113
+ title: An,
1114
+ ownPermissions: kn,
1115
+ choose: wn,
1116
+ confirm: Dn,
1117
+ refresh: Cn,
1118
+ loading: Pn,
1119
+ emptyFolder: Mn,
1120
+ roots: qn,
1121
+ back: Tn,
1122
+ forward: En,
1123
+ select: Ln,
1124
+ open: In,
1125
+ selected: Rn,
1126
+ cancel: jn,
1127
+ close: xn,
1128
+ loadMore: Nn,
1129
+ errorSession: Un,
1130
+ errorDenied: On,
1131
+ errorNotFound: Fn,
1132
+ errorConflict: Hn,
1133
+ errorUncertain: Bn,
1134
+ errorInvalid: Vn,
1135
+ errorUnavailable: Wn,
1136
+ errorCanceled: Jn,
1137
+ errorTimeout: Kn,
1138
+ errorOrigin: Gn,
1139
+ metadata: Zn,
1140
+ fileKind: Yn,
1141
+ directoryKind: Qn,
1142
+ nameColumn: Xn,
1143
1143
  kindColumn: eo,
1144
- sizeColumn: no,
1145
- selectAction: to,
1144
+ sizeColumn: to,
1145
+ selectAction: no,
1146
1146
  chooseFile: oo,
1147
1147
  expand: ao,
1148
1148
  collapse: io,
@@ -1153,7 +1153,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1153
1153
  errorUploadSize: uo,
1154
1154
  location: po,
1155
1155
  fullPath: ho
1156
- }, mo = "Dossiers NAS", fo = "Les opérations utilisent votre session DSM et vos droits File Station actuels.", $o = "Choisir un dossier", vo = "Confirmer la sélection", bo = "Actualiser les dossiers", So = "Chargement…", _o = "Ce dossier est vide.", zo = "Dossiers", yo = "Retour", Ao = "Suivant", ko = "Sélectionner {name}", wo = "Ouvrir {name}", Do = "Sélection : {name}", Co = "Annuler", Po = "Fermer", Mo = "Charger plus", qo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers.", To = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier.", Eo = "Le fichier ou dossier n’existe plus. Actualisez la liste.", Lo = "Ce nom existe déjà. Choisissez un autre nom.", Io = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau.", Ro = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie.", jo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.", xo = "Requête annulée. Actualisez avant de continuer.", No = "Délai dépassé. Actualisez la liste avant de continuer.", Uo = "La requête a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App depuis DSM dans un navigateur récent.", Oo = "Métadonnées", Fo = "Fichier", Ho = "Dossier", Bo = "Nom", Vo = "Type", Wo = "Taille", Jo = "Sélectionner", Ko = "Choisir un fichier", Go = "Développer {name}", Zo = "Réduire {name}", Yo = "Téléverser", Qo = "Télécharger", Xo = "Fichier téléversé.", ea = "Connectez-vous à DSM sur ce nom d’hôte pour accéder aux fichiers NAS. La connexion à l’App seule ne permet pas d’utiliser File Station.", na = "Choisissez un fichier de 16 GB maximum.", ta = "Emplacement", oa = "Afficher le chemin complet", aa = {
1156
+ }, mo = "Dossiers NAS", fo = "Les opérations utilisent votre session DSM et vos droits File Station actuels.", $o = "Choisir un dossier", vo = "Confirmer la sélection", bo = "Actualiser les dossiers", So = "Chargement…", _o = "Ce dossier est vide.", zo = "Dossiers", yo = "Retour", Ao = "Suivant", ko = "Sélectionner {name}", wo = "Ouvrir {name}", Do = "Sélection : {name}", Co = "Annuler", Po = "Fermer", Mo = "Charger plus", qo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers.", To = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier.", Eo = "Le fichier ou dossier n’existe plus. Actualisez la liste.", Lo = "Ce nom existe déjà. Choisissez un autre nom.", Io = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau.", Ro = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie.", jo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.", xo = "Requête annulée. Actualisez avant de continuer.", No = "Délai dépassé. Actualisez la liste avant de continuer.", Uo = "La requête a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App depuis DSM dans un navigateur récent.", Oo = "Métadonnées", Fo = "Fichier", Ho = "Dossier", Bo = "Nom", Vo = "Type", Wo = "Taille", Jo = "Sélectionner", Ko = "Choisir un fichier", Go = "Développer {name}", Zo = "Réduire {name}", Yo = "Téléverser", Qo = "Télécharger", Xo = "Fichier téléversé.", ea = "Connectez-vous à DSM sur ce nom d’hôte pour accéder aux fichiers NAS. La connexion à l’App seule ne permet pas d’utiliser File Station.", ta = "Choisissez un fichier de 16 GB maximum.", na = "Emplacement", oa = "Afficher le chemin complet", aa = {
1157
1157
  title: mo,
1158
1158
  ownPermissions: fo,
1159
1159
  choose: $o,
@@ -1194,8 +1194,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1194
1194
  download: Qo,
1195
1195
  uploaded: Xo,
1196
1196
  errorDSM: ea,
1197
- errorUploadSize: na,
1198
- location: ta,
1197
+ errorUploadSize: ta,
1198
+ location: na,
1199
1199
  fullPath: oa
1200
1200
  }, ia = "Cartelle NAS", sa = "Le operazioni usano la sessione DSM corrente e i relativi permessi File Station.", ra = "Scegli cartella", ca = "Conferma selezione", la = "Aggiorna cartelle", da = "Caricamento…", ua = "Questa cartella è vuota.", pa = "Cartelle", ha = "Indietro", ga = "Avanti", ma = "Seleziona {name}", fa = "Apri {name}", $a = "Selezionato: {name}", va = "Annulla", ba = "Chiudi", Sa = "Carica altro", _a = "Sessione DSM scaduta. Accedere di nuovo a DSM e aggiornare le cartelle.", za = "Nessun permesso di accesso a questo file o cartella. Scegliere un’altra cartella.", ya = "Il file o la cartella non esiste più. Aggiornare l’elenco.", Aa = "Esiste già un file o una cartella con questo nome. Scegliere un altro nome.", ka = "L’operazione potrebbe essere stata completata. Aggiornare selezioni o destinazione e controllare il risultato prima di inviarla di nuovo.", wa = "Cartella, nome o richiesta non validi. Controllare i dati.", Da = "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi.", Ca = "Richiesta annullata. Aggiornare prima di continuare.", Pa = "Tempo scaduto. Aggiornare l’elenco prima di continuare.", Ma = "La richiesta è stata rifiutata: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App da DSM in un browser aggiornato.", qa = "Metadati", Ta = "File", Ea = "Cartella", La = "Nome", Ia = "Tipo", Ra = "Dimensione", ja = "Seleziona", xa = "Scegli file", Na = "Espandi {name}", Ua = "Comprimi {name}", Oa = "Carica", Fa = "Scarica", Ha = "File caricato.", Ba = "Accedere a DSM con questo nome host per accedere ai file NAS. Il solo accesso all’App non consente di usare File Station.", Va = "Selezionare un file fino a 16 GB.", Wa = "Posizione", Ja = "Mostra il percorso completo", Ka = {
1201
1201
  title: ia,
@@ -1241,15 +1241,15 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1241
1241
  errorUploadSize: Va,
1242
1242
  location: Wa,
1243
1243
  fullPath: Ja
1244
- }, Ga = "NAS フォルダ", Za = "自分の DSM セッションと現在の File Station 権限で操作します。", Ya = "フォルダを選択", Qa = "選択を確定", Xa = "フォルダを最新の情報に更新", ei = "読み込み中…", ni = "空のフォルダです。", ti = "フォルダ", oi = "戻る", ai = "進む", ii = "{name} を選択", si = "{name} を開く", ri = "選択済み:{name}", ci = "キャンセル", li = "閉じる", di = "さらに読み込む", ui = "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください。", pi = "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください。", hi = "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください。", gi = "同名のファイルまたはフォルダがあります。別の名前を指定してください。", mi = "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください。", fi = "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください。", $i = "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください。", vi = "リクエストをキャンセルしました。最新の情報に更新してから続けてください。", bi = "リクエストがタイムアウトしました。一覧を最新の情報に更新してください。", Si = "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください。", _i = "情報", zi = "ファイル", yi = "フォルダ", Ai = "名前", ki = "種類", wi = "サイズ", Di = "選択", Ci = "ファイルを選択", Pi = "{name} を展開", Mi = "{name} を折りたたむ", qi = "アップロード", Ti = "ダウンロード", Ei = "ファイルをアップロードしました。", Li = "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません。", Ii = "16 GB 以下のファイルを 1 つ選択してください。", Ri = "場所", ji = "フルパスを表示", xi = {
1244
+ }, Ga = "NAS フォルダ", Za = "自分の DSM セッションと現在の File Station 権限で操作します。", Ya = "フォルダを選択", Qa = "選択を確定", Xa = "フォルダを最新の情報に更新", ei = "読み込み中…", ti = "空のフォルダです。", ni = "フォルダ", oi = "戻る", ai = "進む", ii = "{name} を選択", si = "{name} を開く", ri = "選択済み:{name}", ci = "キャンセル", li = "閉じる", di = "さらに読み込む", ui = "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください。", pi = "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください。", hi = "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください。", gi = "同名のファイルまたはフォルダがあります。別の名前を指定してください。", mi = "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください。", fi = "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください。", $i = "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください。", vi = "リクエストをキャンセルしました。最新の情報に更新してから続けてください。", bi = "リクエストがタイムアウトしました。一覧を最新の情報に更新してください。", Si = "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください。", _i = "情報", zi = "ファイル", yi = "フォルダ", Ai = "名前", ki = "種類", wi = "サイズ", Di = "選択", Ci = "ファイルを選択", Pi = "{name} を展開", Mi = "{name} を折りたたむ", qi = "アップロード", Ti = "ダウンロード", Ei = "ファイルをアップロードしました。", Li = "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません。", Ii = "16 GB 以下のファイルを 1 つ選択してください。", Ri = "場所", ji = "フルパスを表示", xi = {
1245
1245
  title: Ga,
1246
1246
  ownPermissions: Za,
1247
1247
  choose: Ya,
1248
1248
  confirm: Qa,
1249
1249
  refresh: Xa,
1250
1250
  loading: ei,
1251
- emptyFolder: ni,
1252
- roots: ti,
1251
+ emptyFolder: ti,
1252
+ roots: ni,
1253
1253
  back: oi,
1254
1254
  forward: ai,
1255
1255
  select: ii,
@@ -1285,7 +1285,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1285
1285
  errorUploadSize: Ii,
1286
1286
  location: Ri,
1287
1287
  fullPath: ji
1288
- }, Ni = "NAS 폴더", Ui = "자신의 DSM 세션과 현재 File Station 권한으로 작업합니다.", Oi = "폴더 선택", Fi = "선택 확인", Hi = "폴더 새로 고침", Bi = "불러오는 중…", Vi = "빈 폴더입니다.", Wi = "폴더", Ji = "뒤로", Ki = "앞으로", Gi = "{name} 선택", Zi = "{name} 열기", Yi = "선택됨: {name}", Qi = "취소", Xi = "종료", es = "더 불러오기", ns = "DSM 세션이 만료되었습니다. DSM에 다시 로그인한 후 폴더를 새로 고치십시오.", ts = "이 파일 또는 폴더에 접근할 권한이 없습니다. 다른 폴더를 선택하십시오.", os = "파일 또는 폴더가 없습니다. 목록을 새로 고치십시오.", as = "같은 이름의 파일 또는 폴더가 있습니다. 다른 이름을 사용하십시오.", is = "작업이 완료되었을 수 있습니다. 다시 제출하기 전에 선택 또는 대상 폴더를 새로 고쳐 결과를 확인하십시오.", ss = "폴더, 파일 이름 또는 요청이 잘못되었습니다. 입력을 확인하십시오.", rs = "File Station을 사용할 수 없거나 패키지에 세션 adapter가 없습니다. 나중에 새로 고치십시오.", cs = "요청이 취소되었습니다. 새로 고친 후 계속하십시오.", ls = "요청 시간이 초과되었습니다. 목록을 새로 고치십시오.", ds = "요청이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 DSM으로 App을 다시 여십시오.", us = "정보", ps = "파일", hs = "폴더", gs = "이름", ms = "유형", fs = "크기", $s = "선택", vs = "파일 선택", bs = "{name} 펼치기", Ss = "{name} 접기", _s = "업로드", zs = "다운로드", ys = "파일을 업로드했습니다.", As = "NAS 파일에 접근하려면 같은 호스트 이름에서 DSM에 로그인하십시오. App 로그인만으로는 File Station을 사용할 수 없습니다.", ks = "16 GB 이하의 파일 하나를 선택하십시오.", ws = "위치", Ds = "전체 경로 표시", Cs = {
1288
+ }, Ni = "NAS 폴더", Ui = "자신의 DSM 세션과 현재 File Station 권한으로 작업합니다.", Oi = "폴더 선택", Fi = "선택 확인", Hi = "폴더 새로 고침", Bi = "불러오는 중…", Vi = "빈 폴더입니다.", Wi = "폴더", Ji = "뒤로", Ki = "앞으로", Gi = "{name} 선택", Zi = "{name} 열기", Yi = "선택됨: {name}", Qi = "취소", Xi = "종료", es = "더 불러오기", ts = "DSM 세션이 만료되었습니다. DSM에 다시 로그인한 후 폴더를 새로 고치십시오.", ns = "이 파일 또는 폴더에 접근할 권한이 없습니다. 다른 폴더를 선택하십시오.", os = "파일 또는 폴더가 없습니다. 목록을 새로 고치십시오.", as = "같은 이름의 파일 또는 폴더가 있습니다. 다른 이름을 사용하십시오.", is = "작업이 완료되었을 수 있습니다. 다시 제출하기 전에 선택 또는 대상 폴더를 새로 고쳐 결과를 확인하십시오.", ss = "폴더, 파일 이름 또는 요청이 잘못되었습니다. 입력을 확인하십시오.", rs = "File Station을 사용할 수 없거나 패키지에 세션 adapter가 없습니다. 나중에 새로 고치십시오.", cs = "요청이 취소되었습니다. 새로 고친 후 계속하십시오.", ls = "요청 시간이 초과되었습니다. 목록을 새로 고치십시오.", ds = "요청이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 DSM으로 App을 다시 여십시오.", us = "정보", ps = "파일", hs = "폴더", gs = "이름", ms = "유형", fs = "크기", $s = "선택", vs = "파일 선택", bs = "{name} 펼치기", Ss = "{name} 접기", _s = "업로드", zs = "다운로드", ys = "파일을 업로드했습니다.", As = "NAS 파일에 접근하려면 같은 호스트 이름에서 DSM에 로그인하십시오. App 로그인만으로는 File Station을 사용할 수 없습니다.", ks = "16 GB 이하의 파일 하나를 선택하십시오.", ws = "위치", Ds = "전체 경로 표시", Cs = {
1289
1289
  title: Ni,
1290
1290
  ownPermissions: Ui,
1291
1291
  choose: Oi,
@@ -1302,8 +1302,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1302
1302
  cancel: Qi,
1303
1303
  close: Xi,
1304
1304
  loadMore: es,
1305
- errorSession: ns,
1306
- errorDenied: ts,
1305
+ errorSession: ts,
1306
+ errorDenied: ns,
1307
1307
  errorNotFound: os,
1308
1308
  errorConflict: as,
1309
1309
  errorUncertain: is,
@@ -1329,7 +1329,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1329
1329
  errorUploadSize: ks,
1330
1330
  location: ws,
1331
1331
  fullPath: Ds
1332
- }, Ps = "NAS 文件夹", Ms = "操作使用你自己的 DSM 会话与 File Station 实时权限。", qs = "选择文件夹", Ts = "确认选择", Es = "刷新文件夹", Ls = "正在加载…", Is = "此文件夹为空。", Rs = "文件夹", js = "返回", xs = "前进", Ns = "选择 {name}", Us = "打开 {name}", Os = "已选择:{name}", Fs = "取消", Hs = "关闭", Bs = "加载更多", Vs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹。", Ws = "没有权限访问此文件或文件夹。请选择其他文件夹。", Js = "文件或文件夹已不存在。请刷新列表。", Ks = "已有同名文件或文件夹。请使用其他名称。", Gs = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交。", Zs = "文件夹、文件名或请求无效。请检查输入后重试。", Ys = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。", Qs = "请求已取消。请刷新后继续。", Xs = "请求超时。请刷新列表后继续。", er = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App。", nr = "信息", tr = "文件", or = "文件夹", ar = "名称", ir = "类型", sr = "大小", rr = "选择", cr = "选择文件", lr = "展开 {name}", dr = "收起 {name}", ur = "上传", pr = "下载", hr = "文件已上传。", gr = "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station。", mr = "请选择一个不超过 16 GB 的文件。", fr = "位置", $r = "显示完整路径", vr = {
1332
+ }, Ps = "NAS 文件夹", Ms = "操作使用你自己的 DSM 会话与 File Station 实时权限。", qs = "选择文件夹", Ts = "确认选择", Es = "刷新文件夹", Ls = "正在加载…", Is = "此文件夹为空。", Rs = "文件夹", js = "返回", xs = "前进", Ns = "选择 {name}", Us = "打开 {name}", Os = "已选择:{name}", Fs = "取消", Hs = "关闭", Bs = "加载更多", Vs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹。", Ws = "没有权限访问此文件或文件夹。请选择其他文件夹。", Js = "文件或文件夹已不存在。请刷新列表。", Ks = "已有同名文件或文件夹。请使用其他名称。", Gs = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交。", Zs = "文件夹、文件名或请求无效。请检查输入后重试。", Ys = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。", Qs = "请求已取消。请刷新后继续。", Xs = "请求超时。请刷新列表后继续。", er = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App。", tr = "信息", nr = "文件", or = "文件夹", ar = "名称", ir = "类型", sr = "大小", rr = "选择", cr = "选择文件", lr = "展开 {name}", dr = "收起 {name}", ur = "上传", pr = "下载", hr = "文件已上传。", gr = "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station。", mr = "请选择一个不超过 16 GB 的文件。", fr = "位置", $r = "显示完整路径", vr = {
1333
1333
  title: Ps,
1334
1334
  ownPermissions: Ms,
1335
1335
  choose: qs,
@@ -1356,8 +1356,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1356
1356
  errorCanceled: Qs,
1357
1357
  errorTimeout: Xs,
1358
1358
  errorOrigin: er,
1359
- metadata: nr,
1360
- fileKind: tr,
1359
+ metadata: tr,
1360
+ fileKind: nr,
1361
1361
  directoryKind: or,
1362
1362
  nameColumn: ar,
1363
1363
  kindColumn: ir,
@@ -1373,7 +1373,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1373
1373
  errorUploadSize: mr,
1374
1374
  location: fr,
1375
1375
  fullPath: $r
1376
- }, br = "NAS 資料夾", Sr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限。", _r = "選擇資料夾", zr = "確認選取", yr = "重新整理資料夾", Ar = "載入中…", kr = "此資料夾是空的。", wr = "資料夾", Dr = "返回", Cr = "前進", Pr = "選取 {name}", Mr = "開啟 {name}", qr = "已選取:{name}", Tr = "取消", Er = "關閉", Lr = "載入更多", Ir = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾。", Rr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾。", jr = "檔案或資料夾已不存在。請重新整理清單。", xr = "已有同名檔案或資料夾。請使用其他名稱。", Nr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出。", Ur = "資料夾、檔名或請求無效。請檢查輸入後重試。", Or = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理。", Fr = "請求已取消。請重新整理後繼續。", Hr = "請求逾時。請重新整理清單後繼續。", Br = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App。", Vr = "資訊", Wr = "檔案", Jr = "資料夾", Kr = "名稱", Gr = "類型", Zr = "大小", Yr = "選取", Qr = "選擇檔案", Xr = "展開 {name}", ec = "收合 {name}", nc = "上傳", tc = "下載", oc = "檔案已上傳。", ac = "請在同一主機名稱登入 DSM,以存取 NAS 檔案。只有 App 登入無法使用 File Station。", ic = "請選擇一個不超過 16 GB 的檔案。", sc = "位置", rc = "顯示完整路徑", cc = {
1376
+ }, br = "NAS 資料夾", Sr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限。", _r = "選擇資料夾", zr = "確認選取", yr = "重新整理資料夾", Ar = "載入中…", kr = "此資料夾是空的。", wr = "資料夾", Dr = "返回", Cr = "前進", Pr = "選取 {name}", Mr = "開啟 {name}", qr = "已選取:{name}", Tr = "取消", Er = "關閉", Lr = "載入更多", Ir = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾。", Rr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾。", jr = "檔案或資料夾已不存在。請重新整理清單。", xr = "已有同名檔案或資料夾。請使用其他名稱。", Nr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出。", Ur = "資料夾、檔名或請求無效。請檢查輸入後重試。", Or = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理。", Fr = "請求已取消。請重新整理後繼續。", Hr = "請求逾時。請重新整理清單後繼續。", Br = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App。", Vr = "資訊", Wr = "檔案", Jr = "資料夾", Kr = "名稱", Gr = "類型", Zr = "大小", Yr = "選取", Qr = "選擇檔案", Xr = "展開 {name}", ec = "收合 {name}", tc = "上傳", nc = "下載", oc = "檔案已上傳。", ac = "請在同一主機名稱登入 DSM,以存取 NAS 檔案。只有 App 登入無法使用 File Station。", ic = "請選擇一個不超過 16 GB 的檔案。", sc = "位置", rc = "顯示完整路徑", cc = {
1377
1377
  title: br,
1378
1378
  ownPermissions: Sr,
1379
1379
  choose: _r,
@@ -1410,14 +1410,14 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1410
1410
  chooseFile: Qr,
1411
1411
  expand: Xr,
1412
1412
  collapse: ec,
1413
- upload: nc,
1414
- download: tc,
1413
+ upload: tc,
1414
+ download: nc,
1415
1415
  uploaded: oc,
1416
1416
  errorDSM: ac,
1417
1417
  errorUploadSize: ic,
1418
1418
  location: sc,
1419
1419
  fullPath: rc
1420
- }, lc = "Dateizugriff im Hintergrund", dc = "Downloads laufen weiter, nachdem Sie diese App schließen. Jeder Auftrag darf bis zu einer Stunde lang nur in den ausgewählten Ordner schreiben. Vorhandene Dateien werden nie ersetzt.", uc = "Systemzugriff", pc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen.", hc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen.", gc = "Diese App einmalig genehmigen", mc = "Diese App benötigt die Genehmigung eines Administrators", fc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen.", $c = "Einige ihrer Funktionen benötigen Systemrechte.", vc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen.", bc = "Über diese Genehmigung", Sc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind.", _c = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert.", zc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten.", yc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten.", Ac = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet.", kc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen.", wc = "Benutzerpasswort", Dc = "Genehmigen", Cc = "Freigegebenen Ordner bestätigen", Pc = "Der Dateizugriff im Hintergrund ist bereit.", Mc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden.", qc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen.", Tc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Ec = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Lc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen.", Ic = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt.", Rc = "Genehmigen", jc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert.", xc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert.", Nc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", Uc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut.", Oc = "Wird geladen…", Fc = "Details", Hc = "Widerrufen", Bc = "Auftrag abbrechen", Vc = "Sie haben keine aktiven Delegierungen.", Wc = "Meine Delegierungen", Jc = "Ablauf", Kc = "Meine Downloads", Gc = "Sie haben keine Download-Aufträge.", Zc = "Download-URL", Yc = "Dateiname", Qc = "Ordner auswählen", Xc = "In meinen Ordner herunterladen", el = "Ziel", nl = "Auftrag abgebrochen. Der Widerruf steht noch aus; die App versucht es erneut.", tl = "Die Aktion konnte nicht abgeschlossen werden. Aktualisieren Sie die Ansicht und versuchen Sie es erneut. Wenn der Fehler bestehen bleibt, wenden Sie sich an Ihren Administrator.", ol = "Die Genehmigung konnte nicht abgeschlossen werden. Geben Sie Ihr Benutzerpasswort erneut ein und versuchen Sie es noch einmal, oder prüfen Sie die App-Einrichtung.", al = "Falsches Passwort. Versuchen Sie es erneut.", il = "Geben Sie Ihr Benutzerpasswort ein.", sl = "DSM konnte das Passwort nicht prüfen. Es wurde nichts geändert; versuchen Sie es erneut.", rl = "Der Hintergrunddienst der App startet und prüft mit DSM. Das kann bis zu einer Minute dauern.", cl = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und versuchen Sie es erneut.", ll = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht.", dl = "Downloads sind auf 64 MB und 60 Sekunden begrenzt.", ul = "In Warteschlange", pl = "Wird heruntergeladen", hl = "Gespeichert", gl = "Fehlgeschlagen", ml = "Abgebrochen", fl = "Unterbrochen", $l = "Home-Ordner jedes Benutzers", vl = "Bereich für Speichern im Hintergrund", bl = "Bestätigter Bereich", Sl = "Vorauswahl bei der Installation", _l = "Die Vorauswahl bei der Installation ist nur ein Vorschlag. Bestätigen Sie diesen Bereich mit Ihrem Benutzerpasswort, wenn Sie den Hintergrundzugriff aktivieren.", zl = "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich.", yl = "Warten auf den Start der Systemdienste", Al = "Status", kl = "Bereit", wl = "Nicht verfügbar", Dl = "Wird bestätigt", Cl = "Der Systemdienst der App hat nicht geantwortet. Öffnen Sie die App über den DSM-Desktop oder laden Sie die Seite neu.", Pl = "Der Hintergrunddienst der App startet noch. Laden Sie die Seite gleich neu.", Ml = "Neuer Versuch", ql = "Limit für rohe Antworten (Bytes)", Tl = "Update prüfen", El = "Systemprogramme wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Ll = "Die Definitionen der Genehmigungsaufgaben wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Il = "Die Genehmigungsrichtlinie wurde aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Rl = "Berechtigungen unverändert.", jl = "Berechtigungen erweitert. Prüfen Sie die Änderungen vor der Genehmigung.", xl = "Berechtigungen oder Parameter geändert. Prüfen Sie die Änderungen vor der Genehmigung.", Nl = "Richtlinie", Ul = "Änderungen an Berechtigungen und Parametern", Ol = "Die bisherige geschützte Laufzeit hat keine Vergleichsdaten bereitgestellt. Änderungen und Berechtigungserweiterungen sind unbekannt. Eine erneute Administratorgenehmigung ist erforderlich.", Fl = "Dieses Update genehmigen", Hl = {
1420
+ }, lc = "Dateizugriff im Hintergrund", dc = "Downloads laufen weiter, nachdem Sie diese App schließen. Jeder Auftrag darf bis zu einer Stunde lang nur in den ausgewählten Ordner schreiben. Vorhandene Dateien werden nie ersetzt.", uc = "Systemzugriff", pc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen.", hc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen.", gc = "Diese App einmalig genehmigen", mc = "Diese App benötigt die Genehmigung eines Administrators", fc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen.", $c = "Einige ihrer Funktionen benötigen Systemrechte.", vc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen.", bc = "Über diese Genehmigung", Sc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind.", _c = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert.", zc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten.", yc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten.", Ac = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet.", kc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen.", wc = "Benutzerpasswort", Dc = "Genehmigen", Cc = "Freigegebenen Ordner bestätigen", Pc = "Der Dateizugriff im Hintergrund ist bereit.", Mc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden.", qc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen.", Tc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Ec = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Lc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen.", Ic = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt.", Rc = "Genehmigen", jc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert.", xc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert.", Nc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", Uc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut.", Oc = "Wird geladen…", Fc = "Details", Hc = "Widerrufen", Bc = "Auftrag abbrechen", Vc = "Sie haben keine aktiven Delegierungen.", Wc = "Meine Delegierungen", Jc = "Ablauf", Kc = "Meine Downloads", Gc = "Sie haben keine Download-Aufträge.", Zc = "Download-URL", Yc = "Dateiname", Qc = "Ordner auswählen", Xc = "In meinen Ordner herunterladen", el = "Ziel", tl = "Auftrag abgebrochen. Der Widerruf steht noch aus; die App versucht es erneut.", nl = "Die Aktion konnte nicht abgeschlossen werden. Aktualisieren Sie die Ansicht und versuchen Sie es erneut. Wenn der Fehler bestehen bleibt, wenden Sie sich an Ihren Administrator.", ol = "Die Genehmigung konnte nicht abgeschlossen werden. Geben Sie Ihr Benutzerpasswort erneut ein und versuchen Sie es noch einmal, oder prüfen Sie die App-Einrichtung.", al = "Falsches Passwort. Versuchen Sie es erneut.", il = "Geben Sie Ihr Benutzerpasswort ein.", sl = "DSM konnte das Passwort nicht prüfen. Es wurde nichts geändert; versuchen Sie es erneut.", rl = "Der Hintergrunddienst der App startet und prüft mit DSM. Das kann bis zu einer Minute dauern.", cl = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und versuchen Sie es erneut.", ll = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht.", dl = "Downloads sind auf 64 MB und 60 Sekunden begrenzt.", ul = "In Warteschlange", pl = "Wird heruntergeladen", hl = "Gespeichert", gl = "Fehlgeschlagen", ml = "Abgebrochen", fl = "Unterbrochen", $l = "Home-Ordner jedes Benutzers", vl = "Bereich für Speichern im Hintergrund", bl = "Bestätigter Bereich", Sl = "Vorauswahl bei der Installation", _l = "Die Vorauswahl bei der Installation ist nur ein Vorschlag. Bestätigen Sie diesen Bereich mit Ihrem Benutzerpasswort, wenn Sie den Hintergrundzugriff aktivieren.", zl = "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich.", yl = "Warten auf den Start der Systemdienste", Al = "Status", kl = "Bereit", wl = "Nicht verfügbar", Dl = "Wird bestätigt", Cl = "Der Systemdienst der App hat nicht geantwortet. Öffnen Sie die App über den DSM-Desktop oder laden Sie die Seite neu.", Pl = "Der Hintergrunddienst der App startet noch. Laden Sie die Seite gleich neu.", Ml = "Neuer Versuch", ql = "Limit für rohe Antworten (Bytes)", Tl = "Update prüfen", El = "Systemprogramme wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Ll = "Die Definitionen der Genehmigungsaufgaben wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Il = "Die Genehmigungsrichtlinie wurde aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Rl = "Berechtigungen unverändert.", jl = "Berechtigungen erweitert. Prüfen Sie die Änderungen vor der Genehmigung.", xl = "Berechtigungen oder Parameter geändert. Prüfen Sie die Änderungen vor der Genehmigung.", Nl = "Richtlinie", Ul = "Änderungen an Berechtigungen und Parametern", Ol = "Die bisherige geschützte Laufzeit hat keine Vergleichsdaten bereitgestellt. Änderungen und Berechtigungserweiterungen sind unbekannt. Eine erneute Administratorgenehmigung ist erforderlich.", Fl = "Dieses Update genehmigen", Hl = {
1421
1421
  title: lc,
1422
1422
  help: dc,
1423
1423
  setupTitle: uc,
@@ -1464,8 +1464,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1464
1464
  choose: Qc,
1465
1465
  submit: Xc,
1466
1466
  destination: el,
1467
- pending: nl,
1468
- error: tl,
1467
+ pending: tl,
1468
+ error: nl,
1469
1469
  setupError: ol,
1470
1470
  passwordRejected: al,
1471
1471
  passwordRequired: il,
@@ -1506,7 +1506,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1506
1506
  upgradeChanges: Ul,
1507
1507
  upgradeUnknown: Ol,
1508
1508
  upgradeConsentTitle: Fl
1509
- }, Bl = "Background file access", Vl = "Downloads continue after you close this app. Each job can write only to the folder you select, for up to one hour. Existing files are never replaced.", Wl = "System access", Jl = "Lets this app run the system tasks declared in its package.", Kl = "Lets this app finish file jobs for users after they sign out.", Gl = "Approve this app once", Zl = "This app needs administrator approval", Yl = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges.", Ql = "Some of its features need system privileges.", Xl = "It needs system privileges to finish file jobs for users after they sign out.", ed = "About this approval", nd = "Use the password of the DSM account you're signed in with now.", td = "DSM checks it directly. It isn't sent to this app's service or saved.", od = "The app can then run only the system tasks declared in its package, and nothing else with system privileges.", ad = "If an update changes those tasks, you'll be asked to approve again.", id = "Approval adds the app's tasks to Task Scheduler. Uninstalling the app removes them and ends the approval.", sd = "Ask an administrator to open this app and approve it once.", rd = "User password", cd = "Approve", ld = "Confirm share", dd = "Background file access is ready.", ud = "Confirming background access. Do not submit again.", pd = "An administrator must approve background file access.", hd = "Background file access is unavailable. Ask an administrator to check the app setup.", gd = "System access is unavailable. Ask an administrator to check the app setup.", md = "Some features are unavailable until you approve system access for this app.", fd = "Some features are unavailable until an administrator approves system access for this app.", $d = "Approve", vd = "This app is stopped. Start it in Package Center; this page updates by itself once it runs.", bd = "This app is starting. This page updates by itself in a moment.", Sd = "This app is stopped. Start it in Package Center, then try again.", _d = "This app is starting. Wait a moment, then try again.", zd = "Loading…", yd = "Details", Ad = "Revoke", kd = "Cancel job", wd = "You have no active delegations.", Dd = "My delegations", Cd = "Expires", Pd = "My downloads", Md = "You have no download jobs.", qd = "Download URL", Td = "File name", Ed = "Choose folder", Ld = "Download to my folder", Id = "Destination", Rd = "Job canceled. Revocation is pending; the app will retry.", jd = "The action could not be completed. Refresh and try again. If it keeps failing, contact your administrator.", xd = "Approval could not be completed. Re-enter your user password and try again, or check the app setup.", Nd = "Incorrect password. Try again.", Ud = "Enter your user password.", Od = "DSM couldn't check the password. Nothing was changed; try again.", Fd = "This can take up to a minute while the app’s background service starts and checks with DSM.", Hd = "Access was refused. Check your folder permissions and try again.", Bd = "Sign in to DSM again, then refresh.", Vd = "Downloads are limited to 64 MB and 60 seconds.", Wd = "Queued", Jd = "Downloading", Kd = "Saved", Gd = "Failed", Zd = "Canceled", Yd = "Interrupted", Qd = "Each user’s home folder", Xd = "Background save scope", eu = "Confirmed scope", nu = "Installer pre-selection", tu = "The installer pre-selection is a suggestion. Confirm this scope with your user password when enabling background access.", ou = "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope.", au = "Waiting for system services to start", iu = "Status", su = "Ready", ru = "Unavailable", cu = "Confirming", lu = "The app's system service did not respond. Open the app from the DSM desktop or refresh the page.", du = "The app's background service is still starting. Refresh the page in a moment.", uu = "Retry", pu = "Raw response limit (bytes)", hu = "Review this update", gu = "System programs updated. Administrator approval is required.", mu = "Approval task definitions updated. Administrator approval is required.", fu = "Approval policy updated. Administrator approval is required.", $u = "Permissions unchanged.", vu = "Permissions expanded. Review the changes before approving.", bu = "Permissions or parameters changed. Review the changes before approving.", Su = "Policy", _u = "Permission and parameter changes", zu = "The previous protected runtime did not provide comparison details. Changes and permission expansion cannot be determined. Administrator approval is required.", yu = "Approve this update", Au = {
1509
+ }, Bl = "Background file access", Vl = "Downloads continue after you close this app. Each job can write only to the folder you select, for up to one hour. Existing files are never replaced.", Wl = "System access", Jl = "Lets this app run the system tasks declared in its package.", Kl = "Lets this app finish file jobs for users after they sign out.", Gl = "Approve this app once", Zl = "This app needs administrator approval", Yl = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges.", Ql = "Some of its features need system privileges.", Xl = "It needs system privileges to finish file jobs for users after they sign out.", ed = "About this approval", td = "Use the password of the DSM account you're signed in with now.", nd = "DSM checks it directly. It isn't sent to this app's service or saved.", od = "The app can then run only the system tasks declared in its package, and nothing else with system privileges.", ad = "If an update changes those tasks, you'll be asked to approve again.", id = "Approval adds the app's tasks to Task Scheduler. Uninstalling the app removes them and ends the approval.", sd = "Ask an administrator to open this app and approve it once.", rd = "User password", cd = "Approve", ld = "Confirm share", dd = "Background file access is ready.", ud = "Confirming background access. Do not submit again.", pd = "An administrator must approve background file access.", hd = "Background file access is unavailable. Ask an administrator to check the app setup.", gd = "System access is unavailable. Ask an administrator to check the app setup.", md = "Some features are unavailable until you approve system access for this app.", fd = "Some features are unavailable until an administrator approves system access for this app.", $d = "Approve", vd = "This app is stopped. Start it in Package Center; this page updates by itself once it runs.", bd = "This app is starting. This page updates by itself in a moment.", Sd = "This app is stopped. Start it in Package Center, then try again.", _d = "This app is starting. Wait a moment, then try again.", zd = "Loading…", yd = "Details", Ad = "Revoke", kd = "Cancel job", wd = "You have no active delegations.", Dd = "My delegations", Cd = "Expires", Pd = "My downloads", Md = "You have no download jobs.", qd = "Download URL", Td = "File name", Ed = "Choose folder", Ld = "Download to my folder", Id = "Destination", Rd = "Job canceled. Revocation is pending; the app will retry.", jd = "The action could not be completed. Refresh and try again. If it keeps failing, contact your administrator.", xd = "Approval could not be completed. Re-enter your user password and try again, or check the app setup.", Nd = "Incorrect password. Try again.", Ud = "Enter your user password.", Od = "DSM couldn't check the password. Nothing was changed; try again.", Fd = "This can take up to a minute while the app’s background service starts and checks with DSM.", Hd = "Access was refused. Check your folder permissions and try again.", Bd = "Sign in to DSM again, then refresh.", Vd = "Downloads are limited to 64 MB and 60 seconds.", Wd = "Queued", Jd = "Downloading", Kd = "Saved", Gd = "Failed", Zd = "Canceled", Yd = "Interrupted", Qd = "Each user’s home folder", Xd = "Background save scope", eu = "Confirmed scope", tu = "Installer pre-selection", nu = "The installer pre-selection is a suggestion. Confirm this scope with your user password when enabling background access.", ou = "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope.", au = "Waiting for system services to start", iu = "Status", su = "Ready", ru = "Unavailable", cu = "Confirming", lu = "The app's system service did not respond. Open the app from the DSM desktop or refresh the page.", du = "The app's background service is still starting. Refresh the page in a moment.", uu = "Retry", pu = "Raw response limit (bytes)", hu = "Review this update", gu = "System programs updated. Administrator approval is required.", mu = "Approval task definitions updated. Administrator approval is required.", fu = "Approval policy updated. Administrator approval is required.", $u = "Permissions unchanged.", vu = "Permissions expanded. Review the changes before approving.", bu = "Permissions or parameters changed. Review the changes before approving.", Su = "Policy", _u = "Permission and parameter changes", zu = "The previous protected runtime did not provide comparison details. Changes and permission expansion cannot be determined. Administrator approval is required.", yu = "Approve this update", Au = {
1510
1510
  title: Bl,
1511
1511
  help: Vl,
1512
1512
  setupTitle: Wl,
@@ -1518,8 +1518,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1518
1518
  consentPurpose: Ql,
1519
1519
  consentPurposeFiles: Xl,
1520
1520
  consentDetails: ed,
1521
- pointPassword: nd,
1522
- passwordNote: td,
1521
+ pointPassword: td,
1522
+ passwordNote: nd,
1523
1523
  pointLimited: od,
1524
1524
  pointUpdate: ad,
1525
1525
  pointRevoke: id,
@@ -1572,8 +1572,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1572
1572
  homeScope: Qd,
1573
1573
  scopeLabel: Xd,
1574
1574
  protectedScope: eu,
1575
- preselection: nu,
1576
- preselectionHelp: tu,
1575
+ preselection: tu,
1576
+ preselectionHelp: nu,
1577
1577
  scopeMismatch: ou,
1578
1578
  waiting_executor: au,
1579
1579
  status: iu,
@@ -1595,7 +1595,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1595
1595
  upgradeChanges: _u,
1596
1596
  upgradeUnknown: zu,
1597
1597
  upgradeConsentTitle: yu
1598
- }, ku = "Acceso a archivos en segundo plano", wu = "Las descargas continúan después de cerrar esta aplicación. Cada tarea solo puede escribir en la carpeta seleccionada, durante una hora como máximo. Los archivos existentes nunca se reemplazan.", Du = "Acceso al sistema", Cu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete.", Pu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión.", Mu = "Aprobar esta aplicación una sola vez", qu = "Esta aplicación necesita la aprobación de un administrador", Tu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema.", Eu = "Algunas de sus funciones necesitan privilegios del sistema.", Lu = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión.", Iu = "Acerca de esta aprobación", Ru = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión.", ju = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda.", xu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema.", Nu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo.", Uu = "La aprobación añade las tareas de la aplicación al Programador de tareas. Al desinstalar la aplicación, se eliminan y la aprobación termina.", Ou = "Pida a un administrador que abra esta aplicación y la apruebe una vez.", Fu = "Contraseña de usuario", Hu = "Aprobar", Bu = "Confirmar carpeta compartida", Vu = "El acceso a archivos en segundo plano está listo.", Wu = "Confirmando el acceso en segundo plano. No vuelva a enviar.", Ju = "Un administrador debe aprobar el acceso a archivos en segundo plano.", Ku = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Gu = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Zu = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación.", Yu = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación.", Qu = "Aprobar", Xu = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente.", ep = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento.", np = "Esta aplicación está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", tp = "Esta aplicación se está iniciando. Espere un momento y vuelva a intentarlo.", op = "Cargando…", ap = "Detalles", ip = "Revocar", sp = "Cancelar tarea", rp = "No tiene delegaciones activas.", cp = "Mis delegaciones", lp = "Caducidad", dp = "Mis descargas", up = "No tiene tareas de descarga.", pp = "URL de descarga", hp = "Nombre de archivo", gp = "Elegir carpeta", mp = "Descargar en mi carpeta", fp = "Destino", $p = "Tarea cancelada. La revocación está pendiente; la aplicación volverá a intentarlo.", vp = "No se pudo completar la acción. Actualice e inténtelo de nuevo. Si sigue fallando, póngase en contacto con su administrador.", bp = "No se pudo completar la aprobación. Vuelva a introducir su contraseña de usuario e inténtelo de nuevo, o revise la configuración de la aplicación.", Sp = "Contraseña incorrecta. Vuelva a intentarlo.", _p = "Introduzca su contraseña de usuario.", zp = "DSM no pudo comprobar la contraseña. No se ha cambiado nada; vuelva a intentarlo.", yp = "El servicio en segundo plano de la aplicación se está iniciando y comprobando con DSM. Puede tardar hasta un minuto.", Ap = "Se denegó el acceso. Compruebe los permisos de la carpeta e inténtelo de nuevo.", kp = "Vuelva a iniciar sesión en DSM y luego actualice.", wp = "Las descargas están limitadas a 64 MB y 60 segundos.", Dp = "En cola", Cp = "Descargando", Pp = "Guardado", Mp = "Error", qp = "Cancelado", Tp = "Interrumpido", Ep = "Carpeta home de cada usuario", Lp = "Ámbito de guardado en segundo plano", Ip = "Ámbito confirmado", Rp = "Preselección de la instalación", jp = "La preselección de la instalación es solo una sugerencia. Confirme este ámbito con su contraseña de usuario al activar el acceso en segundo plano.", xp = "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado.", Np = "Esperando a que se inicien los servicios del sistema", Up = "Estado", Op = "Listo", Fp = "No disponible", Hp = "Confirmando", Bp = "El servicio del sistema de la aplicación no respondió. Abra la aplicación desde el escritorio de DSM o actualice la página.", Vp = "El servicio en segundo plano de la aplicación aún se está iniciando. Actualice la página en un momento.", Wp = "Volver a intentar", Jp = "Límite de respuesta sin procesar (bytes)", Kp = "Revisar esta actualización", Gp = "Se actualizaron los programas del sistema. Se requiere una nueva aprobación del administrador.", Zp = "Se actualizaron las definiciones de las tareas de aprobación. Se requiere una nueva aprobación del administrador.", Yp = "Se actualizó la política de aprobación. Se requiere una nueva aprobación del administrador.", Qp = "Permisos sin cambios.", Xp = "Se ampliaron los permisos. Revise los cambios antes de aprobar.", eh = "Se modificaron los permisos o parámetros. Revise los cambios antes de aprobar.", nh = "Política", th = "Cambios en permisos y parámetros", oh = "El entorno protegido anterior no proporcionó datos de comparación. No se pueden determinar los cambios ni la ampliación de permisos. Se requiere una nueva aprobación del administrador.", ah = "Aprobar esta actualización", ih = {
1598
+ }, ku = "Acceso a archivos en segundo plano", wu = "Las descargas continúan después de cerrar esta aplicación. Cada tarea solo puede escribir en la carpeta seleccionada, durante una hora como máximo. Los archivos existentes nunca se reemplazan.", Du = "Acceso al sistema", Cu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete.", Pu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión.", Mu = "Aprobar esta aplicación una sola vez", qu = "Esta aplicación necesita la aprobación de un administrador", Tu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema.", Eu = "Algunas de sus funciones necesitan privilegios del sistema.", Lu = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión.", Iu = "Acerca de esta aprobación", Ru = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión.", ju = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda.", xu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema.", Nu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo.", Uu = "La aprobación añade las tareas de la aplicación al Programador de tareas. Al desinstalar la aplicación, se eliminan y la aprobación termina.", Ou = "Pida a un administrador que abra esta aplicación y la apruebe una vez.", Fu = "Contraseña de usuario", Hu = "Aprobar", Bu = "Confirmar carpeta compartida", Vu = "El acceso a archivos en segundo plano está listo.", Wu = "Confirmando el acceso en segundo plano. No vuelva a enviar.", Ju = "Un administrador debe aprobar el acceso a archivos en segundo plano.", Ku = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Gu = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Zu = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación.", Yu = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación.", Qu = "Aprobar", Xu = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente.", ep = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento.", tp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", np = "Esta aplicación se está iniciando. Espere un momento y vuelva a intentarlo.", op = "Cargando…", ap = "Detalles", ip = "Revocar", sp = "Cancelar tarea", rp = "No tiene delegaciones activas.", cp = "Mis delegaciones", lp = "Caducidad", dp = "Mis descargas", up = "No tiene tareas de descarga.", pp = "URL de descarga", hp = "Nombre de archivo", gp = "Elegir carpeta", mp = "Descargar en mi carpeta", fp = "Destino", $p = "Tarea cancelada. La revocación está pendiente; la aplicación volverá a intentarlo.", vp = "No se pudo completar la acción. Actualice e inténtelo de nuevo. Si sigue fallando, póngase en contacto con su administrador.", bp = "No se pudo completar la aprobación. Vuelva a introducir su contraseña de usuario e inténtelo de nuevo, o revise la configuración de la aplicación.", Sp = "Contraseña incorrecta. Vuelva a intentarlo.", _p = "Introduzca su contraseña de usuario.", zp = "DSM no pudo comprobar la contraseña. No se ha cambiado nada; vuelva a intentarlo.", yp = "El servicio en segundo plano de la aplicación se está iniciando y comprobando con DSM. Puede tardar hasta un minuto.", Ap = "Se denegó el acceso. Compruebe los permisos de la carpeta e inténtelo de nuevo.", kp = "Vuelva a iniciar sesión en DSM y luego actualice.", wp = "Las descargas están limitadas a 64 MB y 60 segundos.", Dp = "En cola", Cp = "Descargando", Pp = "Guardado", Mp = "Error", qp = "Cancelado", Tp = "Interrumpido", Ep = "Carpeta home de cada usuario", Lp = "Ámbito de guardado en segundo plano", Ip = "Ámbito confirmado", Rp = "Preselección de la instalación", jp = "La preselección de la instalación es solo una sugerencia. Confirme este ámbito con su contraseña de usuario al activar el acceso en segundo plano.", xp = "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado.", Np = "Esperando a que se inicien los servicios del sistema", Up = "Estado", Op = "Listo", Fp = "No disponible", Hp = "Confirmando", Bp = "El servicio del sistema de la aplicación no respondió. Abra la aplicación desde el escritorio de DSM o actualice la página.", Vp = "El servicio en segundo plano de la aplicación aún se está iniciando. Actualice la página en un momento.", Wp = "Volver a intentar", Jp = "Límite de respuesta sin procesar (bytes)", Kp = "Revisar esta actualización", Gp = "Se actualizaron los programas del sistema. Se requiere una nueva aprobación del administrador.", Zp = "Se actualizaron las definiciones de las tareas de aprobación. Se requiere una nueva aprobación del administrador.", Yp = "Se actualizó la política de aprobación. Se requiere una nueva aprobación del administrador.", Qp = "Permisos sin cambios.", Xp = "Se ampliaron los permisos. Revise los cambios antes de aprobar.", eh = "Se modificaron los permisos o parámetros. Revise los cambios antes de aprobar.", th = "Política", nh = "Cambios en permisos y parámetros", oh = "El entorno protegido anterior no proporcionó datos de comparación. No se pueden determinar los cambios ni la ampliación de permisos. Se requiere una nueva aprobación del administrador.", ah = "Aprobar esta actualización", ih = {
1599
1599
  title: ku,
1600
1600
  help: wu,
1601
1601
  setupTitle: Du,
@@ -1626,8 +1626,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1626
1626
  noticeApprove: Qu,
1627
1627
  appStopped: Xu,
1628
1628
  appStarting: ep,
1629
- appStoppedAction: np,
1630
- appStartingAction: tp,
1629
+ appStoppedAction: tp,
1630
+ appStartingAction: np,
1631
1631
  loading: op,
1632
1632
  details: ap,
1633
1633
  revoke: ip,
@@ -1680,11 +1680,11 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1680
1680
  upgradeUnchanged: Qp,
1681
1681
  upgradeExpanded: Xp,
1682
1682
  upgradeReview: eh,
1683
- upgradePolicyLabel: nh,
1684
- upgradeChanges: th,
1683
+ upgradePolicyLabel: th,
1684
+ upgradeChanges: nh,
1685
1685
  upgradeUnknown: oh,
1686
1686
  upgradeConsentTitle: ah
1687
- }, sh = "Accès aux fichiers en arrière-plan", rh = "Les téléchargements continuent après la fermeture de cette application. Chaque tâche ne peut écrire que dans le dossier sélectionné, pendant une heure au maximum. Les fichiers existants ne sont jamais remplacés.", ch = "Accès système", lh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet.", dh = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion.", uh = "Approuver cette application une seule fois", ph = "Cette application a besoin de l’approbation d’un administrateur", hh = "Cette application n’est pas développée par Synology, et DSM n’autorise pas les applications tierces à s’exécuter avec des privilèges système.", gh = "Certaines de ses fonctions nécessitent des privilèges système.", mh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion.", fh = "À propos de cette approbation", $h = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté.", vh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré.", bh = "L’application peut ensuite exécuter uniquement les tâches système déclarées dans son paquet, et rien d’autre avec des privilèges système.", Sh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée.", _h = "L’approbation ajoute les tâches de l’application au Planificateur de tâches. La désinstallation de l’application les supprime et met fin à l’approbation.", zh = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois.", yh = "Mot de passe utilisateur", Ah = "Approuver", kh = "Confirmer le dossier partagé", wh = "L’accès aux fichiers en arrière-plan est prêt.", Dh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau.", Ch = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan.", Ph = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", Mh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", qh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application.", Th = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application.", Eh = "Approuver", Lh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement.", Ih = "Cette application démarre. Cette page se met à jour automatiquement dans un instant.", Rh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez.", jh = "Cette application démarre. Patientez un instant, puis réessayez.", xh = "Chargement…", Nh = "Détails", Uh = "Révoquer", Oh = "Annuler la tâche", Fh = "Vous n’avez aucune délégation active.", Hh = "Mes délégations", Bh = "Expiration", Vh = "Mes téléchargements", Wh = "Vous n’avez aucune tâche de téléchargement.", Jh = "URL de téléchargement", Kh = "Nom du fichier", Gh = "Choisir un dossier", Zh = "Télécharger dans mon dossier", Yh = "Destination", Qh = "Tâche annulée. La révocation est en attente ; l’application va réessayer.", Xh = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur.", eg = "L’approbation n’a pas pu être effectuée. Saisissez à nouveau votre mot de passe utilisateur et réessayez, ou vérifiez la configuration de l’application.", ng = "Mot de passe incorrect. Réessayez.", tg = "Saisissez votre mot de passe utilisateur.", og = "DSM n’a pas pu vérifier le mot de passe. Rien n’a été modifié ; réessayez.", ag = "Le service d’arrière-plan de l’application démarre et effectue des vérifications auprès de DSM. Cela peut prendre jusqu’à une minute.", ig = "L’accès a été refusé. Vérifiez les autorisations du dossier et réessayez.", sg = "Reconnectez-vous à DSM, puis actualisez.", rg = "Les téléchargements sont limités à 64 MB et 60 secondes.", cg = "En file d’attente", lg = "Téléchargement en cours", dg = "Enregistré", ug = "Échec", pg = "Annulé", hg = "Interrompu", gg = "Dossier home de chaque utilisateur", mg = "Portée de l’enregistrement en arrière-plan", fg = "Portée confirmée", $g = "Présélection de l’installation", vg = "La présélection de l’installation n’est qu’une suggestion. Confirmez cette portée avec votre mot de passe utilisateur lorsque vous activez l’accès en arrière-plan.", bg = "La présélection de l’installation diffère de la portée confirmée. Les enregistrements en arrière-plan suivent la portée confirmée.", Sg = "En attente du démarrage des services système", _g = "Statut", zg = "Prêt", yg = "Indisponible", Ag = "Confirmation", kg = "Le service système de l'application n'a pas répondu. Ouvrez l'application depuis le bureau DSM ou actualisez la page.", wg = "Le service en arrière-plan de l'application démarre encore. Actualisez la page dans un instant.", Dg = "Réessayer", Cg = "Limite de réponse brute (octets)", Pg = "Vérifier cette mise à jour", Mg = "Les programmes système ont été mis à jour. Une nouvelle approbation administrateur est requise.", qg = "Les définitions des tâches d’approbation ont été mises à jour. Une nouvelle approbation administrateur est requise.", Tg = "La politique d’approbation a été mise à jour. Une nouvelle approbation administrateur est requise.", Eg = "Autorisations inchangées.", Lg = "Autorisations étendues. Vérifiez les modifications avant d’approuver.", Ig = "Autorisations ou paramètres modifiés. Vérifiez les modifications avant d’approuver.", Rg = "Politique", jg = "Modifications des autorisations et paramètres", xg = "L’environnement protégé précédent n’a pas fourni de données de comparaison. Les modifications et l’extension des autorisations sont inconnues. Une nouvelle approbation administrateur est requise.", Ng = "Approuver cette mise à jour", Ug = {
1687
+ }, sh = "Accès aux fichiers en arrière-plan", rh = "Les téléchargements continuent après la fermeture de cette application. Chaque tâche ne peut écrire que dans le dossier sélectionné, pendant une heure au maximum. Les fichiers existants ne sont jamais remplacés.", ch = "Accès système", lh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet.", dh = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion.", uh = "Approuver cette application une seule fois", ph = "Cette application a besoin de l’approbation d’un administrateur", hh = "Cette application n’est pas développée par Synology, et DSM n’autorise pas les applications tierces à s’exécuter avec des privilèges système.", gh = "Certaines de ses fonctions nécessitent des privilèges système.", mh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion.", fh = "À propos de cette approbation", $h = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté.", vh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré.", bh = "L’application peut ensuite exécuter uniquement les tâches système déclarées dans son paquet, et rien d’autre avec des privilèges système.", Sh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée.", _h = "L’approbation ajoute les tâches de l’application au Planificateur de tâches. La désinstallation de l’application les supprime et met fin à l’approbation.", zh = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois.", yh = "Mot de passe utilisateur", Ah = "Approuver", kh = "Confirmer le dossier partagé", wh = "L’accès aux fichiers en arrière-plan est prêt.", Dh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau.", Ch = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan.", Ph = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", Mh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", qh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application.", Th = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application.", Eh = "Approuver", Lh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement.", Ih = "Cette application démarre. Cette page se met à jour automatiquement dans un instant.", Rh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez.", jh = "Cette application démarre. Patientez un instant, puis réessayez.", xh = "Chargement…", Nh = "Détails", Uh = "Révoquer", Oh = "Annuler la tâche", Fh = "Vous n’avez aucune délégation active.", Hh = "Mes délégations", Bh = "Expiration", Vh = "Mes téléchargements", Wh = "Vous n’avez aucune tâche de téléchargement.", Jh = "URL de téléchargement", Kh = "Nom du fichier", Gh = "Choisir un dossier", Zh = "Télécharger dans mon dossier", Yh = "Destination", Qh = "Tâche annulée. La révocation est en attente ; l’application va réessayer.", Xh = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur.", eg = "L’approbation n’a pas pu être effectuée. Saisissez à nouveau votre mot de passe utilisateur et réessayez, ou vérifiez la configuration de l’application.", tg = "Mot de passe incorrect. Réessayez.", ng = "Saisissez votre mot de passe utilisateur.", og = "DSM n’a pas pu vérifier le mot de passe. Rien n’a été modifié ; réessayez.", ag = "Le service d’arrière-plan de l’application démarre et effectue des vérifications auprès de DSM. Cela peut prendre jusqu’à une minute.", ig = "L’accès a été refusé. Vérifiez les autorisations du dossier et réessayez.", sg = "Reconnectez-vous à DSM, puis actualisez.", rg = "Les téléchargements sont limités à 64 MB et 60 secondes.", cg = "En file d’attente", lg = "Téléchargement en cours", dg = "Enregistré", ug = "Échec", pg = "Annulé", hg = "Interrompu", gg = "Dossier home de chaque utilisateur", mg = "Portée de l’enregistrement en arrière-plan", fg = "Portée confirmée", $g = "Présélection de l’installation", vg = "La présélection de l’installation n’est qu’une suggestion. Confirmez cette portée avec votre mot de passe utilisateur lorsque vous activez l’accès en arrière-plan.", bg = "La présélection de l’installation diffère de la portée confirmée. Les enregistrements en arrière-plan suivent la portée confirmée.", Sg = "En attente du démarrage des services système", _g = "Statut", zg = "Prêt", yg = "Indisponible", Ag = "Confirmation", kg = "Le service système de l'application n'a pas répondu. Ouvrez l'application depuis le bureau DSM ou actualisez la page.", wg = "Le service en arrière-plan de l'application démarre encore. Actualisez la page dans un instant.", Dg = "Réessayer", Cg = "Limite de réponse brute (octets)", Pg = "Vérifier cette mise à jour", Mg = "Les programmes système ont été mis à jour. Une nouvelle approbation administrateur est requise.", qg = "Les définitions des tâches d’approbation ont été mises à jour. Une nouvelle approbation administrateur est requise.", Tg = "La politique d’approbation a été mise à jour. Une nouvelle approbation administrateur est requise.", Eg = "Autorisations inchangées.", Lg = "Autorisations étendues. Vérifiez les modifications avant d’approuver.", Ig = "Autorisations ou paramètres modifiés. Vérifiez les modifications avant d’approuver.", Rg = "Politique", jg = "Modifications des autorisations et paramètres", xg = "L’environnement protégé précédent n’a pas fourni de données de comparaison. Les modifications et l’extension des autorisations sont inconnues. Une nouvelle approbation administrateur est requise.", Ng = "Approuver cette mise à jour", Ug = {
1688
1688
  title: sh,
1689
1689
  help: rh,
1690
1690
  setupTitle: ch,
@@ -1734,8 +1734,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1734
1734
  pending: Qh,
1735
1735
  error: Xh,
1736
1736
  setupError: eg,
1737
- passwordRejected: ng,
1738
- passwordRequired: tg,
1737
+ passwordRejected: tg,
1738
+ passwordRequired: ng,
1739
1739
  passwordConfirmFailed: og,
1740
1740
  confirmingHelp: ag,
1741
1741
  denied: ig,
@@ -1773,7 +1773,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1773
1773
  upgradeChanges: jg,
1774
1774
  upgradeUnknown: xg,
1775
1775
  upgradeConsentTitle: Ng
1776
- }, Og = "Accesso ai file in background", Fg = "I download continuano dopo la chiusura di questa app. Ogni processo può scrivere solo nella cartella selezionata, per un massimo di un’ora. I file esistenti non vengono mai sostituiti.", Hg = "Accesso di sistema", Bg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto.", Vg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Wg = "Approvare questa app una sola volta", Jg = "Questa app richiede l’approvazione di un amministratore", Kg = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema.", Gg = "Alcune sue funzioni richiedono privilegi di sistema.", Zg = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Yg = "Informazioni su questa approvazione", Qg = "Usare la password dell’account DSM con cui si è effettuato l’accesso.", Xg = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata.", em = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema.", nm = "Se un aggiornamento modifica queste attività, verrà richiesta una nuova approvazione.", tm = "L’approvazione aggiunge le attività dell’app all’Utilità di pianificazione. Disinstallando l’app, queste vengono rimosse e l’approvazione termina.", om = "Chiedere a un amministratore di aprire questa app e approvarla una volta.", am = "Password utente", im = "Approva", sm = "Conferma cartella condivisa", rm = "L’accesso ai file in background è pronto.", cm = "Accesso in background in fase di conferma. Non inviare di nuovo.", lm = "Un amministratore deve approvare l’accesso ai file in background.", dm = "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", um = "L’accesso di sistema non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", pm = "Alcune funzioni non sono disponibili finché non si approva l’accesso di sistema per questa app.", hm = "Alcune funzioni non sono disponibili finché un amministratore non approva l’accesso di sistema per questa app.", gm = "Approva", mm = "Questa app è arrestata. Avviarla in Centro pacchetti; poi questa pagina si aggiornerà automaticamente.", fm = "Questa app è in fase di avvio. Questa pagina si aggiornerà automaticamente tra poco.", $m = "Questa app è arrestata. Avviarla in Centro pacchetti, quindi riprovare.", vm = "Questa app è in fase di avvio. Attendere un momento, quindi riprovare.", bm = "Caricamento…", Sm = "Dettagli", _m = "Revoca", zm = "Annulla processo", ym = "Nessuna delega attiva.", Am = "Le mie deleghe", km = "Scadenza", wm = "I miei download", Dm = "Nessun processo di download.", Cm = "URL di download", Pm = "Nome file", Mm = "Scegli cartella", qm = "Scarica nella mia cartella", Tm = "Destinazione", Em = "Processo annullato. La revoca è in sospeso; l’app riproverà.", Lm = "Impossibile completare l’azione. Aggiornare e riprovare. Se il problema persiste, contattare l’amministratore.", Im = "Impossibile completare l’approvazione. Inserire di nuovo la password utente e riprovare, oppure controllare la configurazione dell’app.", Rm = "Password errata. Riprovare.", jm = "Inserire la password utente.", xm = "DSM non è riuscito a verificare la password. Non è stato modificato nulla; riprovare.", Nm = "Il servizio in background dell’app si sta avviando e sta effettuando verifiche con DSM. Può richiedere fino a un minuto.", Um = "Accesso negato. Controllare le autorizzazioni della cartella e riprovare.", Om = "Accedere di nuovo a DSM, quindi aggiornare.", Fm = "I download sono limitati a 64 MB e 60 secondi.", Hm = "In coda", Bm = "Download in corso", Vm = "Salvato", Wm = "Non riuscito", Jm = "Annullato", Km = "Interrotto", Gm = "Cartella home di ogni utente", Zm = "Ambito di salvataggio in background", Ym = "Ambito confermato", Qm = "Preselezione dell’installazione", Xm = "La preselezione dell’installazione è solo un suggerimento. Confermare questo ambito con la password utente all’attivazione dell’accesso in background.", ef = "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato.", nf = "In attesa dell’avvio dei servizi di sistema", tf = "Stato", of = "Pronto", af = "Non disponibile", sf = "Conferma in corso", rf = "Il servizio di sistema dell'app non ha risposto. Aprire l'app dal desktop DSM o aggiornare la pagina.", cf = "Il servizio in background dell'app è ancora in avvio. Aggiornare la pagina tra poco.", lf = "Riprova", df = "Limite risposta non elaborata (byte)", uf = "Verifica questo aggiornamento", pf = "I programmi di sistema sono stati aggiornati. È richiesta una nuova approvazione dell’amministratore.", hf = "Le definizioni delle attività di approvazione sono state aggiornate. È richiesta una nuova approvazione dell’amministratore.", gf = "La politica di approvazione è stata aggiornata. È richiesta una nuova approvazione dell’amministratore.", mf = "Autorizzazioni invariate.", ff = "Autorizzazioni ampliate. Verifica le modifiche prima di approvare.", $f = "Autorizzazioni o parametri modificati. Verifica le modifiche prima di approvare.", vf = "Politica", bf = "Modifiche ad autorizzazioni e parametri", Sf = "L’ambiente protetto precedente non ha fornito dati di confronto. Le modifiche e l’ampliamento delle autorizzazioni sono sconosciuti. È richiesta una nuova approvazione dell’amministratore.", _f = "Approvare questo aggiornamento", zf = {
1776
+ }, Og = "Accesso ai file in background", Fg = "I download continuano dopo la chiusura di questa app. Ogni processo può scrivere solo nella cartella selezionata, per un massimo di un’ora. I file esistenti non vengono mai sostituiti.", Hg = "Accesso di sistema", Bg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto.", Vg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Wg = "Approvare questa app una sola volta", Jg = "Questa app richiede l’approvazione di un amministratore", Kg = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema.", Gg = "Alcune sue funzioni richiedono privilegi di sistema.", Zg = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Yg = "Informazioni su questa approvazione", Qg = "Usare la password dell’account DSM con cui si è effettuato l’accesso.", Xg = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata.", em = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema.", tm = "Se un aggiornamento modifica queste attività, verrà richiesta una nuova approvazione.", nm = "L’approvazione aggiunge le attività dell’app all’Utilità di pianificazione. Disinstallando l’app, queste vengono rimosse e l’approvazione termina.", om = "Chiedere a un amministratore di aprire questa app e approvarla una volta.", am = "Password utente", im = "Approva", sm = "Conferma cartella condivisa", rm = "L’accesso ai file in background è pronto.", cm = "Accesso in background in fase di conferma. Non inviare di nuovo.", lm = "Un amministratore deve approvare l’accesso ai file in background.", dm = "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", um = "L’accesso di sistema non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", pm = "Alcune funzioni non sono disponibili finché non si approva l’accesso di sistema per questa app.", hm = "Alcune funzioni non sono disponibili finché un amministratore non approva l’accesso di sistema per questa app.", gm = "Approva", mm = "Questa app è arrestata. Avviarla in Centro pacchetti; poi questa pagina si aggiornerà automaticamente.", fm = "Questa app è in fase di avvio. Questa pagina si aggiornerà automaticamente tra poco.", $m = "Questa app è arrestata. Avviarla in Centro pacchetti, quindi riprovare.", vm = "Questa app è in fase di avvio. Attendere un momento, quindi riprovare.", bm = "Caricamento…", Sm = "Dettagli", _m = "Revoca", zm = "Annulla processo", ym = "Nessuna delega attiva.", Am = "Le mie deleghe", km = "Scadenza", wm = "I miei download", Dm = "Nessun processo di download.", Cm = "URL di download", Pm = "Nome file", Mm = "Scegli cartella", qm = "Scarica nella mia cartella", Tm = "Destinazione", Em = "Processo annullato. La revoca è in sospeso; l’app riproverà.", Lm = "Impossibile completare l’azione. Aggiornare e riprovare. Se il problema persiste, contattare l’amministratore.", Im = "Impossibile completare l’approvazione. Inserire di nuovo la password utente e riprovare, oppure controllare la configurazione dell’app.", Rm = "Password errata. Riprovare.", jm = "Inserire la password utente.", xm = "DSM non è riuscito a verificare la password. Non è stato modificato nulla; riprovare.", Nm = "Il servizio in background dell’app si sta avviando e sta effettuando verifiche con DSM. Può richiedere fino a un minuto.", Um = "Accesso negato. Controllare le autorizzazioni della cartella e riprovare.", Om = "Accedere di nuovo a DSM, quindi aggiornare.", Fm = "I download sono limitati a 64 MB e 60 secondi.", Hm = "In coda", Bm = "Download in corso", Vm = "Salvato", Wm = "Non riuscito", Jm = "Annullato", Km = "Interrotto", Gm = "Cartella home di ogni utente", Zm = "Ambito di salvataggio in background", Ym = "Ambito confermato", Qm = "Preselezione dell’installazione", Xm = "La preselezione dell’installazione è solo un suggerimento. Confermare questo ambito con la password utente all’attivazione dell’accesso in background.", ef = "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato.", tf = "In attesa dell’avvio dei servizi di sistema", nf = "Stato", of = "Pronto", af = "Non disponibile", sf = "Conferma in corso", rf = "Il servizio di sistema dell'app non ha risposto. Aprire l'app dal desktop DSM o aggiornare la pagina.", cf = "Il servizio in background dell'app è ancora in avvio. Aggiornare la pagina tra poco.", lf = "Riprova", df = "Limite risposta non elaborata (byte)", uf = "Verifica questo aggiornamento", pf = "I programmi di sistema sono stati aggiornati. È richiesta una nuova approvazione dell’amministratore.", hf = "Le definizioni delle attività di approvazione sono state aggiornate. È richiesta una nuova approvazione dell’amministratore.", gf = "La politica di approvazione è stata aggiornata. È richiesta una nuova approvazione dell’amministratore.", mf = "Autorizzazioni invariate.", ff = "Autorizzazioni ampliate. Verifica le modifiche prima di approvare.", $f = "Autorizzazioni o parametri modificati. Verifica le modifiche prima di approvare.", vf = "Politica", bf = "Modifiche ad autorizzazioni e parametri", Sf = "L’ambiente protetto precedente non ha fornito dati di confronto. Le modifiche e l’ampliamento delle autorizzazioni sono sconosciuti. È richiesta una nuova approvazione dell’amministratore.", _f = "Approvare questo aggiornamento", zf = {
1777
1777
  title: Og,
1778
1778
  help: Fg,
1779
1779
  setupTitle: Hg,
@@ -1788,8 +1788,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1788
1788
  pointPassword: Qg,
1789
1789
  passwordNote: Xg,
1790
1790
  pointLimited: em,
1791
- pointUpdate: nm,
1792
- pointRevoke: tm,
1791
+ pointUpdate: tm,
1792
+ pointRevoke: nm,
1793
1793
  consentAsk: om,
1794
1794
  password: am,
1795
1795
  authorize: im,
@@ -1842,8 +1842,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1842
1842
  preselection: Qm,
1843
1843
  preselectionHelp: Xm,
1844
1844
  scopeMismatch: ef,
1845
- waiting_executor: nf,
1846
- status: tf,
1845
+ waiting_executor: tf,
1846
+ status: nf,
1847
1847
  statusReady: of,
1848
1848
  statusBlocked: af,
1849
1849
  statusConfirming: sf,
@@ -1862,7 +1862,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1862
1862
  upgradeChanges: bf,
1863
1863
  upgradeUnknown: Sf,
1864
1864
  upgradeConsentTitle: _f
1865
- }, yf = "バックグラウンドのファイルアクセス", Af = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません。", kf = "システム権限", wf = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします。", Df = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします。", Cf = "このアプリを承認してください(1 回のみ)", Pf = "このアプリには管理者の承認が必要です", Mf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません。", qf = "一部の機能にシステム権限が必要です。", Tf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です。", Ef = "この承認について", Lf = "現在 DSM にサインインしているアカウントのパスワードを使用します。", If = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません。", Rf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません。", jf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます。", xf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します。", Nf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください。", Uf = "ユーザーパスワード", Of = "承認", Ff = "共有フォルダを確認", Hf = "バックグラウンドのファイルアクセスを利用できます。", Bf = "バックグラウンドアクセスを確認しています。再送信しないでください。", Vf = "バックグラウンドのファイルアクセスには管理者の承認が必要です。", Wf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Jf = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Kf = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Gf = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Zf = "承認", Yf = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます。", Qf = "このアプリは起動中です。まもなくこのページは自動的に更新されます。", Xf = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください。", e$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください。", n$ = "読み込み中…", t$ = "詳細", o$ = "取り消す", a$ = "ジョブをキャンセル", i$ = "有効な委任はありません。", s$ = "自分の委任", r$ = "有効期限", c$ = "自分のダウンロード", l$ = "ダウンロードジョブはありません。", d$ = "ダウンロード URL", u$ = "ファイル名", p$ = "フォルダを選択", h$ = "自分のフォルダにダウンロード", g$ = "保存先", m$ = "ジョブをキャンセルしました。委任の取り消しは保留中で、アプリが再試行します。", f$ = "操作を完了できませんでした。最新の情報に更新してから、もう一度お試しください。問題が解決しない場合は、管理者に連絡してください。", $$ = "承認を完了できませんでした。ユーザーパスワードを入力し直して再試行するか、アプリの設定を確認してください。", v$ = "パスワードが正しくありません。もう一度お試しください。", b$ = "ユーザーパスワードを入力してください。", S$ = "DSM でパスワードを確認できませんでした。変更は行われていません。もう一度お試しください。", _$ = "アプリのバックグラウンドサービスが起動して DSM に確認しています。最大 1 分ほどかかることがあります。", z$ = "アクセスが拒否されました。フォルダの権限を確認してもう一度お試しください。", y$ = "DSM に再度サインインしてから、最新の情報に更新してください。", A$ = "ダウンロードは 64 MB、60 秒までです。", k$ = "待機中", w$ = "ダウンロード中", D$ = "保存済み", C$ = "失敗", P$ = "キャンセル済み", M$ = "中断", q$ = "各ユーザーの home フォルダ", T$ = "バックグラウンド保存の範囲", E$ = "確認済みの範囲", L$ = "インストール時の事前選択", I$ = "インストール時の事前選択は提案にすぎません。バックグラウンドアクセスを有効にするときに、ユーザーパスワードでこの範囲を確認してください。", R$ = "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います。", j$ = "システムサービスの起動を待っています", x$ = "状態", N$ = "準備完了", U$ = "使用不可", O$ = "確認中", F$ = "アプリのシステムサービスが応答しませんでした。DSM デスクトップからアプリを開くか、ページを再読み込みしてください。", H$ = "アプリのバックグラウンドサービスはまだ起動中です。しばらくしてからページを再読み込みしてください。", B$ = "再試行", V$ = "未加工レスポンスの上限(バイト)", W$ = "この更新を確認", J$ = "システムプログラムが更新されました。管理者の再承認が必要です。", K$ = "承認タスクの定義が更新されました。管理者の再承認が必要です。", G$ = "承認ポリシーが更新されました。管理者の再承認が必要です。", Z$ = "権限に変更はありません。", Y$ = "権限が拡張されました。変更を確認してから承認してください。", Q$ = "権限またはパラメーターが変更されました。確認してから承認してください。", X$ = "ポリシー", ev = "権限とパラメーターの変更", nv = "以前の保護された実行環境から比較情報を取得できません。変更内容や権限の拡張は不明です。管理者の再承認が必要です。", tv = "この更新を承認", ov = {
1865
+ }, yf = "バックグラウンドのファイルアクセス", Af = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません。", kf = "システム権限", wf = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします。", Df = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします。", Cf = "このアプリを承認してください(1 回のみ)", Pf = "このアプリには管理者の承認が必要です", Mf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません。", qf = "一部の機能にシステム権限が必要です。", Tf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です。", Ef = "この承認について", Lf = "現在 DSM にサインインしているアカウントのパスワードを使用します。", If = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません。", Rf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません。", jf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます。", xf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します。", Nf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください。", Uf = "ユーザーパスワード", Of = "承認", Ff = "共有フォルダを確認", Hf = "バックグラウンドのファイルアクセスを利用できます。", Bf = "バックグラウンドアクセスを確認しています。再送信しないでください。", Vf = "バックグラウンドのファイルアクセスには管理者の承認が必要です。", Wf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Jf = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Kf = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Gf = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Zf = "承認", Yf = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます。", Qf = "このアプリは起動中です。まもなくこのページは自動的に更新されます。", Xf = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください。", e$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください。", t$ = "読み込み中…", n$ = "詳細", o$ = "取り消す", a$ = "ジョブをキャンセル", i$ = "有効な委任はありません。", s$ = "自分の委任", r$ = "有効期限", c$ = "自分のダウンロード", l$ = "ダウンロードジョブはありません。", d$ = "ダウンロード URL", u$ = "ファイル名", p$ = "フォルダを選択", h$ = "自分のフォルダにダウンロード", g$ = "保存先", m$ = "ジョブをキャンセルしました。委任の取り消しは保留中で、アプリが再試行します。", f$ = "操作を完了できませんでした。最新の情報に更新してから、もう一度お試しください。問題が解決しない場合は、管理者に連絡してください。", $$ = "承認を完了できませんでした。ユーザーパスワードを入力し直して再試行するか、アプリの設定を確認してください。", v$ = "パスワードが正しくありません。もう一度お試しください。", b$ = "ユーザーパスワードを入力してください。", S$ = "DSM でパスワードを確認できませんでした。変更は行われていません。もう一度お試しください。", _$ = "アプリのバックグラウンドサービスが起動して DSM に確認しています。最大 1 分ほどかかることがあります。", z$ = "アクセスが拒否されました。フォルダの権限を確認してもう一度お試しください。", y$ = "DSM に再度サインインしてから、最新の情報に更新してください。", A$ = "ダウンロードは 64 MB、60 秒までです。", k$ = "待機中", w$ = "ダウンロード中", D$ = "保存済み", C$ = "失敗", P$ = "キャンセル済み", M$ = "中断", q$ = "各ユーザーの home フォルダ", T$ = "バックグラウンド保存の範囲", E$ = "確認済みの範囲", L$ = "インストール時の事前選択", I$ = "インストール時の事前選択は提案にすぎません。バックグラウンドアクセスを有効にするときに、ユーザーパスワードでこの範囲を確認してください。", R$ = "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います。", j$ = "システムサービスの起動を待っています", x$ = "状態", N$ = "準備完了", U$ = "使用不可", O$ = "確認中", F$ = "アプリのシステムサービスが応答しませんでした。DSM デスクトップからアプリを開くか、ページを再読み込みしてください。", H$ = "アプリのバックグラウンドサービスはまだ起動中です。しばらくしてからページを再読み込みしてください。", B$ = "再試行", V$ = "未加工レスポンスの上限(バイト)", W$ = "この更新を確認", J$ = "システムプログラムが更新されました。管理者の再承認が必要です。", K$ = "承認タスクの定義が更新されました。管理者の再承認が必要です。", G$ = "承認ポリシーが更新されました。管理者の再承認が必要です。", Z$ = "権限に変更はありません。", Y$ = "権限が拡張されました。変更を確認してから承認してください。", Q$ = "権限またはパラメーターが変更されました。確認してから承認してください。", X$ = "ポリシー", ev = "権限とパラメーターの変更", tv = "以前の保護された実行環境から比較情報を取得できません。変更内容や権限の拡張は不明です。管理者の再承認が必要です。", nv = "この更新を承認", ov = {
1866
1866
  title: yf,
1867
1867
  help: Af,
1868
1868
  setupTitle: kf,
@@ -1895,8 +1895,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1895
1895
  appStarting: Qf,
1896
1896
  appStoppedAction: Xf,
1897
1897
  appStartingAction: e$,
1898
- loading: n$,
1899
- details: t$,
1898
+ loading: t$,
1899
+ details: n$,
1900
1900
  revoke: o$,
1901
1901
  cancel: a$,
1902
1902
  noDelegations: i$,
@@ -1949,9 +1949,9 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1949
1949
  upgradeReview: Q$,
1950
1950
  upgradePolicyLabel: X$,
1951
1951
  upgradeChanges: ev,
1952
- upgradeUnknown: nv,
1953
- upgradeConsentTitle: tv
1954
- }, av = "백그라운드 파일 액세스", iv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다.", sv = "시스템 권한", rv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다.", cv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다.", lv = "이 앱을 한 번 승인하십시오", dv = "이 앱에 관리자 승인이 필요합니다", uv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다.", pv = "일부 기능에 시스템 권한이 필요합니다.", hv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다.", gv = "이 승인에 대한 정보", mv = "현재 DSM에 로그인한 계정의 암호를 사용합니다.", fv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다.", $v = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다.", vv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다.", bv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다.", Sv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오.", _v = "사용자 비밀번호", zv = "승인", yv = "공유 폴더 확인", Av = "백그라운드 파일 액세스를 사용할 수 있습니다.", kv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오.", wv = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다.", Dv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Cv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Pv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", Mv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", qv = "승인", Tv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다.", Ev = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다.", Lv = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오.", Iv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오.", Rv = "불러오는 중…", jv = "세부 사항", xv = "취소", Nv = "작업 취소", Uv = "활성 위임이 없습니다.", Ov = "내 위임", Fv = "만료", Hv = "내 다운로드", Bv = "다운로드 작업이 없습니다.", Vv = "다운로드 URL", Wv = "파일 이름", Jv = "폴더 선택", Kv = "내 폴더에 다운로드", Gv = "대상", Zv = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다.", Yv = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오.", Qv = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오.", Xv = "암호가 올바르지 않습니다. 다시 시도하십시오.", eb = "사용자 비밀번호를 입력하십시오.", nb = "DSM에서 암호를 확인하지 못했습니다. 변경된 내용은 없습니다. 다시 시도하십시오.", tb = "앱의 백그라운드 서비스가 시작되어 DSM에 확인하는 중입니다. 최대 1분 정도 걸릴 수 있습니다.", ob = "액세스가 거부되었습니다. 폴더 권한을 확인하고 다시 시도하십시오.", ab = "DSM에 다시 로그인한 후 새로 고치십시오.", ib = "다운로드는 64 MB, 60초로 제한됩니다.", sb = "대기 중", rb = "다운로드 중", cb = "저장됨", lb = "실패", db = "취소됨", ub = "중단됨", pb = "각 사용자의 home 폴더", hb = "백그라운드 저장 범위", gb = "확인된 범위", mb = "설치 시 사전 선택", fb = "설치 시 사전 선택은 제안일 뿐입니다. 백그라운드 액세스를 활성화할 때 사용자 비밀번호로 이 범위를 확인하십시오.", $b = "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다.", vb = "시스템 서비스 시작을 기다리는 중", bb = "상태", Sb = "준비됨", _b = "사용 불가", zb = "확인 중", yb = "앱의 시스템 서비스가 응답하지 않았습니다. DSM 데스크톱에서 앱을 열거나 페이지를 새로 고치십시오.", Ab = "앱의 백그라운드 서비스가 아직 시작 중입니다. 잠시 후 페이지를 새로 고치십시오.", kb = "재시도", wb = "원시 응답 한도(바이트)", Db = "업데이트 검토", Cb = "시스템 프로그램이 업데이트되었습니다. 관리자 재승인이 필요합니다.", Pb = "승인 작업 정의가 업데이트되었습니다. 관리자 재승인이 필요합니다.", Mb = "승인 정책이 업데이트되었습니다. 관리자 재승인이 필요합니다.", qb = "권한이 변경되지 않았습니다.", Tb = "권한이 확대되었습니다. 변경 사항을 검토한 후 승인하십시오.", Eb = "권한 또는 매개변수가 변경되었습니다. 검토한 후 승인하십시오.", Lb = "정책", Ib = "권한 및 매개변수 변경", Rb = "이전 보호된 실행 환경에서 비교 정보를 제공하지 않았습니다. 변경 내용과 권한 확대 여부를 확인할 수 없습니다. 관리자 재승인이 필요합니다.", jb = "이 업데이트 승인", xb = {
1952
+ upgradeUnknown: tv,
1953
+ upgradeConsentTitle: nv
1954
+ }, av = "백그라운드 파일 액세스", iv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다.", sv = "시스템 권한", rv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다.", cv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다.", lv = "이 앱을 한 번 승인하십시오", dv = "이 앱에 관리자 승인이 필요합니다", uv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다.", pv = "일부 기능에 시스템 권한이 필요합니다.", hv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다.", gv = "이 승인에 대한 정보", mv = "현재 DSM에 로그인한 계정의 암호를 사용합니다.", fv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다.", $v = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다.", vv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다.", bv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다.", Sv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오.", _v = "사용자 비밀번호", zv = "승인", yv = "공유 폴더 확인", Av = "백그라운드 파일 액세스를 사용할 수 있습니다.", kv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오.", wv = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다.", Dv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Cv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Pv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", Mv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", qv = "승인", Tv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다.", Ev = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다.", Lv = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오.", Iv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오.", Rv = "불러오는 중…", jv = "세부 사항", xv = "취소", Nv = "작업 취소", Uv = "활성 위임이 없습니다.", Ov = "내 위임", Fv = "만료", Hv = "내 다운로드", Bv = "다운로드 작업이 없습니다.", Vv = "다운로드 URL", Wv = "파일 이름", Jv = "폴더 선택", Kv = "내 폴더에 다운로드", Gv = "대상", Zv = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다.", Yv = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오.", Qv = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오.", Xv = "암호가 올바르지 않습니다. 다시 시도하십시오.", eb = "사용자 비밀번호를 입력하십시오.", tb = "DSM에서 암호를 확인하지 못했습니다. 변경된 내용은 없습니다. 다시 시도하십시오.", nb = "앱의 백그라운드 서비스가 시작되어 DSM에 확인하는 중입니다. 최대 1분 정도 걸릴 수 있습니다.", ob = "액세스가 거부되었습니다. 폴더 권한을 확인하고 다시 시도하십시오.", ab = "DSM에 다시 로그인한 후 새로 고치십시오.", ib = "다운로드는 64 MB, 60초로 제한됩니다.", sb = "대기 중", rb = "다운로드 중", cb = "저장됨", lb = "실패", db = "취소됨", ub = "중단됨", pb = "각 사용자의 home 폴더", hb = "백그라운드 저장 범위", gb = "확인된 범위", mb = "설치 시 사전 선택", fb = "설치 시 사전 선택은 제안일 뿐입니다. 백그라운드 액세스를 활성화할 때 사용자 비밀번호로 이 범위를 확인하십시오.", $b = "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다.", vb = "시스템 서비스 시작을 기다리는 중", bb = "상태", Sb = "준비됨", _b = "사용 불가", zb = "확인 중", yb = "앱의 시스템 서비스가 응답하지 않았습니다. DSM 데스크톱에서 앱을 열거나 페이지를 새로 고치십시오.", Ab = "앱의 백그라운드 서비스가 아직 시작 중입니다. 잠시 후 페이지를 새로 고치십시오.", kb = "재시도", wb = "원시 응답 한도(바이트)", Db = "업데이트 검토", Cb = "시스템 프로그램이 업데이트되었습니다. 관리자 재승인이 필요합니다.", Pb = "승인 작업 정의가 업데이트되었습니다. 관리자 재승인이 필요합니다.", Mb = "승인 정책이 업데이트되었습니다. 관리자 재승인이 필요합니다.", qb = "권한이 변경되지 않았습니다.", Tb = "권한이 확대되었습니다. 변경 사항을 검토한 후 승인하십시오.", Eb = "권한 또는 매개변수가 변경되었습니다. 검토한 후 승인하십시오.", Lb = "정책", Ib = "권한 및 매개변수 변경", Rb = "이전 보호된 실행 환경에서 비교 정보를 제공하지 않았습니다. 변경 내용과 권한 확대 여부를 확인할 수 없습니다. 관리자 재승인이 필요합니다.", jb = "이 업데이트 승인", xb = {
1955
1955
  title: av,
1956
1956
  help: iv,
1957
1957
  setupTitle: sv,
@@ -2003,8 +2003,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2003
2003
  setupError: Qv,
2004
2004
  passwordRejected: Xv,
2005
2005
  passwordRequired: eb,
2006
- passwordConfirmFailed: nb,
2007
- confirmingHelp: tb,
2006
+ passwordConfirmFailed: tb,
2007
+ confirmingHelp: nb,
2008
2008
  denied: ob,
2009
2009
  session: ab,
2010
2010
  size: ib,
@@ -2040,7 +2040,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2040
2040
  upgradeChanges: Ib,
2041
2041
  upgradeUnknown: Rb,
2042
2042
  upgradeConsentTitle: jb
2043
- }, Nb = "后台文件访问", Ub = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换。", Ob = "系统权限", Fb = "让此 App 执行其套件中声明的系统任务。", Hb = "让此 App 在用户注销后继续为其完成文件任务。", Bb = "批准此 App(只需一次)", Vb = "此 App 需要管理员批准", Wb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行。", Jb = "它的部分功能需要系统权限。", Kb = "它需要系统权限,才能在用户注销后继续完成文件任务。", Gb = "关于此次批准", Zb = "请使用当前登录 DSM 的账号密码。", Yb = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存。", Qb = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情。", Xb = "如果更新更改了这些任务,会请你重新批准。", eS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准。", nS = "请管理员打开此 App 并批准一次。", tS = "用户密码", oS = "批准", aS = "确认共享文件夹", iS = "后台文件访问已就绪。", sS = "正在确认后台访问,请勿重复提交。", rS = "需要管理员批准后台文件访问。", cS = "后台文件访问不可用,请管理员检查 App 设置。", lS = "系统访问不可用,请管理员检查 App 设置。", dS = "批准此 App 的系统访问权限前,部分功能无法使用。", uS = "管理员批准此 App 的系统访问权限前,部分功能无法使用。", pS = "批准", hS = "此 App 已停止。请在套件中心启动,启动后此页面会自动更新。", gS = "此 App 正在启动,此页面稍后会自动更新。", mS = "此 App 已停止。请在套件中心启动后再试一次。", fS = "此 App 正在启动,请稍候再试一次。", $S = "正在加载…", vS = "详情", bS = "撤销", SS = "取消任务", _S = "目前没有有效委托。", zS = "我的委托", yS = "到期时间", AS = "我的下载", kS = "目前没有下载任务。", wS = "下载网址", DS = "文件名", CS = "选择文件夹", PS = "下载到我的文件夹", MS = "目标文件夹", qS = "任务已取消。委托撤销尚未完成,App 将自动重试。", TS = "操作未完成,请刷新后重试。若持续失败,请联系管理员。", ES = "批准未完成,请重新输入用户密码后重试,或检查 App 设置。", LS = "密码不正确,请重试。", IS = "请输入你的用户密码。", RS = "DSM 无法验证密码,未做任何更改,请重试。", jS = "App 的后台服务正在启动并向 DSM 确认,最多可能需要一分钟。", xS = "访问被拒绝,请检查文件夹权限后重试。", NS = "请重新登录 DSM,然后刷新。", US = "下载上限为 64 MB、60 秒。", OS = "等待中", FS = "下载中", HS = "已保存", BS = "失败", VS = "已取消", WS = "已中断", JS = "各用户的 home 文件夹", KS = "后台保存范围", GS = "已确认范围", ZS = "安装时的预选", YS = "安装时的预选仅供参考。启用后台访问时,请用用户密码确认此范围。", QS = "安装时的预选与已确认范围不同。后台保存将按已确认范围执行。", XS = "等待系统服务启动", e_ = "状态", n_ = "就绪", t_ = "无法使用", o_ = "确认中", a_ = "应用的系统服务没有响应。请从 DSM 桌面打开应用,或刷新页面。", i_ = "应用的后台服务仍在启动中。请稍后刷新页面。", s_ = "重试", r_ = "原始响应上限(字节)", c_ = "查看此次更新", l_ = "系统执行程序已更新,需要管理员重新批准。", d_ = "批准任务定义已更新,需要管理员重新批准。", u_ = "批准策略已更新,需要管理员重新批准。", p_ = "权限未变。", h_ = "权限已扩展,请查看差异后再批准。", g_ = "权限或参数已更改,请查看差异后再批准。", m_ = "批准策略", f_ = "权限与参数差异", $_ = "先前的受保护运行环境未提供比较数据,无法判断更改内容或权限是否扩展,需要管理员重新批准。", v_ = "批准此次更新", b_ = {
2043
+ }, Nb = "后台文件访问", Ub = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换。", Ob = "系统权限", Fb = "让此 App 执行其套件中声明的系统任务。", Hb = "让此 App 在用户注销后继续为其完成文件任务。", Bb = "批准此 App(只需一次)", Vb = "此 App 需要管理员批准", Wb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行。", Jb = "它的部分功能需要系统权限。", Kb = "它需要系统权限,才能在用户注销后继续完成文件任务。", Gb = "关于此次批准", Zb = "请使用当前登录 DSM 的账号密码。", Yb = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存。", Qb = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情。", Xb = "如果更新更改了这些任务,会请你重新批准。", eS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准。", tS = "请管理员打开此 App 并批准一次。", nS = "用户密码", oS = "批准", aS = "确认共享文件夹", iS = "后台文件访问已就绪。", sS = "正在确认后台访问,请勿重复提交。", rS = "需要管理员批准后台文件访问。", cS = "后台文件访问不可用,请管理员检查 App 设置。", lS = "系统访问不可用,请管理员检查 App 设置。", dS = "批准此 App 的系统访问权限前,部分功能无法使用。", uS = "管理员批准此 App 的系统访问权限前,部分功能无法使用。", pS = "批准", hS = "此 App 已停止。请在套件中心启动,启动后此页面会自动更新。", gS = "此 App 正在启动,此页面稍后会自动更新。", mS = "此 App 已停止。请在套件中心启动后再试一次。", fS = "此 App 正在启动,请稍候再试一次。", $S = "正在加载…", vS = "详情", bS = "撤销", SS = "取消任务", _S = "目前没有有效委托。", zS = "我的委托", yS = "到期时间", AS = "我的下载", kS = "目前没有下载任务。", wS = "下载网址", DS = "文件名", CS = "选择文件夹", PS = "下载到我的文件夹", MS = "目标文件夹", qS = "任务已取消。委托撤销尚未完成,App 将自动重试。", TS = "操作未完成,请刷新后重试。若持续失败,请联系管理员。", ES = "批准未完成,请重新输入用户密码后重试,或检查 App 设置。", LS = "密码不正确,请重试。", IS = "请输入你的用户密码。", RS = "DSM 无法验证密码,未做任何更改,请重试。", jS = "App 的后台服务正在启动并向 DSM 确认,最多可能需要一分钟。", xS = "访问被拒绝,请检查文件夹权限后重试。", NS = "请重新登录 DSM,然后刷新。", US = "下载上限为 64 MB、60 秒。", OS = "等待中", FS = "下载中", HS = "已保存", BS = "失败", VS = "已取消", WS = "已中断", JS = "各用户的 home 文件夹", KS = "后台保存范围", GS = "已确认范围", ZS = "安装时的预选", YS = "安装时的预选仅供参考。启用后台访问时,请用用户密码确认此范围。", QS = "安装时的预选与已确认范围不同。后台保存将按已确认范围执行。", XS = "等待系统服务启动", e_ = "状态", t_ = "就绪", n_ = "无法使用", o_ = "确认中", a_ = "应用的系统服务没有响应。请从 DSM 桌面打开应用,或刷新页面。", i_ = "应用的后台服务仍在启动中。请稍后刷新页面。", s_ = "重试", r_ = "原始响应上限(字节)", c_ = "查看此次更新", l_ = "系统执行程序已更新,需要管理员重新批准。", d_ = "批准任务定义已更新,需要管理员重新批准。", u_ = "批准策略已更新,需要管理员重新批准。", p_ = "权限未变。", h_ = "权限已扩展,请查看差异后再批准。", g_ = "权限或参数已更改,请查看差异后再批准。", m_ = "批准策略", f_ = "权限与参数差异", $_ = "先前的受保护运行环境未提供比较数据,无法判断更改内容或权限是否扩展,需要管理员重新批准。", v_ = "批准此次更新", b_ = {
2044
2044
  title: Nb,
2045
2045
  help: Ub,
2046
2046
  setupTitle: Ob,
@@ -2057,8 +2057,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2057
2057
  pointLimited: Qb,
2058
2058
  pointUpdate: Xb,
2059
2059
  pointRevoke: eS,
2060
- consentAsk: nS,
2061
- password: tS,
2060
+ consentAsk: tS,
2061
+ password: nS,
2062
2062
  authorize: oS,
2063
2063
  confirmShare: aS,
2064
2064
  ready: iS,
@@ -2111,8 +2111,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2111
2111
  scopeMismatch: QS,
2112
2112
  waiting_executor: XS,
2113
2113
  status: e_,
2114
- statusReady: n_,
2115
- statusBlocked: t_,
2114
+ statusReady: t_,
2115
+ statusBlocked: n_,
2116
2116
  statusConfirming: o_,
2117
2117
  statusUnreachable: a_,
2118
2118
  statusStarting: i_,
@@ -2129,7 +2129,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2129
2129
  upgradeChanges: f_,
2130
2130
  upgradeUnknown: $_,
2131
2131
  upgradeConsentTitle: v_
2132
- }, S_ = "背景檔案存取", __ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代。", z_ = "系統權限", y_ = "讓此 App 執行它在套件中宣告的系統工作。", A_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作。", k_ = "核准此 App(只需一次)", w_ = "此 App 需要管理員核准", D_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行。", C_ = "它有部分功能需要系統權限。", P_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作。", M_ = "關於這次核准", q_ = "請使用你目前登入 DSM 的帳號密碼。", T_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存。", E_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事。", L_ = "如果更新改變了這些工作,會請你重新核准。", I_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准。", R_ = "請管理員開啟此 App 並核准一次。", j_ = "使用者密碼", x_ = "核准", N_ = "確認共用資料夾", U_ = "背景檔案存取已就緒。", O_ = "正在確認背景存取,請勿重複提交。", F_ = "需要管理員核准背景檔案存取。", H_ = "背景檔案存取無法使用,請管理員檢查 App 設定。", B_ = "系統存取無法使用,請管理員檢查 App 設定。", V_ = "核准此 App 的系統存取權限前,部分功能無法使用。", W_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用。", J_ = "核准", K_ = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新。", G_ = "此 App 正在啟動,此頁面稍後會自動更新。", Z_ = "此 App 已停止。請在套件中心啟動後再試一次。", Y_ = "此 App 正在啟動,請稍候再試一次。", Q_ = "載入中…", X_ = "詳情", ez = "撤銷", nz = "取消工作", tz = "目前沒有有效委託。", oz = "我的委託", az = "到期時間", iz = "我的下載", sz = "目前沒有下載工作。", rz = "下載網址", cz = "檔案名稱", lz = "選擇資料夾", dz = "下載到我的資料夾", uz = "目的資料夾", pz = "工作已取消。委託尚未撤銷完成,App 會自動重試。", hz = "操作未完成,請重新整理後再試。若持續失敗,請聯絡管理員。", gz = "核准未完成,請重新輸入使用者密碼再試,或檢查 App 設定。", mz = "密碼不正確,請再試一次。", fz = "請輸入你的使用者密碼。", $z = "DSM 無法驗證密碼,沒有做任何變更,請再試一次。", vz = "App 的背景服務正在啟動並向 DSM 確認,最多可能需要一分鐘。", bz = "存取遭拒,請檢查資料夾權限後再試。", Sz = "請重新登入 DSM,再重新整理。", _z = "下載上限為 64 MB、60 秒。", zz = "等待中", yz = "下載中", Az = "已儲存", kz = "失敗", wz = "已取消", Dz = "已中斷", Cz = "各使用者的 home 資料夾", Pz = "背景儲存範圍", Mz = "已確認範圍", qz = "安裝時的預選", Tz = "安裝時的預選只供參考。啟用背景存取時,請以使用者密碼確認這個範圍。", Ez = "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行。", Lz = "等待系統服務啟動", Iz = "狀態", Rz = "就緒", jz = "無法使用", xz = "確認中", Nz = "App 的系統服務沒有回應。請從 DSM 桌面開啟 App,或重新整理頁面。", Uz = "App 的背景服務仍在啟動中。請稍後重新整理頁面。", Oz = "重試", Fz = "原始回應上限(位元組)", Hz = "檢視此次更新", Bz = "系統執行程式已更新,需要管理員重新核准。", Vz = "核准任務定義已更新,需要管理員重新核准。", Wz = "核准政策已更新,需要管理員重新核准。", Jz = "權限未變。", Kz = "權限已擴張,請檢視差異後再核准。", Gz = "權限或參數已變更,請檢視差異後再核准。", Zz = "核准政策", Yz = "權限與參數差異", Qz = "先前的受保護執行環境未提供比較資料,無法判斷變更內容或權限是否擴張,需要管理員重新核准。", Xz = "核准此次更新", ey = {
2132
+ }, S_ = "背景檔案存取", __ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代。", z_ = "系統權限", y_ = "讓此 App 執行它在套件中宣告的系統工作。", A_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作。", k_ = "核准此 App(只需一次)", w_ = "此 App 需要管理員核准", D_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行。", C_ = "它有部分功能需要系統權限。", P_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作。", M_ = "關於這次核准", q_ = "請使用你目前登入 DSM 的帳號密碼。", T_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存。", E_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事。", L_ = "如果更新改變了這些工作,會請你重新核准。", I_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准。", R_ = "請管理員開啟此 App 並核准一次。", j_ = "使用者密碼", x_ = "核准", N_ = "確認共用資料夾", U_ = "背景檔案存取已就緒。", O_ = "正在確認背景存取,請勿重複提交。", F_ = "需要管理員核准背景檔案存取。", H_ = "背景檔案存取無法使用,請管理員檢查 App 設定。", B_ = "系統存取無法使用,請管理員檢查 App 設定。", V_ = "核准此 App 的系統存取權限前,部分功能無法使用。", W_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用。", J_ = "核准", K_ = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新。", G_ = "此 App 正在啟動,此頁面稍後會自動更新。", Z_ = "此 App 已停止。請在套件中心啟動後再試一次。", Y_ = "此 App 正在啟動,請稍候再試一次。", Q_ = "載入中…", X_ = "詳情", ez = "撤銷", tz = "取消工作", nz = "目前沒有有效委託。", oz = "我的委託", az = "到期時間", iz = "我的下載", sz = "目前沒有下載工作。", rz = "下載網址", cz = "檔案名稱", lz = "選擇資料夾", dz = "下載到我的資料夾", uz = "目的資料夾", pz = "工作已取消。委託尚未撤銷完成,App 會自動重試。", hz = "操作未完成,請重新整理後再試。若持續失敗,請聯絡管理員。", gz = "核准未完成,請重新輸入使用者密碼再試,或檢查 App 設定。", mz = "密碼不正確,請再試一次。", fz = "請輸入你的使用者密碼。", $z = "DSM 無法驗證密碼,沒有做任何變更,請再試一次。", vz = "App 的背景服務正在啟動並向 DSM 確認,最多可能需要一分鐘。", bz = "存取遭拒,請檢查資料夾權限後再試。", Sz = "請重新登入 DSM,再重新整理。", _z = "下載上限為 64 MB、60 秒。", zz = "等待中", yz = "下載中", Az = "已儲存", kz = "失敗", wz = "已取消", Dz = "已中斷", Cz = "各使用者的 home 資料夾", Pz = "背景儲存範圍", Mz = "已確認範圍", qz = "安裝時的預選", Tz = "安裝時的預選只供參考。啟用背景存取時,請以使用者密碼確認這個範圍。", Ez = "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行。", Lz = "等待系統服務啟動", Iz = "狀態", Rz = "就緒", jz = "無法使用", xz = "確認中", Nz = "App 的系統服務沒有回應。請從 DSM 桌面開啟 App,或重新整理頁面。", Uz = "App 的背景服務仍在啟動中。請稍後重新整理頁面。", Oz = "重試", Fz = "原始回應上限(位元組)", Hz = "檢視此次更新", Bz = "系統執行程式已更新,需要管理員重新核准。", Vz = "核准任務定義已更新,需要管理員重新核准。", Wz = "核准政策已更新,需要管理員重新核准。", Jz = "權限未變。", Kz = "權限已擴張,請檢視差異後再核准。", Gz = "權限或參數已變更,請檢視差異後再核准。", Zz = "核准政策", Yz = "權限與參數差異", Qz = "先前的受保護執行環境未提供比較資料,無法判斷變更內容或權限是否擴張,需要管理員重新核准。", Xz = "核准此次更新", ey = {
2133
2133
  title: S_,
2134
2134
  help: __,
2135
2135
  setupTitle: z_,
@@ -2165,8 +2165,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2165
2165
  loading: Q_,
2166
2166
  details: X_,
2167
2167
  revoke: ez,
2168
- cancel: nz,
2169
- noDelegations: tz,
2168
+ cancel: tz,
2169
+ noDelegations: nz,
2170
2170
  delegations: oz,
2171
2171
  expires: az,
2172
2172
  downloads: iz,
@@ -2219,45 +2219,45 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2219
2219
  upgradeUnknown: Qz,
2220
2220
  upgradeConsentTitle: Xz
2221
2221
  }, ue = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/delegate/de.json": Hl, "../../i18n/delegate/en.json": Au, "../../i18n/delegate/es.json": ih, "../../i18n/delegate/fr.json": Ug, "../../i18n/delegate/it.json": zf, "../../i18n/delegate/ja.json": ov, "../../i18n/delegate/ko.json": xb, "../../i18n/delegate/zh-CN.json": b_, "../../i18n/delegate/zh-TW.json": ey }));
2222
- function ny(e = "en") {
2222
+ function ty(e = "en") {
2223
2223
  return ue[z(e)];
2224
2224
  }
2225
- function GO(e, n, a, t) {
2226
- const o = E(e, a ?? Object.entries(ue).find(([, s]) => s === n)?.[0], t);
2225
+ function GO(e, t, a, n) {
2226
+ const o = E(e, a ?? Object.entries(ue).find(([, s]) => s === t)?.[0], n);
2227
2227
  if (o) return o.message;
2228
2228
  const i = e?.code;
2229
- return ["session_required", "AUTH_DENIED"].includes(i ?? "") ? n.session : ["DENIED", "SCOPE_DENIED", "PERMISSION_DENIED", "APP_DENIED", "INELIGIBLE", "denied"].includes(i ?? "") ? n.denied : n.error;
2229
+ return ["session_required", "AUTH_DENIED"].includes(i ?? "") ? t.session : ["DENIED", "SCOPE_DENIED", "PERMISSION_DENIED", "APP_DENIED", "INELIGIBLE", "denied"].includes(i ?? "") ? t.denied : t.error;
2230
2230
  }
2231
2231
  const P = { APP_STOPPED: "stopped", APP_STARTING: "starting", EXECUTOR_STARTING: "starting", executor_starting: "starting" };
2232
- function ty(e) {
2233
- const { code: n, reason: a } = e ?? {};
2234
- if (typeof n == "string" && Object.hasOwn(P, n)) return P[n];
2235
- const t = typeof a == "string" ? /^[A-Z_]+(?=:|$)/.exec(a)?.[0] : void 0;
2236
- return t && Object.hasOwn(P, t) ? P[t] : void 0;
2232
+ function ny(e) {
2233
+ const { code: t, reason: a } = e ?? {};
2234
+ if (typeof t == "string" && Object.hasOwn(P, t)) return P[t];
2235
+ const n = typeof a == "string" ? /^[A-Z_]+(?=:|$)/.exec(a)?.[0] : void 0;
2236
+ return n && Object.hasOwn(P, n) ? P[n] : void 0;
2237
2237
  }
2238
2238
  const oy = 15e3, ay = 4e3;
2239
- function ZO(e, n) {
2240
- return Math.min(2e3 * 2 ** e, n === "starting" ? ay : oy);
2239
+ function ZO(e, t) {
2240
+ return Math.min(2e3 * 2 ** e, t === "starting" ? ay : oy);
2241
2241
  }
2242
- function N(e, n) {
2243
- const a = n === void 0 ? void 0 : ty(e);
2244
- return a && iy(a, n, { for: "action" });
2242
+ function N(e, t) {
2243
+ const a = t === void 0 ? void 0 : ny(e);
2244
+ return a && iy(a, t, { for: "action" });
2245
2245
  }
2246
- function iy(e, n, a = {}) {
2247
- const t = ny(n);
2248
- return a.for === "action" ? e === "stopped" ? t.appStoppedAction : t.appStartingAction : e === "stopped" ? t.appStopped : t.appStarting;
2246
+ function iy(e, t, a = {}) {
2247
+ const n = ty(t);
2248
+ return a.for === "action" ? e === "stopped" ? n.appStoppedAction : n.appStartingAction : e === "stopped" ? n.appStopped : n.appStarting;
2249
2249
  }
2250
- const pe = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json": En, "../../i18n/files/en.json": yt, "../../i18n/files/es.json": go, "../../i18n/files/fr.json": aa, "../../i18n/files/it.json": Ka, "../../i18n/files/ja.json": xi, "../../i18n/files/ko.json": Cs, "../../i18n/files/zh-CN.json": vr, "../../i18n/files/zh-TW.json": cc }));
2250
+ const pe = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json": Tt, "../../i18n/files/en.json": yn, "../../i18n/files/es.json": go, "../../i18n/files/fr.json": aa, "../../i18n/files/it.json": Ka, "../../i18n/files/ja.json": xi, "../../i18n/files/ko.json": Cs, "../../i18n/files/zh-CN.json": vr, "../../i18n/files/zh-TW.json": cc }));
2251
2251
  function YO(e) {
2252
2252
  return pe[z(e)];
2253
2253
  }
2254
- function QO(e, n, a, t) {
2255
- const o = E(e, a ?? Object.entries(pe).find(([, l]) => l === n)?.[0], t);
2254
+ function QO(e, t, a, n) {
2255
+ const o = E(e, a ?? Object.entries(pe).find(([, c]) => c === t)?.[0], n);
2256
2256
  if (o) return o.message;
2257
2257
  const i = N(e, a);
2258
2258
  if (i) return i;
2259
2259
  const s = e?.code;
2260
- return n[{ session_required: "errorSession", dsm_session_required: "errorDSM", upload_size_required: "errorUploadSize", denied: "errorDenied", not_found: "errorNotFound", conflict: "errorConflict", "commit-uncertain": "errorUncertain", "invalid-request": "errorInvalid", canceled: "errorCanceled", timeout: "errorTimeout", "origin-refused": "errorOrigin" }[s ?? ""] ?? "errorUnavailable"];
2260
+ return t[{ session_required: "errorSession", dsm_session_required: "errorDSM", upload_size_required: "errorUploadSize", denied: "errorDenied", not_found: "errorNotFound", conflict: "errorConflict", "commit-uncertain": "errorUncertain", "invalid-request": "errorInvalid", canceled: "errorCanceled", timeout: "errorTimeout", "origin-refused": "errorOrigin" }[s ?? ""] ?? "errorUnavailable"];
2261
2261
  }
2262
2262
  const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DSM-Benutzer", dy = "Kein Zugriff", uy = "Ihr DSM-Konto darf diese App nicht verwenden. Bitten Sie einen Administrator, sie in den DSM-Anwendungsberechtigungen freizugeben.", py = "Hinweise", hy = "Hinweise ({count})", gy = "Wird geladen…", my = {
2263
2263
  status: sy,
@@ -2299,7 +2299,7 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
2299
2299
  notes: Fy,
2300
2300
  notesCount: Hy,
2301
2301
  loading: By
2302
- }, Wy = "Stato", Jy = "Attività in background", Ky = "Amministratore", Gy = "Utente DSM", Zy = "Accesso negato", Yy = "L’account DSM non è autorizzato a usare questa app. Chiedere a un amministratore di consentirlo nei privilegi delle applicazioni DSM.", Qy = "Note", Xy = "Note ({count})", eA = "Caricamento…", nA = {
2302
+ }, Wy = "Stato", Jy = "Attività in background", Ky = "Amministratore", Gy = "Utente DSM", Zy = "Accesso negato", Yy = "L’account DSM non è autorizzato a usare questa app. Chiedere a un amministratore di consentirlo nei privilegi delle applicazioni DSM.", Qy = "Note", Xy = "Note ({count})", eA = "Caricamento…", tA = {
2303
2303
  status: Wy,
2304
2304
  background: Jy,
2305
2305
  administrator: Ky,
@@ -2309,8 +2309,8 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
2309
2309
  notes: Qy,
2310
2310
  notesCount: Xy,
2311
2311
  loading: eA
2312
- }, tA = "状態", oA = "バックグラウンドジョブ", aA = "管理者", iA = "DSM ユーザー", sA = "アクセスできません", rA = "この DSM アカウントにはこのアプリを使用する権限がありません。DSM のアプリケーション権限で許可するよう管理者に依頼してください。", cA = "注記", lA = "注記({count})", dA = "読み込み中…", uA = {
2313
- status: tA,
2312
+ }, nA = "状態", oA = "バックグラウンドジョブ", aA = "管理者", iA = "DSM ユーザー", sA = "アクセスできません", rA = "この DSM アカウントにはこのアプリを使用する権限がありません。DSM のアプリケーション権限で許可するよう管理者に依頼してください。", cA = "注記", lA = "注記({count})", dA = "読み込み中…", uA = {
2313
+ status: nA,
2314
2314
  background: oA,
2315
2315
  administrator: aA,
2316
2316
  dsmUser: iA,
@@ -2349,11 +2349,11 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
2349
2349
  notes: xA,
2350
2350
  notesCount: NA,
2351
2351
  loading: UA
2352
- }, FA = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": my, "../../i18n/shell/en.json": ky, "../../i18n/shell/es.json": Iy, "../../i18n/shell/fr.json": Vy, "../../i18n/shell/it.json": nA, "../../i18n/shell/ja.json": uA, "../../i18n/shell/ko.json": _A, "../../i18n/shell/zh-CN.json": qA, "../../i18n/shell/zh-TW.json": OA }));
2352
+ }, FA = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": my, "../../i18n/shell/en.json": ky, "../../i18n/shell/es.json": Iy, "../../i18n/shell/fr.json": Vy, "../../i18n/shell/it.json": tA, "../../i18n/shell/ja.json": uA, "../../i18n/shell/ko.json": _A, "../../i18n/shell/zh-CN.json": qA, "../../i18n/shell/zh-TW.json": OA }));
2353
2353
  function XO(e) {
2354
2354
  return FA[z(e)];
2355
2355
  }
2356
- const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem Konto auf diesem NAS bei der App an.", VA = "HTTPS erforderlich", WA = "Anmeldung fehlgeschlagen", JA = "Konto", KA = "Passwort", GA = "Geben Sie den Bestätigungscode aus Ihrer Authentifizierungs-App ein.", ZA = "Bestätigungscode", YA = "Anmeldung läuft…", QA = "Bestätigen und anmelden", XA = "Anmelden", ek = "Anderes Konto verwenden", nk = "Mit DSM fortfahren", tk = { rate_limited: "Zu viele Anmeldeversuche. Warten Sie eine Minute und versuchen Sie es erneut.", https_required: "Öffnen Sie diese App über HTTPS, um sich anzumelden.", auth_unavailable: "Die DSM-Anmeldung ist nicht verfügbar. Versuchen Sie es erneut.", session_required: "Melden Sie sich in diesem Browser bei DSM an und versuchen Sie es dann erneut.", cross_origin: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", origin_required: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", failed: "Die Anmeldung konnte nicht abgeschlossen werden. Prüfen Sie Ihre Anmeldedaten oder wenden Sie sich an Ihren Administrator." }, ok = { expired: "Ihre Sitzung ist abgelaufen. Melden Sie sich erneut an.", revalidate: "Melden Sie sich in diesem Browser bei DSM an und wählen Sie dann „Mit DSM fortfahren“.", unavailable: "Die Anmeldung ist nicht verfügbar. Aktualisieren Sie die Ansicht und versuchen Sie es erneut." }, ak = {
2356
+ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem Konto auf diesem NAS bei der App an.", VA = "HTTPS erforderlich", WA = "Anmeldung fehlgeschlagen", JA = "Konto", KA = "Passwort", GA = "Geben Sie den Bestätigungscode aus Ihrer Authentifizierungs-App ein.", ZA = "Bestätigungscode", YA = "Anmeldung läuft…", QA = "Bestätigen und anmelden", XA = "Anmelden", ek = "Anderes Konto verwenden", tk = "Mit DSM fortfahren", nk = { rate_limited: "Zu viele Anmeldeversuche. Warten Sie eine Minute und versuchen Sie es erneut.", https_required: "Öffnen Sie diese App über HTTPS, um sich anzumelden.", auth_unavailable: "Die DSM-Anmeldung ist nicht verfügbar. Versuchen Sie es erneut.", session_required: "Melden Sie sich in diesem Browser bei DSM an und versuchen Sie es dann erneut.", cross_origin: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", origin_required: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", failed: "Die Anmeldung konnte nicht abgeschlossen werden. Prüfen Sie Ihre Anmeldedaten oder wenden Sie sich an Ihren Administrator." }, ok = { expired: "Ihre Sitzung ist abgelaufen. Melden Sie sich erneut an.", revalidate: "Melden Sie sich in diesem Browser bei DSM an und wählen Sie dann „Mit DSM fortfahren“.", unavailable: "Die Anmeldung ist nicht verfügbar. Aktualisieren Sie die Ansicht und versuchen Sie es erneut." }, ak = {
2357
2357
  title: HA,
2358
2358
  intro: BA,
2359
2359
  httpsTitle: VA,
@@ -2366,8 +2366,8 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
2366
2366
  verify: QA,
2367
2367
  signIn: XA,
2368
2368
  otherAccount: ek,
2369
- continueDSM: nk,
2370
- errors: tk,
2369
+ continueDSM: tk,
2370
+ errors: nk,
2371
2371
  notices: ok
2372
2372
  }, ik = "Sign in with your Synology account", sk = "Use your account on this NAS to sign in to the app.", rk = "HTTPS required", ck = "Sign-in failed", lk = "Account", dk = "Password", uk = "Enter the verification code from your authenticator app.", pk = "Verification code", hk = "Signing in…", gk = "Verify and sign in", mk = "Sign in", fk = "Use another account", $k = "Continue with DSM", vk = { rate_limited: "Too many sign-in attempts. Wait one minute and try again.", https_required: "Open this app using HTTPS to sign in.", auth_unavailable: "DSM sign-in is unavailable. Try again.", session_required: "Sign in to DSM in this browser, then try again.", cross_origin: "Sign-in was refused: the browser did not show that it came from this App's page. Open the App again in a current browser.", origin_required: "Sign-in was refused: the browser did not show that it came from this App's page. Open the App again in a current browser.", failed: "Sign-in could not be completed. Check your credentials or contact your administrator." }, bk = { expired: "Your session expired. Sign in again.", revalidate: "Sign in to DSM in this browser, then choose Continue with DSM.", unavailable: "Sign-in is unavailable. Refresh to try again." }, Sk = {
2373
2373
  title: ik,
@@ -2417,11 +2417,11 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
2417
2417
  continueDSM: Gk,
2418
2418
  errors: Zk,
2419
2419
  notices: Yk
2420
- }, Xk = "Accedi con l’account Synology", ew = "Usare l’account di questo NAS per accedere all’app.", nw = "HTTPS obbligatorio", tw = "Accesso non riuscito", ow = "Account", aw = "Password", iw = "Inserire il codice di verifica dell’app di autenticazione.", sw = "Codice di verifica", rw = "Accesso in corso…", cw = "Verifica e accedi", lw = "Accedi", dw = "Usa un altro account", uw = "Continua con DSM", pw = { rate_limited: "Troppi tentativi di accesso. Attendere un minuto e riprovare.", https_required: "Aprire questa app tramite HTTPS per accedere.", auth_unavailable: "L’accesso a DSM non è disponibile. Riprovare.", session_required: "Accedere a DSM in questo browser, quindi riprovare.", cross_origin: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", origin_required: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", failed: "Impossibile completare l’accesso. Controllare le credenziali o contattare l’amministratore." }, hw = { expired: "La sessione è scaduta. Accedere di nuovo.", revalidate: "Accedere a DSM in questo browser, quindi scegliere «Continua con DSM».", unavailable: "L’accesso non è disponibile. Aggiornare e riprovare." }, gw = {
2420
+ }, Xk = "Accedi con l’account Synology", ew = "Usare l’account di questo NAS per accedere all’app.", tw = "HTTPS obbligatorio", nw = "Accesso non riuscito", ow = "Account", aw = "Password", iw = "Inserire il codice di verifica dell’app di autenticazione.", sw = "Codice di verifica", rw = "Accesso in corso…", cw = "Verifica e accedi", lw = "Accedi", dw = "Usa un altro account", uw = "Continua con DSM", pw = { rate_limited: "Troppi tentativi di accesso. Attendere un minuto e riprovare.", https_required: "Aprire questa app tramite HTTPS per accedere.", auth_unavailable: "L’accesso a DSM non è disponibile. Riprovare.", session_required: "Accedere a DSM in questo browser, quindi riprovare.", cross_origin: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", origin_required: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", failed: "Impossibile completare l’accesso. Controllare le credenziali o contattare l’amministratore." }, hw = { expired: "La sessione è scaduta. Accedere di nuovo.", revalidate: "Accedere a DSM in questo browser, quindi scegliere «Continua con DSM».", unavailable: "L’accesso non è disponibile. Aggiornare e riprovare." }, gw = {
2421
2421
  title: Xk,
2422
2422
  intro: ew,
2423
- httpsTitle: nw,
2424
- failedTitle: tw,
2423
+ httpsTitle: tw,
2424
+ failedTitle: nw,
2425
2425
  account: ow,
2426
2426
  password: aw,
2427
2427
  otpPrompt: iw,
@@ -2465,7 +2465,7 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
2465
2465
  continueDSM: Hw,
2466
2466
  errors: Bw,
2467
2467
  notices: Vw
2468
- }, Jw = "使用 Synology 账户登录", Kw = "使用这台 NAS 上的账户登录此 App。", Gw = "需要 HTTPS", Zw = "登录失败", Yw = "账户", Qw = "密码", Xw = "请输入身份验证器 App 中的验证码。", eD = "验证码", nD = "正在登录…", tD = "验证并登录", oD = "登录", aD = "使用其他账户", iD = "通过 DSM 继续", sD = { rate_limited: "登录尝试次数过多,请等待一分钟后重试。", https_required: "请使用 HTTPS 打开此 App 以登录。", auth_unavailable: "DSM 登录暂时不可用,请重试。", session_required: "请先在此浏览器中登录 DSM,然后重试。", cross_origin: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", origin_required: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", failed: "无法完成登录。请检查账户和密码,或联系管理员。" }, rD = { expired: "登录已过期,请重新登录。", revalidate: "请先在此浏览器中登录 DSM,然后选择“通过 DSM 继续”。", unavailable: "登录暂时不可用,请刷新后重试。" }, cD = {
2468
+ }, Jw = "使用 Synology 账户登录", Kw = "使用这台 NAS 上的账户登录此 App。", Gw = "需要 HTTPS", Zw = "登录失败", Yw = "账户", Qw = "密码", Xw = "请输入身份验证器 App 中的验证码。", eD = "验证码", tD = "正在登录…", nD = "验证并登录", oD = "登录", aD = "使用其他账户", iD = "通过 DSM 继续", sD = { rate_limited: "登录尝试次数过多,请等待一分钟后重试。", https_required: "请使用 HTTPS 打开此 App 以登录。", auth_unavailable: "DSM 登录暂时不可用,请重试。", session_required: "请先在此浏览器中登录 DSM,然后重试。", cross_origin: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", origin_required: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", failed: "无法完成登录。请检查账户和密码,或联系管理员。" }, rD = { expired: "登录已过期,请重新登录。", revalidate: "请先在此浏览器中登录 DSM,然后选择“通过 DSM 继续”。", unavailable: "登录暂时不可用,请刷新后重试。" }, cD = {
2469
2469
  title: Jw,
2470
2470
  intro: Kw,
2471
2471
  httpsTitle: Gw,
@@ -2474,8 +2474,8 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
2474
2474
  password: Qw,
2475
2475
  otpPrompt: Xw,
2476
2476
  otp: eD,
2477
- signingIn: nD,
2478
- verify: tD,
2477
+ signingIn: tD,
2478
+ verify: nD,
2479
2479
  signIn: oD,
2480
2480
  otherAccount: aD,
2481
2481
  continueDSM: iD,
@@ -2501,7 +2501,7 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
2501
2501
  function e6(e) {
2502
2502
  return kD[z(e)];
2503
2503
  }
2504
- const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Paket und berechnet ihren SHA-256. Aufträge laufen nach der Abmeldung weiter; Kopie und Ergebnis bleiben im Paket.", CD = "Worker", PD = "Worker läuft als {user}", MD = "Worker läuft nicht", qD = "Datei auswählen", TD = "Ausgewählte Datei: {path}", ED = "Datei zum Importieren auswählen", LD = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert.", ID = "Importieren und senden", RD = "Abbrechen", jD = "Ergebnis", xD = "Ergebnis herunterladen", ND = "Noch keine Aufträge", UD = "In Warteschlange", OD = "Läuft", FD = "Erfolgreich", HD = "Fehlgeschlagen", BD = "Abgebrochen", VD = "Unterbrochen", WD = "Angehalten", JD = "Wird angehalten…", KD = "Anhalten", GD = "Fortsetzen", ZD = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, YD = "{done} von {total}", QD = "Aktuelles Element: {item}", XD = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag.", eC = { jobs_busy: "Das System ist beschäftigt. Bitte versuchen Sie es später erneut.", failed: "Die Anfrage konnte nicht abgeschlossen werden. Aktualisieren und erneut versuchen.", "limit-exceeded": "Die Datei überschreitet das Limit.", "queue-full": "Die Warteschlange ist voll.", "quota-exceeded": "Der Hintergrundspeicher ist voll.", conflict: "Der Auftragsstatus hat sich geändert. Aktualisieren.", not_found: "Nicht gefunden.", denied: "Zugriff verweigert.", session_required: "Ihre DSM-Sitzung ist abgelaufen. Melden Sie sich erneut an.", "owner-queue-full": "Ihr Limit für offene Aufträge ist erreicht. Warten Sie auf einen Abschluss oder brechen Sie einen Auftrag ab.", "owner-quota-exceeded": "Ihr Speicherlimit ist erreicht. Bitten Sie einen Administrator, alte Aufträge zu löschen.", identity_unavailable: "Ihre DSM-Benutzer-UID konnte nicht geprüft werden. Melden Sie sich erneut an oder fragen Sie einen Administrator.", "schedule-full": "Maximal 8 Zeitpläne. Löschen Sie einen Zeitplan.", "input-unavailable": "Die private Kopie fehlt oder wurde geändert. Importieren Sie sie erneut.", unsupported: "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut." }, nC = "Sie können nur eigene Aufträge sehen, abbrechen und herunterladen.", tC = "Administratoren können Aufträge aller Benutzer sehen und abbrechen.", oC = "Pro Benutzer: {jobs} offene Aufträge und {size} KB für Eingaben und reservierte Ergebnisse.", aC = "Besitzer: {user} (UID {uid})", iC = "Aufträge des Besitzers löschen", sC = "Alle Aufträge von {user} (UID {uid}) löschen? Laufende Aufträge werden abgebrochen und beendet; gespeicherte Ergebnisse werden entfernt.", rC = "Löschen bestätigen", cC = "Aufträge behalten", lC = "Zeitpläne", dC = "Die feste private Kopie wird als Paketbenutzer stündlich, täglich oder wöchentlich neu berechnet. Bis zu 8 Zeitpläne. Verpasste Läufe werden protokolliert, nicht nachgeholt.", uC = "Diese Kopie planen", pC = "Private Kopie: {name}", hC = "Wiederholungsintervall", gC = "Stündlich", mC = "Täglich", fC = "Wöchentlich", $C = "Ich stimme zu, diese feste Kopie zu speichern und als Paketbenutzer neu zu berechnen. Neue Quelldateien und persönliche ACLs werden nicht gelesen.", vC = "Zeitplan erstellen", bC = "Noch keine Zeitpläne", SC = "Aktiviert", _C = "Deaktiviert", zC = "Nächster Lauf: {time}", yC = "Verpasste Läufe: {count}", AC = "Zeitplan deaktivieren", kC = "Zeitplan löschen", wC = "Zeitplan für {name} löschen? Wartende Jobs werden abgebrochen, laufende Jobs werden gestoppt und abgeschlossen. Fertige Ergebnisse bleiben erhalten.", DC = "Löschen bestätigen", CC = "Zeitplan aktivieren", PC = "Zeitplan für {name} mit der aktuellen Worker-Revision aktivieren? Ich stimme der Neuberechnung dieser festen Kopie zu. Frühere Läufe werden nicht wiederholt.", MC = "Aktivierung bestätigen", qC = "Die Worker-Revision hat sich geändert. Ein Administrator muss diesen Zeitplan prüfen und ausdrücklich aktivieren.", TC = "Geplanter Lauf", EC = "Unbekannt", LC = "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut.", IC = {
2504
+ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Paket und berechnet ihren SHA-256. Aufträge laufen nach der Abmeldung weiter; Kopie und Ergebnis bleiben im Paket.", CD = "Worker", PD = "Worker läuft als {user}", MD = "Worker läuft nicht", qD = "Datei auswählen", TD = "Ausgewählte Datei: {path}", ED = "Datei zum Importieren auswählen", LD = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert.", ID = "Importieren und senden", RD = "Abbrechen", jD = "Ergebnis", xD = "Ergebnis herunterladen", ND = "Noch keine Aufträge", UD = "In Warteschlange", OD = "Läuft", FD = "Erfolgreich", HD = "Fehlgeschlagen", BD = "Abgebrochen", VD = "Unterbrochen", WD = "Angehalten", JD = "Wird angehalten…", KD = "Anhalten", GD = "Fortsetzen", ZD = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, YD = "{done} von {total}", QD = "Aktuelles Element: {item}", XD = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag.", eC = { jobs_busy: "Das System ist beschäftigt. Bitte versuchen Sie es später erneut.", failed: "Die Anfrage konnte nicht abgeschlossen werden. Aktualisieren und erneut versuchen.", "limit-exceeded": "Die Datei überschreitet das Limit.", "queue-full": "Die Warteschlange ist voll.", "quota-exceeded": "Der Hintergrundspeicher ist voll.", conflict: "Der Auftragsstatus hat sich geändert. Aktualisieren.", not_found: "Nicht gefunden.", denied: "Zugriff verweigert.", session_required: "Ihre DSM-Sitzung ist abgelaufen. Melden Sie sich erneut an.", "owner-queue-full": "Ihr Limit für offene Aufträge ist erreicht. Warten Sie auf einen Abschluss oder brechen Sie einen Auftrag ab.", "owner-quota-exceeded": "Ihr Speicherlimit ist erreicht. Bitten Sie einen Administrator, alte Aufträge zu löschen.", identity_unavailable: "Ihre DSM-Benutzer-UID konnte nicht geprüft werden. Melden Sie sich erneut an oder fragen Sie einen Administrator.", "schedule-full": "Maximal 8 Zeitpläne. Löschen Sie einen Zeitplan.", "input-unavailable": "Die private Kopie fehlt oder wurde geändert. Importieren Sie sie erneut.", unsupported: "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut." }, tC = "Sie können nur eigene Aufträge sehen, abbrechen und herunterladen.", nC = "Administratoren können Aufträge aller Benutzer sehen und abbrechen.", oC = "Pro Benutzer: {jobs} offene Aufträge und {size} KB für Eingaben und reservierte Ergebnisse.", aC = "Besitzer: {user} (UID {uid})", iC = "Aufträge des Besitzers löschen", sC = "Alle Aufträge von {user} (UID {uid}) löschen? Laufende Aufträge werden abgebrochen und beendet; gespeicherte Ergebnisse werden entfernt.", rC = "Löschen bestätigen", cC = "Aufträge behalten", lC = "Zeitpläne", dC = "Die feste private Kopie wird als Paketbenutzer stündlich, täglich oder wöchentlich neu berechnet. Bis zu 8 Zeitpläne. Verpasste Läufe werden protokolliert, nicht nachgeholt.", uC = "Diese Kopie planen", pC = "Private Kopie: {name}", hC = "Wiederholungsintervall", gC = "Stündlich", mC = "Täglich", fC = "Wöchentlich", $C = "Ich stimme zu, diese feste Kopie zu speichern und als Paketbenutzer neu zu berechnen. Neue Quelldateien und persönliche ACLs werden nicht gelesen.", vC = "Zeitplan erstellen", bC = "Noch keine Zeitpläne", SC = "Aktiviert", _C = "Deaktiviert", zC = "Nächster Lauf: {time}", yC = "Verpasste Läufe: {count}", AC = "Zeitplan deaktivieren", kC = "Zeitplan löschen", wC = "Zeitplan für {name} löschen? Wartende Jobs werden abgebrochen, laufende Jobs werden gestoppt und abgeschlossen. Fertige Ergebnisse bleiben erhalten.", DC = "Löschen bestätigen", CC = "Zeitplan aktivieren", PC = "Zeitplan für {name} mit der aktuellen Worker-Revision aktivieren? Ich stimme der Neuberechnung dieser festen Kopie zu. Frühere Läufe werden nicht wiederholt.", MC = "Aktivierung bestätigen", qC = "Die Worker-Revision hat sich geändert. Ein Administrator muss diesen Zeitplan prüfen und ausdrücklich aktivieren.", TC = "Geplanter Lauf", EC = "Unbekannt", LC = "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut.", IC = {
2505
2505
  title: wD,
2506
2506
  help: DD,
2507
2507
  worker: CD,
@@ -2531,8 +2531,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2531
2531
  progressItem: QD,
2532
2532
  limits: XD,
2533
2533
  errors: eC,
2534
- ownerScope: nC,
2535
- adminScope: tC,
2534
+ ownerScope: tC,
2535
+ adminScope: nC,
2536
2536
  ownerLimits: oC,
2537
2537
  owner: aC,
2538
2538
  purgeOwner: iC,
@@ -2565,7 +2565,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2565
2565
  scheduledJob: TC,
2566
2566
  unknownTime: EC,
2567
2567
  unsupported: LC
2568
- }, RC = "Background jobs", jC = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result.", xC = "Worker", NC = "Worker is running as {user}", UC = "Worker is not running", OC = "Choose a file", FC = "Selected file: {path}", HC = "Choose a file to import", BC = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved.", VC = "Import and submit", WC = "Cancel", JC = "Result", KC = "Download result", GC = "No jobs yet", ZC = "Queued", YC = "Running", QC = "Succeeded", XC = "Failed", eP = "Canceled", nP = "Interrupted", tP = "Paused", oP = "Pausing…", aP = "Pause", iP = "Resume", sP = { one: "{done} of {count} item", other: "{done} of {count} items" }, rP = "{done} of {total}", cP = "Current item: {item}", lP = "Up to {size} KB per file, {queue} queued jobs, {seconds} seconds per job.", dP = { jobs_busy: "Busy, please try again later.", failed: "The request could not be completed. Refresh and try again.", "limit-exceeded": "The file is larger than the limit.", "queue-full": "The queue is full.", "quota-exceeded": "The background storage is full.", conflict: "The job changed state. Refresh.", not_found: "Not found.", denied: "Access was denied.", session_required: "Your DSM session expired. Sign in again.", "owner-queue-full": "Your pending job limit is reached. Wait for a job to finish or cancel one.", "owner-quota-exceeded": "Your background storage limit is reached. Ask an administrator to clear your old jobs.", identity_unavailable: "Your DSM user UID could not be verified. Sign in again or ask an administrator.", "schedule-full": "The 8-schedule limit is reached. Delete a schedule.", "input-unavailable": "The private copy is unavailable or changed. Import it again.", unsupported: "Background jobs are unavailable. Refresh and try again." }, uP = "You can see, cancel and download only your own jobs.", pP = "Administrators can see and cancel every user’s jobs.", hP = "Per user: {jobs} pending jobs and {size} KB of input and reserved result storage.", gP = "Owner: {user} (UID {uid})", mP = "Clear owner’s jobs", fP = "Clear all jobs owned by {user} (UID {uid})? Running jobs are canceled and drained; this removes their saved results.", $P = "Confirm clear", vP = "Keep jobs", bP = "Schedules", SP = "Reprocess a fixed private copy hourly, daily or weekly as the package user. Up to 8 schedules; missed runs are recorded and never replayed.", _P = "Schedule this copy", zP = "Private copy: {name}", yP = "Repeat every", AP = "Hour", kP = "Day", wP = "Week", DP = "I agree to keep and reprocess this fixed copy as the package user. No new source files or personal ACLs are read.", CP = "Create schedule", PP = "No schedules yet", MP = "Enabled", qP = "Disabled", TP = "Next run: {time}", EP = "Missed runs: {count}", LP = "Disable schedule", IP = "Delete schedule", RP = "Delete the schedule for {name}? Queued jobs are canceled and running jobs drain. Finished results remain.", jP = "Confirm delete", xP = "Enable schedule", NP = "Enable the schedule for {name} with the current worker revision? I agree to reprocess this fixed copy. Past runs will not be replayed.", UP = "Confirm enable", OP = "The worker revision changed. An administrator must review and explicitly enable this schedule.", FP = "Scheduled run", HP = "Unknown", BP = "Background jobs are unavailable. Refresh and try again.", VP = {
2568
+ }, RC = "Background jobs", jC = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result.", xC = "Worker", NC = "Worker is running as {user}", UC = "Worker is not running", OC = "Choose a file", FC = "Selected file: {path}", HC = "Choose a file to import", BC = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved.", VC = "Import and submit", WC = "Cancel", JC = "Result", KC = "Download result", GC = "No jobs yet", ZC = "Queued", YC = "Running", QC = "Succeeded", XC = "Failed", eP = "Canceled", tP = "Interrupted", nP = "Paused", oP = "Pausing…", aP = "Pause", iP = "Resume", sP = { one: "{done} of {count} item", other: "{done} of {count} items" }, rP = "{done} of {total}", cP = "Current item: {item}", lP = "Up to {size} KB per file, {queue} queued jobs, {seconds} seconds per job.", dP = { jobs_busy: "Busy, please try again later.", failed: "The request could not be completed. Refresh and try again.", "limit-exceeded": "The file is larger than the limit.", "queue-full": "The queue is full.", "quota-exceeded": "The background storage is full.", conflict: "The job changed state. Refresh.", not_found: "Not found.", denied: "Access was denied.", session_required: "Your DSM session expired. Sign in again.", "owner-queue-full": "Your pending job limit is reached. Wait for a job to finish or cancel one.", "owner-quota-exceeded": "Your background storage limit is reached. Ask an administrator to clear your old jobs.", identity_unavailable: "Your DSM user UID could not be verified. Sign in again or ask an administrator.", "schedule-full": "The 8-schedule limit is reached. Delete a schedule.", "input-unavailable": "The private copy is unavailable or changed. Import it again.", unsupported: "Background jobs are unavailable. Refresh and try again." }, uP = "You can see, cancel and download only your own jobs.", pP = "Administrators can see and cancel every user’s jobs.", hP = "Per user: {jobs} pending jobs and {size} KB of input and reserved result storage.", gP = "Owner: {user} (UID {uid})", mP = "Clear owner’s jobs", fP = "Clear all jobs owned by {user} (UID {uid})? Running jobs are canceled and drained; this removes their saved results.", $P = "Confirm clear", vP = "Keep jobs", bP = "Schedules", SP = "Reprocess a fixed private copy hourly, daily or weekly as the package user. Up to 8 schedules; missed runs are recorded and never replayed.", _P = "Schedule this copy", zP = "Private copy: {name}", yP = "Repeat every", AP = "Hour", kP = "Day", wP = "Week", DP = "I agree to keep and reprocess this fixed copy as the package user. No new source files or personal ACLs are read.", CP = "Create schedule", PP = "No schedules yet", MP = "Enabled", qP = "Disabled", TP = "Next run: {time}", EP = "Missed runs: {count}", LP = "Disable schedule", IP = "Delete schedule", RP = "Delete the schedule for {name}? Queued jobs are canceled and running jobs drain. Finished results remain.", jP = "Confirm delete", xP = "Enable schedule", NP = "Enable the schedule for {name} with the current worker revision? I agree to reprocess this fixed copy. Past runs will not be replayed.", UP = "Confirm enable", OP = "The worker revision changed. An administrator must review and explicitly enable this schedule.", FP = "Scheduled run", HP = "Unknown", BP = "Background jobs are unavailable. Refresh and try again.", VP = {
2569
2569
  title: RC,
2570
2570
  help: jC,
2571
2571
  worker: xC,
@@ -2585,8 +2585,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2585
2585
  state_succeeded: QC,
2586
2586
  state_failed: XC,
2587
2587
  state_canceled: eP,
2588
- state_interrupted: nP,
2589
- state_paused: tP,
2588
+ state_interrupted: tP,
2589
+ state_paused: nP,
2590
2590
  pausing: oP,
2591
2591
  pause: aP,
2592
2592
  resume: iP,
@@ -2629,7 +2629,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2629
2629
  scheduledJob: FP,
2630
2630
  unknownTime: HP,
2631
2631
  unsupported: BP
2632
- }, WP = "Trabajos en segundo plano", JP = "Copia un archivo seleccionado al paquete y calcula su SHA-256. Los trabajos continúan al cerrar sesión; el paquete conserva la copia y el resultado.", KP = "Worker", GP = "El worker se ejecuta como {user}", ZP = "El worker no se está ejecutando", YP = "Elegir un archivo", QP = "Archivo seleccionado: {path}", XP = "Elegir un archivo para importar", eM = "El archivo seleccionado se lee una sola vez con su inicio de sesión de DSM actual y se entrega al trabajo en segundo plano. No se guarda ningún permiso.", nM = "Importar y enviar", tM = "Cancelar", oM = "Resultado", aM = "Descargar resultado", iM = "Aún no hay trabajos", sM = "En cola", rM = "En ejecución", cM = "Correcto", lM = "Error", dM = "Cancelado", uM = "Interrumpido", pM = "En pausa", hM = "Pausando…", gM = "Pausar", mM = "Reanudar", fM = { one: "{done} de {count} elemento", other: "{done} de {count} elementos" }, $M = "{done} de {total}", vM = "Elemento actual: {item}", bM = "Hasta {size} KB por archivo, {queue} trabajos en cola, {seconds} segundos por trabajo.", SM = { jobs_busy: "Sistema ocupado. Vuelva a intentarlo más tarde.", failed: "No se pudo completar la solicitud. Actualice e inténtelo de nuevo.", "limit-exceeded": "El archivo supera el límite.", "queue-full": "La cola está llena.", "quota-exceeded": "El almacenamiento en segundo plano está lleno.", conflict: "El estado del trabajo cambió. Actualice.", not_found: "No encontrado.", denied: "Acceso denegado.", session_required: "Su sesión de DSM caducó. Inicie sesión de nuevo.", "owner-queue-full": "Ha alcanzado el límite de trabajos pendientes. Espere a que termine uno o cancele uno.", "owner-quota-exceeded": "Ha alcanzado el límite de almacenamiento. Pida a un administrador que borre sus trabajos antiguos.", identity_unavailable: "No se pudo verificar su UID de usuario DSM. Inicie sesión de nuevo o contacte con un administrador.", "schedule-full": "Se alcanzó el límite de 8 programaciones. Elimine una.", "input-unavailable": "La copia privada no está disponible o cambió. Impórtela de nuevo.", unsupported: "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo." }, _M = "Solo puede ver, cancelar y descargar sus propios trabajos.", zM = "Los administradores pueden ver y cancelar los trabajos de todos los usuarios.", yM = "Por usuario: {jobs} trabajos pendientes y {size} KB para entradas y resultados reservados.", AM = "Propietario: {user} (UID {uid})", kM = "Borrar trabajos del propietario", wM = "¿Borrar todos los trabajos de {user} (UID {uid})? Los trabajos en curso se cancelarán y terminarán; se eliminarán los resultados guardados.", DM = "Confirmar borrado", CM = "Conservar trabajos", PM = "Programaciones", MM = "Recalcula la copia privada fija como usuario del paquete cada hora, día o semana. Hasta 8 programaciones. Las ejecuciones perdidas se registran sin recuperarlas.", qM = "Programar esta copia", TM = "Copia privada: {name}", EM = "Intervalo de repetición", LM = "Cada hora", IM = "Cada día", RM = "Cada semana", jM = "Acepto conservar esta copia fija y recalcularla como usuario del paquete. No se leen nuevos archivos de origen ni ACL personales.", xM = "Crear programación", NM = "No hay programaciones", UM = "Habilitado", OM = "Deshabilitado", FM = "Próxima ejecución: {time}", HM = "Ejecuciones perdidas: {count}", BM = "Desactivar programación", VM = "Eliminar programación", WM = "¿Eliminar la programación de {name}? Los trabajos en cola se cancelan y los activos se detienen y finalizan. Se conservan los resultados completados.", JM = "Confirmar eliminación", KM = "Activar programación", GM = "¿Activar la programación de {name} con la revisión actual del worker? Acepto recalcular esta copia fija. No se repetirán ejecuciones anteriores.", ZM = "Confirmar activación", YM = "La revisión del worker cambió. Un administrador debe revisar y activar explícitamente esta programación.", QM = "Ejecución programada", XM = "Desconocida", eq = "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo.", nq = {
2632
+ }, WP = "Trabajos en segundo plano", JP = "Copia un archivo seleccionado al paquete y calcula su SHA-256. Los trabajos continúan al cerrar sesión; el paquete conserva la copia y el resultado.", KP = "Worker", GP = "El worker se ejecuta como {user}", ZP = "El worker no se está ejecutando", YP = "Elegir un archivo", QP = "Archivo seleccionado: {path}", XP = "Elegir un archivo para importar", eM = "El archivo seleccionado se lee una sola vez con su inicio de sesión de DSM actual y se entrega al trabajo en segundo plano. No se guarda ningún permiso.", tM = "Importar y enviar", nM = "Cancelar", oM = "Resultado", aM = "Descargar resultado", iM = "Aún no hay trabajos", sM = "En cola", rM = "En ejecución", cM = "Correcto", lM = "Error", dM = "Cancelado", uM = "Interrumpido", pM = "En pausa", hM = "Pausando…", gM = "Pausar", mM = "Reanudar", fM = { one: "{done} de {count} elemento", other: "{done} de {count} elementos" }, $M = "{done} de {total}", vM = "Elemento actual: {item}", bM = "Hasta {size} KB por archivo, {queue} trabajos en cola, {seconds} segundos por trabajo.", SM = { jobs_busy: "Sistema ocupado. Vuelva a intentarlo más tarde.", failed: "No se pudo completar la solicitud. Actualice e inténtelo de nuevo.", "limit-exceeded": "El archivo supera el límite.", "queue-full": "La cola está llena.", "quota-exceeded": "El almacenamiento en segundo plano está lleno.", conflict: "El estado del trabajo cambió. Actualice.", not_found: "No encontrado.", denied: "Acceso denegado.", session_required: "Su sesión de DSM caducó. Inicie sesión de nuevo.", "owner-queue-full": "Ha alcanzado el límite de trabajos pendientes. Espere a que termine uno o cancele uno.", "owner-quota-exceeded": "Ha alcanzado el límite de almacenamiento. Pida a un administrador que borre sus trabajos antiguos.", identity_unavailable: "No se pudo verificar su UID de usuario DSM. Inicie sesión de nuevo o contacte con un administrador.", "schedule-full": "Se alcanzó el límite de 8 programaciones. Elimine una.", "input-unavailable": "La copia privada no está disponible o cambió. Impórtela de nuevo.", unsupported: "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo." }, _M = "Solo puede ver, cancelar y descargar sus propios trabajos.", zM = "Los administradores pueden ver y cancelar los trabajos de todos los usuarios.", yM = "Por usuario: {jobs} trabajos pendientes y {size} KB para entradas y resultados reservados.", AM = "Propietario: {user} (UID {uid})", kM = "Borrar trabajos del propietario", wM = "¿Borrar todos los trabajos de {user} (UID {uid})? Los trabajos en curso se cancelarán y terminarán; se eliminarán los resultados guardados.", DM = "Confirmar borrado", CM = "Conservar trabajos", PM = "Programaciones", MM = "Recalcula la copia privada fija como usuario del paquete cada hora, día o semana. Hasta 8 programaciones. Las ejecuciones perdidas se registran sin recuperarlas.", qM = "Programar esta copia", TM = "Copia privada: {name}", EM = "Intervalo de repetición", LM = "Cada hora", IM = "Cada día", RM = "Cada semana", jM = "Acepto conservar esta copia fija y recalcularla como usuario del paquete. No se leen nuevos archivos de origen ni ACL personales.", xM = "Crear programación", NM = "No hay programaciones", UM = "Habilitado", OM = "Deshabilitado", FM = "Próxima ejecución: {time}", HM = "Ejecuciones perdidas: {count}", BM = "Desactivar programación", VM = "Eliminar programación", WM = "¿Eliminar la programación de {name}? Los trabajos en cola se cancelan y los activos se detienen y finalizan. Se conservan los resultados completados.", JM = "Confirmar eliminación", KM = "Activar programación", GM = "¿Activar la programación de {name} con la revisión actual del worker? Acepto recalcular esta copia fija. No se repetirán ejecuciones anteriores.", ZM = "Confirmar activación", YM = "La revisión del worker cambió. Un administrador debe revisar y activar explícitamente esta programación.", QM = "Ejecución programada", XM = "Desconocida", eq = "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo.", tq = {
2633
2633
  title: WP,
2634
2634
  help: JP,
2635
2635
  worker: KP,
@@ -2639,8 +2639,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2639
2639
  chosen: QP,
2640
2640
  pickerTitle: XP,
2641
2641
  pickerConsent: eM,
2642
- submit: nM,
2643
- cancel: tM,
2642
+ submit: tM,
2643
+ cancel: nM,
2644
2644
  result: oM,
2645
2645
  download: aM,
2646
2646
  noJobs: iM,
@@ -2693,8 +2693,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2693
2693
  scheduledJob: QM,
2694
2694
  unknownTime: XM,
2695
2695
  unsupported: eq
2696
- }, tq = "Tâches en arrière-plan", oq = "Copie un fichier sélectionné dans le paquet et calcule son SHA-256. Les tâches continuent après la déconnexion ; le paquet conserve la copie et le résultat.", aq = "Worker", iq = "Le worker s’exécute sous {user}", sq = "Le worker n’est pas en cours d’exécution", rq = "Choisir un fichier", cq = "Fichier sélectionné : {path}", lq = "Choisir un fichier à importer", dq = "Le fichier sélectionné est lu une seule fois avec votre connexion DSM actuelle et transmis à la tâche en arrière-plan. Aucune autorisation n'est enregistrée.", uq = "Importer et envoyer", pq = "Annuler", hq = "Résultat", gq = "Télécharger le résultat", mq = "Aucune tâche", fq = "En attente", $q = "En cours", vq = "Réussie", bq = "Échec", Sq = "Annulée", _q = "Interrompue", zq = "En pause", yq = "Mise en pause…", Aq = "Pause", kq = "Reprendre", wq = { one: "{done} sur {count} élément", other: "{done} sur {count} éléments" }, Dq = "{done} sur {total}", Cq = "Élément en cours : {item}", Pq = "Jusqu’à {size} KB par fichier, {queue} tâches en attente, {seconds} secondes par tâche.", Mq = { jobs_busy: "Le système est occupé. Veuillez réessayer plus tard.", failed: "La requête n’a pas pu aboutir. Actualisez puis réessayez.", "limit-exceeded": "Le fichier dépasse la limite.", "queue-full": "La file d’attente est pleine.", "quota-exceeded": "Le stockage en arrière-plan est plein.", conflict: "L’état de la tâche a changé. Actualisez.", not_found: "Introuvable.", denied: "Accès refusé.", session_required: "Votre session DSM a expiré. Reconnectez-vous.", "owner-queue-full": "Votre limite de tâches en attente est atteinte. Attendez une fin ou annulez une tâche.", "owner-quota-exceeded": "Votre limite de stockage est atteinte. Demandez à un administrateur d’effacer vos anciennes tâches.", identity_unavailable: "L’UID de votre utilisateur DSM n’a pas pu être vérifié. Reconnectez-vous ou contactez un administrateur.", "schedule-full": "La limite de 8 planifications est atteinte. Supprimez-en une.", "input-unavailable": "La copie privée manque ou a changé. Importez-la à nouveau.", unsupported: "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez." }, qq = "Vous pouvez voir, annuler et télécharger uniquement vos propres tâches.", Tq = "Les administrateurs peuvent voir et annuler les tâches de tous les utilisateurs.", Eq = "Par utilisateur : {jobs} tâches en attente et {size} KB pour les entrées et résultats réservés.", Lq = "Propriétaire : {user} (UID {uid})", Iq = "Effacer les tâches du propriétaire", Rq = "Effacer toutes les tâches de {user} (UID {uid}) ? Les tâches en cours seront annulées et terminées ; les résultats enregistrés seront supprimés.", jq = "Confirmer l’effacement", xq = "Conserver les tâches", Nq = "Planifications", Uq = "Recalcule la copie privée fixe avec le compte du paquet chaque heure, jour ou semaine. Jusqu’à 8 planifications. Les exécutions manquées sont consignées sans rattrapage.", Oq = "Planifier cette copie", Fq = "Copie privée : {name}", Hq = "Intervalle de répétition", Bq = "Chaque heure", Vq = "Chaque jour", Wq = "Chaque semaine", Jq = "J’accepte de conserver cette copie fixe et de la recalculer avec le compte du paquet. Aucun nouveau fichier source ni ACL personnel n’est lu.", Kq = "Créer la planification", Gq = "Aucune planification", Zq = "Activé", Yq = "Désactivé", Qq = "Prochaine exécution : {time}", Xq = "Exécutions manquées : {count}", eT = "Désactiver la planification", nT = "Supprimer la planification", tT = "Supprimer la planification de {name} ? Les tâches en attente sont annulées et celles en cours s’arrêtent proprement. Les résultats terminés sont conservés.", oT = "Confirmer la suppression", aT = "Activer la planification", iT = "Activer la planification de {name} avec la révision actuelle du worker ? J’accepte de recalculer cette copie fixe. Les anciennes exécutions ne seront pas rejouées.", sT = "Confirmer l’activation", rT = "La révision du worker a changé. Un administrateur doit vérifier et activer explicitement cette planification.", cT = "Exécution planifiée", lT = "Inconnue", dT = "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez.", uT = {
2697
- title: tq,
2696
+ }, nq = "Tâches en arrière-plan", oq = "Copie un fichier sélectionné dans le paquet et calcule son SHA-256. Les tâches continuent après la déconnexion ; le paquet conserve la copie et le résultat.", aq = "Worker", iq = "Le worker s’exécute sous {user}", sq = "Le worker n’est pas en cours d’exécution", rq = "Choisir un fichier", cq = "Fichier sélectionné : {path}", lq = "Choisir un fichier à importer", dq = "Le fichier sélectionné est lu une seule fois avec votre connexion DSM actuelle et transmis à la tâche en arrière-plan. Aucune autorisation n'est enregistrée.", uq = "Importer et envoyer", pq = "Annuler", hq = "Résultat", gq = "Télécharger le résultat", mq = "Aucune tâche", fq = "En attente", $q = "En cours", vq = "Réussie", bq = "Échec", Sq = "Annulée", _q = "Interrompue", zq = "En pause", yq = "Mise en pause…", Aq = "Pause", kq = "Reprendre", wq = { one: "{done} sur {count} élément", other: "{done} sur {count} éléments" }, Dq = "{done} sur {total}", Cq = "Élément en cours : {item}", Pq = "Jusqu’à {size} KB par fichier, {queue} tâches en attente, {seconds} secondes par tâche.", Mq = { jobs_busy: "Le système est occupé. Veuillez réessayer plus tard.", failed: "La requête n’a pas pu aboutir. Actualisez puis réessayez.", "limit-exceeded": "Le fichier dépasse la limite.", "queue-full": "La file d’attente est pleine.", "quota-exceeded": "Le stockage en arrière-plan est plein.", conflict: "L’état de la tâche a changé. Actualisez.", not_found: "Introuvable.", denied: "Accès refusé.", session_required: "Votre session DSM a expiré. Reconnectez-vous.", "owner-queue-full": "Votre limite de tâches en attente est atteinte. Attendez une fin ou annulez une tâche.", "owner-quota-exceeded": "Votre limite de stockage est atteinte. Demandez à un administrateur d’effacer vos anciennes tâches.", identity_unavailable: "L’UID de votre utilisateur DSM n’a pas pu être vérifié. Reconnectez-vous ou contactez un administrateur.", "schedule-full": "La limite de 8 planifications est atteinte. Supprimez-en une.", "input-unavailable": "La copie privée manque ou a changé. Importez-la à nouveau.", unsupported: "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez." }, qq = "Vous pouvez voir, annuler et télécharger uniquement vos propres tâches.", Tq = "Les administrateurs peuvent voir et annuler les tâches de tous les utilisateurs.", Eq = "Par utilisateur : {jobs} tâches en attente et {size} KB pour les entrées et résultats réservés.", Lq = "Propriétaire : {user} (UID {uid})", Iq = "Effacer les tâches du propriétaire", Rq = "Effacer toutes les tâches de {user} (UID {uid}) ? Les tâches en cours seront annulées et terminées ; les résultats enregistrés seront supprimés.", jq = "Confirmer l’effacement", xq = "Conserver les tâches", Nq = "Planifications", Uq = "Recalcule la copie privée fixe avec le compte du paquet chaque heure, jour ou semaine. Jusqu’à 8 planifications. Les exécutions manquées sont consignées sans rattrapage.", Oq = "Planifier cette copie", Fq = "Copie privée : {name}", Hq = "Intervalle de répétition", Bq = "Chaque heure", Vq = "Chaque jour", Wq = "Chaque semaine", Jq = "J’accepte de conserver cette copie fixe et de la recalculer avec le compte du paquet. Aucun nouveau fichier source ni ACL personnel n’est lu.", Kq = "Créer la planification", Gq = "Aucune planification", Zq = "Activé", Yq = "Désactivé", Qq = "Prochaine exécution : {time}", Xq = "Exécutions manquées : {count}", eT = "Désactiver la planification", tT = "Supprimer la planification", nT = "Supprimer la planification de {name} ? Les tâches en attente sont annulées et celles en cours s’arrêtent proprement. Les résultats terminés sont conservés.", oT = "Confirmer la suppression", aT = "Activer la planification", iT = "Activer la planification de {name} avec la révision actuelle du worker ? J’accepte de recalculer cette copie fixe. Les anciennes exécutions ne seront pas rejouées.", sT = "Confirmer l’activation", rT = "La révision du worker a changé. Un administrateur doit vérifier et activer explicitement cette planification.", cT = "Exécution planifiée", lT = "Inconnue", dT = "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez.", uT = {
2697
+ title: nq,
2698
2698
  help: oq,
2699
2699
  worker: aq,
2700
2700
  workerRunning: iq,
@@ -2747,8 +2747,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2747
2747
  nextRun: Qq,
2748
2748
  missedRuns: Xq,
2749
2749
  disableSchedule: eT,
2750
- deleteSchedule: nT,
2751
- deleteScheduleConsent: tT,
2750
+ deleteSchedule: tT,
2751
+ deleteScheduleConsent: nT,
2752
2752
  confirmDeleteSchedule: oT,
2753
2753
  enableSchedule: aT,
2754
2754
  enableScheduleConsent: iT,
@@ -2757,7 +2757,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2757
2757
  scheduledJob: cT,
2758
2758
  unknownTime: lT,
2759
2759
  unsupported: dT
2760
- }, pT = "Processi in background", hT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato.", gT = "Worker", mT = "Il worker è in esecuzione come {user}", fT = "Il worker non è in esecuzione", $T = "Scegli un file", vT = "File selezionato: {path}", bT = "Scegli un file da importare", ST = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata.", _T = "Importa e invia", zT = "Annulla", yT = "Risultato", AT = "Scarica il risultato", kT = "Nessun processo", wT = "In coda", DT = "In esecuzione", CT = "Riuscito", PT = "Non riuscito", MT = "Annullato", qT = "Interrotto", TT = "In pausa", ET = "Sospensione in corso…", LT = "Sospendi", IT = "Riprendi", RT = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, jT = "{done} di {total}", xT = "Elemento corrente: {item}", NT = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo.", UT = { jobs_busy: "Sistema occupato. Riprovare in seguito.", failed: "Impossibile completare la richiesta. Aggiornare e riprovare.", "limit-exceeded": "Il file supera il limite.", "queue-full": "La coda è piena.", "quota-exceeded": "Lo spazio di archiviazione in background è pieno.", conflict: "Lo stato del processo è cambiato. Aggiornare.", not_found: "Non trovato.", denied: "Accesso negato.", session_required: "La sessione DSM è scaduta. Accedere di nuovo.", "owner-queue-full": "È stato raggiunto il limite dei processi in attesa. Attendere il completamento di un processo o annullarne uno.", "owner-quota-exceeded": "È stato raggiunto il limite di archiviazione. Chiedere a un amministratore di cancellare i vecchi processi.", identity_unavailable: "Impossibile verificare l’UID dell’utente DSM. Accedere di nuovo o contattare un amministratore.", "schedule-full": "Limite di 8 pianificazioni raggiunto. Eliminarne una.", "input-unavailable": "La copia privata non è disponibile o è cambiata. Importarla di nuovo.", unsupported: "I processi in background non sono disponibili. Aggiornare e riprovare." }, OT = "È possibile vedere, annullare e scaricare solo i propri processi.", FT = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti.", HT = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati.", BT = "Proprietario: {user} (UID {uid})", VT = "Cancella processi del proprietario", WT = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi.", JT = "Conferma cancellazione", KT = "Conserva processi", GT = "Pianificazioni", ZT = "Ricalcola la copia privata fissa come utente del pacchetto ogni ora, giorno o settimana. Fino a 8 pianificazioni. Le esecuzioni perse vengono registrate, senza recupero.", YT = "Pianifica questa copia", QT = "Copia privata: {name}", XT = "Intervallo di ripetizione", eE = "Ogni ora", nE = "Ogni giorno", tE = "Ogni settimana", oE = "Acconsento a conservare questa copia fissa e a ricalcolarla come utente del pacchetto. Non vengono letti nuovi file di origine o ACL personali.", aE = "Crea pianificazione", iE = "Nessuna pianificazione", sE = "Abilitato", rE = "Disabilitato", cE = "Prossima esecuzione: {time}", lE = "Esecuzioni perse: {count}", dE = "Disattiva pianificazione", uE = "Elimina pianificazione", pE = "Eliminare la pianificazione di {name}? I lavori in coda vengono annullati e quelli in corso vengono arrestati e conclusi. I risultati completati restano.", hE = "Conferma eliminazione", gE = "Attiva pianificazione", mE = "Attivare la pianificazione di {name} con la revisione attuale del worker? Acconsento a ricalcolare questa copia fissa. Le esecuzioni passate non saranno ripetute.", fE = "Conferma attivazione", $E = "La revisione del worker è cambiata. Un amministratore deve verificare e attivare esplicitamente questa pianificazione.", vE = "Esecuzione pianificata", bE = "Sconosciuta", SE = "I processi in background non sono disponibili. Aggiornare e riprovare.", _E = {
2760
+ }, pT = "Processi in background", hT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato.", gT = "Worker", mT = "Il worker è in esecuzione come {user}", fT = "Il worker non è in esecuzione", $T = "Scegli un file", vT = "File selezionato: {path}", bT = "Scegli un file da importare", ST = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata.", _T = "Importa e invia", zT = "Annulla", yT = "Risultato", AT = "Scarica il risultato", kT = "Nessun processo", wT = "In coda", DT = "In esecuzione", CT = "Riuscito", PT = "Non riuscito", MT = "Annullato", qT = "Interrotto", TT = "In pausa", ET = "Sospensione in corso…", LT = "Sospendi", IT = "Riprendi", RT = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, jT = "{done} di {total}", xT = "Elemento corrente: {item}", NT = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo.", UT = { jobs_busy: "Sistema occupato. Riprovare in seguito.", failed: "Impossibile completare la richiesta. Aggiornare e riprovare.", "limit-exceeded": "Il file supera il limite.", "queue-full": "La coda è piena.", "quota-exceeded": "Lo spazio di archiviazione in background è pieno.", conflict: "Lo stato del processo è cambiato. Aggiornare.", not_found: "Non trovato.", denied: "Accesso negato.", session_required: "La sessione DSM è scaduta. Accedere di nuovo.", "owner-queue-full": "È stato raggiunto il limite dei processi in attesa. Attendere il completamento di un processo o annullarne uno.", "owner-quota-exceeded": "È stato raggiunto il limite di archiviazione. Chiedere a un amministratore di cancellare i vecchi processi.", identity_unavailable: "Impossibile verificare l’UID dell’utente DSM. Accedere di nuovo o contattare un amministratore.", "schedule-full": "Limite di 8 pianificazioni raggiunto. Eliminarne una.", "input-unavailable": "La copia privata non è disponibile o è cambiata. Importarla di nuovo.", unsupported: "I processi in background non sono disponibili. Aggiornare e riprovare." }, OT = "È possibile vedere, annullare e scaricare solo i propri processi.", FT = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti.", HT = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati.", BT = "Proprietario: {user} (UID {uid})", VT = "Cancella processi del proprietario", WT = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi.", JT = "Conferma cancellazione", KT = "Conserva processi", GT = "Pianificazioni", ZT = "Ricalcola la copia privata fissa come utente del pacchetto ogni ora, giorno o settimana. Fino a 8 pianificazioni. Le esecuzioni perse vengono registrate, senza recupero.", YT = "Pianifica questa copia", QT = "Copia privata: {name}", XT = "Intervallo di ripetizione", eE = "Ogni ora", tE = "Ogni giorno", nE = "Ogni settimana", oE = "Acconsento a conservare questa copia fissa e a ricalcolarla come utente del pacchetto. Non vengono letti nuovi file di origine o ACL personali.", aE = "Crea pianificazione", iE = "Nessuna pianificazione", sE = "Abilitato", rE = "Disabilitato", cE = "Prossima esecuzione: {time}", lE = "Esecuzioni perse: {count}", dE = "Disattiva pianificazione", uE = "Elimina pianificazione", pE = "Eliminare la pianificazione di {name}? I lavori in coda vengono annullati e quelli in corso vengono arrestati e conclusi. I risultati completati restano.", hE = "Conferma eliminazione", gE = "Attiva pianificazione", mE = "Attivare la pianificazione di {name} con la revisione attuale del worker? Acconsento a ricalcolare questa copia fissa. Le esecuzioni passate non saranno ripetute.", fE = "Conferma attivazione", $E = "La revisione del worker è cambiata. Un amministratore deve verificare e attivare esplicitamente questa pianificazione.", vE = "Esecuzione pianificata", bE = "Sconosciuta", SE = "I processi in background non sono disponibili. Aggiornare e riprovare.", _E = {
2761
2761
  title: pT,
2762
2762
  help: hT,
2763
2763
  worker: gT,
@@ -2801,8 +2801,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2801
2801
  scheduleSource: QT,
2802
2802
  interval: XT,
2803
2803
  hourly: eE,
2804
- daily: nE,
2805
- weekly: tE,
2804
+ daily: tE,
2805
+ weekly: nE,
2806
2806
  scheduleConsent: oE,
2807
2807
  createSchedule: aE,
2808
2808
  noSchedules: iE,
@@ -2821,7 +2821,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2821
2821
  scheduledJob: vE,
2822
2822
  unknownTime: bE,
2823
2823
  unsupported: SE
2824
- }, zE = "バックグラウンドジョブ", yE = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します。", AE = "ワーカー", kE = "ワーカーは {user} として実行中です", wE = "ワーカーは停止しています", DE = "ファイルを選択", CE = "選択したファイル:{path}", PE = "インポートするファイルを選択", ME = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。", qE = "インポートして送信", TE = "キャンセル", EE = "結果", LE = "結果をダウンロード", IE = "ジョブはまだありません", RE = "待機中", jE = "実行中", xE = "成功", NE = "失敗", UE = "キャンセル済み", OE = "中断", FE = "一時停止中", HE = "一時停止しています…", BE = "一時停止", VE = "再開", WE = { other: "{done} / {count} 項目" }, JE = "{done} / {total}", KE = "現在の項目:{item}", GE = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒。", ZE = { jobs_busy: "処理が混み合っています。しばらくしてから再試行してください。", failed: "要求を完了できませんでした。最新の情報に更新して再試行してください。", "limit-exceeded": "ファイルが上限を超えています。", "queue-full": "キューがいっぱいです。", "quota-exceeded": "バックグラウンド用の容量がいっぱいです。", conflict: "ジョブの状態が変わりました。最新の情報に更新してください。", not_found: "見つかりません。", denied: "アクセスが拒否されました。", session_required: "DSM セッションの有効期限が切れました。再度サインインしてください。", "owner-queue-full": "保留中ジョブの上限です。完了を待つか、ジョブをキャンセルしてください。", "owner-quota-exceeded": "保存領域の上限です。管理者に古いジョブの消去を依頼してください。", identity_unavailable: "DSM ユーザーの UID を確認できません。再度サインインするか、管理者に連絡してください。", "schedule-full": "スケジュールは最大 8 件です。削除してください。", "input-unavailable": "非公開コピーがないか変更されています。再度インポートしてください。", unsupported: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。" }, YE = "自分のジョブのみ表示、キャンセル、ダウンロードできます。", QE = "管理者はすべてのユーザーのジョブを表示、キャンセルできます。", XE = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB。", eL = "所有者:{user}(UID {uid})", nL = "所有者のジョブを消去", tL = "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します。", oL = "消去を確認", aL = "ジョブを保持", iL = "スケジュール", sL = "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません。", rL = "このコピーを定期実行", cL = "非公開コピー:{name}", lL = "繰り返し間隔", dL = "毎時", uL = "毎日", pL = "毎週", hL = "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません。", gL = "スケジュールを作成", mL = "スケジュールはありません", fL = "有効", $L = "無効", vL = "次回実行:{time}", bL = "逃した実行:{count} 回", SL = "スケジュールを無効化", _L = "スケジュールを削除", zL = "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります。", yL = "削除を確認", AL = "スケジュールを有効化", kL = "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません。", wL = "有効化を確認", DL = "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください。", CL = "定期実行", PL = "不明", ML = "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。", qL = {
2824
+ }, zE = "バックグラウンドジョブ", yE = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します。", AE = "ワーカー", kE = "ワーカーは {user} として実行中です", wE = "ワーカーは停止しています", DE = "ファイルを選択", CE = "選択したファイル:{path}", PE = "インポートするファイルを選択", ME = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。", qE = "インポートして送信", TE = "キャンセル", EE = "結果", LE = "結果をダウンロード", IE = "ジョブはまだありません", RE = "待機中", jE = "実行中", xE = "成功", NE = "失敗", UE = "キャンセル済み", OE = "中断", FE = "一時停止中", HE = "一時停止しています…", BE = "一時停止", VE = "再開", WE = { other: "{done} / {count} 項目" }, JE = "{done} / {total}", KE = "現在の項目:{item}", GE = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒。", ZE = { jobs_busy: "処理が混み合っています。しばらくしてから再試行してください。", failed: "要求を完了できませんでした。最新の情報に更新して再試行してください。", "limit-exceeded": "ファイルが上限を超えています。", "queue-full": "キューがいっぱいです。", "quota-exceeded": "バックグラウンド用の容量がいっぱいです。", conflict: "ジョブの状態が変わりました。最新の情報に更新してください。", not_found: "見つかりません。", denied: "アクセスが拒否されました。", session_required: "DSM セッションの有効期限が切れました。再度サインインしてください。", "owner-queue-full": "保留中ジョブの上限です。完了を待つか、ジョブをキャンセルしてください。", "owner-quota-exceeded": "保存領域の上限です。管理者に古いジョブの消去を依頼してください。", identity_unavailable: "DSM ユーザーの UID を確認できません。再度サインインするか、管理者に連絡してください。", "schedule-full": "スケジュールは最大 8 件です。削除してください。", "input-unavailable": "非公開コピーがないか変更されています。再度インポートしてください。", unsupported: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。" }, YE = "自分のジョブのみ表示、キャンセル、ダウンロードできます。", QE = "管理者はすべてのユーザーのジョブを表示、キャンセルできます。", XE = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB。", eL = "所有者:{user}(UID {uid})", tL = "所有者のジョブを消去", nL = "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します。", oL = "消去を確認", aL = "ジョブを保持", iL = "スケジュール", sL = "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません。", rL = "このコピーを定期実行", cL = "非公開コピー:{name}", lL = "繰り返し間隔", dL = "毎時", uL = "毎日", pL = "毎週", hL = "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません。", gL = "スケジュールを作成", mL = "スケジュールはありません", fL = "有効", $L = "無効", vL = "次回実行:{time}", bL = "逃した実行:{count} 回", SL = "スケジュールを無効化", _L = "スケジュールを削除", zL = "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります。", yL = "削除を確認", AL = "スケジュールを有効化", kL = "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません。", wL = "有効化を確認", DL = "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください。", CL = "定期実行", PL = "不明", ML = "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。", qL = {
2825
2825
  title: zE,
2826
2826
  help: yE,
2827
2827
  worker: AE,
@@ -2855,8 +2855,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2855
2855
  adminScope: QE,
2856
2856
  ownerLimits: XE,
2857
2857
  owner: eL,
2858
- purgeOwner: nL,
2859
- purgeConfirm: tL,
2858
+ purgeOwner: tL,
2859
+ purgeConfirm: nL,
2860
2860
  confirmPurge: oL,
2861
2861
  keepJobs: aL,
2862
2862
  schedulesTitle: iL,
@@ -2885,7 +2885,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2885
2885
  scheduledJob: CL,
2886
2886
  unknownTime: PL,
2887
2887
  unsupported: ML
2888
- }, TL = "백그라운드 작업", EL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다.", LL = "워커", IL = "워커가 {user} 계정으로 실행 중", RL = "워커가 실행 중이 아닙니다", jL = "파일 선택", xL = "선택한 파일: {path}", NL = "가져올 파일 선택", UL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.", OL = "가져오기 및 제출", FL = "취소", HL = "결과", BL = "결과 다운로드", VL = "작업이 없습니다", WL = "대기 중", JL = "실행 중", KL = "성공", GL = "실패", ZL = "취소됨", YL = "중단됨", QL = "일시 중지됨", XL = "일시 중지 중…", e1 = "일시 중지", n1 = "다시 시작", t1 = { other: "{done}/{count}개 항목" }, o1 = "{done} / {total}", a1 = "현재 항목: {item}", i1 = "파일당 최대 {size} KB, 대기 {queue}개, 작업당 {seconds}초.", s1 = { jobs_busy: "시스템이 사용 중입니다. 나중에 다시 시도하십시오.", failed: "요청을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오.", "limit-exceeded": "파일이 한도를 초과했습니다.", "queue-full": "대기열이 가득 찼습니다.", "quota-exceeded": "백그라운드 저장 공간이 가득 찼습니다.", conflict: "작업 상태가 변경되었습니다. 새로 고치십시오.", not_found: "찾을 수 없습니다.", denied: "액세스가 거부되었습니다.", session_required: "DSM 세션이 만료되었습니다. 다시 로그인하십시오.", "owner-queue-full": "대기 작업 한도에 도달했습니다. 완료를 기다리거나 작업 하나를 취소하십시오.", "owner-quota-exceeded": "저장 공간 한도에 도달했습니다. 관리자에게 이전 작업 삭제를 요청하십시오.", identity_unavailable: "DSM 사용자 UID를 확인할 수 없습니다. 다시 로그인하거나 관리자에게 문의하십시오.", "schedule-full": "일정은 최대 8개입니다. 일정을 삭제하십시오.", "input-unavailable": "비공개 사본이 없거나 변경되었습니다. 다시 가져오십시오.", unsupported: "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오." }, r1 = "자신의 작업만 보고 취소하고 다운로드할 수 있습니다.", c1 = "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다.", l1 = "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KB.", d1 = "소유자: {user} (UID {uid})", u1 = "소유자의 작업 지우기", p1 = "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다.", h1 = "지우기 확인", g1 = "작업 유지", m1 = "일정", f1 = "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다.", $1 = "이 사본 예약", v1 = "비공개 사본: {name}", b1 = "반복 간격", S1 = "매시간", _1 = "매일", z1 = "매주", y1 = "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다.", A1 = "일정 만들기", k1 = "일정 없음", w1 = "활성화됨", D1 = "사용 안함", C1 = "다음 실행: {time}", P1 = "놓친 실행: {count}회", M1 = "일정 비활성화", q1 = "일정 삭제", T1 = "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다.", E1 = "삭제 확인", L1 = "일정 활성화", I1 = "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다.", R1 = "활성화 확인", j1 = "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다.", x1 = "예약 실행", N1 = "알 수 없음", U1 = "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오.", O1 = {
2888
+ }, TL = "백그라운드 작업", EL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다.", LL = "워커", IL = "워커가 {user} 계정으로 실행 중", RL = "워커가 실행 중이 아닙니다", jL = "파일 선택", xL = "선택한 파일: {path}", NL = "가져올 파일 선택", UL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.", OL = "가져오기 및 제출", FL = "취소", HL = "결과", BL = "결과 다운로드", VL = "작업이 없습니다", WL = "대기 중", JL = "실행 중", KL = "성공", GL = "실패", ZL = "취소됨", YL = "중단됨", QL = "일시 중지됨", XL = "일시 중지 중…", e1 = "일시 중지", t1 = "다시 시작", n1 = { other: "{done}/{count}개 항목" }, o1 = "{done} / {total}", a1 = "현재 항목: {item}", i1 = "파일당 최대 {size} KB, 대기 {queue}개, 작업당 {seconds}초.", s1 = { jobs_busy: "시스템이 사용 중입니다. 나중에 다시 시도하십시오.", failed: "요청을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오.", "limit-exceeded": "파일이 한도를 초과했습니다.", "queue-full": "대기열이 가득 찼습니다.", "quota-exceeded": "백그라운드 저장 공간이 가득 찼습니다.", conflict: "작업 상태가 변경되었습니다. 새로 고치십시오.", not_found: "찾을 수 없습니다.", denied: "액세스가 거부되었습니다.", session_required: "DSM 세션이 만료되었습니다. 다시 로그인하십시오.", "owner-queue-full": "대기 작업 한도에 도달했습니다. 완료를 기다리거나 작업 하나를 취소하십시오.", "owner-quota-exceeded": "저장 공간 한도에 도달했습니다. 관리자에게 이전 작업 삭제를 요청하십시오.", identity_unavailable: "DSM 사용자 UID를 확인할 수 없습니다. 다시 로그인하거나 관리자에게 문의하십시오.", "schedule-full": "일정은 최대 8개입니다. 일정을 삭제하십시오.", "input-unavailable": "비공개 사본이 없거나 변경되었습니다. 다시 가져오십시오.", unsupported: "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오." }, r1 = "자신의 작업만 보고 취소하고 다운로드할 수 있습니다.", c1 = "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다.", l1 = "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KB.", d1 = "소유자: {user} (UID {uid})", u1 = "소유자의 작업 지우기", p1 = "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다.", h1 = "지우기 확인", g1 = "작업 유지", m1 = "일정", f1 = "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다.", $1 = "이 사본 예약", v1 = "비공개 사본: {name}", b1 = "반복 간격", S1 = "매시간", _1 = "매일", z1 = "매주", y1 = "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다.", A1 = "일정 만들기", k1 = "일정 없음", w1 = "활성화됨", D1 = "사용 안함", C1 = "다음 실행: {time}", P1 = "놓친 실행: {count}회", M1 = "일정 비활성화", q1 = "일정 삭제", T1 = "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다.", E1 = "삭제 확인", L1 = "일정 활성화", I1 = "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다.", R1 = "활성화 확인", j1 = "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다.", x1 = "예약 실행", N1 = "알 수 없음", U1 = "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오.", O1 = {
2889
2889
  title: TL,
2890
2890
  help: EL,
2891
2891
  worker: LL,
@@ -2909,8 +2909,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2909
2909
  state_paused: QL,
2910
2910
  pausing: XL,
2911
2911
  pause: e1,
2912
- resume: n1,
2913
- progressItems: t1,
2912
+ resume: t1,
2913
+ progressItems: n1,
2914
2914
  progressBytes: o1,
2915
2915
  progressItem: a1,
2916
2916
  limits: i1,
@@ -2949,7 +2949,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2949
2949
  scheduledJob: x1,
2950
2950
  unknownTime: N1,
2951
2951
  unsupported: U1
2952
- }, F1 = "后台任务", H1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存。", B1 = "Worker", V1 = "Worker 正以 {user} 运行", W1 = "Worker 未运行", J1 = "选择文件", K1 = "已选择的文件:{path}", G1 = "选择要导入的文件", Z1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。", Y1 = "导入并提交", Q1 = "取消", X1 = "结果", eI = "下载结果", nI = "暂无任务", tI = "排队中", oI = "运行中", aI = "成功", iI = "失败", sI = "已取消", rI = "已中断", cI = "已暂停", lI = "正在暂停…", dI = "暂停", uI = "继续", pI = { other: "{done} / {count} 个项目" }, hI = "{done} / {total}", gI = "当前项目:{item}", mI = "每个文件最多 {size} KB、最多 {queue} 个排队任务、每个任务最长 {seconds} 秒。", fI = { jobs_busy: "系统繁忙,请稍后重试。", failed: "无法完成请求。请刷新后重试。", "limit-exceeded": "文件超过上限。", "queue-full": "队列已满。", "quota-exceeded": "后台存储空间已满。", conflict: "任务状态已变更,请刷新。", not_found: "未找到。", denied: "访问被拒绝。", session_required: "DSM 会话已过期,请重新登录。", "owner-queue-full": "你的待处理任务已达上限。请等待完成或取消一个任务。", "owner-quota-exceeded": "你的后台存储已达上限。请管理员清除旧任务。", identity_unavailable: "无法确认你的 DSM 用户 UID。请重新登录或联系管理员。", "schedule-full": "已达 8 个计划上限。请删除计划。", "input-unavailable": "私有副本不存在或已更改。请重新导入。", unsupported: "后台任务无法使用,请刷新后重试。" }, $I = "你只能查看、取消及下载自己的任务。", vI = "管理员可查看及取消所有用户的任务。", bI = "每人上限:{jobs} 个待处理任务、{size} KB 输入与预留结果存储。", SI = "所有者:{user}(UID {uid})", _I = "清除所有者的任务", zI = "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除。", yI = "确认清除", AI = "保留任务", kI = "计划", wI = "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的运行仅记录,不会补上。", DI = "计划重跑副本", CI = "私有副本:{name}", PI = "重复间隔", MI = "每小时", qI = "每日", TI = "每周", EI = "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL。", LI = "创建计划", II = "暂无计划", RI = "已启动", jI = "已停用", xI = "下次运行:{time}", NI = "错过运行:{count} 次", UI = "停用计划", OI = "删除计划", FI = "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留。", HI = "确认删除", BI = "启用计划", VI = "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。过去错过的运行不会补上。", WI = "确认启用", JI = "Worker revision 已更改。管理员须检查并明确启用此计划。", KI = "计划运行", GI = "未知", ZI = "后台任务无法使用,请刷新后重试。", YI = {
2952
+ }, F1 = "后台任务", H1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存。", B1 = "Worker", V1 = "Worker 正以 {user} 运行", W1 = "Worker 未运行", J1 = "选择文件", K1 = "已选择的文件:{path}", G1 = "选择要导入的文件", Z1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。", Y1 = "导入并提交", Q1 = "取消", X1 = "结果", eI = "下载结果", tI = "暂无任务", nI = "排队中", oI = "运行中", aI = "成功", iI = "失败", sI = "已取消", rI = "已中断", cI = "已暂停", lI = "正在暂停…", dI = "暂停", uI = "继续", pI = { other: "{done} / {count} 个项目" }, hI = "{done} / {total}", gI = "当前项目:{item}", mI = "每个文件最多 {size} KB、最多 {queue} 个排队任务、每个任务最长 {seconds} 秒。", fI = { jobs_busy: "系统繁忙,请稍后重试。", failed: "无法完成请求。请刷新后重试。", "limit-exceeded": "文件超过上限。", "queue-full": "队列已满。", "quota-exceeded": "后台存储空间已满。", conflict: "任务状态已变更,请刷新。", not_found: "未找到。", denied: "访问被拒绝。", session_required: "DSM 会话已过期,请重新登录。", "owner-queue-full": "你的待处理任务已达上限。请等待完成或取消一个任务。", "owner-quota-exceeded": "你的后台存储已达上限。请管理员清除旧任务。", identity_unavailable: "无法确认你的 DSM 用户 UID。请重新登录或联系管理员。", "schedule-full": "已达 8 个计划上限。请删除计划。", "input-unavailable": "私有副本不存在或已更改。请重新导入。", unsupported: "后台任务无法使用,请刷新后重试。" }, $I = "你只能查看、取消及下载自己的任务。", vI = "管理员可查看及取消所有用户的任务。", bI = "每人上限:{jobs} 个待处理任务、{size} KB 输入与预留结果存储。", SI = "所有者:{user}(UID {uid})", _I = "清除所有者的任务", zI = "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除。", yI = "确认清除", AI = "保留任务", kI = "计划", wI = "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的运行仅记录,不会补上。", DI = "计划重跑副本", CI = "私有副本:{name}", PI = "重复间隔", MI = "每小时", qI = "每日", TI = "每周", EI = "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL。", LI = "创建计划", II = "暂无计划", RI = "已启动", jI = "已停用", xI = "下次运行:{time}", NI = "错过运行:{count} 次", UI = "停用计划", OI = "删除计划", FI = "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留。", HI = "确认删除", BI = "启用计划", VI = "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。过去错过的运行不会补上。", WI = "确认启用", JI = "Worker revision 已更改。管理员须检查并明确启用此计划。", KI = "计划运行", GI = "未知", ZI = "后台任务无法使用,请刷新后重试。", YI = {
2953
2953
  title: F1,
2954
2954
  help: H1,
2955
2955
  worker: B1,
@@ -2963,8 +2963,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
2963
2963
  cancel: Q1,
2964
2964
  result: X1,
2965
2965
  download: eI,
2966
- noJobs: nI,
2967
- state_queued: tI,
2966
+ noJobs: tI,
2967
+ state_queued: nI,
2968
2968
  state_running: oI,
2969
2969
  state_succeeded: aI,
2970
2970
  state_failed: iI,
@@ -3013,12 +3013,12 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
3013
3013
  scheduledJob: KI,
3014
3014
  unknownTime: GI,
3015
3015
  unsupported: ZI
3016
- }, QI = "背景工作", XI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存。", eR = "Worker", nR = "Worker 正以 {user} 執行", tR = "Worker 未執行", oR = "選擇檔案", aR = "已選擇的檔案:{path}", iR = "選擇要匯入的檔案", sR = "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權。", rR = "匯入並送出", cR = "取消", lR = "結果", dR = "下載結果", uR = "尚無工作", pR = "排隊中", hR = "執行中", gR = "成功", mR = "失敗", fR = "已取消", $R = "已中斷", vR = "已暫停", bR = "正在暫停…", SR = "暫停", _R = "繼續", zR = { other: "{done} / {count} 個項目" }, yR = "{done} / {total}", AR = "目前項目:{item}", kR = "每個檔案最多 {size} KB、最多 {queue} 個排隊工作、每個工作最長 {seconds} 秒。", wR = { jobs_busy: "忙碌中,請稍後重試", failed: "無法完成要求。請重新整理後再試。", "limit-exceeded": "檔案超過上限。", "queue-full": "佇列已滿。", "quota-exceeded": "背景儲存空間已滿。", conflict: "工作狀態已變更,請重新整理。", not_found: "找不到。", denied: "存取被拒絕。", session_required: "DSM 工作階段已過期,請重新登入。", "owner-queue-full": "你的待處理工作已達上限。請等待完成或取消一個工作。", "owner-quota-exceeded": "你的背景儲存已達上限。請管理員清除舊工作。", identity_unavailable: "無法確認你的 DSM 使用者 UID。請重新登入或洽管理員。", "schedule-full": "已達 8 個排程上限。請刪除排程。", "input-unavailable": "私有副本不存在或已變更。請重新匯入。", unsupported: "背景工作無法使用,請重新整理後再試。" }, DR = "你只能檢視、取消及下載自己的工作。", CR = "管理員可檢視及取消所有使用者的工作。", PR = "每人上限:{jobs} 個待處理工作、{size} KB 輸入與預留結果儲存。", MR = "擁有者:{user}(UID {uid})", qR = "清除擁有者的工作", TR = "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除。", ER = "確認清除", LR = "保留工作", IR = "排程", RR = "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑。", jR = "排程重跑副本", xR = "私有副本:{name}", NR = "重複間隔", UR = "每小時", OR = "每日", FR = "每週", HR = "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL。", BR = "建立排程", VR = "尚無排程", WR = "已啟用", JR = "已停用", KR = "下次執行:{time}", GR = "錯過執行:{count} 次", ZR = "停用排程", YR = "刪除排程", QR = "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留。", XR = "確認刪除", e8 = "啟用排程", n8 = "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行。", t8 = "確認啟用", o8 = "Worker revision 已變更。管理員須審閱並明確啟用此排程。", a8 = "排程執行", i8 = "未知", s8 = "背景工作無法使用,請重新整理後再試。", r8 = {
3016
+ }, QI = "背景工作", XI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存。", eR = "Worker", tR = "Worker 正以 {user} 執行", nR = "Worker 未執行", oR = "選擇檔案", aR = "已選擇的檔案:{path}", iR = "選擇要匯入的檔案", sR = "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權。", rR = "匯入並送出", cR = "取消", lR = "結果", dR = "下載結果", uR = "尚無工作", pR = "排隊中", hR = "執行中", gR = "成功", mR = "失敗", fR = "已取消", $R = "已中斷", vR = "已暫停", bR = "正在暫停…", SR = "暫停", _R = "繼續", zR = { other: "{done} / {count} 個項目" }, yR = "{done} / {total}", AR = "目前項目:{item}", kR = "每個檔案最多 {size} KB、最多 {queue} 個排隊工作、每個工作最長 {seconds} 秒。", wR = { jobs_busy: "忙碌中,請稍後重試", failed: "無法完成要求。請重新整理後再試。", "limit-exceeded": "檔案超過上限。", "queue-full": "佇列已滿。", "quota-exceeded": "背景儲存空間已滿。", conflict: "工作狀態已變更,請重新整理。", not_found: "找不到。", denied: "存取被拒絕。", session_required: "DSM 工作階段已過期,請重新登入。", "owner-queue-full": "你的待處理工作已達上限。請等待完成或取消一個工作。", "owner-quota-exceeded": "你的背景儲存已達上限。請管理員清除舊工作。", identity_unavailable: "無法確認你的 DSM 使用者 UID。請重新登入或洽管理員。", "schedule-full": "已達 8 個排程上限。請刪除排程。", "input-unavailable": "私有副本不存在或已變更。請重新匯入。", unsupported: "背景工作無法使用,請重新整理後再試。" }, DR = "你只能檢視、取消及下載自己的工作。", CR = "管理員可檢視及取消所有使用者的工作。", PR = "每人上限:{jobs} 個待處理工作、{size} KB 輸入與預留結果儲存。", MR = "擁有者:{user}(UID {uid})", qR = "清除擁有者的工作", TR = "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除。", ER = "確認清除", LR = "保留工作", IR = "排程", RR = "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑。", jR = "排程重跑副本", xR = "私有副本:{name}", NR = "重複間隔", UR = "每小時", OR = "每日", FR = "每週", HR = "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL。", BR = "建立排程", VR = "尚無排程", WR = "已啟用", JR = "已停用", KR = "下次執行:{time}", GR = "錯過執行:{count} 次", ZR = "停用排程", YR = "刪除排程", QR = "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留。", XR = "確認刪除", e8 = "啟用排程", t8 = "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行。", n8 = "確認啟用", o8 = "Worker revision 已變更。管理員須審閱並明確啟用此排程。", a8 = "排程執行", i8 = "未知", s8 = "背景工作無法使用,請重新整理後再試。", r8 = {
3017
3017
  title: QI,
3018
3018
  help: XI,
3019
3019
  worker: eR,
3020
- workerRunning: nR,
3021
- workerStopped: tR,
3020
+ workerRunning: tR,
3021
+ workerStopped: nR,
3022
3022
  chooseFile: oR,
3023
3023
  chosen: aR,
3024
3024
  pickerTitle: iR,
@@ -3071,23 +3071,23 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
3071
3071
  deleteScheduleConsent: QR,
3072
3072
  confirmDeleteSchedule: XR,
3073
3073
  enableSchedule: e8,
3074
- enableScheduleConsent: n8,
3075
- confirmEnableSchedule: t8,
3074
+ enableScheduleConsent: t8,
3075
+ confirmEnableSchedule: n8,
3076
3076
  revisionChanged: o8,
3077
3077
  scheduledJob: a8,
3078
3078
  unknownTime: i8,
3079
3079
  unsupported: s8
3080
- }, he = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": IC, "../../i18n/background/en.json": VP, "../../i18n/background/es.json": nq, "../../i18n/background/fr.json": uT, "../../i18n/background/it.json": _E, "../../i18n/background/ja.json": qL, "../../i18n/background/ko.json": O1, "../../i18n/background/zh-CN.json": YI, "../../i18n/background/zh-TW.json": r8 }));
3081
- function n6(e) {
3080
+ }, he = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": IC, "../../i18n/background/en.json": VP, "../../i18n/background/es.json": tq, "../../i18n/background/fr.json": uT, "../../i18n/background/it.json": _E, "../../i18n/background/ja.json": qL, "../../i18n/background/ko.json": O1, "../../i18n/background/zh-CN.json": YI, "../../i18n/background/zh-TW.json": r8 }));
3081
+ function t6(e) {
3082
3082
  return he[z(e)];
3083
3083
  }
3084
- function t6(e, n, a, t) {
3085
- const o = E(e, a ?? Object.entries(he).find(([, r]) => r === n)?.[0], t);
3084
+ function n6(e, t, a, n) {
3085
+ const o = E(e, a ?? Object.entries(he).find(([, r]) => r === t)?.[0], n);
3086
3086
  if (o) return o.message;
3087
3087
  const i = N(e, a);
3088
3088
  if (i) return i;
3089
3089
  const s = e?.code ?? "";
3090
- return n.errors[s] ?? n.errors.failed;
3090
+ return t.errors[s] ?? t.errors.failed;
3091
3091
  }
3092
3092
  const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert diese App ganze Dateien weiterhin in den von Ihnen gewählten Ordner. Vorhandene Dateien werden nie ersetzt.", d8 = "Dieser App erlauben, hier nach Ihrer Abmeldung zu speichern, bis Sie den Zugriff widerrufen.", u8 = "Zugriff widerrufen", p8 = "Ordner auswählen", h8 = "Ein Administrator muss das Speichern im Hintergrund genehmigen, bevor Sie einen Ordner auswählen können.", g8 = "Speichern im Hintergrund aktivieren", m8 = "Das Speichern im Hintergrund ist deaktiviert. Ein Administrator kann es aktivieren; danach müssen Sie erneut ein Ziel auswählen.", f8 = "Das Ergebnis ist unbekannt. Prüfen Sie diesen ursprünglichen Auftrag und das Ziel, bevor Sie weitere Schritte unternehmen. Diese App speichert nicht automatisch erneut.", $8 = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und wählen Sie das Ziel dann erneut aus.", v8 = "Sie haben keine Schreibberechtigung für diesen Ordner. Speichern Sie erneut, sobald die Berechtigung wiederhergestellt ist; Sie müssen den Ordner nicht erneut auswählen.", b8 = "Sie haben keine Schreibberechtigung für diesen Ordner; er wurde daher nicht autorisiert. Wählen Sie einen anderen Ordner, oder wählen Sie diesen erneut, sobald die Berechtigung wiederhergestellt ist.", S8 = "Der Zielordner existiert nicht mehr. Verschieben Sie ihn zurück, um wieder dort zu speichern, oder wählen Sie ein anderes Ziel.", _8 = "Die DSM-Anwendungsberechtigungen erlauben Ihnen nicht, diese App von dieser Adresse aus zu verwenden. Bitten Sie einen Administrator, die Regel zu ändern, oder speichern Sie erneut von einer erlaubten Adresse aus.", z8 = "Die DSM-Anwendungsberechtigungen erlauben Ihnen nicht, diese App von dieser Adresse aus zu verwenden. Bitten Sie einen Administrator, die Regel zu ändern, oder wählen Sie den Ordner erneut von einer erlaubten Adresse aus.", y8 = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht.", A8 = "Eine Datei mit diesem Namen ist bereits vorhanden. Prüfen Sie das Ziel und wählen Sie für einen neuen Auftrag einen anderen Namen.", k8 = "Es ist nicht genügend Speicherplatz vorhanden. Prüfen Sie das Ziel, bevor Sie einen neuen Auftrag starten.", w8 = "Die Aktion konnte nicht bestätigt werden. Aktualisieren Sie die Ansicht, um das aktuelle Ergebnis zu prüfen, bevor Sie weitere Schritte unternehmen.", D8 = "Der zulässige Bereich wurde geändert. Wählen Sie Ihren Speicherordner erneut aus. Gespeicherte Dateien bleiben erhalten.", C8 = "Beispieldatei speichern", P8 = "Speichern Sie eine kleine Beispieldatei mit Ihren eigenen Berechtigungen am aktiven Ziel.", M8 = "Neuer Versuch", q8 = "Speicherordner", T8 = "Nicht ausgewählt", E8 = "Abbrechen", L8 = "Zum Ändern des Speicherordners ist Ihr Benutzerpasswort erforderlich. Die Zielberechtigungen aller Benutzer werden aufgehoben. Gespeicherte Dateien bleiben erhalten.", I8 = "Benutzer können Speicherorte nur innerhalb dieses Ordners wählen.", R8 = "Genehmigen", j8 = "Änderung bestätigen", x8 = "Benutzerpasswort", N8 = {
3093
3093
  title: c8,
@@ -3121,7 +3121,7 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
3121
3121
  approve: R8,
3122
3122
  confirmChange: j8,
3123
3123
  password: x8
3124
- }, U8 = "Background saves", O8 = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced.", F8 = "Allow this app to save here after you sign out, until you revoke access.", H8 = "Revoke access", B8 = "Choose folder", V8 = "An administrator must approve background saves before you can choose a folder.", W8 = "Enable background saves", J8 = "Background saves are disabled. An administrator can enable them; you must then select a destination again.", K8 = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically.", G8 = "Access was refused. Check your folder permissions, then select the destination again.", Z8 = "You do not have permission to write to this folder. After the permission is restored, save again; you do not need to choose the folder again.", Y8 = "You do not have permission to write to this folder, so it was not authorized. Choose another folder, or choose this one again after the permission is restored.", Q8 = "The destination folder no longer exists. Move it back to save there again, or choose another destination.", X8 = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or save again from an allowed address.", ej = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or choose the folder again from an allowed address.", nj = "Sign in to DSM again, then refresh.", tj = "A file with this name already exists. Check the destination and choose another name for a new job.", oj = "There is not enough space. Check the destination before starting a new job.", aj = "The action could not be confirmed. Refresh to check the current result before taking further action.", ij = "The allowed scope changed. Choose your save folder again. Saved files remain.", sj = "Save example file", rj = "Save a small example file to your active destination with your own permissions.", cj = "Retry", lj = "Save folder", dj = "Not chosen", uj = "Cancel", pj = "Changing the save folder requires your user password and clears every user’s destination. Saved files remain.", hj = "Users can choose where to save only inside this folder.", gj = "Approve", mj = "Confirm change", fj = "User password", $j = {
3124
+ }, U8 = "Background saves", O8 = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced.", F8 = "Allow this app to save here after you sign out, until you revoke access.", H8 = "Revoke access", B8 = "Choose folder", V8 = "An administrator must approve background saves before you can choose a folder.", W8 = "Enable background saves", J8 = "Background saves are disabled. An administrator can enable them; you must then select a destination again.", K8 = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically.", G8 = "Access was refused. Check your folder permissions, then select the destination again.", Z8 = "You do not have permission to write to this folder. After the permission is restored, save again; you do not need to choose the folder again.", Y8 = "You do not have permission to write to this folder, so it was not authorized. Choose another folder, or choose this one again after the permission is restored.", Q8 = "The destination folder no longer exists. Move it back to save there again, or choose another destination.", X8 = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or save again from an allowed address.", ej = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or choose the folder again from an allowed address.", tj = "Sign in to DSM again, then refresh.", nj = "A file with this name already exists. Check the destination and choose another name for a new job.", oj = "There is not enough space. Check the destination before starting a new job.", aj = "The action could not be confirmed. Refresh to check the current result before taking further action.", ij = "The allowed scope changed. Choose your save folder again. Saved files remain.", sj = "Save example file", rj = "Save a small example file to your active destination with your own permissions.", cj = "Retry", lj = "Save folder", dj = "Not chosen", uj = "Cancel", pj = "Changing the save folder requires your user password and clears every user’s destination. Saved files remain.", hj = "Users can choose where to save only inside this folder.", gj = "Approve", mj = "Confirm change", fj = "User password", $j = {
3125
3125
  title: U8,
3126
3126
  help: O8,
3127
3127
  selection: F8,
@@ -3137,8 +3137,8 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
3137
3137
  missing: Q8,
3138
3138
  appPrivilege: X8,
3139
3139
  appPrivilegeSelect: ej,
3140
- session: nj,
3141
- conflict: tj,
3140
+ session: tj,
3141
+ conflict: nj,
3142
3142
  space: oj,
3143
3143
  error: aj,
3144
3144
  reselect: ij,
@@ -3185,14 +3185,14 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
3185
3185
  approve: Wj,
3186
3186
  confirmChange: Jj,
3187
3187
  password: Kj
3188
- }, Zj = "Enregistrements en arrière-plan", Yj = "Après votre déconnexion, cette application continue d’enregistrer des fichiers entiers dans le dossier choisi. Les fichiers existants ne sont jamais remplacés.", Qj = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès.", Xj = "Révoquer l’accès", ex = "Choisir un dossier", nx = "Un administrateur doit approuver les enregistrements en arrière-plan avant que vous puissiez choisir un dossier.", tx = "Activer les enregistrements en arrière-plan", ox = "Les enregistrements en arrière-plan sont désactivés. Un administrateur peut les activer ; vous devrez ensuite choisir à nouveau une destination.", ax = "Le résultat est inconnu. Vérifiez cette tâche d’origine et la destination avant toute autre action. Cette application ne l’enregistrera pas à nouveau automatiquement.", ix = "L’accès a été refusé. Vérifiez les autorisations du dossier, puis choisissez à nouveau la destination.", sx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier. Une fois l'autorisation rétablie, enregistrez à nouveau ; inutile de choisir à nouveau le dossier.", rx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier ; il n’a donc pas été autorisé. Choisissez un autre dossier, ou choisissez à nouveau celui-ci une fois l'autorisation rétablie.", cx = "Le dossier de destination n'existe plus. Remettez-le en place pour y enregistrer à nouveau, ou choisissez une autre destination.", lx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou enregistrez à nouveau depuis une adresse autorisée.", dx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou choisissez à nouveau le dossier depuis une adresse autorisée.", ux = "Reconnectez-vous à DSM, puis actualisez.", px = "Un fichier portant ce nom existe déjà. Vérifiez la destination et choisissez un autre nom pour une nouvelle tâche.", hx = "L’espace est insuffisant. Vérifiez la destination avant de lancer une nouvelle tâche.", gx = "L’action n’a pas pu être confirmée. Actualisez pour vérifier le résultat actuel avant toute autre action.", mx = "La portée autorisée a changé. Choisissez à nouveau votre dossier d’enregistrement. Les fichiers enregistrés sont conservés.", fx = "Enregistrer un fichier d’exemple", $x = "Enregistrez un petit fichier exemple dans la destination active avec vos propres autorisations.", vx = "Réessayer", bx = "Dossier d’enregistrement", Sx = "Non choisi", _x = "Annuler", zx = "La modification du dossier nécessite votre mot de passe utilisateur et révoque les autorisations de destination de tous les utilisateurs. Les fichiers enregistrés sont conservés.", yx = "Les utilisateurs ne peuvent choisir un emplacement d’enregistrement que dans ce dossier.", Ax = "Approuver", kx = "Confirmer la modification", wx = "Mot de passe utilisateur", Dx = {
3188
+ }, Zj = "Enregistrements en arrière-plan", Yj = "Après votre déconnexion, cette application continue d’enregistrer des fichiers entiers dans le dossier choisi. Les fichiers existants ne sont jamais remplacés.", Qj = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès.", Xj = "Révoquer l’accès", ex = "Choisir un dossier", tx = "Un administrateur doit approuver les enregistrements en arrière-plan avant que vous puissiez choisir un dossier.", nx = "Activer les enregistrements en arrière-plan", ox = "Les enregistrements en arrière-plan sont désactivés. Un administrateur peut les activer ; vous devrez ensuite choisir à nouveau une destination.", ax = "Le résultat est inconnu. Vérifiez cette tâche d’origine et la destination avant toute autre action. Cette application ne l’enregistrera pas à nouveau automatiquement.", ix = "L’accès a été refusé. Vérifiez les autorisations du dossier, puis choisissez à nouveau la destination.", sx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier. Une fois l'autorisation rétablie, enregistrez à nouveau ; inutile de choisir à nouveau le dossier.", rx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier ; il n’a donc pas été autorisé. Choisissez un autre dossier, ou choisissez à nouveau celui-ci une fois l'autorisation rétablie.", cx = "Le dossier de destination n'existe plus. Remettez-le en place pour y enregistrer à nouveau, ou choisissez une autre destination.", lx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou enregistrez à nouveau depuis une adresse autorisée.", dx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou choisissez à nouveau le dossier depuis une adresse autorisée.", ux = "Reconnectez-vous à DSM, puis actualisez.", px = "Un fichier portant ce nom existe déjà. Vérifiez la destination et choisissez un autre nom pour une nouvelle tâche.", hx = "L’espace est insuffisant. Vérifiez la destination avant de lancer une nouvelle tâche.", gx = "L’action n’a pas pu être confirmée. Actualisez pour vérifier le résultat actuel avant toute autre action.", mx = "La portée autorisée a changé. Choisissez à nouveau votre dossier d’enregistrement. Les fichiers enregistrés sont conservés.", fx = "Enregistrer un fichier d’exemple", $x = "Enregistrez un petit fichier exemple dans la destination active avec vos propres autorisations.", vx = "Réessayer", bx = "Dossier d’enregistrement", Sx = "Non choisi", _x = "Annuler", zx = "La modification du dossier nécessite votre mot de passe utilisateur et révoque les autorisations de destination de tous les utilisateurs. Les fichiers enregistrés sont conservés.", yx = "Les utilisateurs ne peuvent choisir un emplacement d’enregistrement que dans ce dossier.", Ax = "Approuver", kx = "Confirmer la modification", wx = "Mot de passe utilisateur", Dx = {
3189
3189
  title: Zj,
3190
3190
  help: Yj,
3191
3191
  selection: Qj,
3192
3192
  revoke: Xj,
3193
3193
  choose: ex,
3194
- needs: nx,
3195
- enable: tx,
3194
+ needs: tx,
3195
+ enable: nx,
3196
3196
  disabled: ox,
3197
3197
  uncertainHelp: ax,
3198
3198
  denied: ix,
@@ -3217,7 +3217,7 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
3217
3217
  approve: Ax,
3218
3218
  confirmChange: kx,
3219
3219
  password: wx
3220
- }, Cx = "Salvataggi in background", Px = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti.", Mx = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso.", qx = "Revoca accesso", Tx = "Scegli cartella", Ex = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella.", Lx = "Attiva salvataggi in background", Ix = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione.", Rx = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente.", jx = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione.", xx = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella.", Nx = "Autorizzazione di scrittura mancante per questa cartella, quindi la cartella non è stata autorizzata. Scegliere un'altra cartella oppure sceglierla di nuovo dopo il ripristino dell'autorizzazione.", Ux = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione.", Ox = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure salvare di nuovo da un indirizzo consentito.", Fx = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure scegliere di nuovo la cartella da un indirizzo consentito.", Hx = "Accedere di nuovo a DSM, quindi aggiornare.", Bx = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo.", Vx = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo.", Wx = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni.", Jx = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano.", Kx = "Salva file di esempio", Gx = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni.", Zx = "Riprova", Yx = "Cartella di salvataggio", Qx = "Non scelta", Xx = "Annulla", e4 = "La modifica della cartella richiede la password utente e revoca le autorizzazioni di destinazione di tutti gli utenti. I file salvati rimangono.", n4 = "Gli utenti possono scegliere dove salvare solo all’interno di questa cartella.", t4 = "Approva", o4 = "Conferma modifica", a4 = "Password utente", i4 = {
3220
+ }, Cx = "Salvataggi in background", Px = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti.", Mx = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso.", qx = "Revoca accesso", Tx = "Scegli cartella", Ex = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella.", Lx = "Attiva salvataggi in background", Ix = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione.", Rx = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente.", jx = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione.", xx = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella.", Nx = "Autorizzazione di scrittura mancante per questa cartella, quindi la cartella non è stata autorizzata. Scegliere un'altra cartella oppure sceglierla di nuovo dopo il ripristino dell'autorizzazione.", Ux = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione.", Ox = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure salvare di nuovo da un indirizzo consentito.", Fx = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure scegliere di nuovo la cartella da un indirizzo consentito.", Hx = "Accedere di nuovo a DSM, quindi aggiornare.", Bx = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo.", Vx = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo.", Wx = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni.", Jx = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano.", Kx = "Salva file di esempio", Gx = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni.", Zx = "Riprova", Yx = "Cartella di salvataggio", Qx = "Non scelta", Xx = "Annulla", eN = "La modifica della cartella richiede la password utente e revoca le autorizzazioni di destinazione di tutti gli utenti. I file salvati rimangono.", tN = "Gli utenti possono scegliere dove salvare solo all’interno di questa cartella.", nN = "Approva", oN = "Conferma modifica", aN = "Password utente", iN = {
3221
3221
  title: Cx,
3222
3222
  help: Px,
3223
3223
  selection: Mx,
@@ -3244,150 +3244,150 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
3244
3244
  folder: Yx,
3245
3245
  folderNone: Qx,
3246
3246
  cancelChange: Xx,
3247
- changeHelp: e4,
3248
- approveHelp: n4,
3249
- approve: t4,
3250
- confirmChange: o4,
3251
- password: a4
3252
- }, s4 = "バックグラウンド保存", r4 = "サインアウト後も、このアプリは選択したフォルダにファイル全体を保存し続けます。既存のファイルは置き換えられません。", c4 = "アクセスを取り消すまで、サインアウト後もこのアプリがここに保存することを許可します。", l4 = "アクセスを取り消す", d4 = "フォルダを選択", u4 = "フォルダを選択するには、管理者がバックグラウンド保存を承認する必要があります。", p4 = "バックグラウンド保存を有効にする", h4 = "バックグラウンド保存は無効です。管理者が有効にできます。その後、保存先を選び直す必要があります。", g4 = "結果が不明です。次の操作を行う前に、この元のジョブと保存先を確認してください。このアプリが自動的に再保存することはありません。", m4 = "アクセスが拒否されました。フォルダの権限を確認してから、保存先を選び直してください。", f4 = "このフォルダへの書き込み権限がありません。権限が戻ったらもう一度保存してください。フォルダを選び直す必要はありません。", $4 = "このフォルダへの書き込み権限がないため、このフォルダは承認されませんでした。別のフォルダを選ぶか、権限が戻ってからこのフォルダを選び直してください。", v4 = "保存先フォルダが存在しません。元の場所に戻すと再び保存できます。または別の保存先を選択してください。", b4 = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからもう一度保存してください。", S4 = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからフォルダを選び直してください。", _4 = "DSM に再度サインインしてから、最新の情報に更新してください。", z4 = "同じ名前のファイルがすでに存在します。保存先を確認し、新しいジョブには別の名前を選んでください。", y4 = "空き容量が不足しています。新しいジョブを開始する前に保存先を確認してください。", A4 = "操作の結果を確認できませんでした。次の操作を行う前に、最新の情報に更新して現在の結果を確認してください。", k4 = "許可する範囲が変更されました。保存フォルダを選び直してください。保存済みのファイルは残ります。", w4 = "サンプルファイルを保存", D4 = "自分の権限で小さなサンプルファイルを現在の保存先に保存します。", C4 = "再試行", P4 = "保存フォルダ", M4 = "未選択", q4 = "キャンセル", T4 = "保存先フォルダの変更には ユーザーパスワードが必要です。すべてのユーザーの保存先の承認が解除されます。保存済みのファイルは残ります。", E4 = "ユーザーは、このフォルダ内でのみ保存先を選択できます。", L4 = "承認", I4 = "変更を確定", R4 = "ユーザーパスワード", j4 = {
3253
- title: s4,
3254
- help: r4,
3255
- selection: c4,
3256
- revoke: l4,
3257
- choose: d4,
3258
- needs: u4,
3259
- enable: p4,
3260
- disabled: h4,
3261
- uncertainHelp: g4,
3262
- denied: m4,
3263
- permission: f4,
3264
- permissionSelect: $4,
3265
- missing: v4,
3266
- appPrivilege: b4,
3267
- appPrivilegeSelect: S4,
3268
- session: _4,
3269
- conflict: z4,
3270
- space: y4,
3271
- error: A4,
3272
- reselect: k4,
3273
- example: w4,
3274
- exampleHelp: D4,
3275
- retry: C4,
3276
- folder: P4,
3277
- folderNone: M4,
3278
- cancelChange: q4,
3279
- changeHelp: T4,
3280
- approveHelp: E4,
3281
- approve: L4,
3282
- confirmChange: I4,
3283
- password: R4
3284
- }, x4 = "백그라운드 저장", N4 = "로그아웃한 후에도 이 앱은 선택한 폴더에 전체 파일을 계속 저장합니다. 기존 파일은 덮어쓰지 않습니다.", U4 = "액세스를 취소할 때까지 로그아웃한 후에도 이 앱이 여기에 저장하도록 허용합니다.", O4 = "액세스 취소", F4 = "폴더 선택", H4 = "폴더를 선택하려면 먼저 관리자가 백그라운드 저장을 승인해야 합니다.", B4 = "백그라운드 저장 활성화", V4 = "백그라운드 저장이 비활성화되었습니다. 관리자가 활성화할 수 있으며, 그 후 대상을 다시 선택해야 합니다.", W4 = "결과를 알 수 없습니다. 다른 작업을 하기 전에 이 원래 작업과 대상을 확인하십시오. 이 앱은 자동으로 다시 저장하지 않습니다.", J4 = "액세스가 거부되었습니다. 폴더 권한을 확인한 후 대상을 다시 선택하십시오.", K4 = "이 폴더에 쓸 권한이 없습니다. 권한이 복원되면 다시 저장하십시오. 폴더를 다시 선택할 필요는 없습니다.", G4 = "이 폴더에 쓸 권한이 없으므로 이 폴더가 승인되지 않았습니다. 다른 폴더를 선택하거나 권한이 복원된 후 이 폴더를 다시 선택하십시오.", Z4 = "대상 폴더가 더 이상 없습니다. 원래 위치로 되돌리면 다시 저장할 수 있으며, 다른 대상을 선택할 수도 있습니다.", Y4 = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 다시 저장하십시오.", Q4 = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 폴더를 다시 선택하십시오.", X4 = "DSM에 다시 로그인한 후 새로 고치십시오.", eN = "같은 이름의 파일이 이미 있습니다. 대상을 확인하고 새 작업에는 다른 이름을 선택하십시오.", nN = "공간이 부족합니다. 새 작업을 시작하기 전에 대상을 확인하십시오.", tN = "작업 결과를 확인할 수 없습니다. 다른 작업을 하기 전에 새로 고쳐 현재 결과를 확인하십시오.", oN = "허용 범위가 변경되었습니다. 저장 폴더를 다시 선택하십시오. 저장된 파일은 유지됩니다.", aN = "예제 파일 저장", iN = "자신의 권한으로 작은 예제 파일을 현재 대상에 저장합니다.", sN = "재시도", rN = "저장 폴더", cN = "선택 안 함", lN = "취소", dN = "저장 폴더를 변경하려면 사용자 비밀번호가 필요하며 모든 사용자의 대상 권한이 해제됩니다. 이미 저장된 파일은 유지됩니다.", uN = "사용자는 이 폴더 안에서만 저장 위치를 선택할 수 있습니다.", pN = "승인", hN = "변경 확인", gN = "사용자 비밀번호", mN = {
3285
- title: x4,
3286
- help: N4,
3287
- selection: U4,
3288
- revoke: O4,
3289
- choose: F4,
3290
- needs: H4,
3291
- enable: B4,
3292
- disabled: V4,
3293
- uncertainHelp: W4,
3294
- denied: J4,
3295
- permission: K4,
3296
- permissionSelect: G4,
3297
- missing: Z4,
3298
- appPrivilege: Y4,
3299
- appPrivilegeSelect: Q4,
3300
- session: X4,
3301
- conflict: eN,
3302
- space: nN,
3303
- error: tN,
3304
- reselect: oN,
3305
- example: aN,
3306
- exampleHelp: iN,
3307
- retry: sN,
3308
- folder: rN,
3309
- folderNone: cN,
3310
- cancelChange: lN,
3311
- changeHelp: dN,
3312
- approveHelp: uN,
3313
- approve: pN,
3314
- confirmChange: hN,
3315
- password: gN
3316
- }, fN = "后台保存", $N = "注销后,App 仍会将完整文件保存到你选择的文件夹;现有文件不会被替换。", vN = "允许此 App 在你注销后继续保存到这里,直到你撤销访问权限。", bN = "撤销访问权限", SN = "选择文件夹", _N = "管理员批准后台保存后,你才能选择存放文件夹。", zN = "启用后台保存", yN = "后台保存已停用。管理员可以重新启用,之后你必须重新选择目标。", AN = "结果未知。请先检查这项原始任务和目标位置,再采取进一步操作。此 App 不会自动再次保存。", kN = "访问被拒绝。请检查文件夹权限,然后重新选择目标。", wN = "你没有写入此文件夹的权限。权限恢复后再保存一次即可,无需重新选择文件夹。", DN = "你没有写入此文件夹的权限,因此此文件夹未完成授权。请选择其他文件夹,或在权限恢复后重新选择此文件夹。", CN = "目标文件夹已不存在。将它移回原处即可再次保存,或选择其他目标位置。", PN = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址再保存一次。", MN = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址重新选择文件夹。", qN = "请重新登录 DSM,然后刷新。", TN = "已有同名文件。请检查目标位置,并为新任务选择其他名称。", EN = "空间不足。请先检查目标位置,再开始新任务。", LN = "无法确认操作结果。请刷新以检查当前结果,再采取进一步操作。", IN = "允许的范围已更改,请重新选择存放文件夹。已保存的文件会保留。", RN = "保存示例文件", jN = "以自己的权限将小型示例文件保存到当前目的地。", xN = "重试", NN = "存放文件夹", UN = "尚未选择", ON = "取消", FN = "更改存放文件夹需要输入用户密码,并会清除所有用户的目的地授权。已保存的文件会保留。", HN = "用户只能在此文件夹内选择保存位置。", BN = "批准", VN = "确认更改", WN = "用户密码", JN = {
3317
- title: fN,
3318
- help: $N,
3319
- selection: vN,
3320
- revoke: bN,
3321
- choose: SN,
3322
- needs: _N,
3323
- enable: zN,
3324
- disabled: yN,
3325
- uncertainHelp: AN,
3326
- denied: kN,
3327
- permission: wN,
3328
- permissionSelect: DN,
3329
- missing: CN,
3330
- appPrivilege: PN,
3331
- appPrivilegeSelect: MN,
3332
- session: qN,
3333
- conflict: TN,
3334
- space: EN,
3335
- error: LN,
3336
- reselect: IN,
3337
- example: RN,
3338
- exampleHelp: jN,
3339
- retry: xN,
3340
- folder: NN,
3341
- folderNone: UN,
3342
- cancelChange: ON,
3343
- changeHelp: FN,
3344
- approveHelp: HN,
3345
- approve: BN,
3346
- confirmChange: VN,
3347
- password: WN
3348
- }, KN = "背景存檔", GN = "登出後,App 仍會把完整檔案存進你選的資料夾;既有檔案不會被取代。", ZN = "允許此 App 在你登出後繼續儲存到這裡,直到你撤銷授權。", YN = "撤銷授權", QN = "選擇資料夾", XN = "管理員核准背景存檔後,你才能選擇存放資料夾。", e0 = "啟用背景存檔", n0 = "背景存檔已停用。管理員可重新啟用,之後你須重新選取目的地。", t0 = "結果不明。請先檢查原工作與目的地,再決定後續操作。App 不會自動重新儲存。", o0 = "存取遭拒。請檢查資料夾權限,再重新選取目的地。", a0 = "你沒有寫入此資料夾的權限。權限恢復後再儲存一次即可,不需要重新選擇資料夾。", i0 = "你沒有寫入此資料夾的權限,因此這個資料夾沒有完成授權。請選擇其他資料夾,或在權限恢復後重新選擇這個資料夾。", s0 = "目的地資料夾已不存在。將它移回原處即可再次儲存,或選擇其他目的地。", r0 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址再儲存一次。", c0 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址重新選擇資料夾。", l0 = "請重新登入 DSM,再重新整理。", d0 = "已存在同名檔案。請檢查目的地,並為新工作選擇另一個名稱。", u0 = "空間不足。請檢查目的地,再開始新工作。", p0 = "無法確認操作結果。請重新整理查詢目前結果,再決定後續操作。", h0 = "允許的範圍已變更,請重新選擇存放資料夾。已存的檔案會保留。", g0 = "儲存範例檔案", m0 = "以自己的權限將小型範例檔案存到目前的目的地。", f0 = "重試", $0 = "存放資料夾", v0 = "尚未選擇", b0 = "取消", S0 = "變更存放資料夾需輸入使用者密碼,並會清除所有使用者的目的地授權。已存檔的檔案會保留。", _0 = "使用者只能在這個資料夾內選擇存放位置。", z0 = "核准", y0 = "確認變更", A0 = "使用者密碼", k0 = {
3349
- title: KN,
3350
- help: GN,
3351
- selection: ZN,
3352
- revoke: YN,
3353
- choose: QN,
3354
- needs: XN,
3355
- enable: e0,
3356
- disabled: n0,
3357
- uncertainHelp: t0,
3358
- denied: o0,
3359
- permission: a0,
3360
- permissionSelect: i0,
3361
- missing: s0,
3362
- appPrivilege: r0,
3363
- appPrivilegeSelect: c0,
3364
- session: l0,
3365
- conflict: d0,
3366
- space: u0,
3367
- error: p0,
3368
- reselect: h0,
3369
- example: g0,
3370
- exampleHelp: m0,
3371
- retry: f0,
3372
- folder: $0,
3373
- folderNone: v0,
3374
- cancelChange: b0,
3375
- changeHelp: S0,
3376
- approveHelp: _0,
3377
- approve: z0,
3378
- confirmChange: y0,
3379
- password: A0
3380
- }, ge = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": N8, "../../i18n/save/en.json": $j, "../../i18n/save/es.json": Gj, "../../i18n/save/fr.json": Dx, "../../i18n/save/it.json": i4, "../../i18n/save/ja.json": j4, "../../i18n/save/ko.json": mN, "../../i18n/save/zh-CN.json": JN, "../../i18n/save/zh-TW.json": k0 }));
3381
- function w0(e = "en") {
3247
+ changeHelp: eN,
3248
+ approveHelp: tN,
3249
+ approve: nN,
3250
+ confirmChange: oN,
3251
+ password: aN
3252
+ }, sN = "バックグラウンド保存", rN = "サインアウト後も、このアプリは選択したフォルダにファイル全体を保存し続けます。既存のファイルは置き換えられません。", cN = "アクセスを取り消すまで、サインアウト後もこのアプリがここに保存することを許可します。", lN = "アクセスを取り消す", dN = "フォルダを選択", uN = "フォルダを選択するには、管理者がバックグラウンド保存を承認する必要があります。", pN = "バックグラウンド保存を有効にする", hN = "バックグラウンド保存は無効です。管理者が有効にできます。その後、保存先を選び直す必要があります。", gN = "結果が不明です。次の操作を行う前に、この元のジョブと保存先を確認してください。このアプリが自動的に再保存することはありません。", mN = "アクセスが拒否されました。フォルダの権限を確認してから、保存先を選び直してください。", fN = "このフォルダへの書き込み権限がありません。権限が戻ったらもう一度保存してください。フォルダを選び直す必要はありません。", $N = "このフォルダへの書き込み権限がないため、このフォルダは承認されませんでした。別のフォルダを選ぶか、権限が戻ってからこのフォルダを選び直してください。", vN = "保存先フォルダが存在しません。元の場所に戻すと再び保存できます。または別の保存先を選択してください。", bN = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからもう一度保存してください。", SN = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからフォルダを選び直してください。", _N = "DSM に再度サインインしてから、最新の情報に更新してください。", zN = "同じ名前のファイルがすでに存在します。保存先を確認し、新しいジョブには別の名前を選んでください。", yN = "空き容量が不足しています。新しいジョブを開始する前に保存先を確認してください。", AN = "操作の結果を確認できませんでした。次の操作を行う前に、最新の情報に更新して現在の結果を確認してください。", kN = "許可する範囲が変更されました。保存フォルダを選び直してください。保存済みのファイルは残ります。", wN = "サンプルファイルを保存", DN = "自分の権限で小さなサンプルファイルを現在の保存先に保存します。", CN = "再試行", PN = "保存フォルダ", MN = "未選択", qN = "キャンセル", TN = "保存先フォルダの変更には ユーザーパスワードが必要です。すべてのユーザーの保存先の承認が解除されます。保存済みのファイルは残ります。", EN = "ユーザーは、このフォルダ内でのみ保存先を選択できます。", LN = "承認", IN = "変更を確定", RN = "ユーザーパスワード", jN = {
3253
+ title: sN,
3254
+ help: rN,
3255
+ selection: cN,
3256
+ revoke: lN,
3257
+ choose: dN,
3258
+ needs: uN,
3259
+ enable: pN,
3260
+ disabled: hN,
3261
+ uncertainHelp: gN,
3262
+ denied: mN,
3263
+ permission: fN,
3264
+ permissionSelect: $N,
3265
+ missing: vN,
3266
+ appPrivilege: bN,
3267
+ appPrivilegeSelect: SN,
3268
+ session: _N,
3269
+ conflict: zN,
3270
+ space: yN,
3271
+ error: AN,
3272
+ reselect: kN,
3273
+ example: wN,
3274
+ exampleHelp: DN,
3275
+ retry: CN,
3276
+ folder: PN,
3277
+ folderNone: MN,
3278
+ cancelChange: qN,
3279
+ changeHelp: TN,
3280
+ approveHelp: EN,
3281
+ approve: LN,
3282
+ confirmChange: IN,
3283
+ password: RN
3284
+ }, xN = "백그라운드 저장", NN = "로그아웃한 후에도 이 앱은 선택한 폴더에 전체 파일을 계속 저장합니다. 기존 파일은 덮어쓰지 않습니다.", UN = "액세스를 취소할 때까지 로그아웃한 후에도 이 앱이 여기에 저장하도록 허용합니다.", ON = "액세스 취소", FN = "폴더 선택", HN = "폴더를 선택하려면 먼저 관리자가 백그라운드 저장을 승인해야 합니다.", BN = "백그라운드 저장 활성화", VN = "백그라운드 저장이 비활성화되었습니다. 관리자가 활성화할 수 있으며, 그 후 대상을 다시 선택해야 합니다.", WN = "결과를 알 수 없습니다. 다른 작업을 하기 전에 이 원래 작업과 대상을 확인하십시오. 이 앱은 자동으로 다시 저장하지 않습니다.", JN = "액세스가 거부되었습니다. 폴더 권한을 확인한 후 대상을 다시 선택하십시오.", KN = "이 폴더에 쓸 권한이 없습니다. 권한이 복원되면 다시 저장하십시오. 폴더를 다시 선택할 필요는 없습니다.", GN = "이 폴더에 쓸 권한이 없으므로 이 폴더가 승인되지 않았습니다. 다른 폴더를 선택하거나 권한이 복원된 후 이 폴더를 다시 선택하십시오.", ZN = "대상 폴더가 더 이상 없습니다. 원래 위치로 되돌리면 다시 저장할 수 있으며, 다른 대상을 선택할 수도 있습니다.", YN = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 다시 저장하십시오.", QN = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 폴더를 다시 선택하십시오.", XN = "DSM에 다시 로그인한 후 새로 고치십시오.", e0 = "같은 이름의 파일이 이미 있습니다. 대상을 확인하고 새 작업에는 다른 이름을 선택하십시오.", t0 = "공간이 부족합니다. 새 작업을 시작하기 전에 대상을 확인하십시오.", n0 = "작업 결과를 확인할 수 없습니다. 다른 작업을 하기 전에 새로 고쳐 현재 결과를 확인하십시오.", o0 = "허용 범위가 변경되었습니다. 저장 폴더를 다시 선택하십시오. 저장된 파일은 유지됩니다.", a0 = "예제 파일 저장", i0 = "자신의 권한으로 작은 예제 파일을 현재 대상에 저장합니다.", s0 = "재시도", r0 = "저장 폴더", c0 = "선택 안 함", l0 = "취소", d0 = "저장 폴더를 변경하려면 사용자 비밀번호가 필요하며 모든 사용자의 대상 권한이 해제됩니다. 이미 저장된 파일은 유지됩니다.", u0 = "사용자는 이 폴더 안에서만 저장 위치를 선택할 수 있습니다.", p0 = "승인", h0 = "변경 확인", g0 = "사용자 비밀번호", m0 = {
3285
+ title: xN,
3286
+ help: NN,
3287
+ selection: UN,
3288
+ revoke: ON,
3289
+ choose: FN,
3290
+ needs: HN,
3291
+ enable: BN,
3292
+ disabled: VN,
3293
+ uncertainHelp: WN,
3294
+ denied: JN,
3295
+ permission: KN,
3296
+ permissionSelect: GN,
3297
+ missing: ZN,
3298
+ appPrivilege: YN,
3299
+ appPrivilegeSelect: QN,
3300
+ session: XN,
3301
+ conflict: e0,
3302
+ space: t0,
3303
+ error: n0,
3304
+ reselect: o0,
3305
+ example: a0,
3306
+ exampleHelp: i0,
3307
+ retry: s0,
3308
+ folder: r0,
3309
+ folderNone: c0,
3310
+ cancelChange: l0,
3311
+ changeHelp: d0,
3312
+ approveHelp: u0,
3313
+ approve: p0,
3314
+ confirmChange: h0,
3315
+ password: g0
3316
+ }, f0 = "后台保存", $0 = "注销后,App 仍会将完整文件保存到你选择的文件夹;现有文件不会被替换。", v0 = "允许此 App 在你注销后继续保存到这里,直到你撤销访问权限。", b0 = "撤销访问权限", S0 = "选择文件夹", _0 = "管理员批准后台保存后,你才能选择存放文件夹。", z0 = "启用后台保存", y0 = "后台保存已停用。管理员可以重新启用,之后你必须重新选择目标。", A0 = "结果未知。请先检查这项原始任务和目标位置,再采取进一步操作。此 App 不会自动再次保存。", k0 = "访问被拒绝。请检查文件夹权限,然后重新选择目标。", w0 = "你没有写入此文件夹的权限。权限恢复后再保存一次即可,无需重新选择文件夹。", D0 = "你没有写入此文件夹的权限,因此此文件夹未完成授权。请选择其他文件夹,或在权限恢复后重新选择此文件夹。", C0 = "目标文件夹已不存在。将它移回原处即可再次保存,或选择其他目标位置。", P0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址再保存一次。", M0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址重新选择文件夹。", q0 = "请重新登录 DSM,然后刷新。", T0 = "已有同名文件。请检查目标位置,并为新任务选择其他名称。", E0 = "空间不足。请先检查目标位置,再开始新任务。", L0 = "无法确认操作结果。请刷新以检查当前结果,再采取进一步操作。", I0 = "允许的范围已更改,请重新选择存放文件夹。已保存的文件会保留。", R0 = "保存示例文件", j0 = "以自己的权限将小型示例文件保存到当前目的地。", x0 = "重试", N0 = "存放文件夹", U0 = "尚未选择", O0 = "取消", F0 = "更改存放文件夹需要输入用户密码,并会清除所有用户的目的地授权。已保存的文件会保留。", H0 = "用户只能在此文件夹内选择保存位置。", B0 = "批准", V0 = "确认更改", W0 = "用户密码", J0 = {
3317
+ title: f0,
3318
+ help: $0,
3319
+ selection: v0,
3320
+ revoke: b0,
3321
+ choose: S0,
3322
+ needs: _0,
3323
+ enable: z0,
3324
+ disabled: y0,
3325
+ uncertainHelp: A0,
3326
+ denied: k0,
3327
+ permission: w0,
3328
+ permissionSelect: D0,
3329
+ missing: C0,
3330
+ appPrivilege: P0,
3331
+ appPrivilegeSelect: M0,
3332
+ session: q0,
3333
+ conflict: T0,
3334
+ space: E0,
3335
+ error: L0,
3336
+ reselect: I0,
3337
+ example: R0,
3338
+ exampleHelp: j0,
3339
+ retry: x0,
3340
+ folder: N0,
3341
+ folderNone: U0,
3342
+ cancelChange: O0,
3343
+ changeHelp: F0,
3344
+ approveHelp: H0,
3345
+ approve: B0,
3346
+ confirmChange: V0,
3347
+ password: W0
3348
+ }, K0 = "背景存檔", G0 = "登出後,App 仍會把完整檔案存進你選的資料夾;既有檔案不會被取代。", Z0 = "允許此 App 在你登出後繼續儲存到這裡,直到你撤銷授權。", Y0 = "撤銷授權", Q0 = "選擇資料夾", X0 = "管理員核准背景存檔後,你才能選擇存放資料夾。", e4 = "啟用背景存檔", t4 = "背景存檔已停用。管理員可重新啟用,之後你須重新選取目的地。", n4 = "結果不明。請先檢查原工作與目的地,再決定後續操作。App 不會自動重新儲存。", o4 = "存取遭拒。請檢查資料夾權限,再重新選取目的地。", a4 = "你沒有寫入此資料夾的權限。權限恢復後再儲存一次即可,不需要重新選擇資料夾。", i4 = "你沒有寫入此資料夾的權限,因此這個資料夾沒有完成授權。請選擇其他資料夾,或在權限恢復後重新選擇這個資料夾。", s4 = "目的地資料夾已不存在。將它移回原處即可再次儲存,或選擇其他目的地。", r4 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址再儲存一次。", c4 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址重新選擇資料夾。", l4 = "請重新登入 DSM,再重新整理。", d4 = "已存在同名檔案。請檢查目的地,並為新工作選擇另一個名稱。", u4 = "空間不足。請檢查目的地,再開始新工作。", p4 = "無法確認操作結果。請重新整理查詢目前結果,再決定後續操作。", h4 = "允許的範圍已變更,請重新選擇存放資料夾。已存的檔案會保留。", g4 = "儲存範例檔案", m4 = "以自己的權限將小型範例檔案存到目前的目的地。", f4 = "重試", $4 = "存放資料夾", v4 = "尚未選擇", b4 = "取消", S4 = "變更存放資料夾需輸入使用者密碼,並會清除所有使用者的目的地授權。已存檔的檔案會保留。", _4 = "使用者只能在這個資料夾內選擇存放位置。", z4 = "核准", y4 = "確認變更", A4 = "使用者密碼", k4 = {
3349
+ title: K0,
3350
+ help: G0,
3351
+ selection: Z0,
3352
+ revoke: Y0,
3353
+ choose: Q0,
3354
+ needs: X0,
3355
+ enable: e4,
3356
+ disabled: t4,
3357
+ uncertainHelp: n4,
3358
+ denied: o4,
3359
+ permission: a4,
3360
+ permissionSelect: i4,
3361
+ missing: s4,
3362
+ appPrivilege: r4,
3363
+ appPrivilegeSelect: c4,
3364
+ session: l4,
3365
+ conflict: d4,
3366
+ space: u4,
3367
+ error: p4,
3368
+ reselect: h4,
3369
+ example: g4,
3370
+ exampleHelp: m4,
3371
+ retry: f4,
3372
+ folder: $4,
3373
+ folderNone: v4,
3374
+ cancelChange: b4,
3375
+ changeHelp: S4,
3376
+ approveHelp: _4,
3377
+ approve: z4,
3378
+ confirmChange: y4,
3379
+ password: A4
3380
+ }, ge = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": N8, "../../i18n/save/en.json": $j, "../../i18n/save/es.json": Gj, "../../i18n/save/fr.json": Dx, "../../i18n/save/it.json": iN, "../../i18n/save/ja.json": jN, "../../i18n/save/ko.json": m0, "../../i18n/save/zh-CN.json": J0, "../../i18n/save/zh-TW.json": k4 }));
3381
+ function w4(e = "en") {
3382
3382
  return ge[z(e)];
3383
3383
  }
3384
- function o6(e, n = w0(), a = "save", t, o) {
3385
- const i = E(e, t ?? Object.entries(ge).find(([, c]) => c === n)?.[0], o);
3384
+ function o6(e, t = w4(), a = "save", n, o) {
3385
+ const i = E(e, n ?? Object.entries(ge).find(([, l]) => l === t)?.[0], o);
3386
3386
  if (i) return i.message;
3387
- const s = a === "select", r = e?.code, l = N(e, t);
3388
- return l || (r === "disabled" ? n.disabled : ["EXECUTOR_UNAVAILABLE", "needs-admin-approval", "needs-scope-confirmation"].includes(r ?? "") ? n.needs : ["session_required", "dsm_session_required", "AUTH_DENIED"].includes(r ?? "") ? n.session : ["DENIED", "DELEGATION_DENIED", "IDENTITY_CHANGED", "SCOPE_DENIED", "INELIGIBLE", "DESTINATION_CHANGED", "denied", "grant-revoked", "identity-changed", "permission-changed"].includes(r ?? "") ? n.denied : r === "PERMISSION_DENIED" ? s ? n.permissionSelect : n.permission : r === "not-found" ? n.missing : r === "APP_DENIED" ? s ? n.appPrivilegeSelect : n.appPrivilege : ["CONFLICT", "conflict", "file-exists", "destination-exists"].includes(r ?? "") ? n.conflict : ["NO_SPACE", "ENOSPC", "no-space"].includes(r ?? "") ? n.space : ["uncertain", "commit-uncertain"].includes(r ?? "") ? n.uncertainHelp : n.error);
3387
+ const s = a === "select", r = e?.code, c = N(e, n);
3388
+ return c || (r === "disabled" ? t.disabled : ["EXECUTOR_UNAVAILABLE", "needs-admin-approval", "needs-scope-confirmation"].includes(r ?? "") ? t.needs : ["session_required", "dsm_session_required", "AUTH_DENIED"].includes(r ?? "") ? t.session : ["DENIED", "DELEGATION_DENIED", "IDENTITY_CHANGED", "SCOPE_DENIED", "INELIGIBLE", "DESTINATION_CHANGED", "denied", "grant-revoked", "identity-changed", "permission-changed"].includes(r ?? "") ? t.denied : r === "PERMISSION_DENIED" ? s ? t.permissionSelect : t.permission : r === "not-found" ? t.missing : r === "APP_DENIED" ? s ? t.appPrivilegeSelect : t.appPrivilege : ["CONFLICT", "conflict", "file-exists", "destination-exists"].includes(r ?? "") ? t.conflict : ["NO_SPACE", "ENOSPC", "no-space"].includes(r ?? "") ? t.space : ["uncertain", "commit-uncertain"].includes(r ?? "") ? t.uncertainHelp : t.error);
3389
3389
  }
3390
- const D0 = {
3390
+ const D4 = {
3391
3391
  "portal.title": "Anwendungsportal",
3392
3392
  "portal.link": "Direkter Link nach der DSM-Anmeldung:",
3393
3393
  "portal.inactive": "Nicht aktiv. Wenden Sie einen Alias an, damit Benutzer diese App nach der DSM-Anmeldung direkt öffnen können.",
@@ -3412,7 +3412,7 @@ const D0 = {
3412
3412
  "portal.removalUnconfirmed": "Diese Seite funktioniert möglicherweise nicht mehr. Öffnen Sie diese App über den DSM-Desktop und prüfen Sie Einstellungen > Anwendungsportal.",
3413
3413
  "portal.openDesktop": "DSM-Desktop öffnen",
3414
3414
  "portal.cancel": "Abbrechen"
3415
- }, C0 = {
3415
+ }, C4 = {
3416
3416
  "portal.title": "Application Portal",
3417
3417
  "portal.link": "Direct link after DSM sign-in:",
3418
3418
  "portal.inactive": "Not active. Apply an alias to let users open this app directly after DSM sign-in.",
@@ -3437,7 +3437,7 @@ const D0 = {
3437
3437
  "portal.removalUnconfirmed": "This page may no longer work. Open this app from the DSM desktop and check Settings > Application Portal.",
3438
3438
  "portal.openDesktop": "Open DSM desktop",
3439
3439
  "portal.cancel": "Cancel"
3440
- }, P0 = {
3440
+ }, P4 = {
3441
3441
  "portal.title": "Portal de aplicaciones",
3442
3442
  "portal.link": "Enlace directo tras iniciar sesión en DSM:",
3443
3443
  "portal.inactive": "Inactivo. Aplique un alias para abrir esta aplicación directamente tras iniciar sesión en DSM.",
@@ -3462,7 +3462,7 @@ const D0 = {
3462
3462
  "portal.removalUnconfirmed": "Es posible que esta página ya no funcione. Abra esta aplicación desde el escritorio de DSM y revise Configuración > Portal de aplicaciones.",
3463
3463
  "portal.openDesktop": "Abrir escritorio de DSM",
3464
3464
  "portal.cancel": "Cancelar"
3465
- }, M0 = {
3465
+ }, M4 = {
3466
3466
  "portal.title": "Portail d'application",
3467
3467
  "portal.link": "Lien direct après connexion à DSM :",
3468
3468
  "portal.inactive": "Inactif. Appliquez un alias pour ouvrir cette application directement après connexion à DSM.",
@@ -3487,7 +3487,7 @@ const D0 = {
3487
3487
  "portal.removalUnconfirmed": "Cette page peut ne plus fonctionner. Ouvrez cette application depuis le bureau DSM et vérifiez Paramètres > Portail des applications.",
3488
3488
  "portal.openDesktop": "Ouvrir le bureau DSM",
3489
3489
  "portal.cancel": "Annuler"
3490
- }, q0 = {
3490
+ }, q4 = {
3491
3491
  "portal.title": "Portale applicazioni",
3492
3492
  "portal.link": "Link diretto dopo l'accesso a DSM:",
3493
3493
  "portal.inactive": "Non attivo. Applica un alias per aprire questa app direttamente dopo l'accesso a DSM.",
@@ -3512,7 +3512,7 @@ const D0 = {
3512
3512
  "portal.removalUnconfirmed": "Questa pagina potrebbe non funzionare più. Aprire questa app dal desktop DSM e controllare Impostazioni > Portale applicazioni.",
3513
3513
  "portal.openDesktop": "Apri desktop DSM",
3514
3514
  "portal.cancel": "Annulla"
3515
- }, T0 = {
3515
+ }, T4 = {
3516
3516
  "portal.title": "アプリケーションポータル",
3517
3517
  "portal.link": "DSM サインイン後の直接リンク:",
3518
3518
  "portal.inactive": "無効です。エイリアスを適用すると、DSM サインイン後にこのアプリを直接開けます。",
@@ -3537,7 +3537,7 @@ const D0 = {
3537
3537
  "portal.removalUnconfirmed": "このページは使用できなくなった可能性があります。DSM デスクトップからこのアプリを開き、「設定 > アプリケーション ポータル」を確認してください。",
3538
3538
  "portal.openDesktop": "DSM デスクトップを開く",
3539
3539
  "portal.cancel": "キャンセル"
3540
- }, E0 = {
3540
+ }, E4 = {
3541
3541
  "portal.title": "응용 프로그램 포털",
3542
3542
  "portal.link": "DSM 로그인 후 바로 가기 링크:",
3543
3543
  "portal.inactive": "비활성 상태입니다. 별칭을 적용하면 DSM 로그인 후 이 앱을 바로 열 수 있습니다.",
@@ -3562,7 +3562,7 @@ const D0 = {
3562
3562
  "portal.removalUnconfirmed": "이 페이지를 더 이상 사용할 수 없을 수 있습니다. DSM 바탕화면에서 이 앱을 열고 설정 > 응용 프로그램 포털을 확인하십시오.",
3563
3563
  "portal.openDesktop": "DSM 바탕화면 열기",
3564
3564
  "portal.cancel": "취소"
3565
- }, L0 = {
3565
+ }, L4 = {
3566
3566
  "portal.title": "应用程序门户",
3567
3567
  "portal.link": "DSM 登录后的直接链接:",
3568
3568
  "portal.inactive": "尚未启用。应用别名后,用户可在 DSM 登录后直接打开此应用。",
@@ -3587,7 +3587,7 @@ const D0 = {
3587
3587
  "portal.removalUnconfirmed": "此页面可能已无法使用。请从 DSM 桌面打开此 App,再查看“设置 > 应用程序入口”。",
3588
3588
  "portal.openDesktop": "打开 DSM 桌面",
3589
3589
  "portal.cancel": "取消"
3590
- }, I0 = {
3590
+ }, I4 = {
3591
3591
  "portal.title": "應用程式入口",
3592
3592
  "portal.link": "DSM 登入後的直接連結:",
3593
3593
  "portal.inactive": "尚未啟用。套用別名後,使用者可在 DSM 登入後直接開啟這個 App。",
@@ -3612,30 +3612,30 @@ const D0 = {
3612
3612
  "portal.removalUnconfirmed": "這一頁可能已無法使用。請從 DSM 桌面開啟此 App,再查看「設定 > 應用程式入口」。",
3613
3613
  "portal.openDesktop": "開啟 DSM 桌面",
3614
3614
  "portal.cancel": "取消"
3615
- }, R0 = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/portal/de.json": D0, "../../i18n/portal/en.json": C0, "../../i18n/portal/es.json": P0, "../../i18n/portal/fr.json": M0, "../../i18n/portal/it.json": q0, "../../i18n/portal/ja.json": T0, "../../i18n/portal/ko.json": E0, "../../i18n/portal/zh-CN.json": L0, "../../i18n/portal/zh-TW.json": I0 }));
3616
- function j0(e) {
3617
- return Object.fromEntries(Object.entries(R0[z(e)]).map(([n, a]) => [n.slice(7), a]));
3615
+ }, R4 = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/portal/de.json": D4, "../../i18n/portal/en.json": C4, "../../i18n/portal/es.json": P4, "../../i18n/portal/fr.json": M4, "../../i18n/portal/it.json": q4, "../../i18n/portal/ja.json": T4, "../../i18n/portal/ko.json": E4, "../../i18n/portal/zh-CN.json": L4, "../../i18n/portal/zh-TW.json": I4 }));
3616
+ function j4(e) {
3617
+ return Object.fromEntries(Object.entries(R4[z(e)]).map(([t, a]) => [t.slice(7), a]));
3618
3618
  }
3619
- const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneut.", N0 = "Die Anfrage hat zu lange gedauert und wurde abgebrochen. Versuchen Sie es erneut oder mit einer kleineren Aufgabe.", U0 = "Die Datei ist größer als zulässig.", O0 = "Die Datei kann nicht gelesen werden. Bitte versuchen Sie es später erneut.", F0 = "Dieses Benutzerkonto kann nicht ermittelt werden. Bitte versuchen Sie es später erneut.", H0 = "Die App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", B0 = "Die App wird gestartet. Versuchen Sie es gleich erneut.", V0 = "DSM hat dieser Seite kein Anmeldetoken gegeben. Melden Sie sich mit Ihrem Kennwort erneut bei DSM an und öffnen Sie die App dann über den DSM-Desktop.", W0 = {
3620
- app_unavailable: x0,
3621
- request_timeout: N0,
3622
- limit_exceeded: U0,
3623
- read_failed: O0,
3624
- identity_unavailable: F0,
3625
- APP_STOPPED: H0,
3626
- APP_STARTING: B0,
3627
- credential_not_ready: V0
3628
- }, J0 = "The App is not available right now. Try again later.", K0 = "The request took too long and was stopped. Try again, or try a smaller task.", G0 = "The file is larger than allowed.", Z0 = "Unable to read the file. Please try again later.", Y0 = "Unable to identify this user account. Please try again later.", Q0 = "The App is stopped. Start it in Package Center, then try again.", X0 = "The App is starting. Try again in a moment.", eU = "DSM did not give this page its sign-in token. Sign in to DSM again with your password, then open the App from the DSM desktop.", nU = {
3629
- app_unavailable: J0,
3630
- request_timeout: K0,
3631
- limit_exceeded: G0,
3632
- read_failed: Z0,
3633
- identity_unavailable: Y0,
3634
- APP_STOPPED: Q0,
3635
- APP_STARTING: X0,
3619
+ const x4 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneut.", N4 = "Die Anfrage hat zu lange gedauert und wurde abgebrochen. Versuchen Sie es erneut oder mit einer kleineren Aufgabe.", U4 = "Die Datei ist größer als zulässig.", O4 = "Die Datei kann nicht gelesen werden. Bitte versuchen Sie es später erneut.", F4 = "Dieses Benutzerkonto kann nicht ermittelt werden. Bitte versuchen Sie es später erneut.", H4 = "Die App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", B4 = "Die App wird gestartet. Versuchen Sie es gleich erneut.", V4 = "DSM hat dieser Seite kein Anmeldetoken gegeben. Melden Sie sich mit Ihrem Kennwort erneut bei DSM an und öffnen Sie die App dann über den DSM-Desktop.", W4 = {
3620
+ app_unavailable: x4,
3621
+ request_timeout: N4,
3622
+ limit_exceeded: U4,
3623
+ read_failed: O4,
3624
+ identity_unavailable: F4,
3625
+ APP_STOPPED: H4,
3626
+ APP_STARTING: B4,
3627
+ credential_not_ready: V4
3628
+ }, J4 = "The App is not available right now. Try again later.", K4 = "The request took too long and was stopped. Try again, or try a smaller task.", G4 = "The file is larger than allowed.", Z4 = "Unable to read the file. Please try again later.", Y4 = "Unable to identify this user account. Please try again later.", Q4 = "The App is stopped. Start it in Package Center, then try again.", X4 = "The App is starting. Try again in a moment.", eU = "DSM did not give this page its sign-in token. Sign in to DSM again with your password, then open the App from the DSM desktop.", tU = {
3629
+ app_unavailable: J4,
3630
+ request_timeout: K4,
3631
+ limit_exceeded: G4,
3632
+ read_failed: Z4,
3633
+ identity_unavailable: Y4,
3634
+ APP_STOPPED: Q4,
3635
+ APP_STARTING: X4,
3636
3636
  credential_not_ready: eU
3637
- }, tU = "La App no está disponible en este momento. Vuelva a intentarlo más tarde.", oU = "La solicitud tardó demasiado y se detuvo. Vuelva a intentarlo o pruebe con una tarea más pequeña.", aU = "El archivo supera el tamaño permitido.", iU = "No se puede leer el archivo. Vuelva a intentarlo más tarde.", sU = "No se puede identificar esta cuenta de usuario. Vuelva a intentarlo más tarde.", rU = "La App está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", cU = "La App se está iniciando. Vuelva a intentarlo en un momento.", lU = "DSM no proporcionó a esta página su token de inicio de sesión. Inicie sesión de nuevo en DSM con su contraseña y abra la App desde el escritorio de DSM.", dU = {
3638
- app_unavailable: tU,
3637
+ }, nU = "La App no está disponible en este momento. Vuelva a intentarlo más tarde.", oU = "La solicitud tardó demasiado y se detuvo. Vuelva a intentarlo o pruebe con una tarea más pequeña.", aU = "El archivo supera el tamaño permitido.", iU = "No se puede leer el archivo. Vuelva a intentarlo más tarde.", sU = "No se puede identificar esta cuenta de usuario. Vuelva a intentarlo más tarde.", rU = "La App está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", cU = "La App se está iniciando. Vuelva a intentarlo en un momento.", lU = "DSM no proporcionó a esta página su token de inicio de sesión. Inicie sesión de nuevo en DSM con su contraseña y abra la App desde el escritorio de DSM.", dU = {
3638
+ app_unavailable: nU,
3639
3639
  request_timeout: oU,
3640
3640
  limit_exceeded: aU,
3641
3641
  read_failed: iU,
@@ -3679,7 +3679,7 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
3679
3679
  APP_STOPPED: HU,
3680
3680
  APP_STARTING: BU,
3681
3681
  credential_not_ready: VU
3682
- }, JU = "App 当前不可用,请稍后重试。", KU = "请求处理时间过长,已停止。请重试,或缩小范围后再试。", GU = "文件超过允许的大小。", ZU = "无法读取文件。请稍后再试。", YU = "无法识别此用户账号。请稍后再试。", QU = "App 已停止。请在套件中心启动后重试。", XU = "App 正在启动,请稍后重试。", eO = "DSM 没有为此页面提供登录令牌。请使用密码重新登录 DSM,然后从 DSM 桌面打开 App。", nO = {
3682
+ }, JU = "App 当前不可用,请稍后重试。", KU = "请求处理时间过长,已停止。请重试,或缩小范围后再试。", GU = "文件超过允许的大小。", ZU = "无法读取文件。请稍后再试。", YU = "无法识别此用户账号。请稍后再试。", QU = "App 已停止。请在套件中心启动后重试。", XU = "App 正在启动,请稍后重试。", eO = "DSM 没有为此页面提供登录令牌。请使用密码重新登录 DSM,然后从 DSM 桌面打开 App。", tO = {
3683
3683
  app_unavailable: JU,
3684
3684
  request_timeout: KU,
3685
3685
  limit_exceeded: GU,
@@ -3688,8 +3688,8 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
3688
3688
  APP_STOPPED: QU,
3689
3689
  APP_STARTING: XU,
3690
3690
  credential_not_ready: eO
3691
- }, tO = "App 目前無法使用,請稍後再試。", oO = "請求處理太久已停止,請再試一次或縮小範圍。", aO = "檔案超過允許的大小。", iO = "無法讀取檔案。請稍後再試。", sO = "無法識別此使用者帳號。請稍後再試。", rO = "App 已停止。請在套件中心啟動後再試一次。", cO = "App 正在啟動,請稍後再試。", lO = "DSM 沒有提供此頁面的登入權杖。請以密碼重新登入 DSM,再從 DSM 桌面開啟 App。", dO = {
3692
- app_unavailable: tO,
3691
+ }, nO = "App 目前無法使用,請稍後再試。", oO = "請求處理太久已停止,請再試一次或縮小範圍。", aO = "檔案超過允許的大小。", iO = "無法讀取檔案。請稍後再試。", sO = "無法識別此使用者帳號。請稍後再試。", rO = "App 已停止。請在套件中心啟動後再試一次。", cO = "App 正在啟動,請稍後再試。", lO = "DSM 沒有提供此頁面的登入權杖。請以密碼重新登入 DSM,再從 DSM 桌面開啟 App。", dO = {
3692
+ app_unavailable: nO,
3693
3693
  request_timeout: oO,
3694
3694
  limit_exceeded: aO,
3695
3695
  read_failed: iO,
@@ -3697,10 +3697,10 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
3697
3697
  APP_STOPPED: rO,
3698
3698
  APP_STARTING: cO,
3699
3699
  credential_not_ready: lO
3700
- }, uO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json": W0, "../../i18n/bridge/en.json": nU, "../../i18n/bridge/es.json": dU, "../../i18n/bridge/fr.json": bU, "../../i18n/bridge/it.json": CU, "../../i18n/bridge/ja.json": jU, "../../i18n/bridge/ko.json": WU, "../../i18n/bridge/zh-CN.json": nO, "../../i18n/bridge/zh-TW.json": dO }));
3701
- function a6(e, n) {
3702
- const a = e?.code, t = uO[z(n)];
3703
- return typeof a == "string" && Object.hasOwn(t, a) ? t[a] : void 0;
3700
+ }, uO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json": W4, "../../i18n/bridge/en.json": tU, "../../i18n/bridge/es.json": dU, "../../i18n/bridge/fr.json": bU, "../../i18n/bridge/it.json": CU, "../../i18n/bridge/ja.json": jU, "../../i18n/bridge/ko.json": WU, "../../i18n/bridge/zh-CN.json": tO, "../../i18n/bridge/zh-TW.json": dO }));
3701
+ function a6(e, t) {
3702
+ const a = e?.code, n = uO[z(t)];
3703
+ return typeof a == "string" && Object.hasOwn(n, a) ? n[a] : void 0;
3704
3704
  }
3705
3705
  const Z = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, pO = [
3706
3706
  "dsfile",
@@ -3724,62 +3724,62 @@ const Z = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, pO = [
3724
3724
  "synologymeet"
3725
3725
  ], Y = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/, hO = ["registered", "unregistered", "cleanup-required"], gO = { dsm_4100: "portal_alias_invalid", dsm_4102: "portal_alias_reserved", dsm_4103: "portal_alias_in_use", dsm_105: "admin_required" }, Q = (e) => e?.code;
3726
3726
  function i6(e) {
3727
- function n(p, g, v) {
3728
- const _ = { state: p, canManage: v === !0, controlPanel: v !== void 0, defaultAlias: e.defaultAlias };
3729
- return p === "active" && g && (_.alias = g, _.url = `${e.location.protocol}//${e.location.host}/${encodeURIComponent(g)}/`), _;
3727
+ function t(h, g, v) {
3728
+ const _ = { state: h, canManage: v === !0, controlPanel: v !== void 0, defaultAlias: e.defaultAlias };
3729
+ return h === "active" && g && (_.alias = g, _.url = `${e.location.protocol}//${e.location.host}/${encodeURIComponent(g)}/`), _;
3730
3730
  }
3731
- function a(p) {
3732
- return p?.state === "active" && typeof p.alias == "string" && Y.test(p.alias) ? n("active", p.alias) : n(p?.state === "inactive" ? "inactive" : "unavailable");
3731
+ function a(h) {
3732
+ return h?.state === "active" && typeof h.alias == "string" && Y.test(h.alias) ? t("active", h.alias) : t(h?.state === "inactive" ? "inactive" : "unavailable");
3733
3733
  }
3734
- async function t() {
3734
+ async function n() {
3735
3735
  try {
3736
3736
  return a(await e.call("portal.status", {}));
3737
3737
  } catch {
3738
- return n("unavailable");
3738
+ return t("unavailable");
3739
3739
  }
3740
3740
  }
3741
3741
  async function o() {
3742
3742
  try {
3743
- if (!(((await e.send("SYNO.API.Info", "query", 1, { query: "SYNO.Core.AppPortal" }))?.["SYNO.Core.AppPortal"]?.maxVersion ?? 0) >= 2)) return n("unavailable", void 0, !1);
3743
+ if (!(((await e.send("SYNO.API.Info", "query", 1, { query: "SYNO.Core.AppPortal" }))?.["SYNO.Core.AppPortal"]?.maxVersion ?? 0) >= 2)) return t("unavailable", void 0, !1);
3744
3744
  const g = await e.send("SYNO.Core.AppPortal", "get", 2, { id: e.appId, additional: ["default_setting"] });
3745
- if (g?.id !== e.appId) return n("unavailable", void 0, !1);
3746
- const v = typeof g.alias == "string" && Y.test(g.alias) ? g.alias : "", _ = n(v ? "active" : "inactive", v, !0), y = g.additional?.default_setting?.alias;
3745
+ if (g?.id !== e.appId) return t("unavailable", void 0, !1);
3746
+ const v = typeof g.alias == "string" && Y.test(g.alias) ? g.alias : "", _ = t(v ? "active" : "inactive", v, !0), y = g.additional?.default_setting?.alias;
3747
3747
  return typeof y == "string" && Z.test(y) && (_.defaultAlias = y), _;
3748
3748
  } catch {
3749
- return n("unavailable", void 0, !1);
3749
+ return t("unavailable", void 0, !1);
3750
3750
  }
3751
3751
  }
3752
3752
  async function i() {
3753
- let p;
3753
+ let h;
3754
3754
  try {
3755
- p = await e.call("portal.status", {});
3755
+ h = await e.call("portal.status", {});
3756
3756
  } catch {
3757
- return e.isAdmin() ? n("unavailable", void 0, !1) : n("unavailable");
3757
+ return e.isAdmin() ? t("unavailable", void 0, !1) : t("unavailable");
3758
3758
  }
3759
- if (!e.isAdmin()) return a(p);
3760
- const g = hO.find((_) => _ === p?.entry);
3761
- if (!g) return n("unavailable", void 0, !1);
3759
+ if (!e.isAdmin()) return a(h);
3760
+ const g = hO.find((_) => _ === h?.entry);
3761
+ if (!g) return t("unavailable", void 0, !1);
3762
3762
  if (g === "registered") return { ...await o(), entry: g };
3763
- const v = a(p);
3764
- return { ...n(g === "unregistered" ? "inactive" : v.state, v.alias, !0), entry: g };
3763
+ const v = a(h);
3764
+ return { ...t(g === "unregistered" ? "inactive" : v.state, v.alias, !0), entry: g };
3765
3765
  }
3766
- let s = Promise.resolve(), r, l, c = 0;
3766
+ let s = Promise.resolve(), r, c, l = 0;
3767
3767
  async function m() {
3768
- const p = ++c;
3768
+ const h = ++l;
3769
3769
  await s;
3770
- const g = e.entry ? await i() : e.isAdmin() ? await o() : await t();
3771
- return p === c && (r = g), g;
3770
+ const g = e.entry ? await i() : e.isAdmin() ? await o() : await n();
3771
+ return h === l && (r = g), g;
3772
3772
  }
3773
- function h() {
3774
- return l ??= m().finally(() => {
3775
- l = void 0;
3773
+ function p() {
3774
+ return c ??= m().finally(() => {
3775
+ c = void 0;
3776
3776
  });
3777
3777
  }
3778
- async function d(p) {
3778
+ async function d(h) {
3779
3779
  if (!e.isAdmin()) throw { code: "admin_required" };
3780
- const g = e.call(p, {});
3780
+ const g = e.call(h, {});
3781
3781
  s = g.catch(() => {
3782
- }), l = void 0;
3782
+ }), c = void 0;
3783
3783
  try {
3784
3784
  await g;
3785
3785
  } catch (v) {
@@ -3787,30 +3787,30 @@ function i6(e) {
3787
3787
  }
3788
3788
  return m();
3789
3789
  }
3790
- async function u(p) {
3790
+ async function u(h) {
3791
3791
  if (!e.isAdmin()) throw { code: "admin_required" };
3792
3792
  try {
3793
- await e.send("SYNO.Core.AppPortal", "set", 2, { id: e.appId, alias: p });
3793
+ await e.send("SYNO.Core.AppPortal", "set", 2, { id: e.appId, alias: h });
3794
3794
  } catch (g) {
3795
3795
  throw { code: gO[Q(g) ?? ""] ?? "portal_unavailable" };
3796
3796
  }
3797
3797
  return m();
3798
3798
  }
3799
3799
  const f = {
3800
- messages: j0(e.locale),
3801
- status: h,
3800
+ messages: j4(e.locale),
3801
+ status: p,
3802
3802
  lastStatus: () => r,
3803
- async apply(p) {
3804
- if (typeof p != "string" || !Z.test(p)) throw { code: "portal_alias_invalid" };
3805
- if (pO.includes(p)) throw { code: "portal_alias_reserved" };
3806
- return u(p);
3803
+ async apply(h) {
3804
+ if (typeof h != "string" || !Z.test(h)) throw { code: "portal_alias_invalid" };
3805
+ if (pO.includes(h)) throw { code: "portal_alias_reserved" };
3806
+ return u(h);
3807
3807
  },
3808
3808
  disable: () => u(null),
3809
3809
  openControlPanel() {
3810
3810
  e.launch("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Login.Main", tab: "applications" });
3811
3811
  }
3812
3812
  };
3813
- return e.entry && (f.register = () => d("portal.register"), f.unregister = () => d("portal.unregister")), h(), f;
3813
+ return e.entry && (f.register = () => d("portal.register"), f.unregister = () => d("portal.unregister")), p(), f;
3814
3814
  }
3815
3815
  const mO = {
3816
3816
  "sharedfolder.title": "Freigegebene Ordner",
@@ -4066,25 +4066,25 @@ const mO = {
4066
4066
  "sharedfolder.retry": "重試"
4067
4067
  }, AO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/sharedfolder/de.json": mO, "../../i18n/sharedfolder/en.json": fO, "../../i18n/sharedfolder/es.json": $O, "../../i18n/sharedfolder/fr.json": vO, "../../i18n/sharedfolder/it.json": bO, "../../i18n/sharedfolder/ja.json": SO, "../../i18n/sharedfolder/ko.json": _O, "../../i18n/sharedfolder/zh-CN.json": zO, "../../i18n/sharedfolder/zh-TW.json": yO }));
4068
4068
  function U(e) {
4069
- return Object.fromEntries(Object.entries(AO[z(e)]).map(([n, a]) => [n.slice(13), a]));
4069
+ return Object.fromEntries(Object.entries(AO[z(e)]).map(([t, a]) => [t.slice(13), a]));
4070
4070
  }
4071
4071
  const X = ["none", "read", "write"], kO = ["ready", "pending", "missing", "ambiguous"], ee = (e) => e?.code, O = (e) => e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
4072
4072
  function wO(e) {
4073
- const n = O(e);
4074
- if (!n || typeof n.key != "string" || typeof n.name != "string") return;
4075
- const a = X.find((s) => s === n.required), t = X.find((s) => s === n.granted), o = kO.find((s) => s === n.state);
4076
- if (!a || !t || !o) return;
4077
- const i = { key: n.key, name: n.name, exists: n.exists === !0, required: a, granted: t, state: o };
4078
- return typeof n.path == "string" && (i.path = n.path), typeof n.error == "string" && (i.error = n.error), i;
4073
+ const t = O(e);
4074
+ if (!t || typeof t.key != "string" || typeof t.name != "string") return;
4075
+ const a = X.find((s) => s === t.required), n = X.find((s) => s === t.granted), o = kO.find((s) => s === t.state);
4076
+ if (!a || !n || !o) return;
4077
+ const i = { key: t.key, name: t.name, exists: t.exists === !0, required: a, granted: n, state: o };
4078
+ return typeof t.path == "string" && (i.path = t.path), typeof t.error == "string" && (i.error = t.error), i;
4079
4079
  }
4080
4080
  function DO(e) {
4081
- const n = O(e);
4082
- if (!n || typeof n.account != "string" || !Array.isArray(n.folders)) return;
4083
- const a = n.folders.map(wO);
4084
- return a.every((t) => t) ? { account: n.account, folders: a, pending: a.some((t) => t.state === "pending") } : void 0;
4081
+ const t = O(e);
4082
+ if (!t || typeof t.account != "string" || !Array.isArray(t.folders)) return;
4083
+ const a = t.folders.map(wO);
4084
+ return a.every((n) => n) ? { account: t.account, folders: a, pending: a.some((n) => n.state === "pending") } : void 0;
4085
4085
  }
4086
4086
  function me(e) {
4087
- let n;
4087
+ let t;
4088
4088
  async function a() {
4089
4089
  let o;
4090
4090
  try {
@@ -4094,34 +4094,34 @@ function me(e) {
4094
4094
  }
4095
4095
  const i = DO(o);
4096
4096
  if (!i) throw { code: "shared_folder_unavailable" };
4097
- return n = i;
4097
+ return t = i;
4098
4098
  }
4099
4099
  return {
4100
4100
  messages: U(e.locale),
4101
4101
  status: a,
4102
- lastStatus: () => n,
4102
+ lastStatus: () => t,
4103
4103
  canGrant: () => e.isAdmin() && e.send !== void 0,
4104
4104
  async grant(o) {
4105
4105
  if (!e.isAdmin() || !e.send) throw { code: "admin_required" };
4106
- const i = await a(), s = i.folders.find((c) => c.key === o);
4106
+ const i = await a(), s = i.folders.find((l) => l.key === o);
4107
4107
  if (!s || s.state === "missing" || s.state === "ambiguous") throw { code: "shared_folder_unavailable" };
4108
4108
  if (s.state === "ready") return i;
4109
4109
  if (s.required === "none") throw { code: "shared_folder_unavailable" };
4110
4110
  const r = s.required === "write";
4111
4111
  try {
4112
- const c = O(await e.send("SYNO.Core.Share.Permission", "list", 1, { name: s.name, user_group_type: "system", offset: 0, limit: 1e3, with_inherit: !1, is_unite_permission: !1 }));
4113
- if ((Array.isArray(c?.items) ? c.items : []).some((h) => h?.name === i.account && h.is_custom === !0)) throw { code: "shared_folder_custom_acl" };
4114
- } catch (c) {
4115
- if (ee(c) === "shared_folder_custom_acl") throw c;
4112
+ const l = O(await e.send("SYNO.Core.Share.Permission", "list", 1, { name: s.name, user_group_type: "system", offset: 0, limit: 1e3, with_inherit: !1, is_unite_permission: !1 }));
4113
+ if ((Array.isArray(l?.items) ? l.items : []).some((p) => p?.name === i.account && p.is_custom === !0)) throw { code: "shared_folder_custom_acl" };
4114
+ } catch (l) {
4115
+ if (ee(l) === "shared_folder_custom_acl") throw l;
4116
4116
  }
4117
4117
  try {
4118
4118
  await e.send("SYNO.Core.Share.Permission", "set", 1, { name: s.name, user_group_type: "system", permissions: [{ name: i.account, is_readonly: !r, is_writable: r, is_deny: !1, is_custom: !1 }] });
4119
- } catch (c) {
4120
- throw { code: ee(c) === "dsm_105" ? "admin_required" : "shared_folder_grant_failed" };
4119
+ } catch (l) {
4120
+ throw { code: ee(l) === "dsm_105" ? "admin_required" : "shared_folder_grant_failed" };
4121
4121
  }
4122
- const l = await a();
4123
- if (l.folders.find((c) => c.key === o)?.state !== "ready") throw { code: "shared_folder_grant_unverified" };
4124
- return l;
4122
+ const c = await a();
4123
+ if (c.folders.find((l) => l.key === o)?.state !== "ready") throw { code: "shared_folder_grant_unverified" };
4124
+ return c;
4125
4125
  },
4126
4126
  openControlPanel() {
4127
4127
  e.launch?.("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Share.Main" });
@@ -4130,67 +4130,67 @@ function me(e) {
4130
4130
  }
4131
4131
  function s6(e) {
4132
4132
  return me({
4133
- call: (n, a) => e.call(n, a),
4133
+ call: (t, a) => e.call(t, a),
4134
4134
  send: e.webApi,
4135
4135
  isAdmin: () => e.user?.isAdmin === !0,
4136
- launch: (n) => {
4137
- e.host.openApp(n);
4136
+ launch: (t) => {
4137
+ e.host.openApp(t);
4138
4138
  },
4139
4139
  locale: e.locale
4140
4140
  });
4141
4141
  }
4142
4142
  function CO(e) {
4143
4143
  if (!e || typeof e != "object" || !("code" in e) || e.code !== "shared_folder_permission" || !("details" in e)) return;
4144
- const n = e.details;
4145
- if (!(!n || typeof n != "object" || !("account" in n) || !("share" in n) || !("required" in n)) && !(typeof n.account != "string" || !n.account || typeof n.share != "string" || !n.share || n.required !== "read" && n.required !== "write"))
4146
- return { account: n.account, share: n.share, required: n.required };
4144
+ const t = e.details;
4145
+ if (!(!t || typeof t != "object" || !("account" in t) || !("share" in t) || !("required" in t)) && !(typeof t.account != "string" || !t.account || typeof t.share != "string" || !t.share || t.required !== "read" && t.required !== "write"))
4146
+ return { account: t.account, share: t.share, required: t.required };
4147
4147
  }
4148
- function PO(e, n = "en") {
4149
- const a = U(n);
4150
- return Ee(a.steps, { account: e.account, folder: e.share, access: a[e.required] }, n);
4148
+ function PO(e, t = "en") {
4149
+ const a = U(t);
4150
+ return Ee(a.steps, { account: e.account, folder: e.share, access: a[e.required] }, t);
4151
4151
  }
4152
4152
  function r6(e) {
4153
- const n = e.locale ?? "en", a = me({ call: e.call, locale: n, isAdmin: () => !1 }), t = /* @__PURE__ */ new Set();
4153
+ const t = e.locale ?? "en", a = me({ call: e.call, locale: t, isAdmin: () => !1 }), n = /* @__PURE__ */ new Set();
4154
4154
  let o = [], i, s, r = 0;
4155
- function l(h) {
4155
+ function c(p) {
4156
4156
  const d = /* @__PURE__ */ new Map();
4157
- for (const u of h) d.set(JSON.stringify([u.account, u.share, u.required]), u);
4157
+ for (const u of p) d.set(JSON.stringify([u.account, u.share, u.required]), u);
4158
4158
  o = [...d.values()];
4159
- for (const u of t) u(o);
4159
+ for (const u of n) u(o);
4160
4160
  }
4161
- function c(h) {
4161
+ function l(p) {
4162
4162
  if (s) return s;
4163
4163
  const d = r;
4164
4164
  return s = a.status().then((u) => {
4165
- const f = u.folders.filter((p) => p.state === "pending" && p.required !== "none").map((p) => ({ account: u.account, share: p.name, required: p.required }));
4166
- h && d === r ? l(f) : f.length && l([...f, ...o]);
4165
+ const f = u.folders.filter((h) => h.state === "pending" && h.required !== "none").map((h) => ({ account: u.account, share: h.name, required: h.required }));
4166
+ p && d === r ? c(f) : f.length && c([...f, ...o]);
4167
4167
  }).finally(() => {
4168
4168
  s = void 0;
4169
4169
  }), s;
4170
4170
  }
4171
4171
  const m = {
4172
- messages: U(n),
4173
- message: (h) => PO(h, n),
4172
+ messages: U(t),
4173
+ message: (p) => PO(p, t),
4174
4174
  check() {
4175
- return i ??= c(!1);
4175
+ return i ??= l(!1);
4176
4176
  },
4177
4177
  retry() {
4178
- return c(!0);
4178
+ return l(!0);
4179
4179
  },
4180
- handle(h) {
4181
- const d = CO(h);
4182
- return d ? (r++, l([...o, d]), !0) : !1;
4180
+ handle(p) {
4181
+ const d = CO(p);
4182
+ return d ? (r++, c([...o, d]), !0) : !1;
4183
4183
  },
4184
- async call(h, d, u) {
4184
+ async call(p, d, u) {
4185
4185
  try {
4186
- return await e.call(h, d, u);
4186
+ return await e.call(p, d, u);
4187
4187
  } catch (f) {
4188
4188
  throw m.handle(f), f;
4189
4189
  }
4190
4190
  },
4191
- subscribe(h) {
4192
- return t.add(h), o.length && h(o), () => {
4193
- t.delete(h);
4191
+ subscribe(p) {
4192
+ return n.add(p), o.length && p(o), () => {
4193
+ n.delete(p);
4194
4194
  };
4195
4195
  },
4196
4196
  openControlPanel: () => e.openControlPanel?.()
@@ -4359,35 +4359,35 @@ const MO = {
4359
4359
  "root.start": { auth: "required", params: ["name", "params"], required: ["name"] },
4360
4360
  status: { auth: "optional", params: [], required: [] },
4361
4361
  "webapi.call": { auth: "optional", params: ["response_type", "delegation_id", "job_id", "api", "method", "version", "params"], required: ["delegation_id", "api", "method", "version", "params"] }
4362
- }, c6 = Object.keys(qO), TO = 64 * 1024, ne = (e) => !!e && typeof e == "object" && !Array.isArray(e);
4362
+ }, c6 = Object.keys(qO), TO = 64 * 1024, te = (e) => !!e && typeof e == "object" && !Array.isArray(e);
4363
4363
  function M() {
4364
4364
  throw { code: "EXECUTOR_PROTOCOL" };
4365
4365
  }
4366
- function l6(e, n, a) {
4367
- const t = JSON.stringify({ v: 1, op: e, ...a ? { auth: a } : {}, params: n }) + `
4366
+ function l6(e, t, a) {
4367
+ const n = JSON.stringify({ v: 1, op: e, ...a ? { auth: a } : {}, params: t }) + `
4368
4368
  `;
4369
- if (new TextEncoder().encode(t).length > TO) throw { code: "REQUEST_TOO_LARGE" };
4370
- return t;
4369
+ if (new TextEncoder().encode(n).length > TO) throw { code: "REQUEST_TOO_LARGE" };
4370
+ return n;
4371
4371
  }
4372
4372
  function d6(e) {
4373
- let n;
4373
+ let t;
4374
4374
  try {
4375
- n = JSON.parse(e);
4375
+ t = JSON.parse(e);
4376
4376
  } catch {
4377
4377
  M();
4378
4378
  }
4379
- if ((!ne(n) || typeof n.ok != "boolean") && M(), n.ok)
4380
- return ne(n.result) || M(), { ok: !0, result: n.result };
4381
- const a = n.code;
4382
- return (MO[a]?.kind !== "refusal" || typeof n.message != "string") && M(), { ok: !1, code: a, message: n.message };
4379
+ if ((!te(t) || typeof t.ok != "boolean") && M(), t.ok)
4380
+ return te(t.result) || M(), { ok: !0, result: t.result };
4381
+ const a = t.code;
4382
+ return (MO[a]?.kind !== "refusal" || typeof t.message != "string") && M(), { ok: !1, code: a, message: t.message };
4383
4383
  }
4384
4384
  function EO(e) {
4385
- return function(a, t) {
4385
+ return function(a, n) {
4386
4386
  return !Array.isArray(a) || a.length < 1 || a.length > 8 || a.some(function(o) {
4387
4387
  return !o || typeof o.method != "string" || !/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/.test(o.method) || Object.keys(o).some(function(i) {
4388
4388
  return i !== "method" && i !== "params";
4389
4389
  });
4390
- }) ? Promise.reject({ code: "bad_request", message: "Batch needs one to eight methods" }) : e({ v: 1, calls: a }, t).then(function(o) {
4390
+ }) ? Promise.reject({ code: "bad_request", message: "Batch needs one to eight methods" }) : e({ v: 1, calls: a }, n).then(function(o) {
4391
4391
  var i = (
4392
4392
  /** @type {{v?: unknown, results?: unknown}} */
4393
4393
  o
@@ -4400,32 +4400,83 @@ function EO(e) {
4400
4400
  };
4401
4401
  }
4402
4402
  function u6(e) {
4403
- const n = e.fetch ?? globalThis.fetch;
4404
- async function a(t, o) {
4403
+ const t = e.fetch ?? globalThis.fetch;
4404
+ async function a(n, o) {
4405
4405
  const i = new AbortController(), s = { code: "request_canceled", message: "request canceled" };
4406
4406
  let r;
4407
- const l = () => {
4407
+ const c = () => {
4408
4408
  r = s, i.abort();
4409
- }, c = setTimeout(() => {
4409
+ }, l = setTimeout(() => {
4410
4410
  r = { code: "request_timeout", message: "request timeout" }, i.abort();
4411
4411
  }, R(e.requestTimeout)), m = o?.signal;
4412
4412
  if (m?.aborted)
4413
- throw clearTimeout(c), s;
4414
- m?.addEventListener("abort", l);
4413
+ throw clearTimeout(l), s;
4414
+ m?.addEventListener("abort", c);
4415
4415
  try {
4416
- if (e.ready && !e.token?.() && await Promise.race([e.ready(), new Promise((p) => i.signal.addEventListener("abort", () => p(), { once: !0 }))]), r) throw r;
4417
- const h = e.token?.(), u = await (await n(e.endpoint, { method: "POST", mode: "same-origin", credentials: "same-origin", redirect: "error", cache: "no-store", headers: { "Content-Type": "application/json", ...h ? { "X-SYNO-TOKEN": h } : {} }, body: JSON.stringify(t), signal: i.signal })).json();
4416
+ if (e.ready && !e.token?.() && await Promise.race([e.ready(), new Promise((h) => i.signal.addEventListener("abort", () => h(), { once: !0 }))]), r) throw r;
4417
+ const p = e.token?.(), u = await (await t(e.endpoint, { method: "POST", mode: "same-origin", credentials: "same-origin", redirect: "error", cache: "no-store", headers: { "Content-Type": "application/json", ...p ? { "X-SYNO-TOKEN": p } : {} }, body: JSON.stringify(n), signal: i.signal })).json();
4418
4418
  if (!u || typeof u != "object" || !("success" in u)) throw { code: "bad_response", message: "unexpected response" };
4419
4419
  const f = u;
4420
4420
  if (!f.success) throw f.error ?? { code: "bad_response", message: "unexpected response" };
4421
4421
  return f.data;
4422
- } catch (h) {
4423
- throw r ?? h;
4422
+ } catch (p) {
4423
+ throw r ?? p;
4424
4424
  } finally {
4425
- clearTimeout(c), m?.removeEventListener("abort", l);
4425
+ clearTimeout(l), m?.removeEventListener("abort", c);
4426
4426
  }
4427
4427
  }
4428
- return { call: (t, o, i) => a({ method: t, params: o ?? {} }, i), batch: EO(a) };
4428
+ return { call: (n, o, i) => a({ method: n, params: o ?? {} }, i), batch: EO(a) };
4429
+ }
4430
+ async function p6(e) {
4431
+ let t;
4432
+ const a = new AbortController();
4433
+ try {
4434
+ const n = async () => {
4435
+ if (e.webApi) return e.webApi("SYNO.Core.Service.PortInfo", "load", 1, {});
4436
+ const s = e.files?.token?.();
4437
+ if (!s) return;
4438
+ const r = await fetch("/webapi/entry.cgi", {
4439
+ method: "POST",
4440
+ credentials: "same-origin",
4441
+ mode: "same-origin",
4442
+ redirect: "error",
4443
+ cache: "no-store",
4444
+ signal: a.signal,
4445
+ headers: { "Content-Type": "application/x-www-form-urlencoded", "X-SYNO-TOKEN": s },
4446
+ body: new URLSearchParams({ api: "SYNO.Core.Service.PortInfo", version: "1", method: "load", SynoToken: s })
4447
+ }), c = r.ok ? await r.json() : void 0;
4448
+ return c?.success === !0 ? c.data : void 0;
4449
+ }, o = await Promise.race([n(), new Promise((s) => {
4450
+ t = setTimeout(() => {
4451
+ a.abort(), s(void 0);
4452
+ }, 5e3);
4453
+ })]);
4454
+ if (!Array.isArray(o?.port_info)) return [];
4455
+ const i = (s) => typeof s == "string" ? s.trim() : "";
4456
+ return o.port_info.flatMap((s) => {
4457
+ if (!s || typeof s != "object") return [];
4458
+ const r = s, c = i(r.port_id), l = i(r.protocol);
4459
+ if (!c || !Array.isArray(r.dst_port)) return [];
4460
+ const m = r.dst_port.flatMap((p) => {
4461
+ const d = /^(\d{1,5})(?:[-:](\d{1,5}))?$/.exec(i(p));
4462
+ if (!d) return [];
4463
+ const u = Number(d[1]), f = Number(d[2] ?? d[1]);
4464
+ return u >= 1 && f <= 65535 && f >= u ? [{ first: u, last: f }] : [];
4465
+ });
4466
+ return [{
4467
+ id: c,
4468
+ name: i(r.name),
4469
+ desc: i(r.desc),
4470
+ protocol: l,
4471
+ ports: r.dst_port.map(i).filter((p) => /^\d{1,5}$/.test(p)).map(Number).filter((p) => p >= 1 && p <= 65535),
4472
+ ranges: m
4473
+ }];
4474
+ });
4475
+ } catch {
4476
+ return [];
4477
+ } finally {
4478
+ clearTimeout(t);
4479
+ }
4429
4480
  }
4430
4481
  export {
4431
4482
  LO as DEFAULT_REQUEST_TIMEOUT,
@@ -4435,13 +4486,13 @@ export {
4435
4486
  $e as MAX_LAUNCH_ROUTE,
4436
4487
  KO as activePage,
4437
4488
  j as appDenial,
4438
- ty as appLifecycle,
4489
+ ny as appLifecycle,
4439
4490
  E as appRefusal,
4440
4491
  Re as authorizationCatalogs,
4441
4492
  je as authorizationCopy,
4442
4493
  he as backgroundCatalogs,
4443
- n6 as backgroundCopy,
4444
- t6 as backgroundErrorCopy,
4494
+ t6 as backgroundCopy,
4495
+ n6 as backgroundErrorCopy,
4445
4496
  uO as bridgeCatalogs,
4446
4497
  a6 as bridgeErrorCopy,
4447
4498
  A as catalogs,
@@ -4460,7 +4511,7 @@ export {
4460
4511
  fe as createStandaloneHost,
4461
4512
  d6 as decodeResponse,
4462
4513
  ue as delegateCatalogs,
4463
- ny as delegateCopy,
4514
+ ty as delegateCopy,
4464
4515
  xO as dsmLaunchURL,
4465
4516
  l6 as encodeRequest,
4466
4517
  GO as errorCopy,
@@ -4481,14 +4532,15 @@ export {
4481
4532
  QO as nasErrorCopy,
4482
4533
  HO as openFileInFileStation,
4483
4534
  FO as openFolderInFileStation,
4484
- R0 as portalCatalogs,
4485
- j0 as portalMessages,
4535
+ R4 as portalCatalogs,
4536
+ j4 as portalMessages,
4486
4537
  MO as protocolCodes,
4487
4538
  c6 as protocolOps,
4488
4539
  qO as protocolSchemas,
4540
+ p6 as readDsmPorts,
4489
4541
  WO as requestKey,
4490
4542
  ge as saveCatalogs,
4491
- w0 as saveCopy,
4543
+ w4 as saveCopy,
4492
4544
  o6 as saveError,
4493
4545
  VO as scopedPicker,
4494
4546
  s6 as sharedFolderAccessFor,