@synopackageland/sdk 0.50.0 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { c as q } from "./context-DWEbBTIr.js";
2
- import { D as Z6, i as Y6 } from "./context-DWEbBTIr.js";
3
- const y = { status: "unsupported" };
1
+ import { c as L } from "./context-DWEbBTIr.js";
2
+ import { D as Y6, i as Q6 } from "./context-DWEbBTIr.js";
3
+ const k = { status: "unsupported" };
4
4
  function ze(e = {}) {
5
5
  const t = { web: !0, host: "standalone-web", dsmStandalone: null, dsmLanguage: null, appLocale: null, systemVersion: null, fullVersion: null, theme: null, ...e }, a = /* @__PURE__ */ new Set();
6
6
  return {
@@ -8,10 +8,10 @@ function ze(e = {}) {
8
8
  setTitle(n) {
9
9
  return typeof document > "u" ? { status: "unavailable" } : (document.title = n, { status: "ok", target: "document" });
10
10
  },
11
- activateWindow: () => y,
12
- requestClose: () => y,
13
- signOut: () => y,
14
- openApp: () => y,
11
+ activateWindow: () => k,
12
+ requestClose: () => k,
13
+ signOut: () => k,
14
+ openApp: () => k,
15
15
  openURL(n) {
16
16
  let o;
17
17
  try {
@@ -21,13 +21,13 @@ function ze(e = {}) {
21
21
  }
22
22
  return o.protocol !== "https:" && o.protocol !== "http:" ? { status: "invalid-input" } : typeof window > "u" ? { status: "unavailable" } : { status: "requested", windowHandleAvailable: window.open(o.href, "_blank", "noopener") !== null };
23
23
  },
24
- openFileManager: () => y,
25
- revealFile: () => y,
26
- openFile: () => y,
27
- showFileDetails: () => y,
28
- openAppSetting: () => y,
24
+ openFileManager: () => k,
25
+ revealFile: () => k,
26
+ openFile: () => k,
27
+ showFileDetails: () => k,
28
+ openAppSetting: () => k,
29
29
  subscribe(n, o) {
30
- if (n !== "window-resize") return y;
30
+ if (n !== "window-resize") return k;
31
31
  if (typeof window > "u") return { status: "unavailable" };
32
32
  window.addEventListener("resize", o);
33
33
  const i = () => {
@@ -40,7 +40,7 @@ function ze(e = {}) {
40
40
  }
41
41
  };
42
42
  }
43
- function m6(e) {
43
+ function f6(e) {
44
44
  return { locale: "en", fullPage: !0, host: ze(), reopen: () => () => {
45
45
  }, ...e };
46
46
  }
@@ -50,7 +50,7 @@ function G(e) {
50
50
  if (!(typeof t != "string" || t.length > ye) && !(!t.startsWith("/") || t.startsWith("//") || /[\\\u0000-\u001f\u007f]/.test(t)))
51
51
  return t;
52
52
  }
53
- function f6(e, t) {
53
+ function $6(e, t) {
54
54
  const a = G(e.launchParams);
55
55
  return a !== void 0 && t(a), e.onLaunch?.((n) => {
56
56
  const o = G(n);
@@ -59,28 +59,36 @@ function f6(e, t) {
59
59
  });
60
60
  }
61
61
  const Ae = /^[A-Za-z][A-Za-z0-9]{1,63}$/;
62
- function $6(e, t, a) {
62
+ function v6(e, t, a) {
63
63
  if (!Ae.test(t)) throw new Error(`dsmLaunchURL: ${JSON.stringify(t)} is not a DSM package id`);
64
64
  const n = new URL("/", e);
65
65
  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;
66
66
  }
67
67
  function ke(e) {
68
- var t, a;
69
- function n(s) {
70
- return typeof s == "string" && s.length > 0 && s.length <= 4096 && !/[\u0000-\u001f\u007f-\u009f]/.test(s) ? s : void 0;
68
+ var t, a, n, o = !1;
69
+ function i(l) {
70
+ return typeof l == "string" && l.length > 0 && l.length <= 4096 && !/[\u0000-\u001f\u007f-\u009f]/.test(l) ? l : void 0;
71
71
  }
72
- function o() {
73
- return n(e.read()) || t;
72
+ function s() {
73
+ var l = i(e.read());
74
+ return l && l !== n ? l : t;
75
+ }
76
+ function r() {
77
+ var l = s();
78
+ return l ? Promise.resolve(l) : a || (o ? Promise.resolve(void 0) : c());
79
+ }
80
+ function d(l) {
81
+ var u = s();
82
+ return u && u !== l ? Promise.resolve(u) : a || (n = i(e.read()), t = void 0, c(l));
74
83
  }
75
- function i() {
76
- var s = o();
77
- return s ? Promise.resolve(s) : a || (a = new Promise(function(r) {
78
- var l = new AbortController(), c = !1;
79
- function d(u) {
80
- c || (c = !0, clearTimeout(p), r(u));
84
+ function c(l) {
85
+ return o = !0, a = new Promise(function(u) {
86
+ var p = new AbortController(), m = !1;
87
+ function f(g) {
88
+ m || (m = !0, clearTimeout(h), u(g));
81
89
  }
82
- var p = setTimeout(function() {
83
- l.abort(), d(void 0);
90
+ var h = setTimeout(function() {
91
+ p.abort(), f(void 0);
84
92
  }, 302e3);
85
93
  try {
86
94
  e.fetch("webman/login.cgi?enable_syno_token=yes", {
@@ -89,28 +97,30 @@ function ke(e) {
89
97
  mode: "same-origin",
90
98
  redirect: "error",
91
99
  cache: "no-store",
92
- signal: l.signal
93
- }).then(function(u) {
94
- return u.ok ? u.json() : void 0;
95
- }).then(function(u) {
96
- if (!c) {
97
- var g = n(e.read());
98
- if (g) {
99
- d(g);
100
+ signal: p.signal
101
+ }).then(function(g) {
102
+ return g.ok ? g.json() : void 0;
103
+ }).then(function(g) {
104
+ if (!m) {
105
+ var v = s();
106
+ if (v && v !== l) {
107
+ f(v);
100
108
  return;
101
109
  }
102
- var m = u && u.success === !0 ? n(u.SynoToken) : void 0;
103
- m && (e.write && e.write(m), t = m), d(m);
110
+ var $ = g && g.success === !0 ? i(g.SynoToken) : void 0;
111
+ $ === l && ($ = void 0), $ && (e.write && e.write($), t = $), f($);
104
112
  }
105
113
  }).catch(function() {
106
- d(void 0);
114
+ f(void 0);
107
115
  });
108
116
  } catch {
109
- d(void 0);
117
+ f(void 0);
110
118
  }
111
- }), a);
119
+ }).finally(function() {
120
+ a = void 0;
121
+ }), a;
112
122
  }
113
- return { token: o, ready: i };
123
+ return { token: s, ready: r, refresh: d };
114
124
  }
115
125
  const ce = "/webapi/entry.cgi", we = 16 * 1024 ** 3;
116
126
  function Z(e) {
@@ -141,10 +151,10 @@ async function De(e) {
141
151
  o.set(s, i), i += s.length;
142
152
  return JSON.parse(new TextDecoder().decode(o));
143
153
  }
144
- function N(e) {
154
+ function O(e) {
145
155
  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" };
146
156
  }
147
- function C(e) {
157
+ function E(e) {
148
158
  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" };
149
159
  }
150
160
  function Y(e) {
@@ -162,114 +172,114 @@ function le(e = {}) {
162
172
  if (!s) throw { code: "dsm_session_required" };
163
173
  return s;
164
174
  }
165
- async function n(i, s, r, l, c, d = !1, p) {
175
+ async function n(i, s, r, d, c, l = !1, u) {
166
176
  if (c.aborted) throw { code: "canceled" };
167
- const u = new AbortController();
168
- let g = !1, m = !1;
169
- const h = () => u.abort();
170
- c.addEventListener("abort", h, { once: !0 }), c.aborted && u.abort();
171
- const f = setTimeout(() => {
172
- m = !0, u.abort();
173
- }, e.timeout ?? q());
177
+ const p = new AbortController();
178
+ let m = !1, f = !1;
179
+ const h = () => p.abort();
180
+ c.addEventListener("abort", h, { once: !0 }), c.aborted && p.abort();
181
+ const g = setTimeout(() => {
182
+ f = !0, p.abort();
183
+ }, e.timeout ?? L());
174
184
  let v = () => {
175
185
  };
176
186
  try {
177
187
  const $ = async () => {
178
- if (u.signal.aborted) throw { code: "canceled" };
179
- if (e.webApi && !p) {
180
- g = !0;
188
+ if (p.signal.aborted) throw { code: "canceled" };
189
+ if (e.webApi && !u) {
190
+ m = !0;
181
191
  try {
182
- return await e.webApi(i, s, r, l);
183
- } catch (E) {
184
- const D = /^dsm_(\d+)$/.exec(String(E?.code));
185
- throw D && N(D[1]), E;
192
+ return await e.webApi(i, s, r, d);
193
+ } catch (C) {
194
+ const A = /^dsm_(\d+)$/.exec(String(C?.code));
195
+ throw A && O(A[1]), C;
186
196
  }
187
197
  }
188
- const K = await a(u.signal);
189
- if (u.signal.aborted) throw { code: "canceled" };
190
- const P = p ? new FormData() : new URLSearchParams();
191
- for (const [E, D] of Object.entries({ api: i, method: s, version: r, ...l })) P.append(E, typeof D == "string" ? D : JSON.stringify(D));
192
- p && P.append("file", p), g = !0;
193
- const J = await fetch(ce, { method: "POST", body: P, credentials: "same-origin", mode: "same-origin", redirect: "error", cache: "no-store", signal: u.signal, headers: { "X-SYNO-TOKEN": K } });
194
- if (!J.ok) throw Error();
195
- const T = await De(J);
196
- if (T?.success === !1 && N(T.error?.code), T?.success !== !0) throw Error();
197
- return T.data;
198
- }, b = new Promise((K, P) => {
199
- v = () => P({ code: m ? "timeout" : "canceled" }), u.signal.addEventListener("abort", v, { once: !0 }), u.signal.aborted && v();
200
- }), w = await Promise.race([$(), b]);
201
- if (w?.error || Array.isArray(w?.errors) && w.errors.length) throw { code: "denied" };
202
- return w;
198
+ const M = await a(p.signal);
199
+ if (p.signal.aborted) throw { code: "canceled" };
200
+ const P = u ? new FormData() : new URLSearchParams();
201
+ for (const [C, A] of Object.entries({ api: i, method: s, version: r, ...d })) P.append(C, typeof A == "string" ? A : JSON.stringify(A));
202
+ u && P.append("file", u), m = !0;
203
+ const q = await fetch(ce, { method: "POST", body: P, credentials: "same-origin", mode: "same-origin", redirect: "error", cache: "no-store", signal: p.signal, headers: { "X-SYNO-TOKEN": M } });
204
+ if (!q.ok) throw Error();
205
+ const D = await De(q);
206
+ if (D?.success === !1 && O(D.error?.code), D?.success !== !0) throw Error();
207
+ return D.data;
208
+ }, b = new Promise((M, P) => {
209
+ v = () => P({ code: f ? "timeout" : "canceled" }), p.signal.addEventListener("abort", v, { once: !0 }), p.signal.aborted && v();
210
+ }), z = await Promise.race([$(), b]);
211
+ if (z?.error || Array.isArray(z?.errors) && z.errors.length) throw { code: "denied" };
212
+ return z;
203
213
  } catch ($) {
204
214
  const b = $?.code;
205
- throw typeof b == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(b) && N(b), typeof b == "string" && ["canceled", "timeout"].includes(b) ? { code: d && g ? "commit-uncertain" : b } : typeof b == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain"].includes(b) ? { code: b } : { code: d && g ? "commit-uncertain" : m ? "timeout" : c.aborted ? "canceled" : "unavailable" };
215
+ throw typeof b == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(b) && O(b), typeof b == "string" && ["canceled", "timeout"].includes(b) ? { code: l && m ? "commit-uncertain" : b } : typeof b == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain"].includes(b) ? { code: b } : { code: l && m ? "commit-uncertain" : f ? "timeout" : c.aborted ? "canceled" : "unavailable" };
206
216
  } finally {
207
- clearTimeout(f), c.removeEventListener("abort", h), u.signal.removeEventListener("abort", v);
217
+ clearTimeout(g), c.removeEventListener("abort", h), p.signal.removeEventListener("abort", v);
208
218
  }
209
219
  }
210
- async function o(i, s, r, l) {
211
- i !== void 0 && C(i);
212
- const c = r.limit ?? 100, d = r.sortBy ?? "name", p = r.sortDirection ?? "ASC";
213
- if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(c) || c < 1 || c > 100 || !["name", "size", "type", "mtime"].includes(d) || !["ASC", "DESC"].includes(p)) throw { code: "invalid-request" };
214
- const u = await n("SYNO.FileStation.List", i === void 0 ? "list_share" : "list", 2, { offset: s, limit: c, sort_by: d, sort_direction: p, additional: ["size"], ...i === void 0 ? {} : { folder_path: i } }, l), g = i === void 0 ? u?.shares ?? u?.files : u?.files;
215
- if (!Array.isArray(g) || g.length > c || !Number.isSafeInteger(u.total) || u.total < 0 || u.offset !== s || s + g.length > u.total || !g.length && s < u.total) throw { code: "unavailable" };
216
- return g.forEach(Z), u;
220
+ async function o(i, s, r, d) {
221
+ i !== void 0 && E(i);
222
+ const c = r.limit ?? 100, l = r.sortBy ?? "name", u = r.sortDirection ?? "ASC";
223
+ if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(c) || c < 1 || c > 100 || !["name", "size", "type", "mtime"].includes(l) || !["ASC", "DESC"].includes(u)) throw { code: "invalid-request" };
224
+ const p = await n("SYNO.FileStation.List", i === void 0 ? "list_share" : "list", 2, { offset: s, limit: c, sort_by: l, sort_direction: u, additional: ["size"], ...i === void 0 ? {} : { folder_path: i } }, d), m = i === void 0 ? p?.shares ?? p?.files : p?.files;
225
+ if (!Array.isArray(m) || m.length > c || !Number.isSafeInteger(p.total) || p.total < 0 || p.offset !== s || s + m.length > p.total || !m.length && s < p.total) throw { code: "unavailable" };
226
+ return m.forEach(Z), p;
217
227
  }
218
228
  return {
219
229
  token: a,
220
230
  shares: (i, s) => o(void 0, i, {}, s),
221
231
  list: (i, s, r) => o(i, s.offset ?? 0, s, r),
222
232
  async info(i, s) {
223
- C(i);
233
+ E(i);
224
234
  const r = await n("SYNO.FileStation.List", "getinfo", 2, { path: [i], additional: ["size"] }, s);
225
235
  if (!Array.isArray(r?.files) || r.files.length !== 1 || r.files[0]?.path !== i) throw { code: "not_found" };
226
236
  return Z(r.files[0]);
227
237
  },
228
238
  async createFolder(i, s, r) {
229
- return C(i), Y(s), await n("SYNO.FileStation.CreateFolder", "create", 2, { folder_path: [i], name: [s], force_parent: !1 }, r, !0), { created: !0 };
239
+ return E(i), Y(s), await n("SYNO.FileStation.CreateFolder", "create", 2, { folder_path: [i], name: [s], force_parent: !1 }, r, !0), { created: !0 };
230
240
  },
231
241
  // Display/preview only. A successful browser result never authorizes a
232
242
  // backend write or grant; the executor independently checks its subject.
233
243
  async checkPermission(i, s) {
234
- C(i);
244
+ E(i);
235
245
  const r = Array.from(crypto.getRandomValues(new Uint8Array(16)), (c) => c.toString(16).padStart(2, "0")).join("");
236
246
  if ((await n("SYNO.FileStation.CheckPermission", "write", 3, { path: i, filename: `.synopkgland-permission-probe-${r}`, overwrite: !1, size: 0 }, s))?.blSkip !== !1) throw { code: "denied" };
237
247
  },
238
248
  async upload(i, s, r) {
239
- if (C(i), Y(s.name), !Number.isSafeInteger(s.size) || s.size < 0 || s.size > we) throw { code: "upload_size_required" };
249
+ if (E(i), Y(s.name), !Number.isSafeInteger(s.size) || s.size < 0 || s.size > we) throw { code: "upload_size_required" };
240
250
  await n("SYNO.FileStation.Upload", "upload", 2, { path: i, create_parents: !1, overwrite: !1, size: s.size }, r, !0, s);
241
251
  }
242
252
  };
243
253
  }
244
- const Pe = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, k = (e) => typeof e == "string" && Pe.test(e), U = (e) => e && k(e.delegation_id) && k(e.job_id), I = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((t) => !t || t === "." || t === "..");
254
+ const Pe = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, T = (e) => typeof e == "string" && Pe.test(e), F = (e) => e && T(e.delegation_id) && T(e.job_id), x = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((t) => !t || t === "." || t === "..");
245
255
  function S() {
246
256
  throw { code: "EXECUTOR_PROTOCOL" };
247
257
  }
248
258
  function Q(e) {
249
- return e && Number.isSafeInteger(e.generation) && e.generation >= 0 && I(e.root) && (e.scope === "home" ? e.root === "/home" : e.scope.startsWith("shared:") && e.root === "/" + e.scope.slice(7));
259
+ return e && Number.isSafeInteger(e.generation) && e.generation >= 0 && x(e.root) && (e.scope === "home" ? e.root === "/home" : e.scope.startsWith("shared:") && e.root === "/" + e.scope.slice(7));
250
260
  }
251
261
  function Me(e, t) {
252
- return (!e || e.job_id !== t.job_id || !["queued", "copying", "committed", "canceled", "interrupted", "uncertain"].includes(e.state)) && S(), e.state === "committed" ? (!e.receipt || !I(e.receipt.path) || !Number.isSafeInteger(e.receipt.size) || e.receipt.size < 0 || e.receipt.size > 16 * 1024 ** 3) && S() : e.receipt !== void 0 && S(), e.reason !== void 0 && (typeof e.reason != "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(e.reason)) && S(), { job_id: e.job_id, state: e.state, ...e.receipt ? { receipt: { ...e.receipt } } : {}, ...e.code ? { code: e.code } : {}, ...e.reason ? { reason: e.reason } : {} };
262
+ return (!e || e.job_id !== t.job_id || !["queued", "copying", "committed", "canceled", "interrupted", "uncertain"].includes(e.state)) && S(), e.state === "committed" ? (!e.receipt || !x(e.receipt.path) || !Number.isSafeInteger(e.receipt.size) || e.receipt.size < 0 || e.receipt.size > 16 * 1024 ** 3) && S() : e.receipt !== void 0 && S(), e.reason !== void 0 && (typeof e.reason != "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(e.reason)) && S(), { job_id: e.job_id, state: e.state, ...e.receipt ? { receipt: { ...e.receipt } } : {}, ...e.code ? { code: e.code } : {}, ...e.reason ? { reason: e.reason } : {} };
253
263
  }
254
- function v6(e, t = async () => {
264
+ function b6(e, t = async () => {
255
265
  const a = await e.call("delegate.operations.list");
256
266
  return Array.isArray(a?.operations) || S(), a.operations;
257
267
  }) {
258
- const a = async (n, o) => (U(o) || S(), Me(await e.call(n, { delegation_id: o.delegation_id, job_id: o.job_id }), o));
268
+ const a = async (n, o) => (F(o) || S(), Me(await e.call(n, { delegation_id: o.delegation_id, job_id: o.job_id }), o));
259
269
  return {
260
270
  async destination(n) {
261
- k(n) || S();
271
+ T(n) || S();
262
272
  const o = await e.call("delegate.destination", { key: n });
263
273
  if ((!o || o.key !== n || !["active", "missing", "revoked", "reselection-required", "needs-scope-confirmation", "disabled"].includes(o.status) || o.selection !== null && !Q(o.selection)) && S(), o.status === "active") {
264
274
  const i = o.destination, s = o.selection;
265
- (!i || !s || !k(i.id) || i.key !== n || i.lifetime !== "until-revoked" || !i.username || !I(i.path) || !(i.path === s.root || i.path.startsWith(s.root + "/"))) && S();
275
+ (!i || !s || !T(i.id) || i.key !== n || i.lifetime !== "until-revoked" || !i.username || !x(i.path) || !(i.path === s.root || i.path.startsWith(s.root + "/"))) && S();
266
276
  } else o.destination !== null && S();
267
277
  return o;
268
278
  },
269
279
  async exportExample(n) {
270
- (!k(n.key) || !k(n.job_id)) && S();
280
+ (!T(n.key) || !T(n.job_id)) && S();
271
281
  const o = await e.call("delegate.example.export", { key: n.key, job_id: n.job_id });
272
- return (!U(o) || o.job_id !== n.job_id) && S(), o;
282
+ return (!F(o) || o.job_id !== n.job_id) && S(), o;
273
283
  },
274
284
  selectDestination: (n) => e.call("delegate.select_destination", { key: n.key, path: n.path }),
275
285
  async status() {
@@ -279,12 +289,12 @@ function v6(e, t = async () => {
279
289
  },
280
290
  async list() {
281
291
  const n = await e.call("delegate.list");
282
- return Array.isArray(n?.delegations) || S(), n.delegations.filter((o) => o.lifetime === "until-revoked" && !o.revoked).map((o) => ((!k(o.delegation_id) || typeof o.destination != "string" || !o.destination || !I(o.path) || typeof o.subject?.username != "string" || !o.subject.username) && S(), { id: o.delegation_id, key: o.destination, path: o.path, username: o.subject.username, lifetime: "until-revoked" }));
292
+ return Array.isArray(n?.delegations) || S(), n.delegations.filter((o) => o.lifetime === "until-revoked" && !o.revoked).map((o) => ((!T(o.delegation_id) || typeof o.destination != "string" || !o.destination || !x(o.path) || typeof o.subject?.username != "string" || !o.subject.username) && S(), { id: o.delegation_id, key: o.destination, path: o.path, username: o.subject.username, lifetime: "until-revoked" }));
283
293
  },
284
294
  async operations() {
285
295
  const n = await t();
286
296
  return Promise.all(n.map(async (o) => {
287
- (typeof o?.name != "string" || !o.name || !U(o)) && S();
297
+ (typeof o?.name != "string" || !o.name || !F(o)) && S();
288
298
  const i = { delegation_id: o.delegation_id, job_id: o.job_id };
289
299
  try {
290
300
  return { ...i, name: o.name, ...await a("delegate.operations.get", i) };
@@ -792,54 +802,54 @@ const qe = {
792
802
  "authorization.app_privilege_denied.namedBody": "請管理員到「控制台 > 應用程式權限」,選擇「{package}」並按「編輯」,允許你的帳號或群組使用",
793
803
  "authorization.admin_required.title": "需要管理員帳號",
794
804
  "authorization.admin_required.body": "此 App 僅供 administrators 群組的成員使用。請使用管理員帳號開啟"
795
- }, H = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], ue = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
796
- function z(e) {
805
+ }, V = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], ue = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
806
+ function y(e) {
797
807
  const t = e.replaceAll("_", "-");
798
- return [ue[t] ?? t, t.split("-")[0]].find((a) => H.includes(a)) ?? "en";
808
+ return [ue[t] ?? t, t.split("-")[0]].find((a) => V.includes(a)) ?? "en";
799
809
  }
800
- function A(e, t) {
810
+ function w(e, t) {
801
811
  const a = pe(e);
802
- return Object.fromEntries(H.map((n) => [n, M(a.en, a[n])]));
812
+ return Object.fromEntries(V.map((n) => [n, R(a.en, a[n])]));
803
813
  }
804
- function b6(e, t) {
805
- const a = pe(t), n = M(e.en, a.en);
806
- return Object.fromEntries(H.map((o) => [o, M(M(n, e[o]), a[o])]));
814
+ function S6(e, t) {
815
+ const a = pe(t), n = R(e.en, a.en);
816
+ return Object.fromEntries(V.map((o) => [o, R(R(n, e[o]), a[o])]));
807
817
  }
808
- function Ne(e, t, a = "en") {
809
- return (typeof e == "string" ? e : e[Ue(t.count, a)] ?? e.other).replace(/\{(\w+)\}/g, (o, i) => i in t ? String(t[i]) : o);
818
+ function Ue(e, t, a = "en") {
819
+ return (typeof e == "string" ? e : e[Ne(t.count, a)] ?? e.other).replace(/\{(\w+)\}/g, (o, i) => i in t ? String(t[i]) : o);
810
820
  }
811
- function Ue(e, t) {
821
+ function Ne(e, t) {
812
822
  return new Intl.PluralRules(ue[t] ?? t.replaceAll("_", "-")).select(Number(e ?? 0));
813
823
  }
814
824
  function pe(e) {
815
825
  return Object.fromEntries(Object.entries(e).map(([t, a]) => [t.slice(t.lastIndexOf("/") + 1, -5), a]));
816
826
  }
817
827
  const X = (e) => typeof e == "object" && e !== null && !Array.isArray(e), Oe = (e) => typeof e.other == "string";
818
- function M(e, t) {
828
+ function R(e, t) {
819
829
  if (!X(e) || !X(t) || Oe(t)) return t ?? e;
820
830
  const a = { ...e };
821
- for (const [n, o] of Object.entries(t)) a[n] = M(e[n], o);
831
+ for (const [n, o] of Object.entries(t)) a[n] = R(e[n], o);
822
832
  return a;
823
833
  }
824
- function S6(e) {
825
- return /^(zh|ja)/.test(z(e)) ? ":" : ": ";
834
+ function _6(e) {
835
+ return /^(zh|ja)/.test(y(e)) ? ":" : ": ";
826
836
  }
827
837
  const Fe = /[.。!?!?…]$/;
828
- function _6(e, t) {
829
- const a = /^(zh|ja)/.test(z(t)), n = e.map((o) => (o || "").trim()).filter(Boolean);
838
+ function z6(e, t) {
839
+ const a = /^(zh|ja)/.test(y(t)), n = e.map((o) => (o || "").trim()).filter(Boolean);
830
840
  return n.map((o, i) => i === n.length - 1 ? o.replace(/[.。]$/, "") : (Fe.test(o) ? o : o + (a ? "。" : ".")) + (a ? "" : " ")).join("");
831
841
  }
832
- const He = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/authorization/de.json": qe, "../../i18n/authorization/en.json": de, "../../i18n/authorization/es.json": Te, "../../i18n/authorization/fr.json": Ee, "../../i18n/authorization/it.json": Re, "../../i18n/authorization/ja.json": Le, "../../i18n/authorization/ko.json": Ie, "../../i18n/authorization/zh-CN.json": je, "../../i18n/authorization/zh-TW.json": xe }));
842
+ const He = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/authorization/de.json": qe, "../../i18n/authorization/en.json": de, "../../i18n/authorization/es.json": Te, "../../i18n/authorization/fr.json": Ee, "../../i18n/authorization/it.json": Re, "../../i18n/authorization/ja.json": Le, "../../i18n/authorization/ko.json": Ie, "../../i18n/authorization/zh-CN.json": je, "../../i18n/authorization/zh-TW.json": xe }));
833
843
  function Be(e, t) {
834
- const a = { ...de, ...He[z(e)] };
844
+ const a = { ...de, ...He[y(e)] };
835
845
  return (n) => (a[`authorization.${n}`] || n).replaceAll("{package}", t);
836
846
  }
837
- function F(e) {
847
+ function B(e) {
838
848
  const t = e?.code;
839
849
  return t === "app_privilege_denied" || t === "admin_required" ? t : void 0;
840
850
  }
841
- function x(e, t = "en", a) {
842
- const n = F(e);
851
+ function N(e, t = "en", a) {
852
+ const n = B(e);
843
853
  if (!n) return;
844
854
  const o = a?.trim() ?? "", i = Be(t, o);
845
855
  return { title: i(`${n}.title`), message: i(`${n}.${n === "app_privilege_denied" && o ? "namedBody" : "body"}`) };
@@ -849,28 +859,28 @@ function Ve(e = {}) {
849
859
  let o = !1;
850
860
  return {
851
861
  async download(i) {
852
- if (C(i), o) throw { code: "canceled" };
862
+ if (E(i), o) throw { code: "canceled" };
853
863
  const s = await t.token();
854
864
  if (o) throw { code: "canceled" };
855
865
  const r = document.createElement("iframe");
856
866
  r.hidden = !0, r.setAttribute("sandbox", "allow-forms allow-same-origin allow-downloads"), a.add(r), document.body.append(r);
857
- const l = r.contentDocument;
858
- if (!l)
867
+ const d = r.contentDocument;
868
+ if (!d)
859
869
  throw r.remove(), a.delete(r), { code: "unavailable" };
860
- const c = l.createElement("meta");
861
- c.httpEquiv = "Content-Security-Policy", c.content = "default-src 'none'; form-action 'self'; base-uri 'none'", l.head.append(c);
862
- const d = l.createElement("form");
863
- d.method = "POST", d.action = `${location.origin}${ce}?${new URLSearchParams({ SynoToken: s })}`;
864
- for (const [p, u] of Object.entries({ api: "SYNO.FileStation.Download", method: "download", version: "2", path: JSON.stringify([i]), mode: "download" })) {
865
- const g = l.createElement("input");
866
- g.type = "hidden", g.name = p, g.value = u, d.append(g);
870
+ const c = d.createElement("meta");
871
+ c.httpEquiv = "Content-Security-Policy", c.content = "default-src 'none'; form-action 'self'; base-uri 'none'", d.head.append(c);
872
+ const l = d.createElement("form");
873
+ l.method = "POST", l.action = `${location.origin}${ce}?${new URLSearchParams({ SynoToken: s })}`;
874
+ for (const [u, p] of Object.entries({ api: "SYNO.FileStation.Download", method: "download", version: "2", path: JSON.stringify([i]), mode: "download" })) {
875
+ const m = d.createElement("input");
876
+ m.type = "hidden", m.name = u, m.value = p, l.append(m);
867
877
  }
868
- l.body.append(d);
878
+ d.body.append(l);
869
879
  try {
870
- d.submit();
880
+ l.submit();
871
881
  } finally {
872
- for (const p of Array.from(d.querySelectorAll("input"))) p.value = "";
873
- d.action = "", d.remove();
882
+ for (const u of Array.from(l.querySelectorAll("input"))) u.value = "";
883
+ l.action = "", l.remove();
874
884
  }
875
885
  },
876
886
  dispose() {
@@ -882,12 +892,12 @@ function Ve(e = {}) {
882
892
  },
883
893
  async upload(i, s, r) {
884
894
  if (o) throw { code: "canceled" };
885
- const l = new AbortController(), c = () => l.abort();
886
- n.add(l), r.addEventListener("abort", c, { once: !0 }), r.aborted && l.abort();
895
+ const d = new AbortController(), c = () => d.abort();
896
+ n.add(d), r.addEventListener("abort", c, { once: !0 }), r.aborted && d.abort();
887
897
  try {
888
- await t.upload(i, s, l.signal);
898
+ await t.upload(i, s, d.signal);
889
899
  } finally {
890
- n.delete(l), r.removeEventListener("abort", c);
900
+ n.delete(d), r.removeEventListener("abort", c);
891
901
  }
892
902
  }
893
903
  };
@@ -895,89 +905,89 @@ function Ve(e = {}) {
895
905
  function _(e = "unavailable") {
896
906
  throw { code: e };
897
907
  }
898
- function j(e) {
908
+ function U(e) {
899
909
  return (!e || typeof e != "object" || Array.isArray(e)) && _(), e;
900
910
  }
901
911
  const he = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0;
902
912
  function ge(e) {
903
- const t = j(e), a = j(t.additional ?? {});
913
+ const t = U(e), a = U(t.additional ?? {});
904
914
  return (typeof t.name != "string" || typeof t.path != "string" || typeof t.isdir != "boolean" || a.size !== void 0 && !he(a.size)) && _(), { name: t.name, path: t.path, isDir: t.isdir, ...a.size === void 0 ? {} : { bytes: a.size } };
905
915
  }
906
916
  const We = /* @__PURE__ */ new Set(["#recycle", "#snapshot", "@eaDir", "@tmp", "@sharebin"]);
907
917
  function ee(e, t, a) {
908
- const n = j(e), o = n.shares ?? n.files;
918
+ const n = U(e), o = n.shares ?? n.files;
909
919
  (!Array.isArray(o) || o.length > a || !he(n.total) || n.offset !== t || t + o.length > n.total) && _();
910
920
  const i = o.map(ge), s = t + i.length;
911
921
  return s < n.total && !i.length && _(), { entries: i.filter((r) => !We.has(r.name)), total: n.total, offset: t, ...s < n.total ? { nextOffset: s } : {} };
912
922
  }
913
923
  function Ke(e) {
914
924
  let t = !1;
915
- const a = new AbortController(), n = Ve(e.files), o = le({ webApi: e.webApi, token: e.files?.token, timeout: q(e.requestTimeout) });
925
+ const a = new AbortController(), n = Ve(e.files), o = le({ webApi: e.webApi, token: e.files?.token, timeout: L(e.requestTimeout) });
916
926
  let i;
917
927
  function s() {
918
928
  return i ??= e.call("nas.session.status", {}, { signal: a.signal }).finally(() => {
919
929
  i = void 0;
920
930
  }), i;
921
931
  }
922
- async function r(l, c, d, p = !1) {
923
- (t || d.aborted) && _("canceled");
924
- let u = () => {
932
+ async function r(d, c, l, u = !1) {
933
+ (t || l.aborted) && _("canceled");
934
+ let p = () => {
925
935
  };
926
- const g = new Promise((v, $) => {
927
- const b = () => $({ code: p ? "commit-uncertain" : "canceled" }), w = setTimeout(() => $({ code: p ? "commit-uncertain" : "timeout" }), q(e.requestTimeout));
928
- d.addEventListener("abort", b, { once: !0 }), a.signal.addEventListener("abort", b, { once: !0 }), u = () => {
929
- clearTimeout(w), d.removeEventListener("abort", b), a.signal.removeEventListener("abort", b);
936
+ const m = new Promise((v, $) => {
937
+ const b = () => $({ code: u ? "commit-uncertain" : "canceled" }), z = setTimeout(() => $({ code: u ? "commit-uncertain" : "timeout" }), L(e.requestTimeout));
938
+ l.addEventListener("abort", b, { once: !0 }), a.signal.addEventListener("abort", b, { once: !0 }), p = () => {
939
+ clearTimeout(z), l.removeEventListener("abort", b), a.signal.removeEventListener("abort", b);
930
940
  };
931
- }), m = new AbortController(), h = () => m.abort();
932
- d.addEventListener("abort", h, { once: !0 }), a.signal.addEventListener("abort", h, { once: !0 });
933
- async function f() {
934
- switch (await s(), m.signal.aborted && _("canceled"), l) {
941
+ }), f = new AbortController(), h = () => f.abort();
942
+ l.addEventListener("abort", h, { once: !0 }), a.signal.addEventListener("abort", h, { once: !0 });
943
+ async function g() {
944
+ switch (await s(), f.signal.aborted && _("canceled"), d) {
935
945
  case "nas.files.shares":
936
- return o.shares(c.offset, m.signal);
946
+ return o.shares(c.offset, f.signal);
937
947
  case "nas.files.list":
938
- return o.list(c.path, c, m.signal);
948
+ return o.list(c.path, c, f.signal);
939
949
  case "nas.files.info":
940
- return o.info(c.path, m.signal);
950
+ return o.info(c.path, f.signal);
941
951
  case "nas.files.create_folder":
942
- return o.createFolder(c.parent, c.name, m.signal);
952
+ return o.createFolder(c.parent, c.name, f.signal);
943
953
  }
944
954
  _("unsupported");
945
955
  }
946
956
  try {
947
- return await Promise.race([f(), g]);
957
+ return await Promise.race([g(), m]);
948
958
  } catch (v) {
949
959
  const $ = v?.code;
950
- F(v) && _(F(v)), [407, 408, "407", "408", "denied"].includes($) && _("denied"), ($ === "cross_origin" || $ === "origin_required") && _("origin-refused"), ($ === "request_timeout" || $ === "request_canceled") && _(p ? "commit-uncertain" : $ === "request_timeout" ? "timeout" : "canceled"), _(typeof $ == "string" && ["session_required", "dsm_session_required", "auth_unavailable", "denied", "not_found", "conflict", "invalid-request", "unavailable", "unknown_method", "unsupported", "commit-uncertain", "canceled", "timeout"].includes($) ? $ : p ? "commit-uncertain" : "unavailable");
960
+ B(v) && _(B(v)), [407, 408, "407", "408", "denied"].includes($) && _("denied"), ($ === "cross_origin" || $ === "origin_required") && _("origin-refused"), ($ === "request_timeout" || $ === "request_canceled") && _(u ? "commit-uncertain" : $ === "request_timeout" ? "timeout" : "canceled"), _(typeof $ == "string" && ["session_required", "dsm_session_required", "auth_unavailable", "denied", "not_found", "conflict", "invalid-request", "unavailable", "unknown_method", "unsupported", "commit-uncertain", "canceled", "timeout"].includes($) ? $ : u ? "commit-uncertain" : "unavailable");
951
961
  } finally {
952
- u(), m.abort(), d.removeEventListener("abort", h), a.signal.removeEventListener("abort", h);
962
+ p(), f.abort(), l.removeEventListener("abort", h), a.signal.removeEventListener("abort", h);
953
963
  }
954
964
  }
955
965
  return {
956
- async upload(l, c, d) {
957
- (t || d.aborted) && _("canceled"), await e.call("nas.session.status", {}, { signal: d }), (t || d.aborted) && _("canceled"), await n.upload(l, c, d);
966
+ async upload(d, c, l) {
967
+ (t || l.aborted) && _("canceled"), await e.call("nas.session.status", {}, { signal: l }), (t || l.aborted) && _("canceled"), await n.upload(d, c, l);
958
968
  },
959
- async download(l) {
960
- t && _("canceled"), await e.call("nas.session.status"), t && _("canceled"), await n.download(l);
969
+ async download(d) {
970
+ t && _("canceled"), await e.call("nas.session.status"), t && _("canceled"), await n.download(d);
961
971
  },
962
- async shares(l, c) {
963
- return ee(await r("nas.files.shares", { offset: l }, c), l, 100);
972
+ async shares(d, c) {
973
+ return ee(await r("nas.files.shares", { offset: d }, c), d, 100);
964
974
  },
965
- async list(l, c, d) {
966
- const p = c.offset ?? 0, u = c.limit ?? 100;
967
- return ee(await r("nas.files.list", { path: l, ...c, offset: p, limit: u }, d), p, u);
975
+ async list(d, c, l) {
976
+ const u = c.offset ?? 0, p = c.limit ?? 100;
977
+ return ee(await r("nas.files.list", { path: d, ...c, offset: u, limit: p }, l), u, p);
968
978
  },
969
- async info(l, c) {
970
- return ge(await r("nas.files.info", { path: l }, c));
979
+ async info(d, c) {
980
+ return ge(await r("nas.files.info", { path: d }, c));
971
981
  },
972
- async createFolder(l, c, d) {
973
- j(await r("nas.files.create_folder", { parent: l, name: c }, d, !0)).created !== !0 && _("commit-uncertain");
982
+ async createFolder(d, c, l) {
983
+ U(await r("nas.files.create_folder", { parent: d, name: c }, l, !0)).created !== !0 && _("commit-uncertain");
974
984
  },
975
985
  dispose() {
976
986
  t = !0, a.abort(), n?.dispose();
977
987
  }
978
988
  };
979
989
  }
980
- const O = "SYNO.SDS.App.FileStation3.Instance";
990
+ const H = "SYNO.SDS.App.FileStation3.Instance";
981
991
  function me(e, t) {
982
992
  if (!e.startsWith("/")) return e;
983
993
  const a = (t ?? "").replace(/\/+$/, "");
@@ -985,10 +995,10 @@ function me(e, t) {
985
995
  const n = /^\/volume(?:USB|SATA)?\d+(?=\/|$)/.exec(e);
986
996
  return n ? e.slice(n[0].length) || "/" : e;
987
997
  }
988
- function z6(e, t = {}) {
998
+ function y6(e, t = {}) {
989
999
  return fe({ opendir: me(e, t.mount) }, t);
990
1000
  }
991
- function y6(e, t = {}) {
1001
+ function A6(e, t = {}) {
992
1002
  return fe({ openfile: me(e, t.mount) }, t);
993
1003
  }
994
1004
  function Je(e) {
@@ -998,12 +1008,12 @@ function Je(e) {
998
1008
  }
999
1009
  function fe(e, t) {
1000
1010
  const a = "desktop" in t ? t.desktop : globalThis.SYNO?.SDS, n = a?.StatusNotifier, o = "opendir" in e ? e.opendir : e.openfile;
1001
- return !Je(o) || typeof a?.AppLaunch != "function" || n?.isAppEnabled?.(O) === !1 || n?.isAppLaunchable?.(O) === !1 ? !1 : (a.AppLaunch(O, e), !0);
1011
+ return !Je(o) || typeof a?.AppLaunch != "function" || n?.isAppEnabled?.(H) === !1 || n?.isAppLaunchable?.(H) === !1 ? !1 : (a.AppLaunch(H, e), !0);
1002
1012
  }
1003
- function A6(e) {
1013
+ function k6(e) {
1004
1014
  return Ke(e);
1005
1015
  }
1006
- function k6(e, t) {
1016
+ function w6(e, t) {
1007
1017
  const a = (n) => {
1008
1018
  if (!t || !(n === t || n.startsWith(t + "/")) || n.includes("\\") || n.slice(1).split("/").some((o) => !o || o === "." || o === "..")) throw { code: "SCOPE_DENIED" };
1009
1019
  };
@@ -1032,19 +1042,19 @@ function k6(e, t) {
1032
1042
  }
1033
1043
  };
1034
1044
  }
1035
- function w6() {
1045
+ function D6() {
1036
1046
  return Array.from(crypto.getRandomValues(new Uint8Array(16)), (e) => e.toString(16).padStart(2, "0")).join("");
1037
1047
  }
1038
1048
  const Ge = ["status", "background"];
1039
- function D6(e) {
1049
+ function C6(e) {
1040
1050
  return Ge.filter((t) => t === "status" || e[t] === !0);
1041
1051
  }
1042
1052
  const te = (e) => typeof e == "string" ? e : e.id;
1043
- function C6(e, t) {
1053
+ function P6(e, t) {
1044
1054
  const a = t.find((o) => te(o) === e), n = t.find((o) => typeof o == "string" || !o.hidden);
1045
1055
  return te(a ?? n ?? "status");
1046
1056
  }
1047
- const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte", Qe = "Ordner auswählen", Xe = "Auswahl bestätigen", et = "Ordner aktualisieren", tt = "Wird geladen…", nt = "Dieser Ordner ist leer", ot = "Ordner", at = "Zurück", it = "Vorwärts", st = "{name} auswählen", rt = "{name} öffnen", ct = "Ausgewählt: {name}", lt = "Abbrechen", dt = "Schließen", ut = "Mehr laden", pt = "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner", ht = "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner", gt = "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste", mt = "Dieser Name existiert bereits. Wählen Sie einen anderen Namen", ft = "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung", $t = "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe", vt = "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später", bt = "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren", St = "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren", _t = "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", zt = "Metadaten", yt = "Datei", At = "Ordner", kt = "Name", wt = "Typ", Dt = "Größe", Ct = "Auswählen", Pt = "Datei auswählen", Mt = "{name} erweitern", qt = "{name} reduzieren", Tt = "Hochladen", Et = "Herunterladen", Rt = "Datei hochgeladen", Lt = "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station", It = "Wählen Sie eine Datei mit höchstens 16 GB aus", jt = "Speicherort", xt = "Vollständigen Pfad anzeigen", Nt = {
1057
+ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte", Qe = "Ordner auswählen", Xe = "Auswahl bestätigen", et = "Ordner aktualisieren", tt = "Wird geladen…", nt = "Dieser Ordner ist leer", ot = "Ordner", at = "Zurück", it = "Vorwärts", st = "{name} auswählen", rt = "{name} öffnen", ct = "Ausgewählt: {name}", lt = "Abbrechen", dt = "Schließen", ut = "Mehr laden", pt = "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner", ht = "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner", gt = "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste", mt = "Dieser Name existiert bereits. Wählen Sie einen anderen Namen", ft = "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung", $t = "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe", vt = "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später", bt = "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren", St = "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren", _t = "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", zt = "Metadaten", yt = "Datei", At = "Ordner", kt = "Name", wt = "Typ", Dt = "Größe", Ct = "Auswählen", Pt = "Datei auswählen", Mt = "{name} erweitern", qt = "{name} reduzieren", Tt = "Hochladen", Et = "Herunterladen", Rt = "Datei hochgeladen", Lt = "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station", It = "Wählen Sie eine Datei mit höchstens 16 GB aus", jt = "Speicherort", xt = "Vollständigen Pfad anzeigen", Ut = {
1048
1058
  title: Ze,
1049
1059
  ownPermissions: Ye,
1050
1060
  choose: Qe,
@@ -1088,8 +1098,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1088
1098
  errorUploadSize: It,
1089
1099
  location: jt,
1090
1100
  fullPath: xt
1091
- }, Ut = "NAS folders", Ot = "Operations use your own DSM session and current File Station permissions", Ft = "Choose folder", Ht = "Confirm selection", Bt = "Refresh folders", Vt = "Loading…", Wt = "This folder is empty", Kt = "Folders", Jt = "Back", Gt = "Forward", Zt = "Select {name}", Yt = "Open {name}", Qt = "Selected: {name}", Xt = "Cancel", en = "Close", tn = "Load more", nn = "Your DSM session expired. Sign in to DSM again, then refresh folders", on = "You do not have permission to access this file or folder. Choose another folder", an = "The file or folder no longer exists. Refresh the listing", sn = "A file or folder with that name already exists. Choose another name", rn = "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again", cn = "Invalid folder, filename or request. Check the input and try again", ln = "File Station is unavailable or this package lacks the session adapter. Refresh later", dn = "Request canceled. Refresh before continuing", un = "The request timed out. Refresh the listing before continuing", pn = "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", hn = "Metadata", gn = "File", mn = "Folder", fn = "Name", $n = "Type", vn = "Size", bn = "Select", Sn = "Choose file", _n = "Expand {name}", zn = "Collapse {name}", yn = "Upload", An = "Download", kn = "File uploaded", wn = "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station", Dn = "Choose one file up to 16 GB", Cn = "Location", Pn = "Show full path", Mn = {
1092
- title: Ut,
1101
+ }, Nt = "NAS folders", Ot = "Operations use your own DSM session and current File Station permissions", Ft = "Choose folder", Ht = "Confirm selection", Bt = "Refresh folders", Vt = "Loading…", Wt = "This folder is empty", Kt = "Folders", Jt = "Back", Gt = "Forward", Zt = "Select {name}", Yt = "Open {name}", Qt = "Selected: {name}", Xt = "Cancel", en = "Close", tn = "Load more", nn = "Your DSM session expired. Sign in to DSM again, then refresh folders", on = "You do not have permission to access this file or folder. Choose another folder", an = "The file or folder no longer exists. Refresh the listing", sn = "A file or folder with that name already exists. Choose another name", rn = "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again", cn = "Invalid folder, filename or request. Check the input and try again", ln = "File Station is unavailable or this package lacks the session adapter. Refresh later", dn = "Request canceled. Refresh before continuing", un = "The request timed out. Refresh the listing before continuing", pn = "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", hn = "Metadata", gn = "File", mn = "Folder", fn = "Name", $n = "Type", vn = "Size", bn = "Select", Sn = "Choose file", _n = "Expand {name}", zn = "Collapse {name}", yn = "Upload", An = "Download", kn = "File uploaded", wn = "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station", Dn = "Choose one file up to 16 GB", Cn = "Location", Pn = "Show full path", Mn = {
1102
+ title: Nt,
1093
1103
  ownPermissions: Ot,
1094
1104
  choose: Ft,
1095
1105
  confirm: Ht,
@@ -1132,7 +1142,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1132
1142
  errorUploadSize: Dn,
1133
1143
  location: Cn,
1134
1144
  fullPath: Pn
1135
- }, qn = "Carpetas NAS", Tn = "Las operaciones usan su sesión DSM y sus permisos actuales de File Station", En = "Elegir carpeta", Rn = "Confirmar selección", Ln = "Actualizar carpetas", In = "Cargando…", jn = "Esta carpeta está vacía", xn = "Carpetas", Nn = "Atrás", Un = "Adelante", On = "Seleccionar {name}", Fn = "Abrir {name}", Hn = "Seleccionado: {name}", Bn = "Cancelar", Vn = "Cerrar", Wn = "Cargar más", Kn = "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas", Jn = "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta", Gn = "El archivo o la carpeta ya no existe. Actualice la lista", Zn = "Ya existe un archivo o carpeta con ese nombre. Use otro nombre", Yn = "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo", Qn = "Carpeta, nombre o solicitud no válidos. Revise los datos", Xn = "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde", eo = "Solicitud cancelada. Actualice antes de continuar", to = "La solicitud agotó el tiempo. Actualice la lista antes de continuar", no = "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", oo = "Metadatos", ao = "Archivo", io = "Carpeta", so = "Nombre", ro = "Tipo", co = "Tamaño", lo = "Seleccionar", uo = "Elegir archivo", po = "Expandir {name}", ho = "Contraer {name}", go = "Subir", mo = "Descargar", fo = "Archivo subido", $o = "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", vo = "Seleccione un archivo de hasta 16 GB", bo = "Ubicación", So = "Mostrar la ruta completa", _o = {
1145
+ }, qn = "Carpetas NAS", Tn = "Las operaciones usan su sesión DSM y sus permisos actuales de File Station", En = "Elegir carpeta", Rn = "Confirmar selección", Ln = "Actualizar carpetas", In = "Cargando…", jn = "Esta carpeta está vacía", xn = "Carpetas", Un = "Atrás", Nn = "Adelante", On = "Seleccionar {name}", Fn = "Abrir {name}", Hn = "Seleccionado: {name}", Bn = "Cancelar", Vn = "Cerrar", Wn = "Cargar más", Kn = "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas", Jn = "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta", Gn = "El archivo o la carpeta ya no existe. Actualice la lista", Zn = "Ya existe un archivo o carpeta con ese nombre. Use otro nombre", Yn = "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo", Qn = "Carpeta, nombre o solicitud no válidos. Revise los datos", Xn = "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde", eo = "Solicitud cancelada. Actualice antes de continuar", to = "La solicitud agotó el tiempo. Actualice la lista antes de continuar", no = "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", oo = "Metadatos", ao = "Archivo", io = "Carpeta", so = "Nombre", ro = "Tipo", co = "Tamaño", lo = "Seleccionar", uo = "Elegir archivo", po = "Expandir {name}", ho = "Contraer {name}", go = "Subir", mo = "Descargar", fo = "Archivo subido", $o = "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", vo = "Seleccione un archivo de hasta 16 GB", bo = "Ubicación", So = "Mostrar la ruta completa", _o = {
1136
1146
  title: qn,
1137
1147
  ownPermissions: Tn,
1138
1148
  choose: En,
@@ -1141,8 +1151,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1141
1151
  loading: In,
1142
1152
  emptyFolder: jn,
1143
1153
  roots: xn,
1144
- back: Nn,
1145
- forward: Un,
1154
+ back: Un,
1155
+ forward: Nn,
1146
1156
  select: On,
1147
1157
  open: Fn,
1148
1158
  selected: Hn,
@@ -1176,7 +1186,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1176
1186
  errorUploadSize: vo,
1177
1187
  location: bo,
1178
1188
  fullPath: So
1179
- }, zo = "Dossiers NAS", yo = "Les opérations utilisent votre session DSM et vos droits File Station actuels", Ao = "Choisir un dossier", ko = "Confirmer la sélection", wo = "Actualiser les dossiers", Do = "Chargement…", Co = "Ce dossier est vide", Po = "Dossiers", Mo = "Retour", qo = "Suivant", To = "Sélectionner {name}", Eo = "Ouvrir {name}", Ro = "Sélection : {name}", Lo = "Annuler", Io = "Fermer", jo = "Charger plus", xo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers", No = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier", Uo = "Le fichier ou dossier n’existe plus. Actualisez la liste", Oo = "Ce nom existe déjà. Choisissez un autre nom", Fo = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau", Ho = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie", Bo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard", Vo = "Requête annulée. Actualisez avant de continuer", Wo = "Délai dépassé. Actualisez la liste avant de continuer", Ko = "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", Jo = "Métadonnées", Go = "Fichier", Zo = "Dossier", Yo = "Nom", Qo = "Type", Xo = "Taille", ea = "Sélectionner", ta = "Choisir un fichier", na = "Développer {name}", oa = "Réduire {name}", aa = "Téléverser", ia = "Télécharger", sa = "Fichier téléversé", ra = "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", ca = "Choisissez un fichier de 16 GB maximum", la = "Emplacement", da = "Afficher le chemin complet", ua = {
1189
+ }, zo = "Dossiers NAS", yo = "Les opérations utilisent votre session DSM et vos droits File Station actuels", Ao = "Choisir un dossier", ko = "Confirmer la sélection", wo = "Actualiser les dossiers", Do = "Chargement…", Co = "Ce dossier est vide", Po = "Dossiers", Mo = "Retour", qo = "Suivant", To = "Sélectionner {name}", Eo = "Ouvrir {name}", Ro = "Sélection : {name}", Lo = "Annuler", Io = "Fermer", jo = "Charger plus", xo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers", Uo = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier", No = "Le fichier ou dossier n’existe plus. Actualisez la liste", Oo = "Ce nom existe déjà. Choisissez un autre nom", Fo = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau", Ho = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie", Bo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard", Vo = "Requête annulée. Actualisez avant de continuer", Wo = "Délai dépassé. Actualisez la liste avant de continuer", Ko = "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", Jo = "Métadonnées", Go = "Fichier", Zo = "Dossier", Yo = "Nom", Qo = "Type", Xo = "Taille", ea = "Sélectionner", ta = "Choisir un fichier", na = "Développer {name}", oa = "Réduire {name}", aa = "Téléverser", ia = "Télécharger", sa = "Fichier téléversé", ra = "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", ca = "Choisissez un fichier de 16 GB maximum", la = "Emplacement", da = "Afficher le chemin complet", ua = {
1180
1190
  title: zo,
1181
1191
  ownPermissions: yo,
1182
1192
  choose: Ao,
@@ -1194,8 +1204,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1194
1204
  close: Io,
1195
1205
  loadMore: jo,
1196
1206
  errorSession: xo,
1197
- errorDenied: No,
1198
- errorNotFound: Uo,
1207
+ errorDenied: Uo,
1208
+ errorNotFound: No,
1199
1209
  errorConflict: Oo,
1200
1210
  errorUncertain: Fo,
1201
1211
  errorInvalid: Ho,
@@ -1220,7 +1230,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1220
1230
  errorUploadSize: ca,
1221
1231
  location: la,
1222
1232
  fullPath: da
1223
- }, pa = "Cartelle NAS", ha = "Le operazioni usano la sessione DSM corrente e i relativi permessi File Station", ga = "Scegli cartella", ma = "Conferma selezione", fa = "Aggiorna cartelle", $a = "Caricamento…", va = "Questa cartella è vuota", ba = "Cartelle", Sa = "Indietro", _a = "Avanti", za = "Seleziona {name}", ya = "Apri {name}", Aa = "Selezionato: {name}", ka = "Annulla", wa = "Chiudi", Da = "Carica altro", Ca = "Sessione DSM scaduta. Accedere di nuovo a DSM e aggiornare le cartelle", Pa = "Nessun permesso di accesso a questo file o cartella. Scegliere un’altra cartella", Ma = "Il file o la cartella non esiste più. Aggiornare l’elenco", qa = "Esiste già un file o una cartella con questo nome. Scegliere un altro nome", Ta = "L’operazione potrebbe essere stata completata. Aggiornare selezioni o destinazione e controllare il risultato prima di inviarla di nuovo", Ea = "Cartella, nome o richiesta non validi. Controllare i dati", Ra = "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi", La = "Richiesta annullata. Aggiornare prima di continuare", Ia = "Tempo scaduto. Aggiornare l’elenco prima di continuare", ja = "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", xa = "Metadati", Na = "File", Ua = "Cartella", Oa = "Nome", Fa = "Tipo", Ha = "Dimensione", Ba = "Seleziona", Va = "Scegli file", Wa = "Espandi {name}", Ka = "Comprimi {name}", Ja = "Carica", Ga = "Scarica", Za = "File caricato", Ya = "Accedere a DSM con questo nome host per accedere ai file NAS. Il solo accesso all’App non consente di usare File Station", Qa = "Selezionare un file fino a 16 GB", Xa = "Posizione", ei = "Mostra il percorso completo", ti = {
1233
+ }, pa = "Cartelle NAS", ha = "Le operazioni usano la sessione DSM corrente e i relativi permessi File Station", ga = "Scegli cartella", ma = "Conferma selezione", fa = "Aggiorna cartelle", $a = "Caricamento…", va = "Questa cartella è vuota", ba = "Cartelle", Sa = "Indietro", _a = "Avanti", za = "Seleziona {name}", ya = "Apri {name}", Aa = "Selezionato: {name}", ka = "Annulla", wa = "Chiudi", Da = "Carica altro", Ca = "Sessione DSM scaduta. Accedere di nuovo a DSM e aggiornare le cartelle", Pa = "Nessun permesso di accesso a questo file o cartella. Scegliere un’altra cartella", Ma = "Il file o la cartella non esiste più. Aggiornare l’elenco", qa = "Esiste già un file o una cartella con questo nome. Scegliere un altro nome", Ta = "L’operazione potrebbe essere stata completata. Aggiornare selezioni o destinazione e controllare il risultato prima di inviarla di nuovo", Ea = "Cartella, nome o richiesta non validi. Controllare i dati", Ra = "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi", La = "Richiesta annullata. Aggiornare prima di continuare", Ia = "Tempo scaduto. Aggiornare l’elenco prima di continuare", ja = "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", xa = "Metadati", Ua = "File", Na = "Cartella", Oa = "Nome", Fa = "Tipo", Ha = "Dimensione", Ba = "Seleziona", Va = "Scegli file", Wa = "Espandi {name}", Ka = "Comprimi {name}", Ja = "Carica", Ga = "Scarica", Za = "File caricato", Ya = "Accedere a DSM con questo nome host per accedere ai file NAS. Il solo accesso all’App non consente di usare File Station", Qa = "Selezionare un file fino a 16 GB", Xa = "Posizione", ei = "Mostra il percorso completo", ti = {
1224
1234
  title: pa,
1225
1235
  ownPermissions: ha,
1226
1236
  choose: ga,
@@ -1248,8 +1258,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1248
1258
  errorTimeout: Ia,
1249
1259
  errorOrigin: ja,
1250
1260
  metadata: xa,
1251
- fileKind: Na,
1252
- directoryKind: Ua,
1261
+ fileKind: Ua,
1262
+ directoryKind: Na,
1253
1263
  nameColumn: Oa,
1254
1264
  kindColumn: Fa,
1255
1265
  sizeColumn: Ha,
@@ -1264,7 +1274,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1264
1274
  errorUploadSize: Qa,
1265
1275
  location: Xa,
1266
1276
  fullPath: ei
1267
- }, ni = "NAS フォルダ", oi = "自分の DSM セッションと現在の File Station 権限で操作します", ai = "フォルダを選択", ii = "選択を確定", si = "フォルダを最新の情報に更新", ri = "読み込み中…", ci = "空のフォルダです", li = "フォルダ", di = "戻る", ui = "進む", pi = "{name} を選択", hi = "{name} を開く", gi = "選択済み:{name}", mi = "キャンセル", fi = "閉じる", $i = "さらに読み込む", vi = "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください", bi = "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください", Si = "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください", _i = "同名のファイルまたはフォルダがあります。別の名前を指定してください", zi = "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください", yi = "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください", Ai = "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください", ki = "リクエストをキャンセルしました。最新の情報に更新してから続けてください", wi = "リクエストがタイムアウトしました。一覧を最新の情報に更新してください", Di = "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください", Ci = "情報", Pi = "ファイル", Mi = "フォルダ", qi = "名前", Ti = "種類", Ei = "サイズ", Ri = "選択", Li = "ファイルを選択", Ii = "{name} を展開", ji = "{name} を折りたたむ", xi = "アップロード", Ni = "ダウンロード", Ui = "ファイルをアップロードしました", Oi = "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません", Fi = "16 GB 以下のファイルを 1 つ選択してください", Hi = "場所", Bi = "フルパスを表示", Vi = {
1277
+ }, ni = "NAS フォルダ", oi = "自分の DSM セッションと現在の File Station 権限で操作します", ai = "フォルダを選択", ii = "選択を確定", si = "フォルダを最新の情報に更新", ri = "読み込み中…", ci = "空のフォルダです", li = "フォルダ", di = "戻る", ui = "進む", pi = "{name} を選択", hi = "{name} を開く", gi = "選択済み:{name}", mi = "キャンセル", fi = "閉じる", $i = "さらに読み込む", vi = "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください", bi = "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください", Si = "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください", _i = "同名のファイルまたはフォルダがあります。別の名前を指定してください", zi = "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください", yi = "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください", Ai = "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください", ki = "リクエストをキャンセルしました。最新の情報に更新してから続けてください", wi = "リクエストがタイムアウトしました。一覧を最新の情報に更新してください", Di = "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください", Ci = "情報", Pi = "ファイル", Mi = "フォルダ", qi = "名前", Ti = "種類", Ei = "サイズ", Ri = "選択", Li = "ファイルを選択", Ii = "{name} を展開", ji = "{name} を折りたたむ", xi = "アップロード", Ui = "ダウンロード", Ni = "ファイルをアップロードしました", Oi = "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません", Fi = "16 GB 以下のファイルを 1 つ選択してください", Hi = "場所", Bi = "フルパスを表示", Vi = {
1268
1278
  title: ni,
1269
1279
  ownPermissions: oi,
1270
1280
  choose: ai,
@@ -1302,8 +1312,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1302
1312
  expand: Ii,
1303
1313
  collapse: ji,
1304
1314
  upload: xi,
1305
- download: Ni,
1306
- uploaded: Ui,
1315
+ download: Ui,
1316
+ uploaded: Ni,
1307
1317
  errorDSM: Oi,
1308
1318
  errorUploadSize: Fi,
1309
1319
  location: Hi,
@@ -1352,12 +1362,12 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1352
1362
  errorUploadSize: Ts,
1353
1363
  location: Es,
1354
1364
  fullPath: Rs
1355
- }, Is = "NAS 文件夹", js = "操作使用你自己的 DSM 会话与 File Station 实时权限", xs = "选择文件夹", Ns = "确认选择", Us = "刷新文件夹", Os = "正在加载…", Fs = "此文件夹为空", Hs = "文件夹", Bs = "返回", Vs = "前进", Ws = "选择 {name}", Ks = "打开 {name}", Js = "已选择:{name}", Gs = "取消", Zs = "关闭", Ys = "加载更多", Qs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹", Xs = "没有权限访问此文件或文件夹。请选择其他文件夹", er = "文件或文件夹已不存在。请刷新列表", tr = "已有同名文件或文件夹。请使用其他名称", nr = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交", or = "文件夹、文件名或请求无效。请检查输入后重试", ar = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新", ir = "请求已取消。请刷新后继续", sr = "请求超时。请刷新列表后继续", rr = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App", cr = "信息", lr = "文件", dr = "文件夹", ur = "名称", pr = "类型", hr = "大小", gr = "选择", mr = "选择文件", fr = "展开 {name}", $r = "收起 {name}", vr = "上传", br = "下载", Sr = "文件已上传", _r = "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station", zr = "请选择一个不超过 16 GB 的文件", yr = "位置", Ar = "显示完整路径", kr = {
1365
+ }, Is = "NAS 文件夹", js = "操作使用你自己的 DSM 会话与 File Station 实时权限", xs = "选择文件夹", Us = "确认选择", Ns = "刷新文件夹", Os = "正在加载…", Fs = "此文件夹为空", Hs = "文件夹", Bs = "返回", Vs = "前进", Ws = "选择 {name}", Ks = "打开 {name}", Js = "已选择:{name}", Gs = "取消", Zs = "关闭", Ys = "加载更多", Qs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹", Xs = "没有权限访问此文件或文件夹。请选择其他文件夹", er = "文件或文件夹已不存在。请刷新列表", tr = "已有同名文件或文件夹。请使用其他名称", nr = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交", or = "文件夹、文件名或请求无效。请检查输入后重试", ar = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新", ir = "请求已取消。请刷新后继续", sr = "请求超时。请刷新列表后继续", rr = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App", cr = "信息", lr = "文件", dr = "文件夹", ur = "名称", pr = "类型", hr = "大小", gr = "选择", mr = "选择文件", fr = "展开 {name}", $r = "收起 {name}", vr = "上传", br = "下载", Sr = "文件已上传", _r = "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station", zr = "请选择一个不超过 16 GB 的文件", yr = "位置", Ar = "显示完整路径", kr = {
1356
1366
  title: Is,
1357
1367
  ownPermissions: js,
1358
1368
  choose: xs,
1359
- confirm: Ns,
1360
- refresh: Us,
1369
+ confirm: Us,
1370
+ refresh: Ns,
1361
1371
  loading: Os,
1362
1372
  emptyFolder: Fs,
1363
1373
  roots: Hs,
@@ -1396,7 +1406,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1396
1406
  errorUploadSize: zr,
1397
1407
  location: yr,
1398
1408
  fullPath: Ar
1399
- }, wr = "NAS 資料夾", Dr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限", Cr = "選擇資料夾", Pr = "確認選取", Mr = "重新整理資料夾", qr = "載入中…", Tr = "此資料夾是空的", Er = "資料夾", Rr = "返回", Lr = "前進", Ir = "選取 {name}", jr = "開啟 {name}", xr = "已選取:{name}", Nr = "取消", Ur = "關閉", Or = "載入更多", Fr = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾", Hr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾", Br = "檔案或資料夾已不存在。請重新整理清單", Vr = "已有同名檔案或資料夾。請使用其他名稱", Wr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出", Kr = "資料夾、檔名或請求無效。請檢查輸入後重試", Jr = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理", Gr = "請求已取消。請重新整理後繼續", Zr = "請求逾時。請重新整理清單後繼續", Yr = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App", Qr = "資訊", Xr = "檔案", ec = "資料夾", tc = "名稱", nc = "類型", oc = "大小", ac = "選取", ic = "選擇檔案", sc = "展開 {name}", rc = "收合 {name}", cc = "上傳", lc = "下載", dc = "檔案已上傳", uc = "請在同一主機名稱登入 DSM,以存取 NAS 檔案。只有 App 登入無法使用 File Station", pc = "請選擇一個不超過 16 GB 的檔案", hc = "位置", gc = "顯示完整路徑", mc = {
1409
+ }, wr = "NAS 資料夾", Dr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限", Cr = "選擇資料夾", Pr = "確認選取", Mr = "重新整理資料夾", qr = "載入中…", Tr = "此資料夾是空的", Er = "資料夾", Rr = "返回", Lr = "前進", Ir = "選取 {name}", jr = "開啟 {name}", xr = "已選取:{name}", Ur = "取消", Nr = "關閉", Or = "載入更多", Fr = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾", Hr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾", Br = "檔案或資料夾已不存在。請重新整理清單", Vr = "已有同名檔案或資料夾。請使用其他名稱", Wr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出", Kr = "資料夾、檔名或請求無效。請檢查輸入後重試", Jr = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理", Gr = "請求已取消。請重新整理後繼續", Zr = "請求逾時。請重新整理清單後繼續", Yr = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App", Qr = "資訊", Xr = "檔案", ec = "資料夾", tc = "名稱", nc = "類型", oc = "大小", ac = "選取", ic = "選擇檔案", sc = "展開 {name}", rc = "收合 {name}", cc = "上傳", lc = "下載", dc = "檔案已上傳", uc = "請在同一主機名稱登入 DSM,以存取 NAS 檔案。只有 App 登入無法使用 File Station", pc = "請選擇一個不超過 16 GB 的檔案", hc = "位置", gc = "顯示完整路徑", mc = {
1400
1410
  title: wr,
1401
1411
  ownPermissions: Dr,
1402
1412
  choose: Cr,
@@ -1410,8 +1420,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1410
1420
  select: Ir,
1411
1421
  open: jr,
1412
1422
  selected: xr,
1413
- cancel: Nr,
1414
- close: Ur,
1423
+ cancel: Ur,
1424
+ close: Nr,
1415
1425
  loadMore: Or,
1416
1426
  errorSession: Fr,
1417
1427
  errorDenied: Hr,
@@ -1440,7 +1450,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1440
1450
  errorUploadSize: pc,
1441
1451
  location: hc,
1442
1452
  fullPath: gc
1443
- }, fc = "Dateizugriff im Hintergrund", $c = "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", vc = "Systemzugriff", bc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen", Sc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen", _c = "Diese App einmalig genehmigen", zc = "Diese App benötigt die Genehmigung eines Administrators", yc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen", Ac = "Einige ihrer Funktionen benötigen Systemrechte", kc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen", wc = "Über diese Genehmigung", Dc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind", Cc = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert", Pc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten", Mc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten", qc = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet", Tc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen", Ec = "Benutzerpasswort", Rc = "Genehmigen", Lc = "Freigegebenen Ordner bestätigen", Ic = "Der Dateizugriff im Hintergrund ist bereit", jc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden", xc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen", Nc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen", Uc = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen", Oc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen", Fc = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt", Hc = "Genehmigen", Bc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert", Vc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert", Wc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut", Kc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut", Jc = "Wird geladen…", Gc = "Details", Zc = "Widerrufen", Yc = "Auftrag abbrechen", Qc = "Sie haben keine aktiven Delegierungen", Xc = "Meine Delegierungen", el = "Ablauf", tl = "Meine Downloads", nl = "Sie haben keine Download-Aufträge", ol = "Download-URL", al = "Dateiname", il = "Ordner auswählen", sl = "In meinen Ordner herunterladen", rl = "Ziel", cl = "Auftrag abgebrochen. Der Widerruf steht noch aus; die App versucht es erneut", ll = "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", dl = "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", ul = "Falsches Passwort. Versuchen Sie es erneut", pl = "Geben Sie Ihr Benutzerpasswort ein", hl = "DSM konnte das Passwort nicht prüfen. Es wurde nichts geändert; versuchen Sie es erneut", gl = "Der Hintergrunddienst der App startet und prüft mit DSM. Das kann bis zu einer Minute dauern", ml = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und versuchen Sie es erneut", fl = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht", $l = "Downloads sind auf 64 MB und 60 Sekunden begrenzt", vl = "In Warteschlange", bl = "Wird heruntergeladen", Sl = "Gespeichert", _l = "Fehlgeschlagen", zl = "Abgebrochen", yl = "Unterbrochen", Al = "Home-Ordner jedes Benutzers", kl = "Bereich für Speichern im Hintergrund", wl = "Bestätigter Bereich", Dl = "Vorauswahl bei der Installation", Cl = "Die Vorauswahl bei der Installation ist nur ein Vorschlag. Bestätigen Sie diesen Bereich mit Ihrem Benutzerpasswort, wenn Sie den Hintergrundzugriff aktivieren", Pl = "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich", Ml = "Warten auf den Start der Systemdienste", ql = "Status", Tl = "Bereit", El = "Nicht verfügbar", Rl = "Wird bestätigt", Ll = "Der Systemdienst der App hat nicht geantwortet. Öffnen Sie die App über den DSM-Desktop oder laden Sie die Seite neu", Il = "Der Hintergrunddienst der App startet noch. Laden Sie die Seite gleich neu", jl = "Neuer Versuch", xl = "Limit für rohe Antworten (Bytes)", Nl = "Update prüfen", Ul = "Systemprogramme wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Ol = "Die Definitionen der Genehmigungsaufgaben wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Fl = "Die Genehmigungsrichtlinie wurde aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Hl = "Berechtigungen unverändert", Bl = "Berechtigungen erweitert. Prüfen Sie die Änderungen vor der Genehmigung", Vl = "Berechtigungen oder Parameter geändert. Prüfen Sie die Änderungen vor der Genehmigung", Wl = "Richtlinie", Kl = "Änderungen an Berechtigungen und Parametern", Jl = "Die bisherige geschützte Laufzeit hat keine Vergleichsdaten bereitgestellt. Änderungen und Berechtigungserweiterungen sind unbekannt. Eine erneute Administratorgenehmigung ist erforderlich", Gl = "Dieses Update genehmigen", Zl = {
1453
+ }, fc = "Dateizugriff im Hintergrund", $c = "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", vc = "Systemzugriff", bc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen", Sc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen", _c = "Diese App einmalig genehmigen", zc = "Diese App benötigt die Genehmigung eines Administrators", yc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen", Ac = "Einige ihrer Funktionen benötigen Systemrechte", kc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen", wc = "Über diese Genehmigung", Dc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind", Cc = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert", Pc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten", Mc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten", qc = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet", Tc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen", Ec = "Benutzerpasswort", Rc = "Genehmigen", Lc = "Freigegebenen Ordner bestätigen", Ic = "Der Dateizugriff im Hintergrund ist bereit", jc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden", xc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen", Uc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen", Nc = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen", Oc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen", Fc = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt", Hc = "Genehmigen", Bc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert", Vc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert", Wc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut", Kc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut", Jc = "Wird geladen…", Gc = "Details", Zc = "Widerrufen", Yc = "Auftrag abbrechen", Qc = "Sie haben keine aktiven Delegierungen", Xc = "Meine Delegierungen", el = "Ablauf", tl = "Meine Downloads", nl = "Sie haben keine Download-Aufträge", ol = "Download-URL", al = "Dateiname", il = "Ordner auswählen", sl = "In meinen Ordner herunterladen", rl = "Ziel", cl = "Auftrag abgebrochen. Der Widerruf steht noch aus; die App versucht es erneut", ll = "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", dl = "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", ul = "Falsches Passwort. Versuchen Sie es erneut", pl = "Geben Sie Ihr Benutzerpasswort ein", hl = "DSM konnte das Passwort nicht prüfen. Es wurde nichts geändert; versuchen Sie es erneut", gl = "Der Hintergrunddienst der App startet und prüft mit DSM. Das kann bis zu einer Minute dauern", ml = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und versuchen Sie es erneut", fl = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht", $l = "Downloads sind auf 64 MB und 60 Sekunden begrenzt", vl = "In Warteschlange", bl = "Wird heruntergeladen", Sl = "Gespeichert", _l = "Fehlgeschlagen", zl = "Abgebrochen", yl = "Unterbrochen", Al = "Home-Ordner jedes Benutzers", kl = "Bereich für Speichern im Hintergrund", wl = "Bestätigter Bereich", Dl = "Vorauswahl bei der Installation", Cl = "Die Vorauswahl bei der Installation ist nur ein Vorschlag. Bestätigen Sie diesen Bereich mit Ihrem Benutzerpasswort, wenn Sie den Hintergrundzugriff aktivieren", Pl = "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich", Ml = "Warten auf den Start der Systemdienste", ql = "Status", Tl = "Bereit", El = "Nicht verfügbar", Rl = "Wird bestätigt", Ll = "Der Systemdienst der App hat nicht geantwortet. Öffnen Sie die App über den DSM-Desktop oder laden Sie die Seite neu", Il = "Der Hintergrunddienst der App startet noch. Laden Sie die Seite gleich neu", jl = "Neuer Versuch", xl = "Limit für rohe Antworten (Bytes)", Ul = "Update prüfen", Nl = "Systemprogramme wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Ol = "Die Definitionen der Genehmigungsaufgaben wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Fl = "Die Genehmigungsrichtlinie wurde aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich", Hl = "Berechtigungen unverändert", Bl = "Berechtigungen erweitert. Prüfen Sie die Änderungen vor der Genehmigung", Vl = "Berechtigungen oder Parameter geändert. Prüfen Sie die Änderungen vor der Genehmigung", Wl = "Richtlinie", Kl = "Änderungen an Berechtigungen und Parametern", Jl = "Die bisherige geschützte Laufzeit hat keine Vergleichsdaten bereitgestellt. Änderungen und Berechtigungserweiterungen sind unbekannt. Eine erneute Administratorgenehmigung ist erforderlich", Gl = "Dieses Update genehmigen", Zl = {
1444
1454
  title: fc,
1445
1455
  help: $c,
1446
1456
  setupTitle: vc,
@@ -1464,8 +1474,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1464
1474
  ready: Ic,
1465
1475
  confirming: jc,
1466
1476
  needs: xc,
1467
- blocked: Nc,
1468
- executorBlocked: Uc,
1477
+ blocked: Uc,
1478
+ executorBlocked: Nc,
1469
1479
  noticeAdmin: Oc,
1470
1480
  noticeUser: Fc,
1471
1481
  noticeApprove: Hc,
@@ -1518,8 +1528,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1518
1528
  statusStarting: Il,
1519
1529
  retry: jl,
1520
1530
  rawLimit: xl,
1521
- upgradeTitle: Nl,
1522
- upgradePrograms: Ul,
1531
+ upgradeTitle: Ul,
1532
+ upgradePrograms: Nl,
1523
1533
  upgradeTasks: Ol,
1524
1534
  upgradePolicy: Fl,
1525
1535
  upgradeUnchanged: Hl,
@@ -1529,7 +1539,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1529
1539
  upgradeChanges: Kl,
1530
1540
  upgradeUnknown: Jl,
1531
1541
  upgradeConsentTitle: Gl
1532
- }, Yl = "Background file access", Ql = "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", Xl = "System access", ed = "Lets this app run the system tasks declared in its package", td = "Lets this app finish file jobs for users after they sign out", nd = "Approve this app once", od = "This app needs administrator approval", ad = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges", id = "Some of its features need system privileges", sd = "It needs system privileges to finish file jobs for users after they sign out", rd = "About this approval", cd = "Use the password of the DSM account you're signed in with now", ld = "DSM checks it directly. It isn't sent to this app's service or saved", dd = "The app can then run only the system tasks declared in its package, and nothing else with system privileges", ud = "If an update changes those tasks, you'll be asked to approve again", pd = "Approval adds the app's tasks to Task Scheduler. Uninstalling the app removes them and ends the approval", hd = "Ask an administrator to open this app and approve it once", gd = "User password", md = "Approve", fd = "Confirm share", $d = "Background file access is ready", vd = "Confirming background access. Do not submit again", bd = "An administrator must approve background file access", Sd = "Background file access is unavailable. Ask an administrator to check the app setup", _d = "System access is unavailable. Ask an administrator to check the app setup", zd = "Some features are unavailable until you approve system access for this app", yd = "Some features are unavailable until an administrator approves system access for this app", Ad = "Approve", kd = "This app is stopped. Start it in Package Center; this page updates by itself once it runs", wd = "This app is starting. This page updates by itself in a moment", Dd = "This app is stopped. Start it in Package Center, then try again", Cd = "This app is starting. Wait a moment, then try again", Pd = "Loading…", Md = "Details", qd = "Revoke", Td = "Cancel job", Ed = "You have no active delegations", Rd = "My delegations", Ld = "Expires", Id = "My downloads", jd = "You have no download jobs", xd = "Download URL", Nd = "File name", Ud = "Choose folder", Od = "Download to my folder", Fd = "Destination", Hd = "Job canceled. Revocation is pending; the app will retry", Bd = "The action could not be completed. Refresh and try again. If it keeps failing, contact your administrator", Vd = "Approval could not be completed. Re-enter your user password and try again, or check the app setup", Wd = "Incorrect password. Try again", Kd = "Enter your user password", Jd = "DSM couldn't check the password. Nothing was changed; try again", Gd = "This can take up to a minute while the app’s background service starts and checks with DSM", Zd = "Access was refused. Check your folder permissions and try again", Yd = "Sign in to DSM again, then refresh", Qd = "Downloads are limited to 64 MB and 60 seconds", Xd = "Queued", eu = "Downloading", tu = "Saved", nu = "Failed", ou = "Canceled", au = "Interrupted", iu = "Each user’s home folder", su = "Background save scope", ru = "Confirmed scope", cu = "Installer pre-selection", lu = "The installer pre-selection is a suggestion. Confirm this scope with your user password when enabling background access", du = "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope", uu = "Waiting for system services to start", pu = "Status", hu = "Ready", gu = "Unavailable", mu = "Confirming", fu = "The app's system service did not respond. Open the app from the DSM desktop or refresh the page", $u = "The app's background service is still starting. Refresh the page in a moment", vu = "Retry", bu = "Raw response limit (bytes)", Su = "Review this update", _u = "System programs updated. Administrator approval is required", zu = "Approval task definitions updated. Administrator approval is required", yu = "Approval policy updated. Administrator approval is required", Au = "Permissions unchanged", ku = "Permissions expanded. Review the changes before approving", wu = "Permissions or parameters changed. Review the changes before approving", Du = "Policy", Cu = "Permission and parameter changes", Pu = "The previous protected runtime did not provide comparison details. Changes and permission expansion cannot be determined. Administrator approval is required", Mu = "Approve this update", qu = {
1542
+ }, Yl = "Background file access", Ql = "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", Xl = "System access", ed = "Lets this app run the system tasks declared in its package", td = "Lets this app finish file jobs for users after they sign out", nd = "Approve this app once", od = "This app needs administrator approval", ad = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges", id = "Some of its features need system privileges", sd = "It needs system privileges to finish file jobs for users after they sign out", rd = "About this approval", cd = "Use the password of the DSM account you're signed in with now", ld = "DSM checks it directly. It isn't sent to this app's service or saved", dd = "The app can then run only the system tasks declared in its package, and nothing else with system privileges", ud = "If an update changes those tasks, you'll be asked to approve again", pd = "Approval adds the app's tasks to Task Scheduler. Uninstalling the app removes them and ends the approval", hd = "Ask an administrator to open this app and approve it once", gd = "User password", md = "Approve", fd = "Confirm share", $d = "Background file access is ready", vd = "Confirming background access. Do not submit again", bd = "An administrator must approve background file access", Sd = "Background file access is unavailable. Ask an administrator to check the app setup", _d = "System access is unavailable. Ask an administrator to check the app setup", zd = "Some features are unavailable until you approve system access for this app", yd = "Some features are unavailable until an administrator approves system access for this app", Ad = "Approve", kd = "This app is stopped. Start it in Package Center; this page updates by itself once it runs", wd = "This app is starting. This page updates by itself in a moment", Dd = "This app is stopped. Start it in Package Center, then try again", Cd = "This app is starting. Wait a moment, then try again", Pd = "Loading…", Md = "Details", qd = "Revoke", Td = "Cancel job", Ed = "You have no active delegations", Rd = "My delegations", Ld = "Expires", Id = "My downloads", jd = "You have no download jobs", xd = "Download URL", Ud = "File name", Nd = "Choose folder", Od = "Download to my folder", Fd = "Destination", Hd = "Job canceled. Revocation is pending; the app will retry", Bd = "The action could not be completed. Refresh and try again. If it keeps failing, contact your administrator", Vd = "Approval could not be completed. Re-enter your user password and try again, or check the app setup", Wd = "Incorrect password. Try again", Kd = "Enter your user password", Jd = "DSM couldn't check the password. Nothing was changed; try again", Gd = "This can take up to a minute while the app’s background service starts and checks with DSM", Zd = "Access was refused. Check your folder permissions and try again", Yd = "Sign in to DSM again, then refresh", Qd = "Downloads are limited to 64 MB and 60 seconds", Xd = "Queued", eu = "Downloading", tu = "Saved", nu = "Failed", ou = "Canceled", au = "Interrupted", iu = "Each user’s home folder", su = "Background save scope", ru = "Confirmed scope", cu = "Installer pre-selection", lu = "The installer pre-selection is a suggestion. Confirm this scope with your user password when enabling background access", du = "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope", uu = "Waiting for system services to start", pu = "Status", hu = "Ready", gu = "Unavailable", mu = "Confirming", fu = "The app's system service did not respond. Open the app from the DSM desktop or refresh the page", $u = "The app's background service is still starting. Refresh the page in a moment", vu = "Retry", bu = "Raw response limit (bytes)", Su = "Review this update", _u = "System programs updated. Administrator approval is required", zu = "Approval task definitions updated. Administrator approval is required", yu = "Approval policy updated. Administrator approval is required", Au = "Permissions unchanged", ku = "Permissions expanded. Review the changes before approving", wu = "Permissions or parameters changed. Review the changes before approving", Du = "Policy", Cu = "Permission and parameter changes", Pu = "The previous protected runtime did not provide comparison details. Changes and permission expansion cannot be determined. Administrator approval is required", Mu = "Approve this update", qu = {
1533
1543
  title: Yl,
1534
1544
  help: Ql,
1535
1545
  setupTitle: Xl,
@@ -1572,8 +1582,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1572
1582
  downloads: Id,
1573
1583
  noJobs: jd,
1574
1584
  url: xd,
1575
- name: Nd,
1576
- choose: Ud,
1585
+ name: Ud,
1586
+ choose: Nd,
1577
1587
  submit: Od,
1578
1588
  destination: Fd,
1579
1589
  pending: Hd,
@@ -1618,7 +1628,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1618
1628
  upgradeChanges: Cu,
1619
1629
  upgradeUnknown: Pu,
1620
1630
  upgradeConsentTitle: Mu
1621
- }, Tu = "Acceso a archivos en segundo plano", Eu = "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", Ru = "Acceso al sistema", Lu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete", Iu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión", ju = "Aprobar esta aplicación una sola vez", xu = "Esta aplicación necesita la aprobación de un administrador", Nu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema", Uu = "Algunas de sus funciones necesitan privilegios del sistema", Ou = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión", Fu = "Acerca de esta aprobación", Hu = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión", Bu = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda", Vu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema", Wu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo", Ku = "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", Ju = "Pida a un administrador que abra esta aplicación y la apruebe una vez", Gu = "Contraseña de usuario", Zu = "Aprobar", Yu = "Confirmar carpeta compartida", Qu = "El acceso a archivos en segundo plano está listo", Xu = "Confirmando el acceso en segundo plano. No vuelva a enviar", ep = "Un administrador debe aprobar el acceso a archivos en segundo plano", tp = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación", np = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación", op = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación", ap = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación", ip = "Aprobar", sp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente", rp = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento", cp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo", lp = "Esta aplicación se está iniciando. Espere un momento y vuelva a intentarlo", dp = "Cargando…", up = "Detalles", pp = "Revocar", hp = "Cancelar tarea", gp = "No tiene delegaciones activas", mp = "Mis delegaciones", fp = "Caducidad", $p = "Mis descargas", vp = "No tiene tareas de descarga", bp = "URL de descarga", Sp = "Nombre de archivo", _p = "Elegir carpeta", zp = "Descargar en mi carpeta", yp = "Destino", Ap = "Tarea cancelada. La revocación está pendiente; la aplicación volverá a intentarlo", kp = "No se pudo completar la acción. Actualice e inténtelo de nuevo. Si sigue fallando, póngase en contacto con su administrador", wp = "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", Dp = "Contraseña incorrecta. Vuelva a intentarlo", Cp = "Introduzca su contraseña de usuario", Pp = "DSM no pudo comprobar la contraseña. No se ha cambiado nada; vuelva a intentarlo", Mp = "El servicio en segundo plano de la aplicación se está iniciando y comprobando con DSM. Puede tardar hasta un minuto", qp = "Se denegó el acceso. Compruebe los permisos de la carpeta e inténtelo de nuevo", Tp = "Vuelva a iniciar sesión en DSM y luego actualice", Ep = "Las descargas están limitadas a 64 MB y 60 segundos", Rp = "En cola", Lp = "Descargando", Ip = "Guardado", jp = "Error", xp = "Cancelado", Np = "Interrumpido", Up = "Carpeta home de cada usuario", Op = "Ámbito de guardado en segundo plano", Fp = "Ámbito confirmado", Hp = "Preselección de la instalación", Bp = "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", Vp = "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado", Wp = "Esperando a que se inicien los servicios del sistema", Kp = "Estado", Jp = "Listo", Gp = "No disponible", Zp = "Confirmando", Yp = "El servicio del sistema de la aplicación no respondió. Abra la aplicación desde el escritorio de DSM o actualice la página", Qp = "El servicio en segundo plano de la aplicación aún se está iniciando. Actualice la página en un momento", Xp = "Volver a intentar", eh = "Límite de respuesta sin procesar (bytes)", th = "Revisar esta actualización", nh = "Se actualizaron los programas del sistema. Se requiere una nueva aprobación del administrador", oh = "Se actualizaron las definiciones de las tareas de aprobación. Se requiere una nueva aprobación del administrador", ah = "Se actualizó la política de aprobación. Se requiere una nueva aprobación del administrador", ih = "Permisos sin cambios", sh = "Se ampliaron los permisos. Revise los cambios antes de aprobar", rh = "Se modificaron los permisos o parámetros. Revise los cambios antes de aprobar", ch = "Política", lh = "Cambios en permisos y parámetros", dh = "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", uh = "Aprobar esta actualización", ph = {
1631
+ }, Tu = "Acceso a archivos en segundo plano", Eu = "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", Ru = "Acceso al sistema", Lu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete", Iu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión", ju = "Aprobar esta aplicación una sola vez", xu = "Esta aplicación necesita la aprobación de un administrador", Uu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema", Nu = "Algunas de sus funciones necesitan privilegios del sistema", Ou = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión", Fu = "Acerca de esta aprobación", Hu = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión", Bu = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda", Vu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema", Wu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo", Ku = "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", Ju = "Pida a un administrador que abra esta aplicación y la apruebe una vez", Gu = "Contraseña de usuario", Zu = "Aprobar", Yu = "Confirmar carpeta compartida", Qu = "El acceso a archivos en segundo plano está listo", Xu = "Confirmando el acceso en segundo plano. No vuelva a enviar", ep = "Un administrador debe aprobar el acceso a archivos en segundo plano", tp = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación", np = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación", op = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación", ap = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación", ip = "Aprobar", sp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente", rp = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento", cp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo", lp = "Esta aplicación se está iniciando. Espere un momento y vuelva a intentarlo", dp = "Cargando…", up = "Detalles", pp = "Revocar", hp = "Cancelar tarea", gp = "No tiene delegaciones activas", mp = "Mis delegaciones", fp = "Caducidad", $p = "Mis descargas", vp = "No tiene tareas de descarga", bp = "URL de descarga", Sp = "Nombre de archivo", _p = "Elegir carpeta", zp = "Descargar en mi carpeta", yp = "Destino", Ap = "Tarea cancelada. La revocación está pendiente; la aplicación volverá a intentarlo", kp = "No se pudo completar la acción. Actualice e inténtelo de nuevo. Si sigue fallando, póngase en contacto con su administrador", wp = "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", Dp = "Contraseña incorrecta. Vuelva a intentarlo", Cp = "Introduzca su contraseña de usuario", Pp = "DSM no pudo comprobar la contraseña. No se ha cambiado nada; vuelva a intentarlo", Mp = "El servicio en segundo plano de la aplicación se está iniciando y comprobando con DSM. Puede tardar hasta un minuto", qp = "Se denegó el acceso. Compruebe los permisos de la carpeta e inténtelo de nuevo", Tp = "Vuelva a iniciar sesión en DSM y luego actualice", Ep = "Las descargas están limitadas a 64 MB y 60 segundos", Rp = "En cola", Lp = "Descargando", Ip = "Guardado", jp = "Error", xp = "Cancelado", Up = "Interrumpido", Np = "Carpeta home de cada usuario", Op = "Ámbito de guardado en segundo plano", Fp = "Ámbito confirmado", Hp = "Preselección de la instalación", Bp = "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", Vp = "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado", Wp = "Esperando a que se inicien los servicios del sistema", Kp = "Estado", Jp = "Listo", Gp = "No disponible", Zp = "Confirmando", Yp = "El servicio del sistema de la aplicación no respondió. Abra la aplicación desde el escritorio de DSM o actualice la página", Qp = "El servicio en segundo plano de la aplicación aún se está iniciando. Actualice la página en un momento", Xp = "Volver a intentar", eh = "Límite de respuesta sin procesar (bytes)", th = "Revisar esta actualización", nh = "Se actualizaron los programas del sistema. Se requiere una nueva aprobación del administrador", oh = "Se actualizaron las definiciones de las tareas de aprobación. Se requiere una nueva aprobación del administrador", ah = "Se actualizó la política de aprobación. Se requiere una nueva aprobación del administrador", ih = "Permisos sin cambios", sh = "Se ampliaron los permisos. Revise los cambios antes de aprobar", rh = "Se modificaron los permisos o parámetros. Revise los cambios antes de aprobar", ch = "Política", lh = "Cambios en permisos y parámetros", dh = "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", uh = "Aprobar esta actualización", ph = {
1622
1632
  title: Tu,
1623
1633
  help: Eu,
1624
1634
  setupTitle: Ru,
@@ -1626,8 +1636,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1626
1636
  setupHelpFiles: Iu,
1627
1637
  consentTitle: ju,
1628
1638
  consentTitleUser: xu,
1629
- consentWhy: Nu,
1630
- consentPurpose: Uu,
1639
+ consentWhy: Uu,
1640
+ consentPurpose: Nu,
1631
1641
  consentPurposeFiles: Ou,
1632
1642
  consentDetails: Fu,
1633
1643
  pointPassword: Hu,
@@ -1680,8 +1690,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1680
1690
  succeeded: Ip,
1681
1691
  failed: jp,
1682
1692
  canceled: xp,
1683
- interrupted: Np,
1684
- homeScope: Up,
1693
+ interrupted: Up,
1694
+ homeScope: Np,
1685
1695
  scopeLabel: Op,
1686
1696
  protectedScope: Fp,
1687
1697
  preselection: Hp,
@@ -1707,7 +1717,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1707
1717
  upgradeChanges: lh,
1708
1718
  upgradeUnknown: dh,
1709
1719
  upgradeConsentTitle: uh
1710
- }, hh = "Accès aux fichiers en arrière-plan", gh = "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", mh = "Accès système", fh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet", $h = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion", vh = "Approuver cette application une seule fois", bh = "Cette application a besoin de l’approbation d’un administrateur", Sh = "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", _h = "Certaines de ses fonctions nécessitent des privilèges système", zh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion", yh = "À propos de cette approbation", Ah = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté", kh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré", wh = "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", Dh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée", Ch = "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", Ph = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois", Mh = "Mot de passe utilisateur", qh = "Approuver", Th = "Confirmer le dossier partagé", Eh = "L’accès aux fichiers en arrière-plan est prêt", Rh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau", Lh = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan", Ih = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application", jh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application", xh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application", Nh = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application", Uh = "Approuver", Oh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement", Fh = "Cette application démarre. Cette page se met à jour automatiquement dans un instant", Hh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez", Bh = "Cette application démarre. Patientez un instant, puis réessayez", Vh = "Chargement…", Wh = "Détails", Kh = "Révoquer", Jh = "Annuler la tâche", Gh = "Vous n’avez aucune délégation active", Zh = "Mes délégations", Yh = "Expiration", Qh = "Mes téléchargements", Xh = "Vous n’avez aucune tâche de téléchargement", eg = "URL de téléchargement", tg = "Nom du fichier", ng = "Choisir un dossier", og = "Télécharger dans mon dossier", ag = "Destination", ig = "Tâche annulée. La révocation est en attente ; l’application va réessayer", sg = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur", rg = "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", cg = "Mot de passe incorrect. Réessayez", lg = "Saisissez votre mot de passe utilisateur", dg = "DSM n’a pas pu vérifier le mot de passe. Rien n’a été modifié ; réessayez", ug = "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", pg = "L’accès a été refusé. Vérifiez les autorisations du dossier et réessayez", hg = "Reconnectez-vous à DSM, puis actualisez", gg = "Les téléchargements sont limités à 64 MB et 60 secondes", mg = "En file d’attente", fg = "Téléchargement en cours", $g = "Enregistré", vg = "Échec", bg = "Annulé", Sg = "Interrompu", _g = "Dossier home de chaque utilisateur", zg = "Portée de l’enregistrement en arrière-plan", yg = "Portée confirmée", Ag = "Présélection de l’installation", kg = "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", wg = "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", Dg = "En attente du démarrage des services système", Cg = "Statut", Pg = "Prêt", Mg = "Indisponible", qg = "Confirmation", Tg = "Le service système de l'application n'a pas répondu. Ouvrez l'application depuis le bureau DSM ou actualisez la page", Eg = "Le service en arrière-plan de l'application démarre encore. Actualisez la page dans un instant", Rg = "Réessayer", Lg = "Limite de réponse brute (octets)", Ig = "Vérifier cette mise à jour", jg = "Les programmes système ont été mis à jour. Une nouvelle approbation administrateur est requise", xg = "Les définitions des tâches d’approbation ont été mises à jour. Une nouvelle approbation administrateur est requise", Ng = "La politique d’approbation a été mise à jour. Une nouvelle approbation administrateur est requise", Ug = "Autorisations inchangées", Og = "Autorisations étendues. Vérifiez les modifications avant d’approuver", Fg = "Autorisations ou paramètres modifiés. Vérifiez les modifications avant d’approuver", Hg = "Politique", Bg = "Modifications des autorisations et paramètres", Vg = "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", Wg = "Approuver cette mise à jour", Kg = {
1720
+ }, hh = "Accès aux fichiers en arrière-plan", gh = "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", mh = "Accès système", fh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet", $h = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion", vh = "Approuver cette application une seule fois", bh = "Cette application a besoin de l’approbation d’un administrateur", Sh = "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", _h = "Certaines de ses fonctions nécessitent des privilèges système", zh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion", yh = "À propos de cette approbation", Ah = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté", kh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré", wh = "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", Dh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée", Ch = "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", Ph = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois", Mh = "Mot de passe utilisateur", qh = "Approuver", Th = "Confirmer le dossier partagé", Eh = "L’accès aux fichiers en arrière-plan est prêt", Rh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau", Lh = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan", Ih = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application", jh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application", xh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application", Uh = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application", Nh = "Approuver", Oh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement", Fh = "Cette application démarre. Cette page se met à jour automatiquement dans un instant", Hh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez", Bh = "Cette application démarre. Patientez un instant, puis réessayez", Vh = "Chargement…", Wh = "Détails", Kh = "Révoquer", Jh = "Annuler la tâche", Gh = "Vous n’avez aucune délégation active", Zh = "Mes délégations", Yh = "Expiration", Qh = "Mes téléchargements", Xh = "Vous n’avez aucune tâche de téléchargement", eg = "URL de téléchargement", tg = "Nom du fichier", ng = "Choisir un dossier", og = "Télécharger dans mon dossier", ag = "Destination", ig = "Tâche annulée. La révocation est en attente ; l’application va réessayer", sg = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur", rg = "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", cg = "Mot de passe incorrect. Réessayez", lg = "Saisissez votre mot de passe utilisateur", dg = "DSM n’a pas pu vérifier le mot de passe. Rien n’a été modifié ; réessayez", ug = "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", pg = "L’accès a été refusé. Vérifiez les autorisations du dossier et réessayez", hg = "Reconnectez-vous à DSM, puis actualisez", gg = "Les téléchargements sont limités à 64 MB et 60 secondes", mg = "En file d’attente", fg = "Téléchargement en cours", $g = "Enregistré", vg = "Échec", bg = "Annulé", Sg = "Interrompu", _g = "Dossier home de chaque utilisateur", zg = "Portée de l’enregistrement en arrière-plan", yg = "Portée confirmée", Ag = "Présélection de l’installation", kg = "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", wg = "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", Dg = "En attente du démarrage des services système", Cg = "Statut", Pg = "Prêt", Mg = "Indisponible", qg = "Confirmation", Tg = "Le service système de l'application n'a pas répondu. Ouvrez l'application depuis le bureau DSM ou actualisez la page", Eg = "Le service en arrière-plan de l'application démarre encore. Actualisez la page dans un instant", Rg = "Réessayer", Lg = "Limite de réponse brute (octets)", Ig = "Vérifier cette mise à jour", jg = "Les programmes système ont été mis à jour. Une nouvelle approbation administrateur est requise", xg = "Les définitions des tâches d’approbation ont été mises à jour. Une nouvelle approbation administrateur est requise", Ug = "La politique d’approbation a été mise à jour. Une nouvelle approbation administrateur est requise", Ng = "Autorisations inchangées", Og = "Autorisations étendues. Vérifiez les modifications avant d’approuver", Fg = "Autorisations ou paramètres modifiés. Vérifiez les modifications avant d’approuver", Hg = "Politique", Bg = "Modifications des autorisations et paramètres", Vg = "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", Wg = "Approuver cette mise à jour", Kg = {
1711
1721
  title: hh,
1712
1722
  help: gh,
1713
1723
  setupTitle: mh,
@@ -1734,8 +1744,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1734
1744
  blocked: Ih,
1735
1745
  executorBlocked: jh,
1736
1746
  noticeAdmin: xh,
1737
- noticeUser: Nh,
1738
- noticeApprove: Uh,
1747
+ noticeUser: Uh,
1748
+ noticeApprove: Nh,
1739
1749
  appStopped: Oh,
1740
1750
  appStarting: Fh,
1741
1751
  appStoppedAction: Hh,
@@ -1788,15 +1798,15 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1788
1798
  upgradeTitle: Ig,
1789
1799
  upgradePrograms: jg,
1790
1800
  upgradeTasks: xg,
1791
- upgradePolicy: Ng,
1792
- upgradeUnchanged: Ug,
1801
+ upgradePolicy: Ug,
1802
+ upgradeUnchanged: Ng,
1793
1803
  upgradeExpanded: Og,
1794
1804
  upgradeReview: Fg,
1795
1805
  upgradePolicyLabel: Hg,
1796
1806
  upgradeChanges: Bg,
1797
1807
  upgradeUnknown: Vg,
1798
1808
  upgradeConsentTitle: Wg
1799
- }, Jg = "Accesso ai file in background", Gg = "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", Zg = "Accesso di sistema", Yg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto", Qg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi", Xg = "Approvare questa app una sola volta", em = "Questa app richiede l’approvazione di un amministratore", tm = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema", nm = "Alcune sue funzioni richiedono privilegi di sistema", om = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi", am = "Informazioni su questa approvazione", im = "Usare la password dell’account DSM con cui si è effettuato l’accesso", sm = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata", rm = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema", cm = "Se un aggiornamento modifica queste attività, verrà richiesta una nuova approvazione", lm = "L’approvazione aggiunge le attività dell’app all’Utilità di pianificazione. Disinstallando l’app, queste vengono rimosse e l’approvazione termina", dm = "Chiedere a un amministratore di aprire questa app e approvarla una volta", um = "Password utente", pm = "Approva", hm = "Conferma cartella condivisa", gm = "L’accesso ai file in background è pronto", mm = "Accesso in background in fase di conferma. Non inviare di nuovo", fm = "Un amministratore deve approvare l’accesso ai file in background", $m = "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app", vm = "L’accesso di sistema non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app", bm = "Alcune funzioni non sono disponibili finché non si approva l’accesso di sistema per questa app", Sm = "Alcune funzioni non sono disponibili finché un amministratore non approva l’accesso di sistema per questa app", _m = "Approva", zm = "Questa app è arrestata. Avviarla in Centro pacchetti; poi questa pagina si aggiornerà automaticamente", ym = "Questa app è in fase di avvio. Questa pagina si aggiornerà automaticamente tra poco", Am = "Questa app è arrestata. Avviarla in Centro pacchetti, quindi riprovare", km = "Questa app è in fase di avvio. Attendere un momento, quindi riprovare", wm = "Caricamento…", Dm = "Dettagli", Cm = "Revoca", Pm = "Annulla processo", Mm = "Nessuna delega attiva", qm = "Le mie deleghe", Tm = "Scadenza", Em = "I miei download", Rm = "Nessun processo di download", Lm = "URL di download", Im = "Nome file", jm = "Scegli cartella", xm = "Scarica nella mia cartella", Nm = "Destinazione", Um = "Processo annullato. La revoca è in sospeso; l’app riproverà", Om = "Impossibile completare l’azione. Aggiornare e riprovare. Se il problema persiste, contattare l’amministratore", Fm = "Impossibile completare l’approvazione. Inserire di nuovo la password utente e riprovare, oppure controllare la configurazione dell’app", Hm = "Password errata. Riprovare", Bm = "Inserire la password utente", Vm = "DSM non è riuscito a verificare la password. Non è stato modificato nulla; riprovare", Wm = "Il servizio in background dell’app si sta avviando e sta effettuando verifiche con DSM. Può richiedere fino a un minuto", Km = "Accesso negato. Controllare le autorizzazioni della cartella e riprovare", Jm = "Accedere di nuovo a DSM, quindi aggiornare", Gm = "I download sono limitati a 64 MB e 60 secondi", Zm = "In coda", Ym = "Download in corso", Qm = "Salvato", Xm = "Non riuscito", ef = "Annullato", tf = "Interrotto", nf = "Cartella home di ogni utente", of = "Ambito di salvataggio in background", af = "Ambito confermato", sf = "Preselezione dell’installazione", rf = "La preselezione dell’installazione è solo un suggerimento. Confermare questo ambito con la password utente all’attivazione dell’accesso in background", cf = "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato", lf = "In attesa dell’avvio dei servizi di sistema", df = "Stato", uf = "Pronto", pf = "Non disponibile", hf = "Conferma in corso", gf = "Il servizio di sistema dell'app non ha risposto. Aprire l'app dal desktop DSM o aggiornare la pagina", mf = "Il servizio in background dell'app è ancora in avvio. Aggiornare la pagina tra poco", ff = "Riprova", $f = "Limite risposta non elaborata (byte)", vf = "Verifica questo aggiornamento", bf = "I programmi di sistema sono stati aggiornati. È richiesta una nuova approvazione dell’amministratore", Sf = "Le definizioni delle attività di approvazione sono state aggiornate. È richiesta una nuova approvazione dell’amministratore", _f = "La politica di approvazione è stata aggiornata. È richiesta una nuova approvazione dell’amministratore", zf = "Autorizzazioni invariate", yf = "Autorizzazioni ampliate. Verifica le modifiche prima di approvare", Af = "Autorizzazioni o parametri modificati. Verifica le modifiche prima di approvare", kf = "Politica", wf = "Modifiche ad autorizzazioni e parametri", Df = "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", Cf = "Approvare questo aggiornamento", Pf = {
1809
+ }, Jg = "Accesso ai file in background", Gg = "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", Zg = "Accesso di sistema", Yg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto", Qg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi", Xg = "Approvare questa app una sola volta", em = "Questa app richiede l’approvazione di un amministratore", tm = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema", nm = "Alcune sue funzioni richiedono privilegi di sistema", om = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi", am = "Informazioni su questa approvazione", im = "Usare la password dell’account DSM con cui si è effettuato l’accesso", sm = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata", rm = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema", cm = "Se un aggiornamento modifica queste attività, verrà richiesta una nuova approvazione", lm = "L’approvazione aggiunge le attività dell’app all’Utilità di pianificazione. Disinstallando l’app, queste vengono rimosse e l’approvazione termina", dm = "Chiedere a un amministratore di aprire questa app e approvarla una volta", um = "Password utente", pm = "Approva", hm = "Conferma cartella condivisa", gm = "L’accesso ai file in background è pronto", mm = "Accesso in background in fase di conferma. Non inviare di nuovo", fm = "Un amministratore deve approvare l’accesso ai file in background", $m = "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app", vm = "L’accesso di sistema non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app", bm = "Alcune funzioni non sono disponibili finché non si approva l’accesso di sistema per questa app", Sm = "Alcune funzioni non sono disponibili finché un amministratore non approva l’accesso di sistema per questa app", _m = "Approva", zm = "Questa app è arrestata. Avviarla in Centro pacchetti; poi questa pagina si aggiornerà automaticamente", ym = "Questa app è in fase di avvio. Questa pagina si aggiornerà automaticamente tra poco", Am = "Questa app è arrestata. Avviarla in Centro pacchetti, quindi riprovare", km = "Questa app è in fase di avvio. Attendere un momento, quindi riprovare", wm = "Caricamento…", Dm = "Dettagli", Cm = "Revoca", Pm = "Annulla processo", Mm = "Nessuna delega attiva", qm = "Le mie deleghe", Tm = "Scadenza", Em = "I miei download", Rm = "Nessun processo di download", Lm = "URL di download", Im = "Nome file", jm = "Scegli cartella", xm = "Scarica nella mia cartella", Um = "Destinazione", Nm = "Processo annullato. La revoca è in sospeso; l’app riproverà", Om = "Impossibile completare l’azione. Aggiornare e riprovare. Se il problema persiste, contattare l’amministratore", Fm = "Impossibile completare l’approvazione. Inserire di nuovo la password utente e riprovare, oppure controllare la configurazione dell’app", Hm = "Password errata. Riprovare", Bm = "Inserire la password utente", Vm = "DSM non è riuscito a verificare la password. Non è stato modificato nulla; riprovare", Wm = "Il servizio in background dell’app si sta avviando e sta effettuando verifiche con DSM. Può richiedere fino a un minuto", Km = "Accesso negato. Controllare le autorizzazioni della cartella e riprovare", Jm = "Accedere di nuovo a DSM, quindi aggiornare", Gm = "I download sono limitati a 64 MB e 60 secondi", Zm = "In coda", Ym = "Download in corso", Qm = "Salvato", Xm = "Non riuscito", ef = "Annullato", tf = "Interrotto", nf = "Cartella home di ogni utente", of = "Ambito di salvataggio in background", af = "Ambito confermato", sf = "Preselezione dell’installazione", rf = "La preselezione dell’installazione è solo un suggerimento. Confermare questo ambito con la password utente all’attivazione dell’accesso in background", cf = "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato", lf = "In attesa dell’avvio dei servizi di sistema", df = "Stato", uf = "Pronto", pf = "Non disponibile", hf = "Conferma in corso", gf = "Il servizio di sistema dell'app non ha risposto. Aprire l'app dal desktop DSM o aggiornare la pagina", mf = "Il servizio in background dell'app è ancora in avvio. Aggiornare la pagina tra poco", ff = "Riprova", $f = "Limite risposta non elaborata (byte)", vf = "Verifica questo aggiornamento", bf = "I programmi di sistema sono stati aggiornati. È richiesta una nuova approvazione dell’amministratore", Sf = "Le definizioni delle attività di approvazione sono state aggiornate. È richiesta una nuova approvazione dell’amministratore", _f = "La politica di approvazione è stata aggiornata. È richiesta una nuova approvazione dell’amministratore", zf = "Autorizzazioni invariate", yf = "Autorizzazioni ampliate. Verifica le modifiche prima di approvare", Af = "Autorizzazioni o parametri modificati. Verifica le modifiche prima di approvare", kf = "Politica", wf = "Modifiche ad autorizzazioni e parametri", Df = "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", Cf = "Approvare questo aggiornamento", Pf = {
1800
1810
  title: Jg,
1801
1811
  help: Gg,
1802
1812
  setupTitle: Zg,
@@ -1842,8 +1852,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1842
1852
  name: Im,
1843
1853
  choose: jm,
1844
1854
  submit: xm,
1845
- destination: Nm,
1846
- pending: Um,
1855
+ destination: Um,
1856
+ pending: Nm,
1847
1857
  error: Om,
1848
1858
  setupError: Fm,
1849
1859
  passwordRejected: Hm,
@@ -1885,7 +1895,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1885
1895
  upgradeChanges: wf,
1886
1896
  upgradeUnknown: Df,
1887
1897
  upgradeConsentTitle: Cf
1888
- }, Mf = "バックグラウンドのファイルアクセス", qf = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません", Tf = "システム権限", Ef = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします", Rf = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします", Lf = "このアプリを承認してください(1 回のみ)", If = "このアプリには管理者の承認が必要です", jf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません", xf = "一部の機能にシステム権限が必要です", Nf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です", Uf = "この承認について", Of = "現在 DSM にサインインしているアカウントのパスワードを使用します", Ff = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません", Hf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません", Bf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます", Vf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します", Wf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください", Kf = "ユーザーパスワード", Jf = "承認", Gf = "共有フォルダを確認", Zf = "バックグラウンドのファイルアクセスを利用できます", Yf = "バックグラウンドアクセスを確認しています。再送信しないでください", Qf = "バックグラウンドのファイルアクセスには管理者の承認が必要です", Xf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください", e$ = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください", t$ = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません", n$ = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません", o$ = "承認", a$ = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます", i$ = "このアプリは起動中です。まもなくこのページは自動的に更新されます", s$ = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください", r$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください", c$ = "読み込み中…", l$ = "詳細", d$ = "取り消す", u$ = "ジョブをキャンセル", p$ = "有効な委任はありません", h$ = "自分の委任", g$ = "有効期限", m$ = "自分のダウンロード", f$ = "ダウンロードジョブはありません", $$ = "ダウンロード URL", v$ = "ファイル名", b$ = "フォルダを選択", S$ = "自分のフォルダにダウンロード", _$ = "保存先", z$ = "ジョブをキャンセルしました。委任の取り消しは保留中で、アプリが再試行します", y$ = "操作を完了できませんでした。最新の情報に更新してから、もう一度お試しください。問題が解決しない場合は、管理者に連絡してください", A$ = "承認を完了できませんでした。ユーザーパスワードを入力し直して再試行するか、アプリの設定を確認してください", k$ = "パスワードが正しくありません。もう一度お試しください", w$ = "ユーザーパスワードを入力してください", D$ = "DSM でパスワードを確認できませんでした。変更は行われていません。もう一度お試しください", C$ = "アプリのバックグラウンドサービスが起動して DSM に確認しています。最大 1 分ほどかかることがあります", P$ = "アクセスが拒否されました。フォルダの権限を確認してもう一度お試しください", M$ = "DSM に再度サインインしてから、最新の情報に更新してください", q$ = "ダウンロードは 64 MB、60 秒までです", T$ = "待機中", E$ = "ダウンロード中", R$ = "保存済み", L$ = "失敗", I$ = "キャンセル済み", j$ = "中断", x$ = "各ユーザーの home フォルダ", N$ = "バックグラウンド保存の範囲", U$ = "確認済みの範囲", O$ = "インストール時の事前選択", F$ = "インストール時の事前選択は提案にすぎません。バックグラウンドアクセスを有効にするときに、ユーザーパスワードでこの範囲を確認してください", H$ = "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います", B$ = "システムサービスの起動を待っています", V$ = "状態", W$ = "準備完了", K$ = "使用不可", J$ = "確認中", G$ = "アプリのシステムサービスが応答しませんでした。DSM デスクトップからアプリを開くか、ページを再読み込みしてください", Z$ = "アプリのバックグラウンドサービスはまだ起動中です。しばらくしてからページを再読み込みしてください", Y$ = "再試行", Q$ = "未加工レスポンスの上限(バイト)", X$ = "この更新を確認", ev = "システムプログラムが更新されました。管理者の再承認が必要です", tv = "承認タスクの定義が更新されました。管理者の再承認が必要です", nv = "承認ポリシーが更新されました。管理者の再承認が必要です", ov = "権限に変更はありません", av = "権限が拡張されました。変更を確認してから承認してください", iv = "権限またはパラメーターが変更されました。確認してから承認してください", sv = "ポリシー", rv = "権限とパラメーターの変更", cv = "以前の保護された実行環境から比較情報を取得できません。変更内容や権限の拡張は不明です。管理者の再承認が必要です", lv = "この更新を承認", dv = {
1898
+ }, Mf = "バックグラウンドのファイルアクセス", qf = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません", Tf = "システム権限", Ef = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします", Rf = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします", Lf = "このアプリを承認してください(1 回のみ)", If = "このアプリには管理者の承認が必要です", jf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません", xf = "一部の機能にシステム権限が必要です", Uf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です", Nf = "この承認について", Of = "現在 DSM にサインインしているアカウントのパスワードを使用します", Ff = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません", Hf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません", Bf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます", Vf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します", Wf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください", Kf = "ユーザーパスワード", Jf = "承認", Gf = "共有フォルダを確認", Zf = "バックグラウンドのファイルアクセスを利用できます", Yf = "バックグラウンドアクセスを確認しています。再送信しないでください", Qf = "バックグラウンドのファイルアクセスには管理者の承認が必要です", Xf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください", e$ = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください", t$ = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません", n$ = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません", o$ = "承認", a$ = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます", i$ = "このアプリは起動中です。まもなくこのページは自動的に更新されます", s$ = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください", r$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください", c$ = "読み込み中…", l$ = "詳細", d$ = "取り消す", u$ = "ジョブをキャンセル", p$ = "有効な委任はありません", h$ = "自分の委任", g$ = "有効期限", m$ = "自分のダウンロード", f$ = "ダウンロードジョブはありません", $$ = "ダウンロード URL", v$ = "ファイル名", b$ = "フォルダを選択", S$ = "自分のフォルダにダウンロード", _$ = "保存先", z$ = "ジョブをキャンセルしました。委任の取り消しは保留中で、アプリが再試行します", y$ = "操作を完了できませんでした。最新の情報に更新してから、もう一度お試しください。問題が解決しない場合は、管理者に連絡してください", A$ = "承認を完了できませんでした。ユーザーパスワードを入力し直して再試行するか、アプリの設定を確認してください", k$ = "パスワードが正しくありません。もう一度お試しください", w$ = "ユーザーパスワードを入力してください", D$ = "DSM でパスワードを確認できませんでした。変更は行われていません。もう一度お試しください", C$ = "アプリのバックグラウンドサービスが起動して DSM に確認しています。最大 1 分ほどかかることがあります", P$ = "アクセスが拒否されました。フォルダの権限を確認してもう一度お試しください", M$ = "DSM に再度サインインしてから、最新の情報に更新してください", q$ = "ダウンロードは 64 MB、60 秒までです", T$ = "待機中", E$ = "ダウンロード中", R$ = "保存済み", L$ = "失敗", I$ = "キャンセル済み", j$ = "中断", x$ = "各ユーザーの home フォルダ", U$ = "バックグラウンド保存の範囲", N$ = "確認済みの範囲", O$ = "インストール時の事前選択", F$ = "インストール時の事前選択は提案にすぎません。バックグラウンドアクセスを有効にするときに、ユーザーパスワードでこの範囲を確認してください", H$ = "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います", B$ = "システムサービスの起動を待っています", V$ = "状態", W$ = "準備完了", K$ = "使用不可", J$ = "確認中", G$ = "アプリのシステムサービスが応答しませんでした。DSM デスクトップからアプリを開くか、ページを再読み込みしてください", Z$ = "アプリのバックグラウンドサービスはまだ起動中です。しばらくしてからページを再読み込みしてください", Y$ = "再試行", Q$ = "未加工レスポンスの上限(バイト)", X$ = "この更新を確認", ev = "システムプログラムが更新されました。管理者の再承認が必要です", tv = "承認タスクの定義が更新されました。管理者の再承認が必要です", nv = "承認ポリシーが更新されました。管理者の再承認が必要です", ov = "権限に変更はありません", av = "権限が拡張されました。変更を確認してから承認してください", iv = "権限またはパラメーターが変更されました。確認してから承認してください", sv = "ポリシー", rv = "権限とパラメーターの変更", cv = "以前の保護された実行環境から比較情報を取得できません。変更内容や権限の拡張は不明です。管理者の再承認が必要です", lv = "この更新を承認", dv = {
1889
1899
  title: Mf,
1890
1900
  help: qf,
1891
1901
  setupTitle: Tf,
@@ -1895,8 +1905,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1895
1905
  consentTitleUser: If,
1896
1906
  consentWhy: jf,
1897
1907
  consentPurpose: xf,
1898
- consentPurposeFiles: Nf,
1899
- consentDetails: Uf,
1908
+ consentPurposeFiles: Uf,
1909
+ consentDetails: Nf,
1900
1910
  pointPassword: Of,
1901
1911
  passwordNote: Ff,
1902
1912
  pointLimited: Hf,
@@ -1949,8 +1959,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1949
1959
  canceled: I$,
1950
1960
  interrupted: j$,
1951
1961
  homeScope: x$,
1952
- scopeLabel: N$,
1953
- protectedScope: U$,
1962
+ scopeLabel: U$,
1963
+ protectedScope: N$,
1954
1964
  preselection: O$,
1955
1965
  preselectionHelp: F$,
1956
1966
  scopeMismatch: H$,
@@ -1974,7 +1984,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
1974
1984
  upgradeChanges: rv,
1975
1985
  upgradeUnknown: cv,
1976
1986
  upgradeConsentTitle: lv
1977
- }, uv = "백그라운드 파일 액세스", pv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다", hv = "시스템 권한", gv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다", mv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다", fv = "이 앱을 한 번 승인하십시오", $v = "이 앱에 관리자 승인이 필요합니다", vv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다", bv = "일부 기능에 시스템 권한이 필요합니다", Sv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다", _v = "이 승인에 대한 정보", zv = "현재 DSM에 로그인한 계정의 암호를 사용합니다", yv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다", Av = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다", kv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다", wv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다", Dv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오", Cv = "사용자 비밀번호", Pv = "승인", Mv = "공유 폴더 확인", qv = "백그라운드 파일 액세스를 사용할 수 있습니다", Tv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오", Ev = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다", Rv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오", Lv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오", Iv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다", jv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다", xv = "승인", Nv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다", Uv = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다", Ov = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오", Fv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오", Hv = "불러오는 중…", Bv = "세부 사항", Vv = "취소", Wv = "작업 취소", Kv = "활성 위임이 없습니다", Jv = "내 위임", Gv = "만료", Zv = "내 다운로드", Yv = "다운로드 작업이 없습니다", Qv = "다운로드 URL", Xv = "파일 이름", eb = "폴더 선택", tb = "내 폴더에 다운로드", nb = "대상", ob = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다", ab = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오", ib = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오", sb = "암호가 올바르지 않습니다. 다시 시도하십시오", rb = "사용자 비밀번호를 입력하십시오", cb = "DSM에서 암호를 확인하지 못했습니다. 변경된 내용은 없습니다. 다시 시도하십시오", lb = "앱의 백그라운드 서비스가 시작되어 DSM에 확인하는 중입니다. 최대 1분 정도 걸릴 수 있습니다", db = "액세스가 거부되었습니다. 폴더 권한을 확인하고 다시 시도하십시오", ub = "DSM에 다시 로그인한 후 새로 고치십시오", pb = "다운로드는 64 MB, 60초로 제한됩니다", hb = "대기 중", gb = "다운로드 중", mb = "저장됨", fb = "실패", $b = "취소됨", vb = "중단됨", bb = "각 사용자의 home 폴더", Sb = "백그라운드 저장 범위", _b = "확인된 범위", zb = "설치 시 사전 선택", yb = "설치 시 사전 선택은 제안일 뿐입니다. 백그라운드 액세스를 활성화할 때 사용자 비밀번호로 이 범위를 확인하십시오", Ab = "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다", kb = "시스템 서비스 시작을 기다리는 중", wb = "상태", Db = "준비됨", Cb = "사용 불가", Pb = "확인 중", Mb = "앱의 시스템 서비스가 응답하지 않았습니다. DSM 데스크톱에서 앱을 열거나 페이지를 새로 고치십시오", qb = "앱의 백그라운드 서비스가 아직 시작 중입니다. 잠시 후 페이지를 새로 고치십시오", Tb = "재시도", Eb = "원시 응답 한도(바이트)", Rb = "업데이트 검토", Lb = "시스템 프로그램이 업데이트되었습니다. 관리자 재승인이 필요합니다", Ib = "승인 작업 정의가 업데이트되었습니다. 관리자 재승인이 필요합니다", jb = "승인 정책이 업데이트되었습니다. 관리자 재승인이 필요합니다", xb = "권한이 변경되지 않았습니다", Nb = "권한이 확대되었습니다. 변경 사항을 검토한 후 승인하십시오", Ub = "권한 또는 매개변수가 변경되었습니다. 검토한 후 승인하십시오", Ob = "정책", Fb = "권한 및 매개변수 변경", Hb = "이전 보호된 실행 환경에서 비교 정보를 제공하지 않았습니다. 변경 내용과 권한 확대 여부를 확인할 수 없습니다. 관리자 재승인이 필요합니다", Bb = "이 업데이트 승인", Vb = {
1987
+ }, uv = "백그라운드 파일 액세스", pv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다", hv = "시스템 권한", gv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다", mv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다", fv = "이 앱을 한 번 승인하십시오", $v = "이 앱에 관리자 승인이 필요합니다", vv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다", bv = "일부 기능에 시스템 권한이 필요합니다", Sv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다", _v = "이 승인에 대한 정보", zv = "현재 DSM에 로그인한 계정의 암호를 사용합니다", yv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다", Av = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다", kv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다", wv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다", Dv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오", Cv = "사용자 비밀번호", Pv = "승인", Mv = "공유 폴더 확인", qv = "백그라운드 파일 액세스를 사용할 수 있습니다", Tv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오", Ev = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다", Rv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오", Lv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오", Iv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다", jv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다", xv = "승인", Uv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다", Nv = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다", Ov = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오", Fv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오", Hv = "불러오는 중…", Bv = "세부 사항", Vv = "취소", Wv = "작업 취소", Kv = "활성 위임이 없습니다", Jv = "내 위임", Gv = "만료", Zv = "내 다운로드", Yv = "다운로드 작업이 없습니다", Qv = "다운로드 URL", Xv = "파일 이름", eb = "폴더 선택", tb = "내 폴더에 다운로드", nb = "대상", ob = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다", ab = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오", ib = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오", sb = "암호가 올바르지 않습니다. 다시 시도하십시오", rb = "사용자 비밀번호를 입력하십시오", cb = "DSM에서 암호를 확인하지 못했습니다. 변경된 내용은 없습니다. 다시 시도하십시오", lb = "앱의 백그라운드 서비스가 시작되어 DSM에 확인하는 중입니다. 최대 1분 정도 걸릴 수 있습니다", db = "액세스가 거부되었습니다. 폴더 권한을 확인하고 다시 시도하십시오", ub = "DSM에 다시 로그인한 후 새로 고치십시오", pb = "다운로드는 64 MB, 60초로 제한됩니다", hb = "대기 중", gb = "다운로드 중", mb = "저장됨", fb = "실패", $b = "취소됨", vb = "중단됨", bb = "각 사용자의 home 폴더", Sb = "백그라운드 저장 범위", _b = "확인된 범위", zb = "설치 시 사전 선택", yb = "설치 시 사전 선택은 제안일 뿐입니다. 백그라운드 액세스를 활성화할 때 사용자 비밀번호로 이 범위를 확인하십시오", Ab = "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다", kb = "시스템 서비스 시작을 기다리는 중", wb = "상태", Db = "준비됨", Cb = "사용 불가", Pb = "확인 중", Mb = "앱의 시스템 서비스가 응답하지 않았습니다. DSM 데스크톱에서 앱을 열거나 페이지를 새로 고치십시오", qb = "앱의 백그라운드 서비스가 아직 시작 중입니다. 잠시 후 페이지를 새로 고치십시오", Tb = "재시도", Eb = "원시 응답 한도(바이트)", Rb = "업데이트 검토", Lb = "시스템 프로그램이 업데이트되었습니다. 관리자 재승인이 필요합니다", Ib = "승인 작업 정의가 업데이트되었습니다. 관리자 재승인이 필요합니다", jb = "승인 정책이 업데이트되었습니다. 관리자 재승인이 필요합니다", xb = "권한이 변경되지 않았습니다", Ub = "권한이 확대되었습니다. 변경 사항을 검토한 후 승인하십시오", Nb = "권한 또는 매개변수가 변경되었습니다. 검토한 후 승인하십시오", Ob = "정책", Fb = "권한 및 매개변수 변경", Hb = "이전 보호된 실행 환경에서 비교 정보를 제공하지 않았습니다. 변경 내용과 권한 확대 여부를 확인할 수 없습니다. 관리자 재승인이 필요합니다", Bb = "이 업데이트 승인", Vb = {
1978
1988
  title: uv,
1979
1989
  help: pv,
1980
1990
  setupTitle: hv,
@@ -2003,8 +2013,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2003
2013
  noticeAdmin: Iv,
2004
2014
  noticeUser: jv,
2005
2015
  noticeApprove: xv,
2006
- appStopped: Nv,
2007
- appStarting: Uv,
2016
+ appStopped: Uv,
2017
+ appStarting: Nv,
2008
2018
  appStoppedAction: Ov,
2009
2019
  appStartingAction: Fv,
2010
2020
  loading: Hv,
@@ -2057,13 +2067,13 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2057
2067
  upgradeTasks: Ib,
2058
2068
  upgradePolicy: jb,
2059
2069
  upgradeUnchanged: xb,
2060
- upgradeExpanded: Nb,
2061
- upgradeReview: Ub,
2070
+ upgradeExpanded: Ub,
2071
+ upgradeReview: Nb,
2062
2072
  upgradePolicyLabel: Ob,
2063
2073
  upgradeChanges: Fb,
2064
2074
  upgradeUnknown: Hb,
2065
2075
  upgradeConsentTitle: Bb
2066
- }, Wb = "后台文件访问", Kb = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换", Jb = "系统权限", Gb = "让此 App 执行其套件中声明的系统任务", Zb = "让此 App 在用户注销后继续为其完成文件任务", Yb = "批准此 App(只需一次)", Qb = "此 App 需要管理员批准", Xb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行", eS = "它的部分功能需要系统权限", tS = "它需要系统权限,才能在用户注销后继续完成文件任务", nS = "关于此次批准", oS = "请使用当前登录 DSM 的账号密码", aS = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存", iS = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情", sS = "如果更新更改了这些任务,会请你重新批准", rS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准", cS = "请管理员打开此 App 并批准一次", lS = "用户密码", dS = "批准", uS = "确认共享文件夹", pS = "后台文件访问已就绪", hS = "正在确认后台访问,请勿重复提交", gS = "需要管理员批准后台文件访问", mS = "后台文件访问不可用,请管理员检查 App 设置", fS = "系统访问不可用,请管理员检查 App 设置", $S = "批准此 App 的系统访问权限前,部分功能无法使用", vS = "管理员批准此 App 的系统访问权限前,部分功能无法使用", bS = "批准", SS = "此 App 已停止。请在套件中心启动,启动后此页面会自动更新", _S = "此 App 正在启动,此页面稍后会自动更新", zS = "此 App 已停止。请在套件中心启动后再试一次", yS = "此 App 正在启动,请稍候再试一次", AS = "正在加载…", kS = "详情", wS = "撤销", DS = "取消任务", CS = "目前没有有效委托", PS = "我的委托", MS = "到期时间", qS = "我的下载", TS = "目前没有下载任务", ES = "下载网址", RS = "文件名", LS = "选择文件夹", IS = "下载到我的文件夹", jS = "目标文件夹", xS = "任务已取消。委托撤销尚未完成,App 将自动重试", NS = "操作未完成,请刷新后重试。若持续失败,请联系管理员", US = "批准未完成,请重新输入用户密码后重试,或检查 App 设置", OS = "密码不正确,请重试", FS = "请输入你的用户密码", HS = "DSM 无法验证密码,未做任何更改,请重试", BS = "App 的后台服务正在启动并向 DSM 确认,最多可能需要一分钟", VS = "访问被拒绝,请检查文件夹权限后重试", WS = "请重新登录 DSM,然后刷新", KS = "下载上限为 64 MB、60 秒", JS = "等待中", GS = "下载中", ZS = "已保存", YS = "失败", QS = "已取消", XS = "已中断", e_ = "各用户的 home 文件夹", t_ = "后台保存范围", n_ = "已确认范围", o_ = "安装时的预选", a_ = "安装时的预选仅供参考。启用后台访问时,请用用户密码确认此范围", i_ = "安装时的预选与已确认范围不同。后台保存将按已确认范围执行", s_ = "等待系统服务启动", r_ = "状态", c_ = "就绪", l_ = "无法使用", d_ = "确认中", u_ = "应用的系统服务没有响应。请从 DSM 桌面打开应用,或刷新页面", p_ = "应用的后台服务仍在启动中。请稍后刷新页面", h_ = "重试", g_ = "原始响应上限(字节)", m_ = "查看此次更新", f_ = "系统执行程序已更新,需要管理员重新批准", $_ = "批准任务定义已更新,需要管理员重新批准", v_ = "批准策略已更新,需要管理员重新批准", b_ = "权限未变", S_ = "权限已扩展,请查看差异后再批准", __ = "权限或参数已更改,请查看差异后再批准", z_ = "批准策略", y_ = "权限与参数差异", A_ = "先前的受保护运行环境未提供比较数据,无法判断更改内容或权限是否扩展,需要管理员重新批准", k_ = "批准此次更新", w_ = {
2076
+ }, Wb = "后台文件访问", Kb = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换", Jb = "系统权限", Gb = "让此 App 执行其套件中声明的系统任务", Zb = "让此 App 在用户注销后继续为其完成文件任务", Yb = "批准此 App(只需一次)", Qb = "此 App 需要管理员批准", Xb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行", eS = "它的部分功能需要系统权限", tS = "它需要系统权限,才能在用户注销后继续完成文件任务", nS = "关于此次批准", oS = "请使用当前登录 DSM 的账号密码", aS = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存", iS = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情", sS = "如果更新更改了这些任务,会请你重新批准", rS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准", cS = "请管理员打开此 App 并批准一次", lS = "用户密码", dS = "批准", uS = "确认共享文件夹", pS = "后台文件访问已就绪", hS = "正在确认后台访问,请勿重复提交", gS = "需要管理员批准后台文件访问", mS = "后台文件访问不可用,请管理员检查 App 设置", fS = "系统访问不可用,请管理员检查 App 设置", $S = "批准此 App 的系统访问权限前,部分功能无法使用", vS = "管理员批准此 App 的系统访问权限前,部分功能无法使用", bS = "批准", SS = "此 App 已停止。请在套件中心启动,启动后此页面会自动更新", _S = "此 App 正在启动,此页面稍后会自动更新", zS = "此 App 已停止。请在套件中心启动后再试一次", yS = "此 App 正在启动,请稍候再试一次", AS = "正在加载…", kS = "详情", wS = "撤销", DS = "取消任务", CS = "目前没有有效委托", PS = "我的委托", MS = "到期时间", qS = "我的下载", TS = "目前没有下载任务", ES = "下载网址", RS = "文件名", LS = "选择文件夹", IS = "下载到我的文件夹", jS = "目标文件夹", xS = "任务已取消。委托撤销尚未完成,App 将自动重试", US = "操作未完成,请刷新后重试。若持续失败,请联系管理员", NS = "批准未完成,请重新输入用户密码后重试,或检查 App 设置", OS = "密码不正确,请重试", FS = "请输入你的用户密码", HS = "DSM 无法验证密码,未做任何更改,请重试", BS = "App 的后台服务正在启动并向 DSM 确认,最多可能需要一分钟", VS = "访问被拒绝,请检查文件夹权限后重试", WS = "请重新登录 DSM,然后刷新", KS = "下载上限为 64 MB、60 秒", JS = "等待中", GS = "下载中", ZS = "已保存", YS = "失败", QS = "已取消", XS = "已中断", e_ = "各用户的 home 文件夹", t_ = "后台保存范围", n_ = "已确认范围", o_ = "安装时的预选", a_ = "安装时的预选仅供参考。启用后台访问时,请用用户密码确认此范围", i_ = "安装时的预选与已确认范围不同。后台保存将按已确认范围执行", s_ = "等待系统服务启动", r_ = "状态", c_ = "就绪", l_ = "无法使用", d_ = "确认中", u_ = "应用的系统服务没有响应。请从 DSM 桌面打开应用,或刷新页面", p_ = "应用的后台服务仍在启动中。请稍后刷新页面", h_ = "重试", g_ = "原始响应上限(字节)", m_ = "查看此次更新", f_ = "系统执行程序已更新,需要管理员重新批准", $_ = "批准任务定义已更新,需要管理员重新批准", v_ = "批准策略已更新,需要管理员重新批准", b_ = "权限未变", S_ = "权限已扩展,请查看差异后再批准", __ = "权限或参数已更改,请查看差异后再批准", z_ = "批准策略", y_ = "权限与参数差异", A_ = "先前的受保护运行环境未提供比较数据,无法判断更改内容或权限是否扩展,需要管理员重新批准", k_ = "批准此次更新", w_ = {
2067
2077
  title: Wb,
2068
2078
  help: Kb,
2069
2079
  setupTitle: Jb,
@@ -2111,8 +2121,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2111
2121
  submit: IS,
2112
2122
  destination: jS,
2113
2123
  pending: xS,
2114
- error: NS,
2115
- setupError: US,
2124
+ error: US,
2125
+ setupError: NS,
2116
2126
  passwordRejected: OS,
2117
2127
  passwordRequired: FS,
2118
2128
  passwordConfirmFailed: HS,
@@ -2152,7 +2162,7 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2152
2162
  upgradeChanges: y_,
2153
2163
  upgradeUnknown: A_,
2154
2164
  upgradeConsentTitle: k_
2155
- }, D_ = "背景檔案存取", C_ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代", P_ = "系統權限", M_ = "讓此 App 執行它在套件中宣告的系統工作", q_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作", T_ = "核准此 App(只需一次)", E_ = "此 App 需要管理員核准", R_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行", L_ = "它有部分功能需要系統權限", I_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作", j_ = "關於這次核准", x_ = "請使用你目前登入 DSM 的帳號密碼", N_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存", U_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事", O_ = "如果更新改變了這些工作,會請你重新核准", F_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准", H_ = "請管理員開啟此 App 並核准一次", B_ = "使用者密碼", V_ = "核准", W_ = "確認共用資料夾", K_ = "背景檔案存取已就緒", J_ = "正在確認背景存取,請勿重複提交", G_ = "需要管理員核准背景檔案存取", Z_ = "背景檔案存取無法使用,請管理員檢查 App 設定", Y_ = "系統存取無法使用,請管理員檢查 App 設定", Q_ = "核准此 App 的系統存取權限前,部分功能無法使用", X_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用", ez = "核准", tz = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新", nz = "此 App 正在啟動,此頁面稍後會自動更新", oz = "此 App 已停止。請在套件中心啟動後再試一次", az = "此 App 正在啟動,請稍候再試一次", iz = "載入中…", sz = "詳情", rz = "撤銷", cz = "取消工作", lz = "目前沒有有效委託", dz = "我的委託", uz = "到期時間", pz = "我的下載", hz = "目前沒有下載工作", gz = "下載網址", mz = "檔案名稱", fz = "選擇資料夾", $z = "下載到我的資料夾", vz = "目的資料夾", bz = "工作已取消。委託尚未撤銷完成,App 會自動重試", Sz = "操作未完成,請重新整理後再試。若持續失敗,請聯絡管理員", _z = "核准未完成,請重新輸入使用者密碼再試,或檢查 App 設定", zz = "密碼不正確,請再試一次", yz = "請輸入你的使用者密碼", Az = "DSM 無法驗證密碼,沒有做任何變更,請再試一次", kz = "App 的背景服務正在啟動並向 DSM 確認,最多可能需要一分鐘", wz = "存取遭拒,請檢查資料夾權限後再試", Dz = "請重新登入 DSM,再重新整理", Cz = "下載上限為 64 MB、60 秒", Pz = "等待中", Mz = "下載中", qz = "已儲存", Tz = "失敗", Ez = "已取消", Rz = "已中斷", Lz = "各使用者的 home 資料夾", Iz = "背景儲存範圍", jz = "已確認範圍", xz = "安裝時的預選", Nz = "安裝時的預選只供參考。啟用背景存取時,請以使用者密碼確認這個範圍", Uz = "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行", Oz = "等待系統服務啟動", Fz = "狀態", Hz = "就緒", Bz = "無法使用", Vz = "確認中", Wz = "App 的系統服務沒有回應。請從 DSM 桌面開啟 App,或重新整理頁面", Kz = "App 的背景服務仍在啟動中。請稍後重新整理頁面", Jz = "重試", Gz = "原始回應上限(位元組)", Zz = "檢視此次更新", Yz = "系統執行程式已更新,需要管理員重新核准", Qz = "核准任務定義已更新,需要管理員重新核准", Xz = "核准政策已更新,需要管理員重新核准", ey = "權限未變", ty = "權限已擴張,請檢視差異後再核准", ny = "權限或參數已變更,請檢視差異後再核准", oy = "核准政策", ay = "權限與參數差異", iy = "先前的受保護執行環境未提供比較資料,無法判斷變更內容或權限是否擴張,需要管理員重新核准", sy = "核准此次更新", ry = {
2165
+ }, D_ = "背景檔案存取", C_ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代", P_ = "系統權限", M_ = "讓此 App 執行它在套件中宣告的系統工作", q_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作", T_ = "核准此 App(只需一次)", E_ = "此 App 需要管理員核准", R_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行", L_ = "它有部分功能需要系統權限", I_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作", j_ = "關於這次核准", x_ = "請使用你目前登入 DSM 的帳號密碼", U_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存", N_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事", O_ = "如果更新改變了這些工作,會請你重新核准", F_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准", H_ = "請管理員開啟此 App 並核准一次", B_ = "使用者密碼", V_ = "核准", W_ = "確認共用資料夾", K_ = "背景檔案存取已就緒", J_ = "正在確認背景存取,請勿重複提交", G_ = "需要管理員核准背景檔案存取", Z_ = "背景檔案存取無法使用,請管理員檢查 App 設定", Y_ = "系統存取無法使用,請管理員檢查 App 設定", Q_ = "核准此 App 的系統存取權限前,部分功能無法使用", X_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用", ez = "核准", tz = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新", nz = "此 App 正在啟動,此頁面稍後會自動更新", oz = "此 App 已停止。請在套件中心啟動後再試一次", az = "此 App 正在啟動,請稍候再試一次", iz = "載入中…", sz = "詳情", rz = "撤銷", cz = "取消工作", lz = "目前沒有有效委託", dz = "我的委託", uz = "到期時間", pz = "我的下載", hz = "目前沒有下載工作", gz = "下載網址", mz = "檔案名稱", fz = "選擇資料夾", $z = "下載到我的資料夾", vz = "目的資料夾", bz = "工作已取消。委託尚未撤銷完成,App 會自動重試", Sz = "操作未完成,請重新整理後再試。若持續失敗,請聯絡管理員", _z = "核准未完成,請重新輸入使用者密碼再試,或檢查 App 設定", zz = "密碼不正確,請再試一次", yz = "請輸入你的使用者密碼", Az = "DSM 無法驗證密碼,沒有做任何變更,請再試一次", kz = "App 的背景服務正在啟動並向 DSM 確認,最多可能需要一分鐘", wz = "存取遭拒,請檢查資料夾權限後再試", Dz = "請重新登入 DSM,再重新整理", Cz = "下載上限為 64 MB、60 秒", Pz = "等待中", Mz = "下載中", qz = "已儲存", Tz = "失敗", Ez = "已取消", Rz = "已中斷", Lz = "各使用者的 home 資料夾", Iz = "背景儲存範圍", jz = "已確認範圍", xz = "安裝時的預選", Uz = "安裝時的預選只供參考。啟用背景存取時,請以使用者密碼確認這個範圍", Nz = "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行", Oz = "等待系統服務啟動", Fz = "狀態", Hz = "就緒", Bz = "無法使用", Vz = "確認中", Wz = "App 的系統服務沒有回應。請從 DSM 桌面開啟 App,或重新整理頁面", Kz = "App 的背景服務仍在啟動中。請稍後重新整理頁面", Jz = "重試", Gz = "原始回應上限(位元組)", Zz = "檢視此次更新", Yz = "系統執行程式已更新,需要管理員重新核准", Qz = "核准任務定義已更新,需要管理員重新核准", Xz = "核准政策已更新,需要管理員重新核准", ey = "權限未變", ty = "權限已擴張,請檢視差異後再核准", ny = "權限或參數已變更,請檢視差異後再核准", oy = "核准政策", ay = "權限與參數差異", iy = "先前的受保護執行環境未提供比較資料,無法判斷變更內容或權限是否擴張,需要管理員重新核准", sy = "核准此次更新", ry = {
2156
2166
  title: D_,
2157
2167
  help: C_,
2158
2168
  setupTitle: P_,
@@ -2165,8 +2175,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2165
2175
  consentPurposeFiles: I_,
2166
2176
  consentDetails: j_,
2167
2177
  pointPassword: x_,
2168
- passwordNote: N_,
2169
- pointLimited: U_,
2178
+ passwordNote: U_,
2179
+ pointLimited: N_,
2170
2180
  pointUpdate: O_,
2171
2181
  pointRevoke: F_,
2172
2182
  consentAsk: H_,
@@ -2219,8 +2229,8 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2219
2229
  scopeLabel: Iz,
2220
2230
  protectedScope: jz,
2221
2231
  preselection: xz,
2222
- preselectionHelp: Nz,
2223
- scopeMismatch: Uz,
2232
+ preselectionHelp: Uz,
2233
+ scopeMismatch: Nz,
2224
2234
  waiting_executor: Oz,
2225
2235
  status: Fz,
2226
2236
  statusReady: Hz,
@@ -2241,28 +2251,28 @@ const Ze = "NAS-Ordner", Ye = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
2241
2251
  upgradeChanges: ay,
2242
2252
  upgradeUnknown: iy,
2243
2253
  upgradeConsentTitle: sy
2244
- }, $e = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/delegate/de.json": Zl, "../../i18n/delegate/en.json": qu, "../../i18n/delegate/es.json": ph, "../../i18n/delegate/fr.json": Kg, "../../i18n/delegate/it.json": Pf, "../../i18n/delegate/ja.json": dv, "../../i18n/delegate/ko.json": Vb, "../../i18n/delegate/zh-CN.json": w_, "../../i18n/delegate/zh-TW.json": ry }));
2254
+ }, $e = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/delegate/de.json": Zl, "../../i18n/delegate/en.json": qu, "../../i18n/delegate/es.json": ph, "../../i18n/delegate/fr.json": Kg, "../../i18n/delegate/it.json": Pf, "../../i18n/delegate/ja.json": dv, "../../i18n/delegate/ko.json": Vb, "../../i18n/delegate/zh-CN.json": w_, "../../i18n/delegate/zh-TW.json": ry }));
2245
2255
  function cy(e = "en") {
2246
- return $e[z(e)];
2256
+ return $e[y(e)];
2247
2257
  }
2248
- function P6(e, t, a, n) {
2249
- const o = x(e, a ?? Object.entries($e).find(([, s]) => s === t)?.[0], n);
2258
+ function M6(e, t, a, n) {
2259
+ const o = N(e, a ?? Object.entries($e).find(([, s]) => s === t)?.[0], n);
2250
2260
  if (o) return o.message;
2251
2261
  const i = e?.code;
2252
2262
  return ["session_required", "AUTH_DENIED"].includes(i ?? "") ? t.session : ["DENIED", "SCOPE_DENIED", "PERMISSION_DENIED", "APP_DENIED", "INELIGIBLE", "denied"].includes(i ?? "") ? t.denied : t.error;
2253
2263
  }
2254
- const R = { APP_STOPPED: "stopped", APP_STARTING: "starting", EXECUTOR_STARTING: "starting", executor_starting: "starting" };
2264
+ const I = { APP_STOPPED: "stopped", APP_STARTING: "starting", EXECUTOR_STARTING: "starting", executor_starting: "starting" };
2255
2265
  function ly(e) {
2256
2266
  const { code: t, reason: a } = e ?? {};
2257
- if (typeof t == "string" && Object.hasOwn(R, t)) return R[t];
2267
+ if (typeof t == "string" && Object.hasOwn(I, t)) return I[t];
2258
2268
  const n = typeof a == "string" ? /^[A-Z_]+(?=:|$)/.exec(a)?.[0] : void 0;
2259
- return n && Object.hasOwn(R, n) ? R[n] : void 0;
2269
+ return n && Object.hasOwn(I, n) ? I[n] : void 0;
2260
2270
  }
2261
2271
  const dy = 15e3, uy = 4e3;
2262
- function M6(e, t) {
2272
+ function q6(e, t) {
2263
2273
  return Math.min(2e3 * 2 ** e, t === "starting" ? uy : dy);
2264
2274
  }
2265
- function B(e, t) {
2275
+ function W(e, t) {
2266
2276
  const a = t === void 0 ? void 0 : ly(e);
2267
2277
  return a && py(a, t, { for: "action" });
2268
2278
  }
@@ -2270,14 +2280,14 @@ function py(e, t, a = {}) {
2270
2280
  const n = cy(t);
2271
2281
  return a.for === "action" ? e === "stopped" ? n.appStoppedAction : n.appStartingAction : e === "stopped" ? n.appStopped : n.appStarting;
2272
2282
  }
2273
- const ve = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json": Nt, "../../i18n/files/en.json": Mn, "../../i18n/files/es.json": _o, "../../i18n/files/fr.json": ua, "../../i18n/files/it.json": ti, "../../i18n/files/ja.json": Vi, "../../i18n/files/ko.json": Ls, "../../i18n/files/zh-CN.json": kr, "../../i18n/files/zh-TW.json": mc }));
2274
- function q6(e) {
2275
- return ve[z(e)];
2283
+ const ve = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json": Ut, "../../i18n/files/en.json": Mn, "../../i18n/files/es.json": _o, "../../i18n/files/fr.json": ua, "../../i18n/files/it.json": ti, "../../i18n/files/ja.json": Vi, "../../i18n/files/ko.json": Ls, "../../i18n/files/zh-CN.json": kr, "../../i18n/files/zh-TW.json": mc }));
2284
+ function T6(e) {
2285
+ return ve[y(e)];
2276
2286
  }
2277
- function T6(e, t, a, n) {
2278
- const o = x(e, a ?? Object.entries(ve).find(([, l]) => l === t)?.[0], n);
2287
+ function E6(e, t, a, n) {
2288
+ const o = N(e, a ?? Object.entries(ve).find(([, d]) => d === t)?.[0], n);
2279
2289
  if (o) return o.message;
2280
- const i = B(e, a);
2290
+ const i = W(e, a);
2281
2291
  if (i) return i;
2282
2292
  const s = e?.code;
2283
2293
  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"];
@@ -2308,9 +2318,9 @@ const hy = "Status", gy = "Hintergrundaufträge", my = "Administrator", fy = "DS
2308
2318
  loading: Ly,
2309
2319
  uiUpdated: Iy,
2310
2320
  uiReload: jy
2311
- }, Ny = "Estado", Uy = "Tareas en segundo plano", Oy = "Administrador", Fy = "Usuario DSM", Hy = "Cerrar sesión", By = "Sin acceso", Vy = "Su cuenta de DSM no tiene permiso para usar esta aplicación. Pida a un administrador que la permita en los privilegios de aplicaciones de DSM", Wy = "Notas", Ky = "Notas ({count})", Jy = "Cargando…", Gy = "Actualizado. Vuelva a cargar la página", Zy = "Volver a cargar", Yy = {
2312
- status: Ny,
2313
- background: Uy,
2321
+ }, Uy = "Estado", Ny = "Tareas en segundo plano", Oy = "Administrador", Fy = "Usuario DSM", Hy = "Cerrar sesión", By = "Sin acceso", Vy = "Su cuenta de DSM no tiene permiso para usar esta aplicación. Pida a un administrador que la permita en los privilegios de aplicaciones de DSM", Wy = "Notas", Ky = "Notas ({count})", Jy = "Cargando…", Gy = "Actualizado. Vuelva a cargar la página", Zy = "Volver a cargar", Yy = {
2322
+ status: Uy,
2323
+ background: Ny,
2314
2324
  administrator: Oy,
2315
2325
  dsmUser: Fy,
2316
2326
  signOut: Hy,
@@ -2360,11 +2370,11 @@ const hy = "Status", gy = "Hintergrundaufträge", my = "Administrator", fy = "DS
2360
2370
  loading: EA,
2361
2371
  uiUpdated: RA,
2362
2372
  uiReload: LA
2363
- }, jA = "상태", xA = "백그라운드 작업", NA = "관리자", UA = "DSM 사용자", OA = "로그아웃", FA = "액세스할 수 없음", HA = "이 DSM 계정에는 이 앱을 사용할 권한이 없습니다. 관리자에게 DSM 응용 프로그램 권한에서 허용하도록 요청하십시오", BA = "참고", VA = "참고 ({count})", WA = "불러오는 중…", KA = "업데이트되었습니다. 페이지를 새로 고치십시오", JA = "새로 고침", GA = {
2373
+ }, jA = "상태", xA = "백그라운드 작업", UA = "관리자", NA = "DSM 사용자", OA = "로그아웃", FA = "액세스할 수 없음", HA = "이 DSM 계정에는 이 앱을 사용할 권한이 없습니다. 관리자에게 DSM 응용 프로그램 권한에서 허용하도록 요청하십시오", BA = "참고", VA = "참고 ({count})", WA = "불러오는 중…", KA = "업데이트되었습니다. 페이지를 새로 고치십시오", JA = "새로 고침", GA = {
2364
2374
  status: jA,
2365
2375
  background: xA,
2366
- administrator: NA,
2367
- dsmUser: UA,
2376
+ administrator: UA,
2377
+ dsmUser: NA,
2368
2378
  signOut: OA,
2369
2379
  deniedTitle: FA,
2370
2380
  deniedMessage: HA,
@@ -2399,9 +2409,9 @@ const hy = "Status", gy = "Hintergrundaufträge", my = "Administrator", fy = "DS
2399
2409
  loading: vk,
2400
2410
  uiUpdated: bk,
2401
2411
  uiReload: Sk
2402
- }, zk = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": ky, "../../i18n/shell/en.json": xy, "../../i18n/shell/es.json": Yy, "../../i18n/shell/fr.json": dA, "../../i18n/shell/it.json": yA, "../../i18n/shell/ja.json": IA, "../../i18n/shell/ko.json": GA, "../../i18n/shell/zh-CN.json": ck, "../../i18n/shell/zh-TW.json": _k }));
2403
- function E6(e) {
2404
- return zk[z(e)];
2412
+ }, zk = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": ky, "../../i18n/shell/en.json": xy, "../../i18n/shell/es.json": Yy, "../../i18n/shell/fr.json": dA, "../../i18n/shell/it.json": yA, "../../i18n/shell/ja.json": IA, "../../i18n/shell/ko.json": GA, "../../i18n/shell/zh-CN.json": ck, "../../i18n/shell/zh-TW.json": _k }));
2413
+ function R6(e) {
2414
+ return zk[y(e)];
2405
2415
  }
2406
2416
  const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem Konto auf diesem NAS bei der App an", kk = "HTTPS erforderlich", wk = "Anmeldung fehlgeschlagen", Dk = "Konto", Ck = "Passwort", Pk = "Geben Sie den Bestätigungscode aus Ihrer Authentifizierungs-App ein", Mk = "Bestätigungscode", qk = "Anmeldung läuft…", Tk = "Bestätigen und anmelden", Ek = "Anmelden", Rk = "Anderes Konto verwenden", Lk = "Mit DSM fortfahren", Ik = { 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" }, jk = { 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" }, xk = {
2407
2417
  title: yk,
@@ -2419,9 +2429,9 @@ const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem
2419
2429
  continueDSM: Lk,
2420
2430
  errors: Ik,
2421
2431
  notices: jk
2422
- }, Nk = "Sign in with your Synology account", Uk = "Use your account on this NAS to sign in to the app", Ok = "HTTPS required", Fk = "Sign-in failed", Hk = "Account", Bk = "Password", Vk = "Enter the verification code from your authenticator app", Wk = "Verification code", Kk = "Signing in…", Jk = "Verify and sign in", Gk = "Sign in", Zk = "Use another account", Yk = "Continue with DSM", Qk = { 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" }, Xk = { 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" }, ew = {
2423
- title: Nk,
2424
- intro: Uk,
2432
+ }, Uk = "Sign in with your Synology account", Nk = "Use your account on this NAS to sign in to the app", Ok = "HTTPS required", Fk = "Sign-in failed", Hk = "Account", Bk = "Password", Vk = "Enter the verification code from your authenticator app", Wk = "Verification code", Kk = "Signing in…", Jk = "Verify and sign in", Gk = "Sign in", Zk = "Use another account", Yk = "Continue with DSM", Qk = { 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" }, Xk = { 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" }, ew = {
2433
+ title: Uk,
2434
+ intro: Nk,
2425
2435
  httpsTitle: Ok,
2426
2436
  failedTitle: Fk,
2427
2437
  account: Hk,
@@ -2467,15 +2477,15 @@ const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem
2467
2477
  continueDSM: Pw,
2468
2478
  errors: Mw,
2469
2479
  notices: qw
2470
- }, Ew = "Accedi con l’account Synology", Rw = "Usare l’account di questo NAS per accedere all’app", Lw = "HTTPS obbligatorio", Iw = "Accesso non riuscito", jw = "Account", xw = "Password", Nw = "Inserire il codice di verifica dell’app di autenticazione", Uw = "Codice di verifica", Ow = "Accesso in corso…", Fw = "Verifica e accedi", Hw = "Accedi", Bw = "Usa un altro account", Vw = "Continua con DSM", Ww = { 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" }, Kw = { 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" }, Jw = {
2480
+ }, Ew = "Accedi con l’account Synology", Rw = "Usare l’account di questo NAS per accedere all’app", Lw = "HTTPS obbligatorio", Iw = "Accesso non riuscito", jw = "Account", xw = "Password", Uw = "Inserire il codice di verifica dell’app di autenticazione", Nw = "Codice di verifica", Ow = "Accesso in corso…", Fw = "Verifica e accedi", Hw = "Accedi", Bw = "Usa un altro account", Vw = "Continua con DSM", Ww = { 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" }, Kw = { 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" }, Jw = {
2471
2481
  title: Ew,
2472
2482
  intro: Rw,
2473
2483
  httpsTitle: Lw,
2474
2484
  failedTitle: Iw,
2475
2485
  account: jw,
2476
2486
  password: xw,
2477
- otpPrompt: Nw,
2478
- otp: Uw,
2487
+ otpPrompt: Uw,
2488
+ otp: Nw,
2479
2489
  signingIn: Ow,
2480
2490
  verify: Fw,
2481
2491
  signIn: Hw,
@@ -2515,7 +2525,7 @@ const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem
2515
2525
  continueDSM: yD,
2516
2526
  errors: AD,
2517
2527
  notices: kD
2518
- }, DD = "使用 Synology 账户登录", CD = "使用这台 NAS 上的账户登录此 App", PD = "需要 HTTPS", MD = "登录失败", qD = "账户", TD = "密码", ED = "请输入身份验证器 App 中的验证码", RD = "验证码", LD = "正在登录…", ID = "验证并登录", jD = "登录", xD = "使用其他账户", ND = "通过 DSM 继续", UD = { rate_limited: "登录尝试次数过多,请等待一分钟后重试", https_required: "请使用 HTTPS 打开此 App 以登录", auth_unavailable: "DSM 登录暂时不可用,请重试", session_required: "请先在此浏览器中登录 DSM,然后重试", cross_origin: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App", origin_required: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App", failed: "无法完成登录。请检查账户和密码,或联系管理员" }, OD = { expired: "登录已过期,请重新登录", revalidate: "请先在此浏览器中登录 DSM,然后选择“通过 DSM 继续”", unavailable: "登录暂时不可用,请刷新后重试" }, FD = {
2528
+ }, DD = "使用 Synology 账户登录", CD = "使用这台 NAS 上的账户登录此 App", PD = "需要 HTTPS", MD = "登录失败", qD = "账户", TD = "密码", ED = "请输入身份验证器 App 中的验证码", RD = "验证码", LD = "正在登录…", ID = "验证并登录", jD = "登录", xD = "使用其他账户", UD = "通过 DSM 继续", ND = { rate_limited: "登录尝试次数过多,请等待一分钟后重试", https_required: "请使用 HTTPS 打开此 App 以登录", auth_unavailable: "DSM 登录暂时不可用,请重试", session_required: "请先在此浏览器中登录 DSM,然后重试", cross_origin: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App", origin_required: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App", failed: "无法完成登录。请检查账户和密码,或联系管理员" }, OD = { expired: "登录已过期,请重新登录", revalidate: "请先在此浏览器中登录 DSM,然后选择“通过 DSM 继续”", unavailable: "登录暂时不可用,请刷新后重试" }, FD = {
2519
2529
  title: DD,
2520
2530
  intro: CD,
2521
2531
  httpsTitle: PD,
@@ -2528,8 +2538,8 @@ const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem
2528
2538
  verify: ID,
2529
2539
  signIn: jD,
2530
2540
  otherAccount: xD,
2531
- continueDSM: ND,
2532
- errors: UD,
2541
+ continueDSM: UD,
2542
+ errors: ND,
2533
2543
  notices: OD
2534
2544
  }, HD = "使用 Synology 帳號登入", BD = "使用這台 NAS 上的帳號登入此 App", VD = "需要 HTTPS", WD = "登入失敗", KD = "帳號", JD = "密碼", GD = "請輸入驗證器 App 中的驗證碼", ZD = "驗證碼", YD = "正在登入…", QD = "驗證並登入", XD = "登入", eC = "使用其他帳號", tC = "以 DSM 繼續", nC = { rate_limited: "登入嘗試次數過多,請等候一分鐘再試", https_required: "請使用 HTTPS 開啟此 App 以登入", auth_unavailable: "DSM 登入目前無法使用,請再試一次", session_required: "請先在此瀏覽器登入 DSM,然後再試一次", cross_origin: "登入已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器重新開啟 App", origin_required: "登入已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器重新開啟 App", failed: "無法完成登入。請檢查帳號與密碼,或聯絡管理員" }, oC = { expired: "登入已逾時,請重新登入", revalidate: "請先在此瀏覽器登入 DSM,然後選擇「以 DSM 繼續」", unavailable: "登入目前無法使用,請重新整理後再試" }, aC = {
2535
2545
  title: HD,
@@ -2547,11 +2557,11 @@ const yk = "Mit Ihrem Synology-Konto anmelden", Ak = "Melden Sie sich mit Ihrem
2547
2557
  continueDSM: tC,
2548
2558
  errors: nC,
2549
2559
  notices: oC
2550
- }, iC = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/identity/de.json": xk, "../../i18n/identity/en.json": ew, "../../i18n/identity/es.json": fw, "../../i18n/identity/fr.json": Tw, "../../i18n/identity/it.json": Jw, "../../i18n/identity/ja.json": dD, "../../i18n/identity/ko.json": wD, "../../i18n/identity/zh-CN.json": FD, "../../i18n/identity/zh-TW.json": aC }));
2551
- function R6(e) {
2552
- return iC[z(e)];
2560
+ }, iC = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/identity/de.json": xk, "../../i18n/identity/en.json": ew, "../../i18n/identity/es.json": fw, "../../i18n/identity/fr.json": Tw, "../../i18n/identity/it.json": Jw, "../../i18n/identity/ja.json": dD, "../../i18n/identity/ko.json": wD, "../../i18n/identity/zh-CN.json": FD, "../../i18n/identity/zh-TW.json": aC }));
2561
+ function L6(e) {
2562
+ return iC[y(e)];
2553
2563
  }
2554
- const sC = "Hintergrundaufträge", rC = "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", cC = "Worker", lC = "Worker läuft als {user}", dC = "Worker läuft nicht", uC = "Datei auswählen", pC = "Ausgewählte Datei: {path}", hC = "Datei zum Importieren auswählen", gC = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert", mC = "Importieren und senden", fC = "Abbrechen", $C = "Ergebnis", vC = "Ergebnis herunterladen", bC = "Noch keine Aufträge", SC = "In Warteschlange", _C = "Läuft", zC = "Erfolgreich", yC = "Fehlgeschlagen", AC = "Abgebrochen", kC = "Unterbrochen", wC = "Angehalten", DC = "Wird angehalten…", CC = "Anhalten", PC = "Fortsetzen", MC = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, qC = "{done} von {total}", TC = "Aktuelles Element: {item}", EC = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag", RC = { 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" }, LC = "Sie können nur eigene Aufträge sehen, abbrechen und herunterladen", IC = "Administratoren können Aufträge aller Benutzer sehen und abbrechen", jC = "Pro Benutzer: {jobs} offene Aufträge und {size} KB für Eingaben und reservierte Ergebnisse", xC = "Besitzer: {user} (UID {uid})", NC = "Aufträge des Besitzers löschen", UC = "Alle Aufträge von {user} (UID {uid}) löschen? Laufende Aufträge werden abgebrochen und beendet; gespeicherte Ergebnisse werden entfernt", OC = "Löschen bestätigen", FC = "Aufträge behalten", HC = "Zeitpläne", BC = "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", VC = "Diese Kopie planen", WC = "Private Kopie: {name}", KC = "Wiederholungsintervall", JC = "Stündlich", GC = "Täglich", ZC = "Wöchentlich", YC = "Ich stimme zu, diese feste Kopie zu speichern und als Paketbenutzer neu zu berechnen. Neue Quelldateien und persönliche ACLs werden nicht gelesen", QC = "Zeitplan erstellen", XC = "Noch keine Zeitpläne", eP = "Aktiviert", tP = "Deaktiviert", nP = "Nächster Lauf: {time}", oP = "Verpasste Läufe: {count}", aP = "Zeitplan deaktivieren", iP = "Zeitplan löschen", sP = "Zeitplan für {name} löschen? Wartende Jobs werden abgebrochen, laufende Jobs werden gestoppt und abgeschlossen. Fertige Ergebnisse bleiben erhalten", rP = "Löschen bestätigen", cP = "Zeitplan aktivieren", lP = "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", dP = "Aktivierung bestätigen", uP = "Die Worker-Revision hat sich geändert. Ein Administrator muss diesen Zeitplan prüfen und ausdrücklich aktivieren", pP = "Geplanter Lauf", hP = "Unbekannt", gP = "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut", mP = {
2564
+ const sC = "Hintergrundaufträge", rC = "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", cC = "Worker", lC = "Worker läuft als {user}", dC = "Worker läuft nicht", uC = "Datei auswählen", pC = "Ausgewählte Datei: {path}", hC = "Datei zum Importieren auswählen", gC = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert", mC = "Importieren und senden", fC = "Abbrechen", $C = "Ergebnis", vC = "Ergebnis herunterladen", bC = "Noch keine Aufträge", SC = "In Warteschlange", _C = "Läuft", zC = "Erfolgreich", yC = "Fehlgeschlagen", AC = "Abgebrochen", kC = "Unterbrochen", wC = "Angehalten", DC = "Wird angehalten…", CC = "Anhalten", PC = "Fortsetzen", MC = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, qC = "{done} von {total}", TC = "Aktuelles Element: {item}", EC = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag", RC = { 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" }, LC = "Sie können nur eigene Aufträge sehen, abbrechen und herunterladen", IC = "Administratoren können Aufträge aller Benutzer sehen und abbrechen", jC = "Pro Benutzer: {jobs} offene Aufträge und {size} KB für Eingaben und reservierte Ergebnisse", xC = "Besitzer: {user} (UID {uid})", UC = "Aufträge des Besitzers löschen", NC = "Alle Aufträge von {user} (UID {uid}) löschen? Laufende Aufträge werden abgebrochen und beendet; gespeicherte Ergebnisse werden entfernt", OC = "Löschen bestätigen", FC = "Aufträge behalten", HC = "Zeitpläne", BC = "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", VC = "Diese Kopie planen", WC = "Private Kopie: {name}", KC = "Wiederholungsintervall", JC = "Stündlich", GC = "Täglich", ZC = "Wöchentlich", YC = "Ich stimme zu, diese feste Kopie zu speichern und als Paketbenutzer neu zu berechnen. Neue Quelldateien und persönliche ACLs werden nicht gelesen", QC = "Zeitplan erstellen", XC = "Noch keine Zeitpläne", eP = "Aktiviert", tP = "Deaktiviert", nP = "Nächster Lauf: {time}", oP = "Verpasste Läufe: {count}", aP = "Zeitplan deaktivieren", iP = "Zeitplan löschen", sP = "Zeitplan für {name} löschen? Wartende Jobs werden abgebrochen, laufende Jobs werden gestoppt und abgeschlossen. Fertige Ergebnisse bleiben erhalten", rP = "Löschen bestätigen", cP = "Zeitplan aktivieren", lP = "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", dP = "Aktivierung bestätigen", uP = "Die Worker-Revision hat sich geändert. Ein Administrator muss diesen Zeitplan prüfen und ausdrücklich aktivieren", pP = "Geplanter Lauf", hP = "Unbekannt", gP = "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut", mP = {
2555
2565
  title: sC,
2556
2566
  help: rC,
2557
2567
  worker: cC,
@@ -2585,8 +2595,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2585
2595
  adminScope: IC,
2586
2596
  ownerLimits: jC,
2587
2597
  owner: xC,
2588
- purgeOwner: NC,
2589
- purgeConfirm: UC,
2598
+ purgeOwner: UC,
2599
+ purgeConfirm: NC,
2590
2600
  confirmPurge: OC,
2591
2601
  keepJobs: FC,
2592
2602
  schedulesTitle: HC,
@@ -2615,7 +2625,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2615
2625
  scheduledJob: pP,
2616
2626
  unknownTime: hP,
2617
2627
  unsupported: gP
2618
- }, fP = "Background jobs", $P = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result", vP = "Worker", bP = "Worker is running as {user}", SP = "Worker is not running", _P = "Choose a file", zP = "Selected file: {path}", yP = "Choose a file to import", AP = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved", kP = "Import and submit", wP = "Cancel", DP = "Result", CP = "Download result", PP = "No jobs yet", MP = "Queued", qP = "Running", TP = "Succeeded", EP = "Failed", RP = "Canceled", LP = "Interrupted", IP = "Paused", jP = "Pausing…", xP = "Pause", NP = "Resume", UP = { one: "{done} of {count} item", other: "{done} of {count} items" }, OP = "{done} of {total}", FP = "Current item: {item}", HP = "Up to {size} KB per file, {queue} queued jobs, {seconds} seconds per job", BP = { 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" }, VP = "You can see, cancel and download only your own jobs", WP = "Administrators can see and cancel every user’s jobs", KP = "Per user: {jobs} pending jobs and {size} KB of input and reserved result storage", JP = "Owner: {user} (UID {uid})", GP = "Clear owner’s jobs", ZP = "Clear all jobs owned by {user} (UID {uid})? Running jobs are canceled and drained; this removes their saved results", YP = "Confirm clear", QP = "Keep jobs", XP = "Schedules", eM = "Reprocess a fixed private copy hourly, daily or weekly as the package user. Up to 8 schedules; missed runs are recorded and never replayed", tM = "Schedule this copy", nM = "Private copy: {name}", oM = "Repeat every", aM = "Hour", iM = "Day", sM = "Week", rM = "I agree to keep and reprocess this fixed copy as the package user. No new source files or personal ACLs are read", cM = "Create schedule", lM = "No schedules yet", dM = "Enabled", uM = "Disabled", pM = "Next run: {time}", hM = "Missed runs: {count}", gM = "Disable schedule", mM = "Delete schedule", fM = "Delete the schedule for {name}? Queued jobs are canceled and running jobs drain. Finished results remain", $M = "Confirm delete", vM = "Enable schedule", bM = "Enable the schedule for {name} with the current worker revision? I agree to reprocess this fixed copy. Past runs will not be replayed", SM = "Confirm enable", _M = "The worker revision changed. An administrator must review and explicitly enable this schedule", zM = "Scheduled run", yM = "Unknown", AM = "Background jobs are unavailable. Refresh and try again", kM = {
2628
+ }, fP = "Background jobs", $P = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result", vP = "Worker", bP = "Worker is running as {user}", SP = "Worker is not running", _P = "Choose a file", zP = "Selected file: {path}", yP = "Choose a file to import", AP = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved", kP = "Import and submit", wP = "Cancel", DP = "Result", CP = "Download result", PP = "No jobs yet", MP = "Queued", qP = "Running", TP = "Succeeded", EP = "Failed", RP = "Canceled", LP = "Interrupted", IP = "Paused", jP = "Pausing…", xP = "Pause", UP = "Resume", NP = { one: "{done} of {count} item", other: "{done} of {count} items" }, OP = "{done} of {total}", FP = "Current item: {item}", HP = "Up to {size} KB per file, {queue} queued jobs, {seconds} seconds per job", BP = { 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" }, VP = "You can see, cancel and download only your own jobs", WP = "Administrators can see and cancel every user’s jobs", KP = "Per user: {jobs} pending jobs and {size} KB of input and reserved result storage", JP = "Owner: {user} (UID {uid})", GP = "Clear owner’s jobs", ZP = "Clear all jobs owned by {user} (UID {uid})? Running jobs are canceled and drained; this removes their saved results", YP = "Confirm clear", QP = "Keep jobs", XP = "Schedules", eM = "Reprocess a fixed private copy hourly, daily or weekly as the package user. Up to 8 schedules; missed runs are recorded and never replayed", tM = "Schedule this copy", nM = "Private copy: {name}", oM = "Repeat every", aM = "Hour", iM = "Day", sM = "Week", rM = "I agree to keep and reprocess this fixed copy as the package user. No new source files or personal ACLs are read", cM = "Create schedule", lM = "No schedules yet", dM = "Enabled", uM = "Disabled", pM = "Next run: {time}", hM = "Missed runs: {count}", gM = "Disable schedule", mM = "Delete schedule", fM = "Delete the schedule for {name}? Queued jobs are canceled and running jobs drain. Finished results remain", $M = "Confirm delete", vM = "Enable schedule", bM = "Enable the schedule for {name} with the current worker revision? I agree to reprocess this fixed copy. Past runs will not be replayed", SM = "Confirm enable", _M = "The worker revision changed. An administrator must review and explicitly enable this schedule", zM = "Scheduled run", yM = "Unknown", AM = "Background jobs are unavailable. Refresh and try again", kM = {
2619
2629
  title: fP,
2620
2630
  help: $P,
2621
2631
  worker: vP,
@@ -2639,8 +2649,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2639
2649
  state_paused: IP,
2640
2650
  pausing: jP,
2641
2651
  pause: xP,
2642
- resume: NP,
2643
- progressItems: UP,
2652
+ resume: UP,
2653
+ progressItems: NP,
2644
2654
  progressBytes: OP,
2645
2655
  progressItem: FP,
2646
2656
  limits: HP,
@@ -2679,7 +2689,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2679
2689
  scheduledJob: zM,
2680
2690
  unknownTime: yM,
2681
2691
  unsupported: AM
2682
- }, wM = "Trabajos en segundo plano", DM = "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", CM = "Worker", PM = "El worker se ejecuta como {user}", MM = "El worker no se está ejecutando", qM = "Elegir un archivo", TM = "Archivo seleccionado: {path}", EM = "Elegir un archivo para importar", RM = "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", LM = "Importar y enviar", IM = "Cancelar", jM = "Resultado", xM = "Descargar resultado", NM = "Aún no hay trabajos", UM = "En cola", OM = "En ejecución", FM = "Correcto", HM = "Error", BM = "Cancelado", VM = "Interrumpido", WM = "En pausa", KM = "Pausando…", JM = "Pausar", GM = "Reanudar", ZM = { one: "{done} de {count} elemento", other: "{done} de {count} elementos" }, YM = "{done} de {total}", QM = "Elemento actual: {item}", XM = "Hasta {size} KB por archivo, {queue} trabajos en cola, {seconds} segundos por trabajo", eq = { 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" }, tq = "Solo puede ver, cancelar y descargar sus propios trabajos", nq = "Los administradores pueden ver y cancelar los trabajos de todos los usuarios", oq = "Por usuario: {jobs} trabajos pendientes y {size} KB para entradas y resultados reservados", aq = "Propietario: {user} (UID {uid})", iq = "Borrar trabajos del propietario", sq = "¿Borrar todos los trabajos de {user} (UID {uid})? Los trabajos en curso se cancelarán y terminarán; se eliminarán los resultados guardados", rq = "Confirmar borrado", cq = "Conservar trabajos", lq = "Programaciones", dq = "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", uq = "Programar esta copia", pq = "Copia privada: {name}", hq = "Intervalo de repetición", gq = "Cada hora", mq = "Cada día", fq = "Cada semana", $q = "Acepto conservar esta copia fija y recalcularla como usuario del paquete. No se leen nuevos archivos de origen ni ACL personales", vq = "Crear programación", bq = "No hay programaciones", Sq = "Habilitado", _q = "Deshabilitado", zq = "Próxima ejecución: {time}", yq = "Ejecuciones perdidas: {count}", Aq = "Desactivar programación", kq = "Eliminar programación", wq = "¿Eliminar la programación de {name}? Los trabajos en cola se cancelan y los activos se detienen y finalizan. Se conservan los resultados completados", Dq = "Confirmar eliminación", Cq = "Activar programación", Pq = "¿Activar la programación de {name} con la revisión actual del worker? Acepto recalcular esta copia fija. No se repetirán ejecuciones anteriores", Mq = "Confirmar activación", qq = "La revisión del worker cambió. Un administrador debe revisar y activar explícitamente esta programación", Tq = "Ejecución programada", Eq = "Desconocida", Rq = "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo", Lq = {
2692
+ }, wM = "Trabajos en segundo plano", DM = "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", CM = "Worker", PM = "El worker se ejecuta como {user}", MM = "El worker no se está ejecutando", qM = "Elegir un archivo", TM = "Archivo seleccionado: {path}", EM = "Elegir un archivo para importar", RM = "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", LM = "Importar y enviar", IM = "Cancelar", jM = "Resultado", xM = "Descargar resultado", UM = "Aún no hay trabajos", NM = "En cola", OM = "En ejecución", FM = "Correcto", HM = "Error", BM = "Cancelado", VM = "Interrumpido", WM = "En pausa", KM = "Pausando…", JM = "Pausar", GM = "Reanudar", ZM = { one: "{done} de {count} elemento", other: "{done} de {count} elementos" }, YM = "{done} de {total}", QM = "Elemento actual: {item}", XM = "Hasta {size} KB por archivo, {queue} trabajos en cola, {seconds} segundos por trabajo", eq = { 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" }, tq = "Solo puede ver, cancelar y descargar sus propios trabajos", nq = "Los administradores pueden ver y cancelar los trabajos de todos los usuarios", oq = "Por usuario: {jobs} trabajos pendientes y {size} KB para entradas y resultados reservados", aq = "Propietario: {user} (UID {uid})", iq = "Borrar trabajos del propietario", sq = "¿Borrar todos los trabajos de {user} (UID {uid})? Los trabajos en curso se cancelarán y terminarán; se eliminarán los resultados guardados", rq = "Confirmar borrado", cq = "Conservar trabajos", lq = "Programaciones", dq = "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", uq = "Programar esta copia", pq = "Copia privada: {name}", hq = "Intervalo de repetición", gq = "Cada hora", mq = "Cada día", fq = "Cada semana", $q = "Acepto conservar esta copia fija y recalcularla como usuario del paquete. No se leen nuevos archivos de origen ni ACL personales", vq = "Crear programación", bq = "No hay programaciones", Sq = "Habilitado", _q = "Deshabilitado", zq = "Próxima ejecución: {time}", yq = "Ejecuciones perdidas: {count}", Aq = "Desactivar programación", kq = "Eliminar programación", wq = "¿Eliminar la programación de {name}? Los trabajos en cola se cancelan y los activos se detienen y finalizan. Se conservan los resultados completados", Dq = "Confirmar eliminación", Cq = "Activar programación", Pq = "¿Activar la programación de {name} con la revisión actual del worker? Acepto recalcular esta copia fija. No se repetirán ejecuciones anteriores", Mq = "Confirmar activación", qq = "La revisión del worker cambió. Un administrador debe revisar y activar explícitamente esta programación", Tq = "Ejecución programada", Eq = "Desconocida", Rq = "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo", Lq = {
2683
2693
  title: wM,
2684
2694
  help: DM,
2685
2695
  worker: CM,
@@ -2693,8 +2703,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2693
2703
  cancel: IM,
2694
2704
  result: jM,
2695
2705
  download: xM,
2696
- noJobs: NM,
2697
- state_queued: UM,
2706
+ noJobs: UM,
2707
+ state_queued: NM,
2698
2708
  state_running: OM,
2699
2709
  state_succeeded: FM,
2700
2710
  state_failed: HM,
@@ -2743,12 +2753,12 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2743
2753
  scheduledJob: Tq,
2744
2754
  unknownTime: Eq,
2745
2755
  unsupported: Rq
2746
- }, Iq = "Tâches en arrière-plan", jq = "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", xq = "Worker", Nq = "Le worker s’exécute sous {user}", Uq = "Le worker n’est pas en cours d’exécution", Oq = "Choisir un fichier", Fq = "Fichier sélectionné : {path}", Hq = "Choisir un fichier à importer", Bq = "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", Vq = "Importer et envoyer", Wq = "Annuler", Kq = "Résultat", Jq = "Télécharger le résultat", Gq = "Aucune tâche", Zq = "En attente", Yq = "En cours", Qq = "Réussie", Xq = "Échec", eT = "Annulée", tT = "Interrompue", nT = "En pause", oT = "Mise en pause…", aT = "Pause", iT = "Reprendre", sT = { one: "{done} sur {count} élément", other: "{done} sur {count} éléments" }, rT = "{done} sur {total}", cT = "Élément en cours : {item}", lT = "Jusqu’à {size} KB par fichier, {queue} tâches en attente, {seconds} secondes par tâche", dT = { 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" }, uT = "Vous pouvez voir, annuler et télécharger uniquement vos propres tâches", pT = "Les administrateurs peuvent voir et annuler les tâches de tous les utilisateurs", hT = "Par utilisateur : {jobs} tâches en attente et {size} KB pour les entrées et résultats réservés", gT = "Propriétaire : {user} (UID {uid})", mT = "Effacer les tâches du propriétaire", fT = "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", $T = "Confirmer l’effacement", vT = "Conserver les tâches", bT = "Planifications", ST = "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", _T = "Planifier cette copie", zT = "Copie privée : {name}", yT = "Intervalle de répétition", AT = "Chaque heure", kT = "Chaque jour", wT = "Chaque semaine", DT = "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", CT = "Créer la planification", PT = "Aucune planification", MT = "Activé", qT = "Désactivé", TT = "Prochaine exécution : {time}", ET = "Exécutions manquées : {count}", RT = "Désactiver la planification", LT = "Supprimer la planification", IT = "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", jT = "Confirmer la suppression", xT = "Activer la planification", NT = "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", UT = "Confirmer l’activation", OT = "La révision du worker a changé. Un administrateur doit vérifier et activer explicitement cette planification", FT = "Exécution planifiée", HT = "Inconnue", BT = "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez", VT = {
2756
+ }, Iq = "Tâches en arrière-plan", jq = "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", xq = "Worker", Uq = "Le worker s’exécute sous {user}", Nq = "Le worker n’est pas en cours d’exécution", Oq = "Choisir un fichier", Fq = "Fichier sélectionné : {path}", Hq = "Choisir un fichier à importer", Bq = "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", Vq = "Importer et envoyer", Wq = "Annuler", Kq = "Résultat", Jq = "Télécharger le résultat", Gq = "Aucune tâche", Zq = "En attente", Yq = "En cours", Qq = "Réussie", Xq = "Échec", eT = "Annulée", tT = "Interrompue", nT = "En pause", oT = "Mise en pause…", aT = "Pause", iT = "Reprendre", sT = { one: "{done} sur {count} élément", other: "{done} sur {count} éléments" }, rT = "{done} sur {total}", cT = "Élément en cours : {item}", lT = "Jusqu’à {size} KB par fichier, {queue} tâches en attente, {seconds} secondes par tâche", dT = { 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" }, uT = "Vous pouvez voir, annuler et télécharger uniquement vos propres tâches", pT = "Les administrateurs peuvent voir et annuler les tâches de tous les utilisateurs", hT = "Par utilisateur : {jobs} tâches en attente et {size} KB pour les entrées et résultats réservés", gT = "Propriétaire : {user} (UID {uid})", mT = "Effacer les tâches du propriétaire", fT = "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", $T = "Confirmer l’effacement", vT = "Conserver les tâches", bT = "Planifications", ST = "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", _T = "Planifier cette copie", zT = "Copie privée : {name}", yT = "Intervalle de répétition", AT = "Chaque heure", kT = "Chaque jour", wT = "Chaque semaine", DT = "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", CT = "Créer la planification", PT = "Aucune planification", MT = "Activé", qT = "Désactivé", TT = "Prochaine exécution : {time}", ET = "Exécutions manquées : {count}", RT = "Désactiver la planification", LT = "Supprimer la planification", IT = "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", jT = "Confirmer la suppression", xT = "Activer la planification", UT = "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", NT = "Confirmer l’activation", OT = "La révision du worker a changé. Un administrateur doit vérifier et activer explicitement cette planification", FT = "Exécution planifiée", HT = "Inconnue", BT = "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez", VT = {
2747
2757
  title: Iq,
2748
2758
  help: jq,
2749
2759
  worker: xq,
2750
- workerRunning: Nq,
2751
- workerStopped: Uq,
2760
+ workerRunning: Uq,
2761
+ workerStopped: Nq,
2752
2762
  chooseFile: Oq,
2753
2763
  chosen: Fq,
2754
2764
  pickerTitle: Hq,
@@ -2801,13 +2811,13 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2801
2811
  deleteScheduleConsent: IT,
2802
2812
  confirmDeleteSchedule: jT,
2803
2813
  enableSchedule: xT,
2804
- enableScheduleConsent: NT,
2805
- confirmEnableSchedule: UT,
2814
+ enableScheduleConsent: UT,
2815
+ confirmEnableSchedule: NT,
2806
2816
  revisionChanged: OT,
2807
2817
  scheduledJob: FT,
2808
2818
  unknownTime: HT,
2809
2819
  unsupported: BT
2810
- }, WT = "Processi in background", KT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato", JT = "Worker", GT = "Il worker è in esecuzione come {user}", ZT = "Il worker non è in esecuzione", YT = "Scegli un file", QT = "File selezionato: {path}", XT = "Scegli un file da importare", eE = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata", tE = "Importa e invia", nE = "Annulla", oE = "Risultato", aE = "Scarica il risultato", iE = "Nessun processo", sE = "In coda", rE = "In esecuzione", cE = "Riuscito", lE = "Non riuscito", dE = "Annullato", uE = "Interrotto", pE = "In pausa", hE = "Sospensione in corso…", gE = "Sospendi", mE = "Riprendi", fE = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, $E = "{done} di {total}", vE = "Elemento corrente: {item}", bE = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo", SE = { 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" }, _E = "È possibile vedere, annullare e scaricare solo i propri processi", zE = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti", yE = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati", AE = "Proprietario: {user} (UID {uid})", kE = "Cancella processi del proprietario", wE = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi", DE = "Conferma cancellazione", CE = "Conserva processi", PE = "Pianificazioni", ME = "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", qE = "Pianifica questa copia", TE = "Copia privata: {name}", EE = "Intervallo di ripetizione", RE = "Ogni ora", LE = "Ogni giorno", IE = "Ogni settimana", jE = "Acconsento a conservare questa copia fissa e a ricalcolarla come utente del pacchetto. Non vengono letti nuovi file di origine o ACL personali", xE = "Crea pianificazione", NE = "Nessuna pianificazione", UE = "Abilitato", OE = "Disabilitato", FE = "Prossima esecuzione: {time}", HE = "Esecuzioni perse: {count}", BE = "Disattiva pianificazione", VE = "Elimina pianificazione", WE = "Eliminare la pianificazione di {name}? I lavori in coda vengono annullati e quelli in corso vengono arrestati e conclusi. I risultati completati restano", KE = "Conferma eliminazione", JE = "Attiva pianificazione", GE = "Attivare la pianificazione di {name} con la revisione attuale del worker? Acconsento a ricalcolare questa copia fissa. Le esecuzioni passate non saranno ripetute", ZE = "Conferma attivazione", YE = "La revisione del worker è cambiata. Un amministratore deve verificare e attivare esplicitamente questa pianificazione", QE = "Esecuzione pianificata", XE = "Sconosciuta", eR = "I processi in background non sono disponibili. Aggiornare e riprovare", tR = {
2820
+ }, WT = "Processi in background", KT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato", JT = "Worker", GT = "Il worker è in esecuzione come {user}", ZT = "Il worker non è in esecuzione", YT = "Scegli un file", QT = "File selezionato: {path}", XT = "Scegli un file da importare", eE = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata", tE = "Importa e invia", nE = "Annulla", oE = "Risultato", aE = "Scarica il risultato", iE = "Nessun processo", sE = "In coda", rE = "In esecuzione", cE = "Riuscito", lE = "Non riuscito", dE = "Annullato", uE = "Interrotto", pE = "In pausa", hE = "Sospensione in corso…", gE = "Sospendi", mE = "Riprendi", fE = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, $E = "{done} di {total}", vE = "Elemento corrente: {item}", bE = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo", SE = { 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" }, _E = "È possibile vedere, annullare e scaricare solo i propri processi", zE = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti", yE = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati", AE = "Proprietario: {user} (UID {uid})", kE = "Cancella processi del proprietario", wE = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi", DE = "Conferma cancellazione", CE = "Conserva processi", PE = "Pianificazioni", ME = "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", qE = "Pianifica questa copia", TE = "Copia privata: {name}", EE = "Intervallo di ripetizione", RE = "Ogni ora", LE = "Ogni giorno", IE = "Ogni settimana", jE = "Acconsento a conservare questa copia fissa e a ricalcolarla come utente del pacchetto. Non vengono letti nuovi file di origine o ACL personali", xE = "Crea pianificazione", UE = "Nessuna pianificazione", NE = "Abilitato", OE = "Disabilitato", FE = "Prossima esecuzione: {time}", HE = "Esecuzioni perse: {count}", BE = "Disattiva pianificazione", VE = "Elimina pianificazione", WE = "Eliminare la pianificazione di {name}? I lavori in coda vengono annullati e quelli in corso vengono arrestati e conclusi. I risultati completati restano", KE = "Conferma eliminazione", JE = "Attiva pianificazione", GE = "Attivare la pianificazione di {name} con la revisione attuale del worker? Acconsento a ricalcolare questa copia fissa. Le esecuzioni passate non saranno ripetute", ZE = "Conferma attivazione", YE = "La revisione del worker è cambiata. Un amministratore deve verificare e attivare esplicitamente questa pianificazione", QE = "Esecuzione pianificata", XE = "Sconosciuta", eR = "I processi in background non sono disponibili. Aggiornare e riprovare", tR = {
2811
2821
  title: WT,
2812
2822
  help: KT,
2813
2823
  worker: JT,
@@ -2855,8 +2865,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2855
2865
  weekly: IE,
2856
2866
  scheduleConsent: jE,
2857
2867
  createSchedule: xE,
2858
- noSchedules: NE,
2859
- scheduleOn: UE,
2868
+ noSchedules: UE,
2869
+ scheduleOn: NE,
2860
2870
  scheduleOff: OE,
2861
2871
  nextRun: FE,
2862
2872
  missedRuns: HE,
@@ -2871,7 +2881,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2871
2881
  scheduledJob: QE,
2872
2882
  unknownTime: XE,
2873
2883
  unsupported: eR
2874
- }, nR = "バックグラウンドジョブ", oR = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します", aR = "ワーカー", iR = "ワーカーは {user} として実行中です", sR = "ワーカーは停止しています", rR = "ファイルを選択", cR = "選択したファイル:{path}", lR = "インポートするファイルを選択", dR = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません", uR = "インポートして送信", pR = "キャンセル", hR = "結果", gR = "結果をダウンロード", mR = "ジョブはまだありません", fR = "待機中", $R = "実行中", vR = "成功", bR = "失敗", SR = "キャンセル済み", _R = "中断", zR = "一時停止中", yR = "一時停止しています…", AR = "一時停止", kR = "再開", wR = { other: "{done} / {count} 項目" }, DR = "{done} / {total}", CR = "現在の項目:{item}", PR = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒", MR = { 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: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください" }, qR = "自分のジョブのみ表示、キャンセル、ダウンロードできます", TR = "管理者はすべてのユーザーのジョブを表示、キャンセルできます", ER = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB", RR = "所有者:{user}(UID {uid})", LR = "所有者のジョブを消去", IR = "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します", jR = "消去を確認", xR = "ジョブを保持", NR = "スケジュール", UR = "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません", OR = "このコピーを定期実行", FR = "非公開コピー:{name}", HR = "繰り返し間隔", BR = "毎時", VR = "毎日", WR = "毎週", KR = "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません", JR = "スケジュールを作成", GR = "スケジュールはありません", ZR = "有効", YR = "無効", QR = "次回実行:{time}", XR = "逃した実行:{count} 回", eL = "スケジュールを無効化", tL = "スケジュールを削除", nL = "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります", oL = "削除を確認", aL = "スケジュールを有効化", iL = "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません", sL = "有効化を確認", rL = "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください", cL = "定期実行", lL = "不明", dL = "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください", uL = {
2884
+ }, nR = "バックグラウンドジョブ", oR = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します", aR = "ワーカー", iR = "ワーカーは {user} として実行中です", sR = "ワーカーは停止しています", rR = "ファイルを選択", cR = "選択したファイル:{path}", lR = "インポートするファイルを選択", dR = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません", uR = "インポートして送信", pR = "キャンセル", hR = "結果", gR = "結果をダウンロード", mR = "ジョブはまだありません", fR = "待機中", $R = "実行中", vR = "成功", bR = "失敗", SR = "キャンセル済み", _R = "中断", zR = "一時停止中", yR = "一時停止しています…", AR = "一時停止", kR = "再開", wR = { other: "{done} / {count} 項目" }, DR = "{done} / {total}", CR = "現在の項目:{item}", PR = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒", MR = { 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: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください" }, qR = "自分のジョブのみ表示、キャンセル、ダウンロードできます", TR = "管理者はすべてのユーザーのジョブを表示、キャンセルできます", ER = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB", RR = "所有者:{user}(UID {uid})", LR = "所有者のジョブを消去", IR = "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します", jR = "消去を確認", xR = "ジョブを保持", UR = "スケジュール", NR = "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません", OR = "このコピーを定期実行", FR = "非公開コピー:{name}", HR = "繰り返し間隔", BR = "毎時", VR = "毎日", WR = "毎週", KR = "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません", JR = "スケジュールを作成", GR = "スケジュールはありません", ZR = "有効", YR = "無効", QR = "次回実行:{time}", XR = "逃した実行:{count} 回", eL = "スケジュールを無効化", tL = "スケジュールを削除", nL = "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります", oL = "削除を確認", aL = "スケジュールを有効化", iL = "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません", sL = "有効化を確認", rL = "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください", cL = "定期実行", lL = "不明", dL = "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください", uL = {
2875
2885
  title: nR,
2876
2886
  help: oR,
2877
2887
  worker: aR,
@@ -2909,8 +2919,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2909
2919
  purgeConfirm: IR,
2910
2920
  confirmPurge: jR,
2911
2921
  keepJobs: xR,
2912
- schedulesTitle: NR,
2913
- scheduleHelp: UR,
2922
+ schedulesTitle: UR,
2923
+ scheduleHelp: NR,
2914
2924
  scheduleCopy: OR,
2915
2925
  scheduleSource: FR,
2916
2926
  interval: HR,
@@ -2935,7 +2945,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2935
2945
  scheduledJob: cL,
2936
2946
  unknownTime: lL,
2937
2947
  unsupported: dL
2938
- }, pL = "백그라운드 작업", hL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다", gL = "워커", mL = "워커가 {user} 계정으로 실행 중", fL = "워커가 실행 중이 아닙니다", $L = "파일 선택", vL = "선택한 파일: {path}", bL = "가져올 파일 선택", SL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다", _L = "가져오기 및 제출", zL = "취소", yL = "결과", AL = "결과 다운로드", kL = "작업이 없습니다", wL = "대기 중", DL = "실행 중", CL = "성공", PL = "실패", ML = "취소됨", qL = "중단됨", TL = "일시 중지됨", EL = "일시 중지 중…", RL = "일시 중지", LL = "다시 시작", IL = { other: "{done}/{count}개 항목" }, jL = "{done} / {total}", xL = "현재 항목: {item}", NL = "파일당 최대 {size} KB, 대기 {queue}개, 작업당 {seconds}초", UL = { 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: "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오" }, OL = "자신의 작업만 보고 취소하고 다운로드할 수 있습니다", FL = "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다", HL = "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KB", BL = "소유자: {user} (UID {uid})", VL = "소유자의 작업 지우기", WL = "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다", KL = "지우기 확인", JL = "작업 유지", GL = "일정", ZL = "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다", YL = "이 사본 예약", QL = "비공개 사본: {name}", XL = "반복 간격", e1 = "매시간", t1 = "매일", n1 = "매주", o1 = "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다", a1 = "일정 만들기", i1 = "일정 없음", s1 = "활성화됨", r1 = "사용 안함", c1 = "다음 실행: {time}", l1 = "놓친 실행: {count}회", d1 = "일정 비활성화", u1 = "일정 삭제", p1 = "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다", h1 = "삭제 확인", g1 = "일정 활성화", m1 = "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다", f1 = "활성화 확인", $1 = "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다", v1 = "예약 실행", b1 = "알 수 없음", S1 = "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오", _1 = {
2948
+ }, pL = "백그라운드 작업", hL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다", gL = "워커", mL = "워커가 {user} 계정으로 실행 중", fL = "워커가 실행 중이 아닙니다", $L = "파일 선택", vL = "선택한 파일: {path}", bL = "가져올 파일 선택", SL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다", _L = "가져오기 및 제출", zL = "취소", yL = "결과", AL = "결과 다운로드", kL = "작업이 없습니다", wL = "대기 중", DL = "실행 중", CL = "성공", PL = "실패", ML = "취소됨", qL = "중단됨", TL = "일시 중지됨", EL = "일시 중지 중…", RL = "일시 중지", LL = "다시 시작", IL = { other: "{done}/{count}개 항목" }, jL = "{done} / {total}", xL = "현재 항목: {item}", UL = "파일당 최대 {size} KB, 대기 {queue}개, 작업당 {seconds}초", NL = { 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: "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오" }, OL = "자신의 작업만 보고 취소하고 다운로드할 수 있습니다", FL = "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다", HL = "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KB", BL = "소유자: {user} (UID {uid})", VL = "소유자의 작업 지우기", WL = "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다", KL = "지우기 확인", JL = "작업 유지", GL = "일정", ZL = "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다", YL = "이 사본 예약", QL = "비공개 사본: {name}", XL = "반복 간격", e1 = "매시간", t1 = "매일", n1 = "매주", o1 = "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다", a1 = "일정 만들기", i1 = "일정 없음", s1 = "활성화됨", r1 = "사용 안함", c1 = "다음 실행: {time}", l1 = "놓친 실행: {count}회", d1 = "일정 비활성화", u1 = "일정 삭제", p1 = "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다", h1 = "삭제 확인", g1 = "일정 활성화", m1 = "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다", f1 = "활성화 확인", $1 = "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다", v1 = "예약 실행", b1 = "알 수 없음", S1 = "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오", _1 = {
2939
2949
  title: pL,
2940
2950
  help: hL,
2941
2951
  worker: gL,
@@ -2963,8 +2973,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2963
2973
  progressItems: IL,
2964
2974
  progressBytes: jL,
2965
2975
  progressItem: xL,
2966
- limits: NL,
2967
- errors: UL,
2976
+ limits: UL,
2977
+ errors: NL,
2968
2978
  ownerScope: OL,
2969
2979
  adminScope: FL,
2970
2980
  ownerLimits: HL,
@@ -2999,7 +3009,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
2999
3009
  scheduledJob: v1,
3000
3010
  unknownTime: b1,
3001
3011
  unsupported: S1
3002
- }, z1 = "后台任务", y1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存", A1 = "Worker", k1 = "Worker 正以 {user} 运行", w1 = "Worker 未运行", D1 = "选择文件", C1 = "已选择的文件:{path}", P1 = "选择要导入的文件", M1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权", q1 = "导入并提交", T1 = "取消", E1 = "结果", R1 = "下载结果", L1 = "暂无任务", I1 = "排队中", j1 = "运行中", x1 = "成功", N1 = "失败", U1 = "已取消", O1 = "已中断", F1 = "已暂停", H1 = "正在暂停…", B1 = "暂停", V1 = "继续", W1 = { other: "{done} / {count} 个项目" }, K1 = "{done} / {total}", J1 = "当前项目:{item}", G1 = "每个文件最多 {size} KB、最多 {queue} 个排队任务、每个任务最长 {seconds} 秒", Z1 = { 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: "后台任务无法使用,请刷新后重试" }, Y1 = "你只能查看、取消及下载自己的任务", Q1 = "管理员可查看及取消所有用户的任务", X1 = "每人上限:{jobs} 个待处理任务、{size} KB 输入与预留结果存储", eI = "所有者:{user}(UID {uid})", tI = "清除所有者的任务", nI = "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除", oI = "确认清除", aI = "保留任务", iI = "计划", sI = "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的运行仅记录,不会补上", rI = "计划重跑副本", cI = "私有副本:{name}", lI = "重复间隔", dI = "每小时", uI = "每日", pI = "每周", hI = "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL", gI = "创建计划", mI = "暂无计划", fI = "已启动", $I = "已停用", vI = "下次运行:{time}", bI = "错过运行:{count} 次", SI = "停用计划", _I = "删除计划", zI = "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留", yI = "确认删除", AI = "启用计划", kI = "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。过去错过的运行不会补上", wI = "确认启用", DI = "Worker revision 已更改。管理员须检查并明确启用此计划", CI = "计划运行", PI = "未知", MI = "后台任务无法使用,请刷新后重试", qI = {
3012
+ }, z1 = "后台任务", y1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存", A1 = "Worker", k1 = "Worker 正以 {user} 运行", w1 = "Worker 未运行", D1 = "选择文件", C1 = "已选择的文件:{path}", P1 = "选择要导入的文件", M1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权", q1 = "导入并提交", T1 = "取消", E1 = "结果", R1 = "下载结果", L1 = "暂无任务", I1 = "排队中", j1 = "运行中", x1 = "成功", U1 = "失败", N1 = "已取消", O1 = "已中断", F1 = "已暂停", H1 = "正在暂停…", B1 = "暂停", V1 = "继续", W1 = { other: "{done} / {count} 个项目" }, K1 = "{done} / {total}", J1 = "当前项目:{item}", G1 = "每个文件最多 {size} KB、最多 {queue} 个排队任务、每个任务最长 {seconds} 秒", Z1 = { 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: "后台任务无法使用,请刷新后重试" }, Y1 = "你只能查看、取消及下载自己的任务", Q1 = "管理员可查看及取消所有用户的任务", X1 = "每人上限:{jobs} 个待处理任务、{size} KB 输入与预留结果存储", eI = "所有者:{user}(UID {uid})", tI = "清除所有者的任务", nI = "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除", oI = "确认清除", aI = "保留任务", iI = "计划", sI = "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的运行仅记录,不会补上", rI = "计划重跑副本", cI = "私有副本:{name}", lI = "重复间隔", dI = "每小时", uI = "每日", pI = "每周", hI = "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL", gI = "创建计划", mI = "暂无计划", fI = "已启动", $I = "已停用", vI = "下次运行:{time}", bI = "错过运行:{count} 次", SI = "停用计划", _I = "删除计划", zI = "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留", yI = "确认删除", AI = "启用计划", kI = "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。过去错过的运行不会补上", wI = "确认启用", DI = "Worker revision 已更改。管理员须检查并明确启用此计划", CI = "计划运行", PI = "未知", MI = "后台任务无法使用,请刷新后重试", qI = {
3003
3013
  title: z1,
3004
3014
  help: y1,
3005
3015
  worker: A1,
@@ -3017,8 +3027,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
3017
3027
  state_queued: I1,
3018
3028
  state_running: j1,
3019
3029
  state_succeeded: x1,
3020
- state_failed: N1,
3021
- state_canceled: U1,
3030
+ state_failed: U1,
3031
+ state_canceled: N1,
3022
3032
  state_interrupted: O1,
3023
3033
  state_paused: F1,
3024
3034
  pausing: H1,
@@ -3063,7 +3073,7 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
3063
3073
  scheduledJob: CI,
3064
3074
  unknownTime: PI,
3065
3075
  unsupported: MI
3066
- }, TI = "背景工作", EI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存", RI = "Worker", LI = "Worker 正以 {user} 執行", II = "Worker 未執行", jI = "選擇檔案", xI = "已選擇的檔案:{path}", NI = "選擇要匯入的檔案", UI = "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權", OI = "匯入並送出", FI = "取消", HI = "結果", BI = "下載結果", VI = "尚無工作", WI = "排隊中", KI = "執行中", JI = "成功", GI = "失敗", ZI = "已取消", YI = "已中斷", QI = "已暫停", XI = "正在暫停…", e8 = "暫停", t8 = "繼續", n8 = { other: "{done} / {count} 個項目" }, o8 = "{done} / {total}", a8 = "目前項目:{item}", i8 = "每個檔案最多 {size} KB、最多 {queue} 個排隊工作、每個工作最長 {seconds} 秒", s8 = { 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: "背景工作無法使用,請重新整理後再試" }, r8 = "你只能檢視、取消及下載自己的工作", c8 = "管理員可檢視及取消所有使用者的工作", l8 = "每人上限:{jobs} 個待處理工作、{size} KB 輸入與預留結果儲存", d8 = "擁有者:{user}(UID {uid})", u8 = "清除擁有者的工作", p8 = "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除", h8 = "確認清除", g8 = "保留工作", m8 = "排程", f8 = "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑", $8 = "排程重跑副本", v8 = "私有副本:{name}", b8 = "重複間隔", S8 = "每小時", _8 = "每日", z8 = "每週", y8 = "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL", A8 = "建立排程", k8 = "尚無排程", w8 = "已啟用", D8 = "已停用", C8 = "下次執行:{time}", P8 = "錯過執行:{count} 次", M8 = "停用排程", q8 = "刪除排程", T8 = "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留", E8 = "確認刪除", R8 = "啟用排程", L8 = "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行", I8 = "確認啟用", j8 = "Worker revision 已變更。管理員須審閱並明確啟用此排程", x8 = "排程執行", N8 = "未知", U8 = "背景工作無法使用,請重新整理後再試", O8 = {
3076
+ }, TI = "背景工作", EI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存", RI = "Worker", LI = "Worker 正以 {user} 執行", II = "Worker 未執行", jI = "選擇檔案", xI = "已選擇的檔案:{path}", UI = "選擇要匯入的檔案", NI = "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權", OI = "匯入並送出", FI = "取消", HI = "結果", BI = "下載結果", VI = "尚無工作", WI = "排隊中", KI = "執行中", JI = "成功", GI = "失敗", ZI = "已取消", YI = "已中斷", QI = "已暫停", XI = "正在暫停…", e8 = "暫停", t8 = "繼續", n8 = { other: "{done} / {count} 個項目" }, o8 = "{done} / {total}", a8 = "目前項目:{item}", i8 = "每個檔案最多 {size} KB、最多 {queue} 個排隊工作、每個工作最長 {seconds} 秒", s8 = { 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: "背景工作無法使用,請重新整理後再試" }, r8 = "你只能檢視、取消及下載自己的工作", c8 = "管理員可檢視及取消所有使用者的工作", l8 = "每人上限:{jobs} 個待處理工作、{size} KB 輸入與預留結果儲存", d8 = "擁有者:{user}(UID {uid})", u8 = "清除擁有者的工作", p8 = "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除", h8 = "確認清除", g8 = "保留工作", m8 = "排程", f8 = "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑", $8 = "排程重跑副本", v8 = "私有副本:{name}", b8 = "重複間隔", S8 = "每小時", _8 = "每日", z8 = "每週", y8 = "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL", A8 = "建立排程", k8 = "尚無排程", w8 = "已啟用", D8 = "已停用", C8 = "下次執行:{time}", P8 = "錯過執行:{count} 次", M8 = "停用排程", q8 = "刪除排程", T8 = "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留", E8 = "確認刪除", R8 = "啟用排程", L8 = "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行", I8 = "確認啟用", j8 = "Worker revision 已變更。管理員須審閱並明確啟用此排程", x8 = "排程執行", U8 = "未知", N8 = "背景工作無法使用,請重新整理後再試", O8 = {
3067
3077
  title: TI,
3068
3078
  help: EI,
3069
3079
  worker: RI,
@@ -3071,8 +3081,8 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
3071
3081
  workerStopped: II,
3072
3082
  chooseFile: jI,
3073
3083
  chosen: xI,
3074
- pickerTitle: NI,
3075
- pickerConsent: UI,
3084
+ pickerTitle: UI,
3085
+ pickerConsent: NI,
3076
3086
  submit: OI,
3077
3087
  cancel: FI,
3078
3088
  result: HI,
@@ -3125,16 +3135,16 @@ const sC = "Hintergrundaufträge", rC = "Kopiert eine ausgewählte Datei ins Pak
3125
3135
  confirmEnableSchedule: I8,
3126
3136
  revisionChanged: j8,
3127
3137
  scheduledJob: x8,
3128
- unknownTime: N8,
3129
- unsupported: U8
3130
- }, be = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": mP, "../../i18n/background/en.json": kM, "../../i18n/background/es.json": Lq, "../../i18n/background/fr.json": VT, "../../i18n/background/it.json": tR, "../../i18n/background/ja.json": uL, "../../i18n/background/ko.json": _1, "../../i18n/background/zh-CN.json": qI, "../../i18n/background/zh-TW.json": O8 }));
3131
- function L6(e) {
3132
- return be[z(e)];
3138
+ unknownTime: U8,
3139
+ unsupported: N8
3140
+ }, be = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": mP, "../../i18n/background/en.json": kM, "../../i18n/background/es.json": Lq, "../../i18n/background/fr.json": VT, "../../i18n/background/it.json": tR, "../../i18n/background/ja.json": uL, "../../i18n/background/ko.json": _1, "../../i18n/background/zh-CN.json": qI, "../../i18n/background/zh-TW.json": O8 }));
3141
+ function I6(e) {
3142
+ return be[y(e)];
3133
3143
  }
3134
- function I6(e, t, a, n) {
3135
- const o = x(e, a ?? Object.entries(be).find(([, r]) => r === t)?.[0], n);
3144
+ function j6(e, t, a, n) {
3145
+ const o = N(e, a ?? Object.entries(be).find(([, r]) => r === t)?.[0], n);
3136
3146
  if (o) return o.message;
3137
- const i = B(e, a);
3147
+ const i = W(e, a);
3138
3148
  if (i) return i;
3139
3149
  const s = e?.code ?? "";
3140
3150
  return t.errors[s] ?? t.errors.failed;
@@ -3171,7 +3181,7 @@ const F8 = "Speichern im Hintergrund", H8 = "Nach Ihrer Abmeldung speichert dies
3171
3181
  approve: fj,
3172
3182
  confirmChange: $j,
3173
3183
  password: vj
3174
- }, Sj = "Background saves", _j = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced", zj = "Allow this app to save here after you sign out, until you revoke access", yj = "Revoke access", Aj = "Choose folder", kj = "An administrator must approve background saves before you can choose a folder", wj = "Enable background saves", Dj = "Background saves are disabled. An administrator can enable them; you must then select a destination again", Cj = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically", Pj = "Access was refused. Check your folder permissions, then select the destination again", Mj = "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", qj = "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", Tj = "The destination folder no longer exists. Move it back to save there again, or choose another destination", Ej = "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", Rj = "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", Lj = "Sign in to DSM again, then refresh", Ij = "A file with this name already exists. Check the destination and choose another name for a new job", jj = "There is not enough space. Check the destination before starting a new job", xj = "The action could not be confirmed. Refresh to check the current result before taking further action", Nj = "The allowed scope changed. Choose your save folder again. Saved files remain", Uj = "Save example file", Oj = "Save a small example file to your active destination with your own permissions", Fj = "Retry", Hj = "Save folder", Bj = "Not chosen", Vj = "Cancel", Wj = "Changing the save folder requires your user password and clears every user’s destination. Saved files remain", Kj = "Users can choose where to save only inside this folder", Jj = "Approve", Gj = "Confirm change", Zj = "User password", Yj = {
3184
+ }, Sj = "Background saves", _j = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced", zj = "Allow this app to save here after you sign out, until you revoke access", yj = "Revoke access", Aj = "Choose folder", kj = "An administrator must approve background saves before you can choose a folder", wj = "Enable background saves", Dj = "Background saves are disabled. An administrator can enable them; you must then select a destination again", Cj = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically", Pj = "Access was refused. Check your folder permissions, then select the destination again", Mj = "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", qj = "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", Tj = "The destination folder no longer exists. Move it back to save there again, or choose another destination", Ej = "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", Rj = "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", Lj = "Sign in to DSM again, then refresh", Ij = "A file with this name already exists. Check the destination and choose another name for a new job", jj = "There is not enough space. Check the destination before starting a new job", xj = "The action could not be confirmed. Refresh to check the current result before taking further action", Uj = "The allowed scope changed. Choose your save folder again. Saved files remain", Nj = "Save example file", Oj = "Save a small example file to your active destination with your own permissions", Fj = "Retry", Hj = "Save folder", Bj = "Not chosen", Vj = "Cancel", Wj = "Changing the save folder requires your user password and clears every user’s destination. Saved files remain", Kj = "Users can choose where to save only inside this folder", Jj = "Approve", Gj = "Confirm change", Zj = "User password", Yj = {
3175
3185
  title: Sj,
3176
3186
  help: _j,
3177
3187
  selection: zj,
@@ -3191,8 +3201,8 @@ const F8 = "Speichern im Hintergrund", H8 = "Nach Ihrer Abmeldung speichert dies
3191
3201
  conflict: Ij,
3192
3202
  space: jj,
3193
3203
  error: xj,
3194
- reselect: Nj,
3195
- example: Uj,
3204
+ reselect: Uj,
3205
+ example: Nj,
3196
3206
  exampleHelp: Oj,
3197
3207
  retry: Fj,
3198
3208
  folder: Hj,
@@ -3235,7 +3245,7 @@ const F8 = "Speichern im Hintergrund", H8 = "Nach Ihrer Abmeldung speichert dies
3235
3245
  approve: wx,
3236
3246
  confirmChange: Dx,
3237
3247
  password: Cx
3238
- }, Mx = "Enregistrements en arrière-plan", qx = "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", Tx = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès", Ex = "Révoquer l’accès", Rx = "Choisir un dossier", Lx = "Un administrateur doit approuver les enregistrements en arrière-plan avant que vous puissiez choisir un dossier", Ix = "Activer les enregistrements en arrière-plan", jx = "Les enregistrements en arrière-plan sont désactivés. Un administrateur peut les activer ; vous devrez ensuite choisir à nouveau une destination", xx = "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", Nx = "L’accès a été refusé. Vérifiez les autorisations du dossier, puis choisissez à nouveau la destination", Ux = "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", Ox = "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", Fx = "Le dossier de destination n'existe plus. Remettez-le en place pour y enregistrer à nouveau, ou choisissez une autre destination", Hx = "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", Bx = "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", Vx = "Reconnectez-vous à DSM, puis actualisez", Wx = "Un fichier portant ce nom existe déjà. Vérifiez la destination et choisissez un autre nom pour une nouvelle tâche", Kx = "L’espace est insuffisant. Vérifiez la destination avant de lancer une nouvelle tâche", Jx = "L’action n’a pas pu être confirmée. Actualisez pour vérifier le résultat actuel avant toute autre action", Gx = "La portée autorisée a changé. Choisissez à nouveau votre dossier d’enregistrement. Les fichiers enregistrés sont conservés", Zx = "Enregistrer un fichier d’exemple", Yx = "Enregistrez un petit fichier exemple dans la destination active avec vos propres autorisations", Qx = "Réessayer", Xx = "Dossier d’enregistrement", eN = "Non choisi", tN = "Annuler", nN = "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", oN = "Les utilisateurs ne peuvent choisir un emplacement d’enregistrement que dans ce dossier", aN = "Approuver", iN = "Confirmer la modification", sN = "Mot de passe utilisateur", rN = {
3248
+ }, Mx = "Enregistrements en arrière-plan", qx = "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", Tx = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès", Ex = "Révoquer l’accès", Rx = "Choisir un dossier", Lx = "Un administrateur doit approuver les enregistrements en arrière-plan avant que vous puissiez choisir un dossier", Ix = "Activer les enregistrements en arrière-plan", jx = "Les enregistrements en arrière-plan sont désactivés. Un administrateur peut les activer ; vous devrez ensuite choisir à nouveau une destination", xx = "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", Ux = "L’accès a été refusé. Vérifiez les autorisations du dossier, puis choisissez à nouveau la destination", Nx = "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", Ox = "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", Fx = "Le dossier de destination n'existe plus. Remettez-le en place pour y enregistrer à nouveau, ou choisissez une autre destination", Hx = "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", Bx = "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", Vx = "Reconnectez-vous à DSM, puis actualisez", Wx = "Un fichier portant ce nom existe déjà. Vérifiez la destination et choisissez un autre nom pour une nouvelle tâche", Kx = "L’espace est insuffisant. Vérifiez la destination avant de lancer une nouvelle tâche", Jx = "L’action n’a pas pu être confirmée. Actualisez pour vérifier le résultat actuel avant toute autre action", Gx = "La portée autorisée a changé. Choisissez à nouveau votre dossier d’enregistrement. Les fichiers enregistrés sont conservés", Zx = "Enregistrer un fichier d’exemple", Yx = "Enregistrez un petit fichier exemple dans la destination active avec vos propres autorisations", Qx = "Réessayer", Xx = "Dossier d’enregistrement", eU = "Non choisi", tU = "Annuler", nU = "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", oU = "Les utilisateurs ne peuvent choisir un emplacement d’enregistrement que dans ce dossier", aU = "Approuver", iU = "Confirmer la modification", sU = "Mot de passe utilisateur", rU = {
3239
3249
  title: Mx,
3240
3250
  help: qx,
3241
3251
  selection: Tx,
@@ -3245,8 +3255,8 @@ const F8 = "Speichern im Hintergrund", H8 = "Nach Ihrer Abmeldung speichert dies
3245
3255
  enable: Ix,
3246
3256
  disabled: jx,
3247
3257
  uncertainHelp: xx,
3248
- denied: Nx,
3249
- permission: Ux,
3258
+ denied: Ux,
3259
+ permission: Nx,
3250
3260
  permissionSelect: Ox,
3251
3261
  missing: Fx,
3252
3262
  appPrivilege: Hx,
@@ -3260,182 +3270,182 @@ const F8 = "Speichern im Hintergrund", H8 = "Nach Ihrer Abmeldung speichert dies
3260
3270
  exampleHelp: Yx,
3261
3271
  retry: Qx,
3262
3272
  folder: Xx,
3263
- folderNone: eN,
3264
- cancelChange: tN,
3265
- changeHelp: nN,
3266
- approveHelp: oN,
3267
- approve: aN,
3268
- confirmChange: iN,
3269
- password: sN
3270
- }, cN = "Salvataggi in background", lN = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti", dN = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso", uN = "Revoca accesso", pN = "Scegli cartella", hN = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella", gN = "Attiva salvataggi in background", mN = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione", fN = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente", $N = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione", vN = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella", bN = "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", SN = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione", _N = "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", zN = "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", yN = "Accedere di nuovo a DSM, quindi aggiornare", AN = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo", kN = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo", wN = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni", DN = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano", CN = "Salva file di esempio", PN = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni", MN = "Riprova", qN = "Cartella di salvataggio", TN = "Non scelta", EN = "Annulla", RN = "La modifica della cartella richiede la password utente e revoca le autorizzazioni di destinazione di tutti gli utenti. I file salvati rimangono", LN = "Gli utenti possono scegliere dove salvare solo all’interno di questa cartella", IN = "Approva", jN = "Conferma modifica", xN = "Password utente", NN = {
3271
- title: cN,
3272
- help: lN,
3273
- selection: dN,
3274
- revoke: uN,
3275
- choose: pN,
3276
- needs: hN,
3277
- enable: gN,
3278
- disabled: mN,
3279
- uncertainHelp: fN,
3280
- denied: $N,
3281
- permission: vN,
3282
- permissionSelect: bN,
3283
- missing: SN,
3284
- appPrivilege: _N,
3285
- appPrivilegeSelect: zN,
3286
- session: yN,
3287
- conflict: AN,
3288
- space: kN,
3289
- error: wN,
3290
- reselect: DN,
3291
- example: CN,
3292
- exampleHelp: PN,
3293
- retry: MN,
3294
- folder: qN,
3295
- folderNone: TN,
3296
- cancelChange: EN,
3297
- changeHelp: RN,
3298
- approveHelp: LN,
3299
- approve: IN,
3300
- confirmChange: jN,
3301
- password: xN
3302
- }, UN = "バックグラウンド保存", ON = "サインアウト後も、このアプリは選択したフォルダにファイル全体を保存し続けます。既存のファイルは置き換えられません", FN = "アクセスを取り消すまで、サインアウト後もこのアプリがここに保存することを許可します", HN = "アクセスを取り消す", BN = "フォルダを選択", VN = "フォルダを選択するには、管理者がバックグラウンド保存を承認する必要があります", WN = "バックグラウンド保存を有効にする", KN = "バックグラウンド保存は無効です。管理者が有効にできます。その後、保存先を選び直す必要があります", JN = "結果が不明です。次の操作を行う前に、この元のジョブと保存先を確認してください。このアプリが自動的に再保存することはありません", GN = "アクセスが拒否されました。フォルダの権限を確認してから、保存先を選び直してください", ZN = "このフォルダへの書き込み権限がありません。権限が戻ったらもう一度保存してください。フォルダを選び直す必要はありません", YN = "このフォルダへの書き込み権限がないため、このフォルダは承認されませんでした。別のフォルダを選ぶか、権限が戻ってからこのフォルダを選び直してください", QN = "保存先フォルダが存在しません。元の場所に戻すと再び保存できます。または別の保存先を選択してください", XN = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからもう一度保存してください", eU = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからフォルダを選び直してください", tU = "DSM に再度サインインしてから、最新の情報に更新してください", nU = "同じ名前のファイルがすでに存在します。保存先を確認し、新しいジョブには別の名前を選んでください", oU = "空き容量が不足しています。新しいジョブを開始する前に保存先を確認してください", aU = "操作の結果を確認できませんでした。次の操作を行う前に、最新の情報に更新して現在の結果を確認してください", iU = "許可する範囲が変更されました。保存フォルダを選び直してください。保存済みのファイルは残ります", sU = "サンプルファイルを保存", rU = "自分の権限で小さなサンプルファイルを現在の保存先に保存します", cU = "再試行", lU = "保存フォルダ", dU = "未選択", uU = "キャンセル", pU = "保存先フォルダの変更には ユーザーパスワードが必要です。すべてのユーザーの保存先の承認が解除されます。保存済みのファイルは残ります", hU = "ユーザーは、このフォルダ内でのみ保存先を選択できます", gU = "承認", mU = "変更を確定", fU = "ユーザーパスワード", $U = {
3303
- title: UN,
3304
- help: ON,
3305
- selection: FN,
3306
- revoke: HN,
3307
- choose: BN,
3308
- needs: VN,
3309
- enable: WN,
3310
- disabled: KN,
3311
- uncertainHelp: JN,
3312
- denied: GN,
3313
- permission: ZN,
3314
- permissionSelect: YN,
3315
- missing: QN,
3316
- appPrivilege: XN,
3317
- appPrivilegeSelect: eU,
3318
- session: tU,
3319
- conflict: nU,
3320
- space: oU,
3321
- error: aU,
3322
- reselect: iU,
3323
- example: sU,
3324
- exampleHelp: rU,
3325
- retry: cU,
3326
- folder: lU,
3327
- folderNone: dU,
3328
- cancelChange: uU,
3329
- changeHelp: pU,
3330
- approveHelp: hU,
3331
- approve: gU,
3332
- confirmChange: mU,
3333
- password: fU
3334
- }, vU = "백그라운드 저장", bU = "로그아웃한 후에도 이 앱은 선택한 폴더에 전체 파일을 계속 저장합니다. 기존 파일은 덮어쓰지 않습니다", SU = "액세스를 취소할 때까지 로그아웃한 후에도 이 앱이 여기에 저장하도록 허용합니다", _U = "액세스 취소", zU = "폴더 선택", yU = "폴더를 선택하려면 먼저 관리자가 백그라운드 저장을 승인해야 합니다", AU = "백그라운드 저장 활성화", kU = "백그라운드 저장이 비활성화되었습니다. 관리자가 활성화할 수 있으며, 그 후 대상을 다시 선택해야 합니다", wU = "결과를 알 수 없습니다. 다른 작업을 하기 전에 이 원래 작업과 대상을 확인하십시오. 이 앱은 자동으로 다시 저장하지 않습니다", DU = "액세스가 거부되었습니다. 폴더 권한을 확인한 후 대상을 다시 선택하십시오", CU = "이 폴더에 쓸 권한이 없습니다. 권한이 복원되면 다시 저장하십시오. 폴더를 다시 선택할 필요는 없습니다", PU = "이 폴더에 쓸 권한이 없으므로 이 폴더가 승인되지 않았습니다. 다른 폴더를 선택하거나 권한이 복원된 후 이 폴더를 다시 선택하십시오", MU = "대상 폴더가 더 이상 없습니다. 원래 위치로 되돌리면 다시 저장할 수 있으며, 다른 대상을 선택할 수도 있습니다", qU = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 다시 저장하십시오", TU = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 폴더를 다시 선택하십시오", EU = "DSM에 다시 로그인한 후 새로 고치십시오", RU = "같은 이름의 파일이 이미 있습니다. 대상을 확인하고 새 작업에는 다른 이름을 선택하십시오", LU = "공간이 부족합니다. 새 작업을 시작하기 전에 대상을 확인하십시오", IU = "작업 결과를 확인할 수 없습니다. 다른 작업을 하기 전에 새로 고쳐 현재 결과를 확인하십시오", jU = "허용 범위가 변경되었습니다. 저장 폴더를 다시 선택하십시오. 저장된 파일은 유지됩니다", xU = "예제 파일 저장", NU = "자신의 권한으로 작은 예제 파일을 현재 대상에 저장합니다", UU = "재시도", OU = "저장 폴더", FU = "선택 안 함", HU = "취소", BU = "저장 폴더를 변경하려면 사용자 비밀번호가 필요하며 모든 사용자의 대상 권한이 해제됩니다. 이미 저장된 파일은 유지됩니다", VU = "사용자는 이 폴더 안에서만 저장 위치를 선택할 수 있습니다", WU = "승인", KU = "변경 확인", JU = "사용자 비밀번호", GU = {
3335
- title: vU,
3336
- help: bU,
3337
- selection: SU,
3338
- revoke: _U,
3339
- choose: zU,
3340
- needs: yU,
3341
- enable: AU,
3342
- disabled: kU,
3343
- uncertainHelp: wU,
3344
- denied: DU,
3345
- permission: CU,
3346
- permissionSelect: PU,
3347
- missing: MU,
3348
- appPrivilege: qU,
3349
- appPrivilegeSelect: TU,
3350
- session: EU,
3351
- conflict: RU,
3352
- space: LU,
3353
- error: IU,
3354
- reselect: jU,
3355
- example: xU,
3356
- exampleHelp: NU,
3357
- retry: UU,
3358
- folder: OU,
3359
- folderNone: FU,
3360
- cancelChange: HU,
3361
- changeHelp: BU,
3362
- approveHelp: VU,
3363
- approve: WU,
3364
- confirmChange: KU,
3365
- password: JU
3366
- }, ZU = "后台保存", YU = "注销后,App 仍会将完整文件保存到你选择的文件夹;现有文件不会被替换", QU = "允许此 App 在你注销后继续保存到这里,直到你撤销访问权限", XU = "撤销访问权限", e0 = "选择文件夹", t0 = "管理员批准后台保存后,你才能选择存放文件夹", n0 = "启用后台保存", o0 = "后台保存已停用。管理员可以重新启用,之后你必须重新选择目标", a0 = "结果未知。请先检查这项原始任务和目标位置,再采取进一步操作。此 App 不会自动再次保存", i0 = "访问被拒绝。请检查文件夹权限,然后重新选择目标", s0 = "你没有写入此文件夹的权限。权限恢复后再保存一次即可,无需重新选择文件夹", r0 = "你没有写入此文件夹的权限,因此此文件夹未完成授权。请选择其他文件夹,或在权限恢复后重新选择此文件夹", c0 = "目标文件夹已不存在。将它移回原处即可再次保存,或选择其他目标位置", l0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址再保存一次", d0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址重新选择文件夹", u0 = "请重新登录 DSM,然后刷新", p0 = "已有同名文件。请检查目标位置,并为新任务选择其他名称", h0 = "空间不足。请先检查目标位置,再开始新任务", g0 = "无法确认操作结果。请刷新以检查当前结果,再采取进一步操作", m0 = "允许的范围已更改,请重新选择存放文件夹。已保存的文件会保留", f0 = "保存示例文件", $0 = "以自己的权限将小型示例文件保存到当前目的地", v0 = "重试", b0 = "存放文件夹", S0 = "尚未选择", _0 = "取消", z0 = "更改存放文件夹需要输入用户密码,并会清除所有用户的目的地授权。已保存的文件会保留", y0 = "用户只能在此文件夹内选择保存位置", A0 = "批准", k0 = "确认更改", w0 = "用户密码", D0 = {
3367
- title: ZU,
3368
- help: YU,
3369
- selection: QU,
3370
- revoke: XU,
3371
- choose: e0,
3372
- needs: t0,
3373
- enable: n0,
3374
- disabled: o0,
3375
- uncertainHelp: a0,
3376
- denied: i0,
3377
- permission: s0,
3378
- permissionSelect: r0,
3379
- missing: c0,
3380
- appPrivilege: l0,
3381
- appPrivilegeSelect: d0,
3382
- session: u0,
3383
- conflict: p0,
3384
- space: h0,
3385
- error: g0,
3386
- reselect: m0,
3387
- example: f0,
3388
- exampleHelp: $0,
3389
- retry: v0,
3390
- folder: b0,
3391
- folderNone: S0,
3392
- cancelChange: _0,
3393
- changeHelp: z0,
3394
- approveHelp: y0,
3395
- approve: A0,
3396
- confirmChange: k0,
3397
- password: w0
3398
- }, C0 = "背景存檔", P0 = "登出後,App 仍會把完整檔案存進你選的資料夾;既有檔案不會被取代", M0 = "允許此 App 在你登出後繼續儲存到這裡,直到你撤銷授權", q0 = "撤銷授權", T0 = "選擇資料夾", E0 = "管理員核准背景存檔後,你才能選擇存放資料夾", R0 = "啟用背景存檔", L0 = "背景存檔已停用。管理員可重新啟用,之後你須重新選取目的地", I0 = "結果不明。請先檢查原工作與目的地,再決定後續操作。App 不會自動重新儲存", j0 = "存取遭拒。請檢查資料夾權限,再重新選取目的地", x0 = "你沒有寫入此資料夾的權限。權限恢復後再儲存一次即可,不需要重新選擇資料夾", N0 = "你沒有寫入此資料夾的權限,因此這個資料夾沒有完成授權。請選擇其他資料夾,或在權限恢復後重新選擇這個資料夾", U0 = "目的地資料夾已不存在。將它移回原處即可再次儲存,或選擇其他目的地", O0 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址再儲存一次", F0 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址重新選擇資料夾", H0 = "請重新登入 DSM,再重新整理", B0 = "已存在同名檔案。請檢查目的地,並為新工作選擇另一個名稱", V0 = "空間不足。請檢查目的地,再開始新工作", W0 = "無法確認操作結果。請重新整理查詢目前結果,再決定後續操作", K0 = "允許的範圍已變更,請重新選擇存放資料夾。已存的檔案會保留", J0 = "儲存範例檔案", G0 = "以自己的權限將小型範例檔案存到目前的目的地", Z0 = "重試", Y0 = "存放資料夾", Q0 = "尚未選擇", X0 = "取消", e4 = "變更存放資料夾需輸入使用者密碼,並會清除所有使用者的目的地授權。已存檔的檔案會保留", t4 = "使用者只能在這個資料夾內選擇存放位置", n4 = "核准", o4 = "確認變更", a4 = "使用者密碼", i4 = {
3399
- title: C0,
3400
- help: P0,
3401
- selection: M0,
3402
- revoke: q0,
3403
- choose: T0,
3404
- needs: E0,
3405
- enable: R0,
3406
- disabled: L0,
3407
- uncertainHelp: I0,
3408
- denied: j0,
3409
- permission: x0,
3410
- permissionSelect: N0,
3411
- missing: U0,
3412
- appPrivilege: O0,
3413
- appPrivilegeSelect: F0,
3414
- session: H0,
3415
- conflict: B0,
3416
- space: V0,
3417
- error: W0,
3418
- reselect: K0,
3419
- example: J0,
3420
- exampleHelp: G0,
3421
- retry: Z0,
3422
- folder: Y0,
3423
- folderNone: Q0,
3424
- cancelChange: X0,
3273
+ folderNone: eU,
3274
+ cancelChange: tU,
3275
+ changeHelp: nU,
3276
+ approveHelp: oU,
3277
+ approve: aU,
3278
+ confirmChange: iU,
3279
+ password: sU
3280
+ }, cU = "Salvataggi in background", lU = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti", dU = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso", uU = "Revoca accesso", pU = "Scegli cartella", hU = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella", gU = "Attiva salvataggi in background", mU = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione", fU = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente", $U = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione", vU = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella", bU = "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", SU = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione", _U = "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", zU = "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", yU = "Accedere di nuovo a DSM, quindi aggiornare", AU = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo", kU = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo", wU = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni", DU = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano", CU = "Salva file di esempio", PU = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni", MU = "Riprova", qU = "Cartella di salvataggio", TU = "Non scelta", EU = "Annulla", RU = "La modifica della cartella richiede la password utente e revoca le autorizzazioni di destinazione di tutti gli utenti. I file salvati rimangono", LU = "Gli utenti possono scegliere dove salvare solo all’interno di questa cartella", IU = "Approva", jU = "Conferma modifica", xU = "Password utente", UU = {
3281
+ title: cU,
3282
+ help: lU,
3283
+ selection: dU,
3284
+ revoke: uU,
3285
+ choose: pU,
3286
+ needs: hU,
3287
+ enable: gU,
3288
+ disabled: mU,
3289
+ uncertainHelp: fU,
3290
+ denied: $U,
3291
+ permission: vU,
3292
+ permissionSelect: bU,
3293
+ missing: SU,
3294
+ appPrivilege: _U,
3295
+ appPrivilegeSelect: zU,
3296
+ session: yU,
3297
+ conflict: AU,
3298
+ space: kU,
3299
+ error: wU,
3300
+ reselect: DU,
3301
+ example: CU,
3302
+ exampleHelp: PU,
3303
+ retry: MU,
3304
+ folder: qU,
3305
+ folderNone: TU,
3306
+ cancelChange: EU,
3307
+ changeHelp: RU,
3308
+ approveHelp: LU,
3309
+ approve: IU,
3310
+ confirmChange: jU,
3311
+ password: xU
3312
+ }, NU = "バックグラウンド保存", OU = "サインアウト後も、このアプリは選択したフォルダにファイル全体を保存し続けます。既存のファイルは置き換えられません", FU = "アクセスを取り消すまで、サインアウト後もこのアプリがここに保存することを許可します", HU = "アクセスを取り消す", BU = "フォルダを選択", VU = "フォルダを選択するには、管理者がバックグラウンド保存を承認する必要があります", WU = "バックグラウンド保存を有効にする", KU = "バックグラウンド保存は無効です。管理者が有効にできます。その後、保存先を選び直す必要があります", JU = "結果が不明です。次の操作を行う前に、この元のジョブと保存先を確認してください。このアプリが自動的に再保存することはありません", GU = "アクセスが拒否されました。フォルダの権限を確認してから、保存先を選び直してください", ZU = "このフォルダへの書き込み権限がありません。権限が戻ったらもう一度保存してください。フォルダを選び直す必要はありません", YU = "このフォルダへの書き込み権限がないため、このフォルダは承認されませんでした。別のフォルダを選ぶか、権限が戻ってからこのフォルダを選び直してください", QU = "保存先フォルダが存在しません。元の場所に戻すと再び保存できます。または別の保存先を選択してください", XU = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからもう一度保存してください", e0 = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからフォルダを選び直してください", t0 = "DSM に再度サインインしてから、最新の情報に更新してください", n0 = "同じ名前のファイルがすでに存在します。保存先を確認し、新しいジョブには別の名前を選んでください", o0 = "空き容量が不足しています。新しいジョブを開始する前に保存先を確認してください", a0 = "操作の結果を確認できませんでした。次の操作を行う前に、最新の情報に更新して現在の結果を確認してください", i0 = "許可する範囲が変更されました。保存フォルダを選び直してください。保存済みのファイルは残ります", s0 = "サンプルファイルを保存", r0 = "自分の権限で小さなサンプルファイルを現在の保存先に保存します", c0 = "再試行", l0 = "保存フォルダ", d0 = "未選択", u0 = "キャンセル", p0 = "保存先フォルダの変更には ユーザーパスワードが必要です。すべてのユーザーの保存先の承認が解除されます。保存済みのファイルは残ります", h0 = "ユーザーは、このフォルダ内でのみ保存先を選択できます", g0 = "承認", m0 = "変更を確定", f0 = "ユーザーパスワード", $0 = {
3313
+ title: NU,
3314
+ help: OU,
3315
+ selection: FU,
3316
+ revoke: HU,
3317
+ choose: BU,
3318
+ needs: VU,
3319
+ enable: WU,
3320
+ disabled: KU,
3321
+ uncertainHelp: JU,
3322
+ denied: GU,
3323
+ permission: ZU,
3324
+ permissionSelect: YU,
3325
+ missing: QU,
3326
+ appPrivilege: XU,
3327
+ appPrivilegeSelect: e0,
3328
+ session: t0,
3329
+ conflict: n0,
3330
+ space: o0,
3331
+ error: a0,
3332
+ reselect: i0,
3333
+ example: s0,
3334
+ exampleHelp: r0,
3335
+ retry: c0,
3336
+ folder: l0,
3337
+ folderNone: d0,
3338
+ cancelChange: u0,
3339
+ changeHelp: p0,
3340
+ approveHelp: h0,
3341
+ approve: g0,
3342
+ confirmChange: m0,
3343
+ password: f0
3344
+ }, v0 = "백그라운드 저장", b0 = "로그아웃한 후에도 이 앱은 선택한 폴더에 전체 파일을 계속 저장합니다. 기존 파일은 덮어쓰지 않습니다", S0 = "액세스를 취소할 때까지 로그아웃한 후에도 이 앱이 여기에 저장하도록 허용합니다", _0 = "액세스 취소", z0 = "폴더 선택", y0 = "폴더를 선택하려면 먼저 관리자가 백그라운드 저장을 승인해야 합니다", A0 = "백그라운드 저장 활성화", k0 = "백그라운드 저장이 비활성화되었습니다. 관리자가 활성화할 수 있으며, 그 후 대상을 다시 선택해야 합니다", w0 = "결과를 알 수 없습니다. 다른 작업을 하기 전에 이 원래 작업과 대상을 확인하십시오. 이 앱은 자동으로 다시 저장하지 않습니다", D0 = "액세스가 거부되었습니다. 폴더 권한을 확인한 후 대상을 다시 선택하십시오", C0 = "이 폴더에 쓸 권한이 없습니다. 권한이 복원되면 다시 저장하십시오. 폴더를 다시 선택할 필요는 없습니다", P0 = "이 폴더에 쓸 권한이 없으므로 이 폴더가 승인되지 않았습니다. 다른 폴더를 선택하거나 권한이 복원된 후 이 폴더를 다시 선택하십시오", M0 = "대상 폴더가 더 이상 없습니다. 원래 위치로 되돌리면 다시 저장할 수 있으며, 다른 대상을 선택할 수도 있습니다", q0 = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 다시 저장하십시오", T0 = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 폴더를 다시 선택하십시오", E0 = "DSM에 다시 로그인한 후 새로 고치십시오", R0 = "같은 이름의 파일이 이미 있습니다. 대상을 확인하고 새 작업에는 다른 이름을 선택하십시오", L0 = "공간이 부족합니다. 새 작업을 시작하기 전에 대상을 확인하십시오", I0 = "작업 결과를 확인할 수 없습니다. 다른 작업을 하기 전에 새로 고쳐 현재 결과를 확인하십시오", j0 = "허용 범위가 변경되었습니다. 저장 폴더를 다시 선택하십시오. 저장된 파일은 유지됩니다", x0 = "예제 파일 저장", U0 = "자신의 권한으로 작은 예제 파일을 현재 대상에 저장합니다", N0 = "재시도", O0 = "저장 폴더", F0 = "선택 안 함", H0 = "취소", B0 = "저장 폴더를 변경하려면 사용자 비밀번호가 필요하며 모든 사용자의 대상 권한이 해제됩니다. 이미 저장된 파일은 유지됩니다", V0 = "사용자는 이 폴더 안에서만 저장 위치를 선택할 수 있습니다", W0 = "승인", K0 = "변경 확인", J0 = "사용자 비밀번호", G0 = {
3345
+ title: v0,
3346
+ help: b0,
3347
+ selection: S0,
3348
+ revoke: _0,
3349
+ choose: z0,
3350
+ needs: y0,
3351
+ enable: A0,
3352
+ disabled: k0,
3353
+ uncertainHelp: w0,
3354
+ denied: D0,
3355
+ permission: C0,
3356
+ permissionSelect: P0,
3357
+ missing: M0,
3358
+ appPrivilege: q0,
3359
+ appPrivilegeSelect: T0,
3360
+ session: E0,
3361
+ conflict: R0,
3362
+ space: L0,
3363
+ error: I0,
3364
+ reselect: j0,
3365
+ example: x0,
3366
+ exampleHelp: U0,
3367
+ retry: N0,
3368
+ folder: O0,
3369
+ folderNone: F0,
3370
+ cancelChange: H0,
3371
+ changeHelp: B0,
3372
+ approveHelp: V0,
3373
+ approve: W0,
3374
+ confirmChange: K0,
3375
+ password: J0
3376
+ }, Z0 = "后台保存", Y0 = "注销后,App 仍会将完整文件保存到你选择的文件夹;现有文件不会被替换", Q0 = "允许此 App 在你注销后继续保存到这里,直到你撤销访问权限", X0 = "撤销访问权限", eN = "选择文件夹", tN = "管理员批准后台保存后,你才能选择存放文件夹", nN = "启用后台保存", oN = "后台保存已停用。管理员可以重新启用,之后你必须重新选择目标", aN = "结果未知。请先检查这项原始任务和目标位置,再采取进一步操作。此 App 不会自动再次保存", iN = "访问被拒绝。请检查文件夹权限,然后重新选择目标", sN = "你没有写入此文件夹的权限。权限恢复后再保存一次即可,无需重新选择文件夹", rN = "你没有写入此文件夹的权限,因此此文件夹未完成授权。请选择其他文件夹,或在权限恢复后重新选择此文件夹", cN = "目标文件夹已不存在。将它移回原处即可再次保存,或选择其他目标位置", lN = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址再保存一次", dN = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址重新选择文件夹", uN = "请重新登录 DSM,然后刷新", pN = "已有同名文件。请检查目标位置,并为新任务选择其他名称", hN = "空间不足。请先检查目标位置,再开始新任务", gN = "无法确认操作结果。请刷新以检查当前结果,再采取进一步操作", mN = "允许的范围已更改,请重新选择存放文件夹。已保存的文件会保留", fN = "保存示例文件", $N = "以自己的权限将小型示例文件保存到当前目的地", vN = "重试", bN = "存放文件夹", SN = "尚未选择", _N = "取消", zN = "更改存放文件夹需要输入用户密码,并会清除所有用户的目的地授权。已保存的文件会保留", yN = "用户只能在此文件夹内选择保存位置", AN = "批准", kN = "确认更改", wN = "用户密码", DN = {
3377
+ title: Z0,
3378
+ help: Y0,
3379
+ selection: Q0,
3380
+ revoke: X0,
3381
+ choose: eN,
3382
+ needs: tN,
3383
+ enable: nN,
3384
+ disabled: oN,
3385
+ uncertainHelp: aN,
3386
+ denied: iN,
3387
+ permission: sN,
3388
+ permissionSelect: rN,
3389
+ missing: cN,
3390
+ appPrivilege: lN,
3391
+ appPrivilegeSelect: dN,
3392
+ session: uN,
3393
+ conflict: pN,
3394
+ space: hN,
3395
+ error: gN,
3396
+ reselect: mN,
3397
+ example: fN,
3398
+ exampleHelp: $N,
3399
+ retry: vN,
3400
+ folder: bN,
3401
+ folderNone: SN,
3402
+ cancelChange: _N,
3403
+ changeHelp: zN,
3404
+ approveHelp: yN,
3405
+ approve: AN,
3406
+ confirmChange: kN,
3407
+ password: wN
3408
+ }, CN = "背景存檔", PN = "登出後,App 仍會把完整檔案存進你選的資料夾;既有檔案不會被取代", MN = "允許此 App 在你登出後繼續儲存到這裡,直到你撤銷授權", qN = "撤銷授權", TN = "選擇資料夾", EN = "管理員核准背景存檔後,你才能選擇存放資料夾", RN = "啟用背景存檔", LN = "背景存檔已停用。管理員可重新啟用,之後你須重新選取目的地", IN = "結果不明。請先檢查原工作與目的地,再決定後續操作。App 不會自動重新儲存", jN = "存取遭拒。請檢查資料夾權限,再重新選取目的地", xN = "你沒有寫入此資料夾的權限。權限恢復後再儲存一次即可,不需要重新選擇資料夾", UN = "你沒有寫入此資料夾的權限,因此這個資料夾沒有完成授權。請選擇其他資料夾,或在權限恢復後重新選擇這個資料夾", NN = "目的地資料夾已不存在。將它移回原處即可再次儲存,或選擇其他目的地", ON = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址再儲存一次", FN = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址重新選擇資料夾", HN = "請重新登入 DSM,再重新整理", BN = "已存在同名檔案。請檢查目的地,並為新工作選擇另一個名稱", VN = "空間不足。請檢查目的地,再開始新工作", WN = "無法確認操作結果。請重新整理查詢目前結果,再決定後續操作", KN = "允許的範圍已變更,請重新選擇存放資料夾。已存的檔案會保留", JN = "儲存範例檔案", GN = "以自己的權限將小型範例檔案存到目前的目的地", ZN = "重試", YN = "存放資料夾", QN = "尚未選擇", XN = "取消", e4 = "變更存放資料夾需輸入使用者密碼,並會清除所有使用者的目的地授權。已存檔的檔案會保留", t4 = "使用者只能在這個資料夾內選擇存放位置", n4 = "核准", o4 = "確認變更", a4 = "使用者密碼", i4 = {
3409
+ title: CN,
3410
+ help: PN,
3411
+ selection: MN,
3412
+ revoke: qN,
3413
+ choose: TN,
3414
+ needs: EN,
3415
+ enable: RN,
3416
+ disabled: LN,
3417
+ uncertainHelp: IN,
3418
+ denied: jN,
3419
+ permission: xN,
3420
+ permissionSelect: UN,
3421
+ missing: NN,
3422
+ appPrivilege: ON,
3423
+ appPrivilegeSelect: FN,
3424
+ session: HN,
3425
+ conflict: BN,
3426
+ space: VN,
3427
+ error: WN,
3428
+ reselect: KN,
3429
+ example: JN,
3430
+ exampleHelp: GN,
3431
+ retry: ZN,
3432
+ folder: YN,
3433
+ folderNone: QN,
3434
+ cancelChange: XN,
3425
3435
  changeHelp: e4,
3426
3436
  approveHelp: t4,
3427
3437
  approve: n4,
3428
3438
  confirmChange: o4,
3429
3439
  password: a4
3430
- }, Se = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": bj, "../../i18n/save/en.json": Yj, "../../i18n/save/es.json": Px, "../../i18n/save/fr.json": rN, "../../i18n/save/it.json": NN, "../../i18n/save/ja.json": $U, "../../i18n/save/ko.json": GU, "../../i18n/save/zh-CN.json": D0, "../../i18n/save/zh-TW.json": i4 }));
3440
+ }, Se = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": bj, "../../i18n/save/en.json": Yj, "../../i18n/save/es.json": Px, "../../i18n/save/fr.json": rU, "../../i18n/save/it.json": UU, "../../i18n/save/ja.json": $0, "../../i18n/save/ko.json": G0, "../../i18n/save/zh-CN.json": DN, "../../i18n/save/zh-TW.json": i4 }));
3431
3441
  function s4(e = "en") {
3432
- return Se[z(e)];
3442
+ return Se[y(e)];
3433
3443
  }
3434
- function j6(e, t = s4(), a = "save", n, o) {
3435
- const i = x(e, n ?? Object.entries(Se).find(([, c]) => c === t)?.[0], o);
3444
+ function x6(e, t = s4(), a = "save", n, o) {
3445
+ const i = N(e, n ?? Object.entries(Se).find(([, c]) => c === t)?.[0], o);
3436
3446
  if (i) return i.message;
3437
- const s = a === "select", r = e?.code, l = B(e, n);
3438
- return l || (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);
3447
+ const s = a === "select", r = e?.code, d = W(e, n);
3448
+ return d || (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);
3439
3449
  }
3440
3450
  const r4 = {
3441
3451
  "portal.title": "Anwendungsportal",
@@ -3662,9 +3672,9 @@ const r4 = {
3662
3672
  "portal.removalUnconfirmed": "這一頁可能已無法使用。請從 DSM 桌面開啟此 App,再查看「設定 > 應用程式入口」",
3663
3673
  "portal.openDesktop": "開啟 DSM 桌面",
3664
3674
  "portal.cancel": "取消"
3665
- }, f4 = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/portal/de.json": r4, "../../i18n/portal/en.json": c4, "../../i18n/portal/es.json": l4, "../../i18n/portal/fr.json": d4, "../../i18n/portal/it.json": u4, "../../i18n/portal/ja.json": p4, "../../i18n/portal/ko.json": h4, "../../i18n/portal/zh-CN.json": g4, "../../i18n/portal/zh-TW.json": m4 }));
3675
+ }, f4 = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/portal/de.json": r4, "../../i18n/portal/en.json": c4, "../../i18n/portal/es.json": l4, "../../i18n/portal/fr.json": d4, "../../i18n/portal/it.json": u4, "../../i18n/portal/ja.json": p4, "../../i18n/portal/ko.json": h4, "../../i18n/portal/zh-CN.json": g4, "../../i18n/portal/zh-TW.json": m4 }));
3666
3676
  function $4(e) {
3667
- return Object.fromEntries(Object.entries(f4[z(e)]).map(([t, a]) => [t.slice(7), a]));
3677
+ return Object.fromEntries(Object.entries(f4[y(e)]).map(([t, a]) => [t.slice(7), a]));
3668
3678
  }
3669
3679
  const v4 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneut", b4 = "Die Anfrage hat zu lange gedauert und wurde abgebrochen. Versuchen Sie es erneut oder mit einer kleineren Aufgabe", S4 = "Die Datei ist größer als zulässig", _4 = "Die Datei kann nicht gelesen werden. Bitte versuchen Sie es später erneut", z4 = "Dieses Benutzerkonto kann nicht ermittelt werden. Bitte versuchen Sie es später erneut", y4 = "Die App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut", A4 = "Die App wird gestartet. Versuchen Sie es gleich erneut", k4 = "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 = {
3670
3680
  app_unavailable: v4,
@@ -3684,12 +3694,12 @@ const v4 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
3684
3694
  APP_STOPPED: T4,
3685
3695
  APP_STARTING: E4,
3686
3696
  credential_not_ready: R4
3687
- }, I4 = "La App no está disponible en este momento. Vuelva a intentarlo más tarde", j4 = "La solicitud tardó demasiado y se detuvo. Vuelva a intentarlo o pruebe con una tarea más pequeña", x4 = "El archivo supera el tamaño permitido", N4 = "No se puede leer el archivo. Vuelva a intentarlo más tarde", U4 = "No se puede identificar esta cuenta de usuario. Vuelva a intentarlo más tarde", O4 = "La App está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo", F4 = "La App se está iniciando. Vuelva a intentarlo en un momento", H4 = "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", B4 = {
3697
+ }, I4 = "La App no está disponible en este momento. Vuelva a intentarlo más tarde", j4 = "La solicitud tardó demasiado y se detuvo. Vuelva a intentarlo o pruebe con una tarea más pequeña", x4 = "El archivo supera el tamaño permitido", U4 = "No se puede leer el archivo. Vuelva a intentarlo más tarde", N4 = "No se puede identificar esta cuenta de usuario. Vuelva a intentarlo más tarde", O4 = "La App está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo", F4 = "La App se está iniciando. Vuelva a intentarlo en un momento", H4 = "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", B4 = {
3688
3698
  app_unavailable: I4,
3689
3699
  request_timeout: j4,
3690
3700
  limit_exceeded: x4,
3691
- read_failed: N4,
3692
- identity_unavailable: U4,
3701
+ read_failed: U4,
3702
+ identity_unavailable: N4,
3693
3703
  APP_STOPPED: O4,
3694
3704
  APP_STARTING: F4,
3695
3705
  credential_not_ready: H4
@@ -3738,18 +3748,18 @@ const v4 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
3738
3748
  APP_STOPPED: TO,
3739
3749
  APP_STARTING: EO,
3740
3750
  credential_not_ready: RO
3741
- }, IO = "App 目前無法使用,請稍後再試", jO = "請求處理太久已停止,請再試一次或縮小範圍", xO = "檔案超過允許的大小", NO = "無法讀取檔案。請稍後再試", UO = "無法識別此使用者帳號。請稍後再試", OO = "App 已停止。請在套件中心啟動後再試一次", FO = "App 正在啟動,請稍後再試", HO = "DSM 沒有提供此頁面的登入權杖。請以密碼重新登入 DSM,再從 DSM 桌面開啟 App", BO = {
3751
+ }, IO = "App 目前無法使用,請稍後再試", jO = "請求處理太久已停止,請再試一次或縮小範圍", xO = "檔案超過允許的大小", UO = "無法讀取檔案。請稍後再試", NO = "無法識別此使用者帳號。請稍後再試", OO = "App 已停止。請在套件中心啟動後再試一次", FO = "App 正在啟動,請稍後再試", HO = "DSM 沒有提供此頁面的登入權杖。請以密碼重新登入 DSM,再從 DSM 桌面開啟 App", BO = {
3742
3752
  app_unavailable: IO,
3743
3753
  request_timeout: jO,
3744
3754
  limit_exceeded: xO,
3745
- read_failed: NO,
3746
- identity_unavailable: UO,
3755
+ read_failed: UO,
3756
+ identity_unavailable: NO,
3747
3757
  APP_STOPPED: OO,
3748
3758
  APP_STARTING: FO,
3749
3759
  credential_not_ready: HO
3750
- }, VO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json": w4, "../../i18n/bridge/en.json": L4, "../../i18n/bridge/es.json": B4, "../../i18n/bridge/fr.json": X4, "../../i18n/bridge/it.json": cO, "../../i18n/bridge/ja.json": $O, "../../i18n/bridge/ko.json": wO, "../../i18n/bridge/zh-CN.json": LO, "../../i18n/bridge/zh-TW.json": BO }));
3751
- function x6(e, t) {
3752
- const a = e?.code, n = VO[z(t)];
3760
+ }, VO = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json": w4, "../../i18n/bridge/en.json": L4, "../../i18n/bridge/es.json": B4, "../../i18n/bridge/fr.json": X4, "../../i18n/bridge/it.json": cO, "../../i18n/bridge/ja.json": $O, "../../i18n/bridge/ko.json": wO, "../../i18n/bridge/zh-CN.json": LO, "../../i18n/bridge/zh-TW.json": BO }));
3761
+ function U6(e, t) {
3762
+ const a = e?.code, n = VO[y(t)];
3753
3763
  return typeof a == "string" && Object.hasOwn(n, a) ? n[a] : void 0;
3754
3764
  }
3755
3765
  const ne = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, WO = [
@@ -3774,9 +3784,9 @@ const ne = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, WO = [
3774
3784
  "synologymeet"
3775
3785
  ], oe = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/, KO = ["registered", "unregistered", "cleanup-required"], JO = { dsm_4100: "portal_alias_invalid", dsm_4102: "portal_alias_reserved", dsm_4103: "portal_alias_in_use", dsm_105: "admin_required" }, ae = (e) => e?.code;
3776
3786
  function N6(e) {
3777
- function t(h, f, v) {
3787
+ function t(h, g, v) {
3778
3788
  const $ = { state: h, canManage: v === !0, controlPanel: v !== void 0, defaultAlias: e.defaultAlias };
3779
- return h === "active" && f && ($.alias = f, $.url = `${e.location.protocol}//${e.location.host}/${encodeURIComponent(f)}/`), $;
3789
+ return h === "active" && g && ($.alias = g, $.url = `${e.location.protocol}//${e.location.host}/${encodeURIComponent(g)}/`), $;
3780
3790
  }
3781
3791
  function a(h) {
3782
3792
  return h?.state === "active" && typeof h.alias == "string" && oe.test(h.alias) ? t("active", h.alias) : t(h?.state === "inactive" ? "inactive" : "unavailable");
@@ -3791,9 +3801,9 @@ function N6(e) {
3791
3801
  async function o() {
3792
3802
  try {
3793
3803
  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);
3794
- const f = await e.send("SYNO.Core.AppPortal", "get", 2, { id: e.appId, additional: ["default_setting"] });
3795
- if (f?.id !== e.appId) return t("unavailable", void 0, !1);
3796
- const v = typeof f.alias == "string" && oe.test(f.alias) ? f.alias : "", $ = t(v ? "active" : "inactive", v, !0), b = f.additional?.default_setting?.alias;
3804
+ const g = await e.send("SYNO.Core.AppPortal", "get", 2, { id: e.appId, additional: ["default_setting"] });
3805
+ if (g?.id !== e.appId) return t("unavailable", void 0, !1);
3806
+ const v = typeof g.alias == "string" && oe.test(g.alias) ? g.alias : "", $ = t(v ? "active" : "inactive", v, !0), b = g.additional?.default_setting?.alias;
3797
3807
  return typeof b == "string" && ne.test(b) && ($.defaultAlias = b), $;
3798
3808
  } catch {
3799
3809
  return t("unavailable", void 0, !1);
@@ -3807,60 +3817,60 @@ function N6(e) {
3807
3817
  return e.isAdmin() ? t("unavailable", void 0, !1) : t("unavailable");
3808
3818
  }
3809
3819
  if (!e.isAdmin()) return a(h);
3810
- const f = KO.find(($) => $ === h?.entry);
3811
- if (!f) return t("unavailable", void 0, !1);
3812
- if (f === "registered") return { ...await o(), entry: f };
3820
+ const g = KO.find(($) => $ === h?.entry);
3821
+ if (!g) return t("unavailable", void 0, !1);
3822
+ if (g === "registered") return { ...await o(), entry: g };
3813
3823
  const v = a(h);
3814
- return { ...t(f === "unregistered" ? "inactive" : v.state, v.alias, !0), entry: f };
3824
+ return { ...t(g === "unregistered" ? "inactive" : v.state, v.alias, !0), entry: g };
3815
3825
  }
3816
- let s = Promise.resolve(), r, l, c = 0;
3817
- async function d() {
3826
+ let s = Promise.resolve(), r, d, c = 0;
3827
+ async function l() {
3818
3828
  const h = ++c;
3819
3829
  await s;
3820
- const f = e.entry ? await i() : e.isAdmin() ? await o() : await n();
3821
- return h === c && (r = f), f;
3830
+ const g = e.entry ? await i() : e.isAdmin() ? await o() : await n();
3831
+ return h === c && (r = g), g;
3822
3832
  }
3823
- function p() {
3824
- return l ??= d().finally(() => {
3825
- l = void 0;
3833
+ function u() {
3834
+ return d ??= l().finally(() => {
3835
+ d = void 0;
3826
3836
  });
3827
3837
  }
3828
- async function u(h) {
3838
+ async function p(h) {
3829
3839
  if (!e.isAdmin()) throw { code: "admin_required" };
3830
- const f = e.call(h, {});
3831
- s = f.catch(() => {
3832
- }), l = void 0;
3840
+ const g = e.call(h, {});
3841
+ s = g.catch(() => {
3842
+ }), d = void 0;
3833
3843
  try {
3834
- await f;
3844
+ await g;
3835
3845
  } catch (v) {
3836
3846
  throw { code: ae(v) === "ADMIN_REQUIRED" ? "admin_required" : "PORTAL_FAILED" };
3837
3847
  }
3838
- return d();
3848
+ return l();
3839
3849
  }
3840
- async function g(h) {
3850
+ async function m(h) {
3841
3851
  if (!e.isAdmin()) throw { code: "admin_required" };
3842
3852
  try {
3843
3853
  await e.send("SYNO.Core.AppPortal", "set", 2, { id: e.appId, alias: h });
3844
- } catch (f) {
3845
- throw { code: JO[ae(f) ?? ""] ?? "portal_unavailable" };
3854
+ } catch (g) {
3855
+ throw { code: JO[ae(g) ?? ""] ?? "portal_unavailable" };
3846
3856
  }
3847
- return d();
3857
+ return l();
3848
3858
  }
3849
- const m = {
3859
+ const f = {
3850
3860
  messages: $4(e.locale),
3851
- status: p,
3861
+ status: u,
3852
3862
  lastStatus: () => r,
3853
3863
  async apply(h) {
3854
3864
  if (typeof h != "string" || !ne.test(h)) throw { code: "portal_alias_invalid" };
3855
3865
  if (WO.includes(h)) throw { code: "portal_alias_reserved" };
3856
- return g(h);
3866
+ return m(h);
3857
3867
  },
3858
- disable: () => g(null),
3868
+ disable: () => m(null),
3859
3869
  openControlPanel() {
3860
3870
  e.launch("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Login.Main", tab: "applications" });
3861
3871
  }
3862
3872
  };
3863
- return e.entry && (m.register = () => u("portal.register"), m.unregister = () => u("portal.unregister")), p(), m;
3873
+ return e.entry && (f.register = () => p("portal.register"), f.unregister = () => p("portal.unregister")), u(), f;
3864
3874
  }
3865
3875
  const GO = {
3866
3876
  "sharedfolder.title": "Freigegebene Ordner",
@@ -4114,13 +4124,13 @@ const GO = {
4114
4124
  "sharedfolder.shared_folder_grant_unverified": "DSM 已接受變更,但 App 帳號仍無權限。請在控制台檢查此資料夾的權限",
4115
4125
  "sharedfolder.dismiss": "關閉",
4116
4126
  "sharedfolder.retry": "重試"
4117
- }, a6 = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/sharedfolder/de.json": GO, "../../i18n/sharedfolder/en.json": ZO, "../../i18n/sharedfolder/es.json": YO, "../../i18n/sharedfolder/fr.json": QO, "../../i18n/sharedfolder/it.json": XO, "../../i18n/sharedfolder/ja.json": e6, "../../i18n/sharedfolder/ko.json": t6, "../../i18n/sharedfolder/zh-CN.json": n6, "../../i18n/sharedfolder/zh-TW.json": o6 }));
4118
- function V(e) {
4119
- return Object.fromEntries(Object.entries(a6[z(e)]).map(([t, a]) => [t.slice(13), a]));
4127
+ }, a6 = /* @__PURE__ */ w(/* @__PURE__ */ Object.assign({ "../../i18n/sharedfolder/de.json": GO, "../../i18n/sharedfolder/en.json": ZO, "../../i18n/sharedfolder/es.json": YO, "../../i18n/sharedfolder/fr.json": QO, "../../i18n/sharedfolder/it.json": XO, "../../i18n/sharedfolder/ja.json": e6, "../../i18n/sharedfolder/ko.json": t6, "../../i18n/sharedfolder/zh-CN.json": n6, "../../i18n/sharedfolder/zh-TW.json": o6 }));
4128
+ function K(e) {
4129
+ return Object.fromEntries(Object.entries(a6[y(e)]).map(([t, a]) => [t.slice(13), a]));
4120
4130
  }
4121
- const ie = ["none", "read", "write"], i6 = ["ready", "pending", "missing", "ambiguous"], se = (e) => e?.code, W = (e) => e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
4131
+ const ie = ["none", "read", "write"], i6 = ["ready", "pending", "missing", "ambiguous"], se = (e) => e?.code, J = (e) => e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
4122
4132
  function s6(e) {
4123
- const t = W(e);
4133
+ const t = J(e);
4124
4134
  if (!t || typeof t.key != "string" || typeof t.name != "string") return;
4125
4135
  const a = ie.find((s) => s === t.required), n = ie.find((s) => s === t.granted), o = i6.find((s) => s === t.state);
4126
4136
  if (!a || !n || !o) return;
@@ -4128,7 +4138,7 @@ function s6(e) {
4128
4138
  return typeof t.path == "string" && (i.path = t.path), typeof t.error == "string" && (i.error = t.error), i;
4129
4139
  }
4130
4140
  function r6(e) {
4131
- const t = W(e);
4141
+ const t = J(e);
4132
4142
  if (!t || typeof t.account != "string" || !Array.isArray(t.folders)) return;
4133
4143
  const a = t.folders.map(s6);
4134
4144
  return a.every((n) => n) ? { account: t.account, folders: a, pending: a.some((n) => n.state === "pending") } : void 0;
@@ -4147,7 +4157,7 @@ function _e(e) {
4147
4157
  return t = i;
4148
4158
  }
4149
4159
  return {
4150
- messages: V(e.locale),
4160
+ messages: K(e.locale),
4151
4161
  status: a,
4152
4162
  lastStatus: () => t,
4153
4163
  canGrant: () => e.isAdmin() && e.send !== void 0,
@@ -4159,8 +4169,8 @@ function _e(e) {
4159
4169
  if (s.required === "none") throw { code: "shared_folder_unavailable" };
4160
4170
  const r = s.required === "write";
4161
4171
  try {
4162
- const c = W(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 }));
4163
- if ((Array.isArray(c?.items) ? c.items : []).some((p) => p?.name === i.account && p.is_custom === !0)) throw { code: "shared_folder_custom_acl" };
4172
+ const c = J(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 }));
4173
+ if ((Array.isArray(c?.items) ? c.items : []).some((u) => u?.name === i.account && u.is_custom === !0)) throw { code: "shared_folder_custom_acl" };
4164
4174
  } catch (c) {
4165
4175
  if (se(c) === "shared_folder_custom_acl") throw c;
4166
4176
  }
@@ -4169,16 +4179,16 @@ function _e(e) {
4169
4179
  } catch (c) {
4170
4180
  throw { code: se(c) === "dsm_105" ? "admin_required" : "shared_folder_grant_failed" };
4171
4181
  }
4172
- const l = await a();
4173
- if (l.folders.find((c) => c.key === o)?.state !== "ready") throw { code: "shared_folder_grant_unverified" };
4174
- return l;
4182
+ const d = await a();
4183
+ if (d.folders.find((c) => c.key === o)?.state !== "ready") throw { code: "shared_folder_grant_unverified" };
4184
+ return d;
4175
4185
  },
4176
4186
  openControlPanel() {
4177
4187
  e.launch?.("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Share.Main" });
4178
4188
  }
4179
4189
  };
4180
4190
  }
4181
- function U6(e) {
4191
+ function O6(e) {
4182
4192
  return _e({
4183
4193
  call: (t, a) => e.call(t, a),
4184
4194
  send: e.webApi,
@@ -4196,56 +4206,56 @@ function c6(e) {
4196
4206
  return { account: t.account, share: t.share, required: t.required };
4197
4207
  }
4198
4208
  function l6(e, t = "en") {
4199
- const a = V(t);
4200
- return Ne(a.steps, { account: e.account, folder: e.share, access: a[e.required] }, t);
4209
+ const a = K(t);
4210
+ return Ue(a.steps, { account: e.account, folder: e.share, access: a[e.required] }, t);
4201
4211
  }
4202
- function O6(e) {
4212
+ function F6(e) {
4203
4213
  const t = e.locale ?? "en", a = _e({ call: e.call, locale: t, isAdmin: () => !1 }), n = /* @__PURE__ */ new Set();
4204
4214
  let o = [], i, s, r = 0;
4205
- function l(p) {
4206
- const u = /* @__PURE__ */ new Map();
4207
- for (const g of p) u.set(JSON.stringify([g.account, g.share, g.required]), g);
4208
- o = [...u.values()];
4209
- for (const g of n) g(o);
4215
+ function d(u) {
4216
+ const p = /* @__PURE__ */ new Map();
4217
+ for (const m of u) p.set(JSON.stringify([m.account, m.share, m.required]), m);
4218
+ o = [...p.values()];
4219
+ for (const m of n) m(o);
4210
4220
  }
4211
- function c(p) {
4221
+ function c(u) {
4212
4222
  if (s) return s;
4213
- const u = r;
4214
- return s = a.status().then((g) => {
4215
- const m = g.folders.filter((h) => h.state === "pending" && h.required !== "none").map((h) => ({ account: g.account, share: h.name, required: h.required }));
4216
- p && u === r ? l(m) : m.length && l([...m, ...o]);
4223
+ const p = r;
4224
+ return s = a.status().then((m) => {
4225
+ const f = m.folders.filter((h) => h.state === "pending" && h.required !== "none").map((h) => ({ account: m.account, share: h.name, required: h.required }));
4226
+ u && p === r ? d(f) : f.length && d([...f, ...o]);
4217
4227
  }).finally(() => {
4218
4228
  s = void 0;
4219
4229
  }), s;
4220
4230
  }
4221
- const d = {
4222
- messages: V(t),
4223
- message: (p) => l6(p, t),
4231
+ const l = {
4232
+ messages: K(t),
4233
+ message: (u) => l6(u, t),
4224
4234
  check() {
4225
4235
  return i ??= c(!1);
4226
4236
  },
4227
4237
  retry() {
4228
4238
  return c(!0);
4229
4239
  },
4230
- handle(p) {
4231
- const u = c6(p);
4232
- return u ? (r++, l([...o, u]), !0) : !1;
4240
+ handle(u) {
4241
+ const p = c6(u);
4242
+ return p ? (r++, d([...o, p]), !0) : !1;
4233
4243
  },
4234
- async call(p, u, g) {
4244
+ async call(u, p, m) {
4235
4245
  try {
4236
- return await e.call(p, u, g);
4237
- } catch (m) {
4238
- throw d.handle(m), m;
4246
+ return await e.call(u, p, m);
4247
+ } catch (f) {
4248
+ throw l.handle(f), f;
4239
4249
  }
4240
4250
  },
4241
- subscribe(p) {
4242
- return n.add(p), o.length && p(o), () => {
4243
- n.delete(p);
4251
+ subscribe(u) {
4252
+ return n.add(u), o.length && u(o), () => {
4253
+ n.delete(u);
4244
4254
  };
4245
4255
  },
4246
4256
  openControlPanel: () => e.openControlPanel?.()
4247
4257
  };
4248
- return d;
4258
+ return l;
4249
4259
  }
4250
4260
  const d6 = {
4251
4261
  /** The DSM session in auth is missing, invalid or expired. */
@@ -4409,29 +4419,29 @@ const d6 = {
4409
4419
  "root.start": { auth: "required", params: ["name", "params"], required: ["name"] },
4410
4420
  status: { auth: "optional", params: [], required: [] },
4411
4421
  "webapi.call": { auth: "optional", params: ["response_type", "expected_size", "delegation_id", "job_id", "api", "method", "version", "params"], required: ["delegation_id", "api", "method", "version", "params"] }
4412
- }, F6 = Object.keys(u6), p6 = 64 * 1024, re = (e) => !!e && typeof e == "object" && !Array.isArray(e);
4413
- function L() {
4422
+ }, H6 = Object.keys(u6), p6 = 64 * 1024, re = (e) => !!e && typeof e == "object" && !Array.isArray(e);
4423
+ function j() {
4414
4424
  throw { code: "EXECUTOR_PROTOCOL" };
4415
4425
  }
4416
- function H6(e, t, a) {
4426
+ function B6(e, t, a) {
4417
4427
  const n = JSON.stringify({ v: 1, op: e, ...a ? { auth: a } : {}, params: t }) + `
4418
4428
  `;
4419
4429
  if (new TextEncoder().encode(n).length > p6) throw { code: "REQUEST_TOO_LARGE" };
4420
4430
  return n;
4421
4431
  }
4422
- function B6(e) {
4432
+ function V6(e) {
4423
4433
  let t;
4424
4434
  try {
4425
4435
  t = JSON.parse(e);
4426
4436
  } catch {
4427
- L();
4437
+ j();
4428
4438
  }
4429
- if ((!re(t) || typeof t.ok != "boolean") && L(), t.ok)
4430
- return re(t.result) || L(), { ok: !0, result: t.result };
4439
+ if ((!re(t) || typeof t.ok != "boolean") && j(), t.ok)
4440
+ return re(t.result) || j(), { ok: !0, result: t.result };
4431
4441
  const a = t.code;
4432
- return (d6[a]?.kind !== "refusal" || typeof t.message != "string") && L(), { ok: !1, code: a, message: t.message };
4442
+ return (d6[a]?.kind !== "refusal" || typeof t.message != "string") && j(), { ok: !1, code: a, message: t.message };
4433
4443
  }
4434
- function V6(e, t, a) {
4444
+ function W6(e, t, a) {
4435
4445
  const n = new AbortController();
4436
4446
  let o;
4437
4447
  async function i() {
@@ -4440,8 +4450,8 @@ function V6(e, t, a) {
4440
4450
  const r = await e.call("app.status", {}, { signal: n.signal });
4441
4451
  !r || typeof r.user != "string" || !r.user || typeof r.admin != "boolean" ? s = { code: "auth_unavailable" } : t === "admin-only" && !r.admin && (s = { code: "admin_required" });
4442
4452
  } catch (r) {
4443
- const l = r?.code;
4444
- s = { code: l === "session_required" || l === "admin_required" || l === "app_privilege_denied" ? l : "auth_unavailable" };
4453
+ const d = r?.code;
4454
+ s = { code: d === "session_required" || d === "admin_required" || d === "app_privilege_denied" ? d : "auth_unavailable" };
4445
4455
  }
4446
4456
  n.signal.aborted || a(s);
4447
4457
  }
@@ -4474,35 +4484,52 @@ function h6(e) {
4474
4484
  });
4475
4485
  };
4476
4486
  }
4477
- function W6(e) {
4478
- const t = e.fetch ?? globalThis.fetch;
4479
- async function a(n, o) {
4480
- const i = new AbortController(), s = { code: "request_canceled", message: "request canceled" };
4481
- let r;
4482
- const l = () => {
4483
- r = s, i.abort();
4484
- }, c = setTimeout(() => {
4485
- r = { code: "request_timeout", message: "request timeout" }, i.abort();
4486
- }, q(e.requestTimeout)), d = o?.signal;
4487
- if (d?.aborted)
4488
- throw clearTimeout(c), s;
4489
- d?.addEventListener("abort", l);
4487
+ function K6(e) {
4488
+ const t = e.fetch ?? globalThis.fetch, a = e.sessionRetry?.session, n = a?.token ?? e.token, o = a?.ready ?? e.ready, i = new Set(Object.entries(e.sessionRetry?.operations ?? {}).filter(([, r]) => r?.effect === "read" && r.kind === "rpc").map(([r]) => r));
4489
+ async function s(r, d, c) {
4490
+ const l = new AbortController(), u = { code: "request_canceled", message: "request canceled" };
4491
+ let p;
4492
+ const m = () => {
4493
+ p = u, l.abort();
4494
+ }, f = setTimeout(() => {
4495
+ p = { code: "request_timeout", message: "request timeout" }, l.abort();
4496
+ }, L(e.requestTimeout)), h = d?.signal;
4497
+ if (h?.aborted)
4498
+ throw clearTimeout(f), u;
4499
+ h?.addEventListener("abort", m);
4500
+ let g;
4501
+ const v = new Promise((b, z) => {
4502
+ g = () => z(p ?? u), l.signal.addEventListener("abort", g, { once: !0 });
4503
+ }), $ = (b) => Promise.race([b, v]);
4490
4504
  try {
4491
- if (e.ready && !e.token?.() && await Promise.race([e.ready(), new Promise((h) => i.signal.addEventListener("abort", () => h(), { once: !0 }))]), r) throw r;
4492
- const p = e.token?.(), g = 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();
4493
- if (!g || typeof g != "object" || !("success" in g)) throw { code: "bad_response", message: "unexpected response" };
4494
- const m = g;
4495
- if (!m.success) throw m.error ?? { code: "bad_response", message: "unexpected response" };
4496
- return m.data;
4497
- } catch (p) {
4498
- throw r ?? p;
4505
+ const b = JSON.stringify(r);
4506
+ o && !n?.() && await $(o());
4507
+ for (let z = 0; z < 2; z++) {
4508
+ if (p) throw p;
4509
+ const M = n?.(), P = await $(t(e.endpoint, { method: "POST", mode: "same-origin", credentials: "same-origin", redirect: "error", cache: "no-store", headers: { "Content-Type": "application/json", ...M ? { "X-SYNO-TOKEN": M } : {} }, body: b, signal: l.signal })), q = await $(P.json());
4510
+ if (P.ok === !1 || !q || typeof q != "object" || !("success" in q)) throw { code: "bad_response", message: "unexpected response" };
4511
+ const D = q;
4512
+ if (D.success === !0) return D.data;
4513
+ const C = D.error ?? { code: "bad_response", message: "unexpected response" };
4514
+ if (D.success !== !1 || C.code !== "session_required" || z !== 0 || !a || !c || !i.has(c)) throw C;
4515
+ let A;
4516
+ try {
4517
+ A = await $(a.refresh(M));
4518
+ } catch {
4519
+ throw p ?? C;
4520
+ }
4521
+ if (p) throw p;
4522
+ if (!A || A === M) throw C;
4523
+ }
4524
+ } catch (b) {
4525
+ throw p ?? b;
4499
4526
  } finally {
4500
- clearTimeout(c), d?.removeEventListener("abort", l);
4527
+ clearTimeout(f), h?.removeEventListener("abort", m), l.signal.removeEventListener("abort", g);
4501
4528
  }
4502
4529
  }
4503
- return { call: (n, o, i) => a({ method: n, params: o ?? {} }, i), batch: h6(a) };
4530
+ return { call: (r, d, c) => s({ method: r, params: d ?? {} }, c, r), batch: h6(s) };
4504
4531
  }
4505
- async function K6(e, t) {
4532
+ async function g6(e, t) {
4506
4533
  let a;
4507
4534
  const n = new AbortController(), o = () => n.abort();
4508
4535
  if (t?.aborted) return [];
@@ -4514,7 +4541,7 @@ async function K6(e, t) {
4514
4541
  if (e.webApi) return e.webApi("SYNO.Core.Service.PortInfo", "load", 1, {});
4515
4542
  const c = e.files?.token?.();
4516
4543
  if (!c) return;
4517
- const d = await fetch("/webapi/entry.cgi", {
4544
+ const l = await fetch("/webapi/entry.cgi", {
4518
4545
  method: "POST",
4519
4546
  credentials: "same-origin",
4520
4547
  mode: "same-origin",
@@ -4524,32 +4551,32 @@ async function K6(e, t) {
4524
4551
  headers: { "Content-Type": "application/x-www-form-urlencoded", "X-SYNO-TOKEN": c },
4525
4552
  // DSM refuses a SynoToken in the body (119; 7.1.1 and 7.4.1 alike); the header carries it.
4526
4553
  body: new URLSearchParams({ api: "SYNO.Core.Service.PortInfo", version: "1", method: "load" })
4527
- }), p = d.ok ? await d.json() : void 0;
4528
- return p?.success === !0 ? p.data : void 0;
4554
+ }), u = l.ok ? await l.json() : void 0;
4555
+ return u?.success === !0 ? u.data : void 0;
4529
4556
  }, r = await Promise.race([s(), new Promise((c) => {
4530
4557
  i = () => c(void 0), n.signal.addEventListener("abort", i, { once: !0 }), n.signal.aborted && i(), a = setTimeout(() => {
4531
4558
  n.abort(), c(void 0);
4532
- }, q(e.requestTimeout));
4559
+ }, L(e.requestTimeout));
4533
4560
  })]);
4534
4561
  if (!Array.isArray(r?.port_info)) return [];
4535
- const l = (c) => typeof c == "string" ? c.trim() : "";
4562
+ const d = (c) => typeof c == "string" ? c.trim() : "";
4536
4563
  return r.port_info.flatMap((c) => {
4537
4564
  if (!c || typeof c != "object") return [];
4538
- const d = c, p = l(d.port_id), u = l(d.protocol);
4539
- if (!p || !Array.isArray(d.dst_port)) return [];
4540
- const g = d.dst_port.flatMap((m) => {
4541
- const h = /^(\d{1,5})(?:[-:](\d{1,5}))?$/.exec(l(m));
4565
+ const l = c, u = d(l.port_id), p = d(l.protocol);
4566
+ if (!u || !Array.isArray(l.dst_port)) return [];
4567
+ const m = l.dst_port.flatMap((f) => {
4568
+ const h = /^(\d{1,5})(?:[-:](\d{1,5}))?$/.exec(d(f));
4542
4569
  if (!h) return [];
4543
- const f = Number(h[1]), v = Number(h[2] ?? h[1]);
4544
- return f >= 1 && v <= 65535 && v >= f ? [{ first: f, last: v }] : [];
4570
+ const g = Number(h[1]), v = Number(h[2] ?? h[1]);
4571
+ return g >= 1 && v <= 65535 && v >= g ? [{ first: g, last: v }] : [];
4545
4572
  });
4546
4573
  return [{
4547
- id: p,
4548
- name: l(d.name),
4549
- desc: l(d.desc),
4550
- protocol: u,
4551
- ports: d.dst_port.map(l).filter((m) => /^\d{1,5}$/.test(m)).map(Number).filter((m) => m >= 1 && m <= 65535),
4552
- ranges: g
4574
+ id: u,
4575
+ name: d(l.name),
4576
+ desc: d(l.desc),
4577
+ protocol: p,
4578
+ ports: l.dst_port.map(d).filter((f) => /^\d{1,5}$/.test(f)).map(Number).filter((f) => f >= 1 && f <= 65535),
4579
+ ranges: m
4553
4580
  }];
4554
4581
  });
4555
4582
  } catch {
@@ -4558,80 +4585,94 @@ async function K6(e, t) {
4558
4585
  clearTimeout(a), t?.removeEventListener("abort", o), n.signal.removeEventListener("abort", i);
4559
4586
  }
4560
4587
  }
4588
+ async function J6(e, t, a) {
4589
+ if (e.user?.isAdmin !== !0) return;
4590
+ let n;
4591
+ try {
4592
+ n = new URL(t);
4593
+ } catch {
4594
+ return;
4595
+ }
4596
+ if (!["http:", "https:"].includes(n.protocol) || n.username || n.password) return;
4597
+ const o = (await g6(e, a)).filter((s) => s.id === "dms_https" && /(^|[,\s])tcp($|[,\s])|^all$/.test(s.protocol)), i = [...new Set(o.flatMap((s) => s.ports))];
4598
+ if (!(a?.aborted || i.length !== 1 || o.some((s) => s.ranges.some((r) => r.first !== r.last))))
4599
+ return n.protocol = "https:", n.port = String(i[0]), n.pathname = "/webman/", n.search = "", n.hash = "", n.href;
4600
+ }
4561
4601
  export {
4562
- Z6 as DEFAULT_REQUEST_TIMEOUT,
4563
- O as FILE_STATION_APP,
4602
+ Y6 as DEFAULT_REQUEST_TIMEOUT,
4603
+ H as FILE_STATION_APP,
4564
4604
  dy as LIFECYCLE_RETRY_MAX_MS,
4565
4605
  uy as LIFECYCLE_STARTING_RETRY_MAX_MS,
4566
4606
  ye as MAX_LAUNCH_ROUTE,
4567
- C6 as activePage,
4568
- F as appDenial,
4607
+ P6 as activePage,
4608
+ B as appDenial,
4569
4609
  ly as appLifecycle,
4570
- x as appRefusal,
4610
+ N as appRefusal,
4571
4611
  He as authorizationCatalogs,
4572
4612
  Be as authorizationCopy,
4573
4613
  be as backgroundCatalogs,
4574
- L6 as backgroundCopy,
4575
- I6 as backgroundErrorCopy,
4614
+ I6 as backgroundCopy,
4615
+ j6 as backgroundErrorCopy,
4576
4616
  VO as bridgeCatalogs,
4577
- x6 as bridgeErrorCopy,
4578
- A as catalogs,
4579
- q as clientTimeout,
4580
- A6 as createBackgroundPickerProvider,
4581
- v6 as createBackgroundSaveFacade,
4582
- W6 as createClient,
4617
+ U6 as bridgeErrorCopy,
4618
+ w as catalogs,
4619
+ L as clientTimeout,
4620
+ k6 as createBackgroundPickerProvider,
4621
+ b6 as createBackgroundSaveFacade,
4622
+ K6 as createClient,
4583
4623
  le as createDsmFileStation,
4584
4624
  ke as createDsmSession,
4585
- V6 as createEntryCheck,
4625
+ W6 as createEntryCheck,
4586
4626
  Ve as createFileTransfers,
4587
4627
  Ke as createNasProvider,
4588
4628
  N6 as createPortalAccess,
4589
4629
  _e as createSharedFolderAccess,
4590
- O6 as createSharedFolderPermission,
4591
- m6 as createStandaloneContext,
4630
+ F6 as createSharedFolderPermission,
4631
+ f6 as createStandaloneContext,
4592
4632
  ze as createStandaloneHost,
4593
- B6 as decodeResponse,
4633
+ V6 as decodeResponse,
4594
4634
  $e as delegateCatalogs,
4595
4635
  cy as delegateCopy,
4596
- $6 as dsmLaunchURL,
4597
- H6 as encodeRequest,
4598
- P6 as errorCopy,
4636
+ v6 as dsmLaunchURL,
4637
+ B6 as encodeRequest,
4638
+ M6 as errorCopy,
4599
4639
  me as fileStationPath,
4600
- f6 as followLaunchRoute,
4601
- Ne as format,
4640
+ $6 as followLaunchRoute,
4641
+ Ue as format,
4602
4642
  iC as identityCatalogs,
4603
- R6 as identityCopy,
4604
- Y6 as isFullPage,
4605
- _6 as joinSentences,
4606
- S6 as labelSeparator,
4643
+ L6 as identityCopy,
4644
+ Q6 as isFullPage,
4645
+ z6 as joinSentences,
4646
+ _6 as labelSeparator,
4607
4647
  G as launchRoute,
4608
4648
  py as lifecycleCopy,
4609
- B as lifecycleRefusal,
4610
- M6 as lifecycleRetryDelay,
4611
- b6 as mergeCatalogs,
4649
+ W as lifecycleRefusal,
4650
+ q6 as lifecycleRetryDelay,
4651
+ S6 as mergeCatalogs,
4612
4652
  ve as nasCatalogs,
4613
- q6 as nasCopy,
4614
- T6 as nasErrorCopy,
4615
- y6 as openFileInFileStation,
4616
- z6 as openFolderInFileStation,
4653
+ T6 as nasCopy,
4654
+ E6 as nasErrorCopy,
4655
+ A6 as openFileInFileStation,
4656
+ y6 as openFolderInFileStation,
4617
4657
  f4 as portalCatalogs,
4618
4658
  $4 as portalMessages,
4619
4659
  d6 as protocolCodes,
4620
- F6 as protocolOps,
4660
+ H6 as protocolOps,
4621
4661
  u6 as protocolSchemas,
4622
- K6 as readDsmPorts,
4623
- w6 as requestKey,
4662
+ J6 as readDsmHttpsURL,
4663
+ g6 as readDsmPorts,
4664
+ D6 as requestKey,
4624
4665
  Se as saveCatalogs,
4625
4666
  s4 as saveCopy,
4626
- j6 as saveError,
4627
- k6 as scopedPicker,
4628
- U6 as sharedFolderAccessFor,
4667
+ x6 as saveError,
4668
+ w6 as scopedPicker,
4669
+ O6 as sharedFolderAccessFor,
4629
4670
  a6 as sharedFolderCatalogs,
4630
- V as sharedFolderMessages,
4671
+ K as sharedFolderMessages,
4631
4672
  l6 as sharedFolderPermissionMessage,
4632
4673
  zk as shellCatalogs,
4633
- E6 as shellCopy,
4634
- D6 as shellPages,
4635
- z as uiLocale,
4636
- H as uiLocales
4674
+ R6 as shellCopy,
4675
+ C6 as shellPages,
4676
+ y as uiLocale,
4677
+ V as uiLocales
4637
4678
  };