@synopackageland/sdk 0.31.2 → 0.31.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/index.js +790 -738
- package/dist/src/dsm/service-ports.d.ts +23 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/vue.js +10 -9
- package/executor-manifest.json +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -5,24 +5,24 @@ function R(e = 6e4) {
|
|
|
5
5
|
function IO(e) {
|
|
6
6
|
if (e.fullPage !== void 0) return e.fullPage;
|
|
7
7
|
if (!e.host) throw new Error("isFullPage: the context has neither fullPage nor host; pass fullPage (true for a page of its own), or a host (createStandaloneHost() outside DSM)");
|
|
8
|
-
const
|
|
9
|
-
return
|
|
8
|
+
const t = e.host.platform();
|
|
9
|
+
return t.host !== "dsm" || t.dsmStandalone === !0;
|
|
10
10
|
}
|
|
11
11
|
const k = { status: "unsupported" };
|
|
12
12
|
function fe(e = {}) {
|
|
13
|
-
const
|
|
13
|
+
const t = { web: !0, host: "standalone-web", dsmStandalone: null, dsmLanguage: null, appLocale: null, systemVersion: null, fullVersion: null, theme: null, ...e }, a = /* @__PURE__ */ new Set();
|
|
14
14
|
return {
|
|
15
|
-
platform: () => ({ ...
|
|
16
|
-
setTitle(
|
|
17
|
-
return typeof document > "u" ? { status: "unavailable" } : (document.title =
|
|
15
|
+
platform: () => ({ ...t }),
|
|
16
|
+
setTitle(n) {
|
|
17
|
+
return typeof document > "u" ? { status: "unavailable" } : (document.title = n, { status: "ok", target: "document" });
|
|
18
18
|
},
|
|
19
19
|
activateWindow: () => k,
|
|
20
20
|
requestClose: () => k,
|
|
21
21
|
openApp: () => k,
|
|
22
|
-
openURL(
|
|
22
|
+
openURL(n) {
|
|
23
23
|
let o;
|
|
24
24
|
try {
|
|
25
|
-
o = new URL(
|
|
25
|
+
o = new URL(n, typeof location > "u" ? void 0 : location.href);
|
|
26
26
|
} catch {
|
|
27
27
|
return { status: "invalid-input" };
|
|
28
28
|
}
|
|
@@ -33,8 +33,8 @@ function fe(e = {}) {
|
|
|
33
33
|
openFile: () => k,
|
|
34
34
|
showFileDetails: () => k,
|
|
35
35
|
openAppSetting: () => k,
|
|
36
|
-
subscribe(
|
|
37
|
-
if (
|
|
36
|
+
subscribe(n, o) {
|
|
37
|
+
if (n !== "window-resize") return k;
|
|
38
38
|
if (typeof window > "u") return { status: "unavailable" };
|
|
39
39
|
window.addEventListener("resize", o);
|
|
40
40
|
const i = () => {
|
|
@@ -43,7 +43,7 @@ function fe(e = {}) {
|
|
|
43
43
|
return a.add(i), { status: "subscribed", dispose: i };
|
|
44
44
|
},
|
|
45
45
|
dispose() {
|
|
46
|
-
for (const
|
|
46
|
+
for (const n of [...a]) n();
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
}
|
|
@@ -53,41 +53,41 @@ function RO(e) {
|
|
|
53
53
|
}
|
|
54
54
|
const $e = 2048;
|
|
55
55
|
function F(e) {
|
|
56
|
-
const
|
|
57
|
-
if (!(typeof
|
|
58
|
-
return
|
|
56
|
+
const t = e?.route;
|
|
57
|
+
if (!(typeof t != "string" || t.length > $e) && !(!t.startsWith("/") || t.startsWith("//") || /[\\\u0000-\u001f\u007f]/.test(t)))
|
|
58
|
+
return t;
|
|
59
59
|
}
|
|
60
|
-
function jO(e,
|
|
60
|
+
function jO(e, t) {
|
|
61
61
|
const a = F(e.launchParams);
|
|
62
|
-
return a !== void 0 &&
|
|
63
|
-
const o = F(
|
|
64
|
-
o !== void 0 &&
|
|
62
|
+
return a !== void 0 && t(a), e.onLaunch?.((n) => {
|
|
63
|
+
const o = F(n);
|
|
64
|
+
o !== void 0 && t(o);
|
|
65
65
|
}) ?? (() => {
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
const ve = /^[A-Za-z][A-Za-z0-9]{1,63}$/;
|
|
69
|
-
function xO(e,
|
|
70
|
-
if (!ve.test(
|
|
71
|
-
const
|
|
72
|
-
return
|
|
69
|
+
function xO(e, t, a) {
|
|
70
|
+
if (!ve.test(t)) throw new Error(`dsmLaunchURL: ${JSON.stringify(t)} is not a DSM package id`);
|
|
71
|
+
const n = new URL("/", e);
|
|
72
|
+
return n.searchParams.set("launchApp", `SYNO.SDS.${t}.Instance`), n.searchParams.set("launchParam", Object.entries(a).map(([o, i]) => `${encodeURIComponent(o)}=${encodeURIComponent(i)}`).join("&")), n.href;
|
|
73
73
|
}
|
|
74
74
|
function be(e) {
|
|
75
|
-
var
|
|
76
|
-
function
|
|
75
|
+
var t, a;
|
|
76
|
+
function n(s) {
|
|
77
77
|
return typeof s == "string" && s.length > 0 && s.length <= 4096 && !/[\u0000-\u001f\u007f-\u009f]/.test(s) ? s : void 0;
|
|
78
78
|
}
|
|
79
79
|
function o() {
|
|
80
|
-
return
|
|
80
|
+
return n(e.read()) || t;
|
|
81
81
|
}
|
|
82
82
|
function i() {
|
|
83
83
|
var s = o();
|
|
84
84
|
return s ? Promise.resolve(s) : a || (a = new Promise(function(r) {
|
|
85
|
-
var
|
|
85
|
+
var c = new AbortController(), l = !1;
|
|
86
86
|
function m(d) {
|
|
87
|
-
|
|
87
|
+
l || (l = !0, clearTimeout(p), r(d));
|
|
88
88
|
}
|
|
89
|
-
var
|
|
90
|
-
|
|
89
|
+
var p = setTimeout(function() {
|
|
90
|
+
c.abort(), m(void 0);
|
|
91
91
|
}, 15e3);
|
|
92
92
|
try {
|
|
93
93
|
e.fetch("webman/login.cgi?enable_syno_token=yes", {
|
|
@@ -96,18 +96,18 @@ function be(e) {
|
|
|
96
96
|
mode: "same-origin",
|
|
97
97
|
redirect: "error",
|
|
98
98
|
cache: "no-store",
|
|
99
|
-
signal:
|
|
99
|
+
signal: c.signal
|
|
100
100
|
}).then(function(d) {
|
|
101
101
|
return d.ok ? d.json() : void 0;
|
|
102
102
|
}).then(function(d) {
|
|
103
|
-
if (!
|
|
104
|
-
var u =
|
|
103
|
+
if (!l) {
|
|
104
|
+
var u = n(e.read());
|
|
105
105
|
if (u) {
|
|
106
106
|
m(u);
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
var f = d && d.success === !0 ?
|
|
110
|
-
f && (e.write && e.write(f),
|
|
109
|
+
var f = d && d.success === !0 ? n(d.SynoToken) : void 0;
|
|
110
|
+
f && (e.write && e.write(f), t = f), m(f);
|
|
111
111
|
}
|
|
112
112
|
}).catch(function() {
|
|
113
113
|
m(void 0);
|
|
@@ -119,30 +119,30 @@ function be(e) {
|
|
|
119
119
|
}
|
|
120
120
|
return { token: o, ready: i };
|
|
121
121
|
}
|
|
122
|
-
const
|
|
122
|
+
const ne = "/webapi/entry.cgi", Se = 16 * 1024 ** 3;
|
|
123
123
|
function H(e) {
|
|
124
|
-
const
|
|
125
|
-
if (
|
|
126
|
-
if (!
|
|
127
|
-
return
|
|
124
|
+
const t = e;
|
|
125
|
+
if (t?.additional != null && (typeof t.additional != "object" || Array.isArray(t.additional))) throw { code: "unavailable" };
|
|
126
|
+
if (!t || typeof t.name != "string" || typeof t.path != "string" || typeof t.isdir != "boolean" || t.additional?.size !== void 0 && (!Number.isSafeInteger(t.additional.size) || t.additional.size < 0)) throw { code: "unavailable" };
|
|
127
|
+
return t.additional === null ? { ...t, additional: void 0 } : t;
|
|
128
128
|
}
|
|
129
129
|
async function _e(e) {
|
|
130
|
-
const
|
|
131
|
-
if (!
|
|
130
|
+
const t = e.body?.getReader();
|
|
131
|
+
if (!t) throw Error();
|
|
132
132
|
const a = [];
|
|
133
|
-
let
|
|
133
|
+
let n = 0;
|
|
134
134
|
try {
|
|
135
135
|
for (; ; ) {
|
|
136
|
-
const { done: s, value: r } = await
|
|
136
|
+
const { done: s, value: r } = await t.read();
|
|
137
137
|
if (s) break;
|
|
138
|
-
if (
|
|
139
|
-
throw await
|
|
138
|
+
if (n += r.byteLength, n > 1024 * 1024)
|
|
139
|
+
throw await t.cancel(), Error();
|
|
140
140
|
a.push(r);
|
|
141
141
|
}
|
|
142
142
|
} finally {
|
|
143
|
-
|
|
143
|
+
t.releaseLock();
|
|
144
144
|
}
|
|
145
|
-
const o = new Uint8Array(
|
|
145
|
+
const o = new Uint8Array(n);
|
|
146
146
|
let i = 0;
|
|
147
147
|
for (const s of a)
|
|
148
148
|
o.set(s, i), i += s.length;
|
|
@@ -152,7 +152,7 @@ function B(e) {
|
|
|
152
152
|
throw { code: { 106: "session_required", 107: "session_required", 119: "session_required", 105: "denied", 403: "denied", 407: "denied", 408: "denied", 414: "conflict", 1805: "conflict", 400: "invalid-request" }[String(e)] ?? "unavailable" };
|
|
153
153
|
}
|
|
154
154
|
function D(e) {
|
|
155
|
-
if (typeof e != "string" || e.length < 2 || e.length > 4096 || !e.startsWith("/") || /[\u0000-\u001f\u007f\\,"]/.test(e) || e.split("/").slice(1).some((
|
|
155
|
+
if (typeof e != "string" || e.length < 2 || e.length > 4096 || !e.startsWith("/") || /[\u0000-\u001f\u007f\\,"]/.test(e) || e.split("/").slice(1).some((t) => !t || t === "." || t === "..")) throw { code: "invalid-request" };
|
|
156
156
|
}
|
|
157
157
|
function V(e) {
|
|
158
158
|
if (typeof e != "string" || !e || e.length > 255 || e === "." || e === ".." || /[\u0000-\u001f\u007f/\\,"]/.test(e)) throw { code: "invalid-request" };
|
|
@@ -161,28 +161,28 @@ function ze() {
|
|
|
161
161
|
return globalThis.SYNO?.SDS?.Session?.SynoToken;
|
|
162
162
|
}
|
|
163
163
|
function oe(e = {}) {
|
|
164
|
-
const
|
|
164
|
+
const t = be({ read: e.token ?? ze, fetch: (i, s) => globalThis.fetch("/webman/login.cgi?enable_syno_token=yes", s) });
|
|
165
165
|
async function a(i) {
|
|
166
166
|
if (i?.aborted) throw { code: "canceled" };
|
|
167
|
-
const s = await
|
|
167
|
+
const s = await t.ready();
|
|
168
168
|
if (i?.aborted) throw { code: "canceled" };
|
|
169
169
|
if (!s) throw { code: "dsm_session_required" };
|
|
170
170
|
return s;
|
|
171
171
|
}
|
|
172
|
-
async function
|
|
173
|
-
const d = await a(
|
|
174
|
-
for (const [y, S] of Object.entries({ api: i, method: s, version: String(r), ...
|
|
175
|
-
|
|
176
|
-
let
|
|
172
|
+
async function n(i, s, r, c, l, m = !1, p) {
|
|
173
|
+
const d = await a(l), u = new AbortController(), f = p ? new FormData() : new URLSearchParams();
|
|
174
|
+
for (const [y, S] of Object.entries({ api: i, method: s, version: String(r), ...c, SynoToken: d })) f.append(y, S);
|
|
175
|
+
p && f.append("file", p);
|
|
176
|
+
let h = !1, g = !1;
|
|
177
177
|
const v = () => u.abort();
|
|
178
|
-
|
|
178
|
+
l.addEventListener("abort", v, { once: !0 }), l.aborted && u.abort();
|
|
179
179
|
const _ = setTimeout(() => {
|
|
180
180
|
g = !0, u.abort();
|
|
181
|
-
}, e.timeout ?? (
|
|
181
|
+
}, e.timeout ?? (p ? 1200 * 1e3 : 6e4));
|
|
182
182
|
try {
|
|
183
183
|
if (u.signal.aborted) throw { code: "canceled" };
|
|
184
|
-
|
|
185
|
-
const y = await fetch(
|
|
184
|
+
h = !0;
|
|
185
|
+
const y = await fetch(ne, { method: "POST", body: f, credentials: "same-origin", mode: "same-origin", redirect: "error", cache: "no-store", signal: u.signal, headers: { "X-SYNO-TOKEN": d } });
|
|
186
186
|
if (!y.ok) throw Error();
|
|
187
187
|
const S = await _e(y);
|
|
188
188
|
if (S?.success === !1 && B(S.error?.code), S?.success !== !0) throw Error();
|
|
@@ -190,17 +190,17 @@ function oe(e = {}) {
|
|
|
190
190
|
return S.data;
|
|
191
191
|
} catch (y) {
|
|
192
192
|
const S = y?.code;
|
|
193
|
-
throw typeof S == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(S) && B(S), typeof S == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain", "canceled", "timeout"].includes(S) ? { code: S } : { code: m &&
|
|
193
|
+
throw typeof S == "number" && [106, 107, 119, 105, 403, 407, 408, 414, 1805, 400].includes(S) && B(S), typeof S == "string" && ["session_required", "dsm_session_required", "denied", "not_found", "conflict", "invalid-request", "unavailable", "commit-uncertain", "canceled", "timeout"].includes(S) ? { code: S } : { code: m && h ? "commit-uncertain" : g ? "timeout" : l.aborted ? "canceled" : "unavailable" };
|
|
194
194
|
} finally {
|
|
195
|
-
clearTimeout(_),
|
|
195
|
+
clearTimeout(_), l.removeEventListener("abort", v);
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
|
-
async function o(i, s, r,
|
|
198
|
+
async function o(i, s, r, c) {
|
|
199
199
|
i !== void 0 && D(i);
|
|
200
|
-
const
|
|
201
|
-
if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(
|
|
202
|
-
const d = await
|
|
203
|
-
if (!Array.isArray(u) || u.length >
|
|
200
|
+
const l = r.limit ?? 100, m = r.sortBy ?? "name", p = r.sortDirection ?? "ASC";
|
|
201
|
+
if (!Number.isSafeInteger(s) || s < 0 || s > 1e6 || !Number.isSafeInteger(l) || l < 1 || l > 100 || !["name", "size", "type", "mtime"].includes(m) || !["ASC", "DESC"].includes(p)) throw { code: "invalid-request" };
|
|
202
|
+
const d = await n("SYNO.FileStation.List", i === void 0 ? "list_share" : "list", 2, { offset: String(s), limit: String(l), sort_by: m, sort_direction: p, additional: '["size"]', ...i === void 0 ? {} : { folder_path: i } }, c), u = i === void 0 ? d?.shares ?? d?.files : d?.files;
|
|
203
|
+
if (!Array.isArray(u) || u.length > l || !Number.isSafeInteger(d.total) || d.total < 0 || d.offset !== s || s + u.length > d.total || !u.length && s < d.total) throw { code: "unavailable" };
|
|
204
204
|
return u.forEach(H), d;
|
|
205
205
|
}
|
|
206
206
|
return {
|
|
@@ -209,69 +209,69 @@ function oe(e = {}) {
|
|
|
209
209
|
list: (i, s, r) => o(i, s.offset ?? 0, s, r),
|
|
210
210
|
async info(i, s) {
|
|
211
211
|
D(i);
|
|
212
|
-
const r = await
|
|
212
|
+
const r = await n("SYNO.FileStation.List", "getinfo", 2, { path: JSON.stringify([i]), additional: '["size"]' }, s);
|
|
213
213
|
if (!Array.isArray(r?.files) || r.files.length !== 1 || r.files[0]?.path !== i) throw { code: "not_found" };
|
|
214
214
|
return H(r.files[0]);
|
|
215
215
|
},
|
|
216
216
|
async createFolder(i, s, r) {
|
|
217
|
-
return D(i), V(s), await
|
|
217
|
+
return D(i), V(s), await n("SYNO.FileStation.CreateFolder", "create", 2, { folder_path: JSON.stringify([i]), name: JSON.stringify([s]), force_parent: "false" }, r, !0), { created: !0 };
|
|
218
218
|
},
|
|
219
219
|
// Display/preview only. A successful browser result never authorizes a
|
|
220
220
|
// backend write or grant; the executor independently checks its subject.
|
|
221
221
|
async checkPermission(i, s) {
|
|
222
222
|
D(i);
|
|
223
|
-
const r = Array.from(crypto.getRandomValues(new Uint8Array(16)), (
|
|
224
|
-
if ((await
|
|
223
|
+
const r = Array.from(crypto.getRandomValues(new Uint8Array(16)), (l) => l.toString(16).padStart(2, "0")).join("");
|
|
224
|
+
if ((await n("SYNO.FileStation.CheckPermission", "write", 3, { path: i, filename: `.synopkgland-permission-probe-${r}`, overwrite: "false", size: "0" }, s))?.blSkip !== !1) throw { code: "denied" };
|
|
225
225
|
},
|
|
226
226
|
async upload(i, s, r) {
|
|
227
227
|
if (D(i), V(s.name), !Number.isSafeInteger(s.size) || s.size < 0 || s.size > Se) throw { code: "upload_size_required" };
|
|
228
|
-
await
|
|
228
|
+
await n("SYNO.FileStation.Upload", "upload", 2, { path: i, create_parents: "false", overwrite: "false", size: String(s.size) }, r, !0, s);
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
|
-
const ye = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, w = (e) => typeof e == "string" && ye.test(e), L = (e) => e && w(e.delegation_id) && w(e.job_id), q = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((
|
|
232
|
+
const ye = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/, w = (e) => typeof e == "string" && ye.test(e), L = (e) => e && w(e.delegation_id) && w(e.job_id), q = (e) => typeof e == "string" && e.startsWith("/") && e !== "/" && !e.includes("\0") && !e.slice(1).split("/").some((t) => !t || t === "." || t === "..");
|
|
233
233
|
function $() {
|
|
234
234
|
throw { code: "EXECUTOR_PROTOCOL" };
|
|
235
235
|
}
|
|
236
236
|
function W(e) {
|
|
237
237
|
return e && Number.isSafeInteger(e.generation) && e.generation >= 0 && q(e.root) && (e.scope === "home" ? e.root === "/home" : e.scope.startsWith("shared:") && e.root === "/" + e.scope.slice(7));
|
|
238
238
|
}
|
|
239
|
-
function Ae(e,
|
|
240
|
-
return (!e || e.job_id !==
|
|
239
|
+
function Ae(e, t) {
|
|
240
|
+
return (!e || e.job_id !== t.job_id || !["queued", "copying", "committed", "canceled", "interrupted", "uncertain"].includes(e.state)) && $(), e.state === "committed" ? (!e.receipt || !q(e.receipt.path) || !Number.isSafeInteger(e.receipt.size) || e.receipt.size < 0 || e.receipt.size > 16 * 1024 ** 3) && $() : e.receipt !== void 0 && $(), e.reason !== void 0 && (typeof e.reason != "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,127}$/.test(e.reason)) && $(), { job_id: e.job_id, state: e.state, ...e.receipt ? { receipt: { ...e.receipt } } : {}, ...e.code ? { code: e.code } : {}, ...e.reason ? { reason: e.reason } : {} };
|
|
241
241
|
}
|
|
242
|
-
function NO(e,
|
|
242
|
+
function NO(e, t = async () => {
|
|
243
243
|
const a = await e.call("delegate.operations.list");
|
|
244
244
|
return Array.isArray(a?.operations) || $(), a.operations;
|
|
245
245
|
}) {
|
|
246
|
-
const a = async (
|
|
246
|
+
const a = async (n, o) => (L(o) || $(), Ae(await e.call(n, { delegation_id: o.delegation_id, job_id: o.job_id }), o));
|
|
247
247
|
return {
|
|
248
|
-
async destination(
|
|
249
|
-
w(
|
|
250
|
-
const o = await e.call("delegate.destination", { key:
|
|
251
|
-
if ((!o || o.key !==
|
|
248
|
+
async destination(n) {
|
|
249
|
+
w(n) || $();
|
|
250
|
+
const o = await e.call("delegate.destination", { key: n });
|
|
251
|
+
if ((!o || o.key !== n || !["active", "missing", "revoked", "reselection-required", "needs-scope-confirmation", "disabled"].includes(o.status) || o.selection !== null && !W(o.selection)) && $(), o.status === "active") {
|
|
252
252
|
const i = o.destination, s = o.selection;
|
|
253
|
-
(!i || !s || !w(i.id) || i.key !==
|
|
253
|
+
(!i || !s || !w(i.id) || i.key !== n || i.lifetime !== "until-revoked" || !i.username || !q(i.path) || !(i.path === s.root || i.path.startsWith(s.root + "/"))) && $();
|
|
254
254
|
} else o.destination !== null && $();
|
|
255
255
|
return o;
|
|
256
256
|
},
|
|
257
|
-
async exportExample(
|
|
258
|
-
(!w(
|
|
259
|
-
const o = await e.call("delegate.example.export", { key:
|
|
260
|
-
return (!L(o) || o.job_id !==
|
|
257
|
+
async exportExample(n) {
|
|
258
|
+
(!w(n.key) || !w(n.job_id)) && $();
|
|
259
|
+
const o = await e.call("delegate.example.export", { key: n.key, job_id: n.job_id });
|
|
260
|
+
return (!L(o) || o.job_id !== n.job_id) && $(), o;
|
|
261
261
|
},
|
|
262
|
-
selectDestination: (
|
|
262
|
+
selectDestination: (n) => e.call("delegate.select_destination", { key: n.key, path: n.path }),
|
|
263
263
|
async status() {
|
|
264
|
-
const
|
|
265
|
-
if (!["ready", "disabled", "needs-scope-confirmation"].includes(
|
|
266
|
-
return typeof
|
|
264
|
+
const n = await e.call("delegate.status");
|
|
265
|
+
if (!["ready", "disabled", "needs-scope-confirmation"].includes(n?.state)) throw { code: "EXECUTOR_UNAVAILABLE" };
|
|
266
|
+
return typeof n?.disabled != "boolean" && $(), n.selection && !W(n.selection) && $(), { disabled: n.disabled, ...n.scope_mode ? { scopeMode: n.scope_mode, selection: n.selection ?? null, preselection: n.preselection, mismatch: n.mismatch } : {} };
|
|
267
267
|
},
|
|
268
268
|
async list() {
|
|
269
|
-
const
|
|
270
|
-
return Array.isArray(
|
|
269
|
+
const n = await e.call("delegate.list");
|
|
270
|
+
return Array.isArray(n?.delegations) || $(), n.delegations.filter((o) => o.lifetime === "until-revoked" && !o.revoked).map((o) => ((!w(o.delegation_id) || typeof o.destination != "string" || !o.destination || !q(o.path) || typeof o.subject?.username != "string" || !o.subject.username) && $(), { id: o.delegation_id, key: o.destination, path: o.path, username: o.subject.username, lifetime: "until-revoked" }));
|
|
271
271
|
},
|
|
272
272
|
async operations() {
|
|
273
|
-
const
|
|
274
|
-
return Promise.all(
|
|
273
|
+
const n = await t();
|
|
274
|
+
return Promise.all(n.map(async (o) => {
|
|
275
275
|
(typeof o?.name != "string" || !o.name || !L(o)) && $();
|
|
276
276
|
const i = { delegation_id: o.delegation_id, job_id: o.job_id };
|
|
277
277
|
try {
|
|
@@ -282,10 +282,10 @@ function NO(e, n = async () => {
|
|
|
282
282
|
}
|
|
283
283
|
}));
|
|
284
284
|
},
|
|
285
|
-
async revoke(
|
|
286
|
-
return (await e.call("delegate.revoke", { delegation_id:
|
|
285
|
+
async revoke(n) {
|
|
286
|
+
return (await e.call("delegate.revoke", { delegation_id: n.delegation_id }))?.revoked !== !0 && $(), { revoked: !0 };
|
|
287
287
|
},
|
|
288
|
-
cancel: (
|
|
288
|
+
cancel: (n) => a("delegate.operations.cancel", n),
|
|
289
289
|
async disable() {
|
|
290
290
|
return (await e.call("delegate.disable"))?.disabled !== !0 && $(), { disabled: !0 };
|
|
291
291
|
},
|
|
@@ -782,77 +782,77 @@ const ke = {
|
|
|
782
782
|
"authorization.admin_required.body": "此 App 僅供 administrators 群組的成員使用。請使用管理員帳號開啟。"
|
|
783
783
|
}, x = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], ie = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
|
|
784
784
|
function z(e) {
|
|
785
|
-
const
|
|
786
|
-
return [ie[
|
|
785
|
+
const t = e.replaceAll("_", "-");
|
|
786
|
+
return [ie[t] ?? t, t.split("-")[0]].find((a) => x.includes(a)) ?? "en";
|
|
787
787
|
}
|
|
788
|
-
function A(e,
|
|
788
|
+
function A(e, t) {
|
|
789
789
|
const a = se(e);
|
|
790
|
-
return Object.fromEntries(x.map((
|
|
790
|
+
return Object.fromEntries(x.map((n) => [n, C(a.en, a[n])]));
|
|
791
791
|
}
|
|
792
|
-
function UO(e,
|
|
793
|
-
const a = se(
|
|
794
|
-
return Object.fromEntries(x.map((o) => [o, C(C(
|
|
792
|
+
function UO(e, t) {
|
|
793
|
+
const a = se(t), n = C(e.en, a.en);
|
|
794
|
+
return Object.fromEntries(x.map((o) => [o, C(C(n, e[o]), a[o])]));
|
|
795
795
|
}
|
|
796
|
-
function Ee(e,
|
|
797
|
-
return (typeof e == "string" ? e : e[Le(
|
|
796
|
+
function Ee(e, t, a = "en") {
|
|
797
|
+
return (typeof e == "string" ? e : e[Le(t.count, a)] ?? e.other).replace(/\{(\w+)\}/g, (o, i) => i in t ? String(t[i]) : o);
|
|
798
798
|
}
|
|
799
|
-
function Le(e,
|
|
800
|
-
return new Intl.PluralRules(ie[
|
|
799
|
+
function Le(e, t) {
|
|
800
|
+
return new Intl.PluralRules(ie[t] ?? t.replaceAll("_", "-")).select(Number(e ?? 0));
|
|
801
801
|
}
|
|
802
802
|
function se(e) {
|
|
803
|
-
return Object.fromEntries(Object.entries(e).map(([
|
|
803
|
+
return Object.fromEntries(Object.entries(e).map(([t, a]) => [t.slice(t.lastIndexOf("/") + 1, -5), a]));
|
|
804
804
|
}
|
|
805
805
|
const J = (e) => typeof e == "object" && e !== null && !Array.isArray(e), Ie = (e) => typeof e.other == "string";
|
|
806
|
-
function C(e,
|
|
807
|
-
if (!J(e) || !J(
|
|
806
|
+
function C(e, t) {
|
|
807
|
+
if (!J(e) || !J(t) || Ie(t)) return t ?? e;
|
|
808
808
|
const a = { ...e };
|
|
809
|
-
for (const [
|
|
809
|
+
for (const [n, o] of Object.entries(t)) a[n] = C(e[n], o);
|
|
810
810
|
return a;
|
|
811
811
|
}
|
|
812
812
|
function OO(e) {
|
|
813
813
|
return /^(zh|ja)/.test(z(e)) ? ":" : ": ";
|
|
814
814
|
}
|
|
815
815
|
const Re = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/authorization/de.json": ke, "../../i18n/authorization/en.json": ae, "../../i18n/authorization/es.json": we, "../../i18n/authorization/fr.json": De, "../../i18n/authorization/it.json": Ce, "../../i18n/authorization/ja.json": Pe, "../../i18n/authorization/ko.json": Me, "../../i18n/authorization/zh-CN.json": qe, "../../i18n/authorization/zh-TW.json": Te }));
|
|
816
|
-
function je(e,
|
|
816
|
+
function je(e, t) {
|
|
817
817
|
const a = { ...ae, ...Re[z(e)] };
|
|
818
|
-
return (
|
|
818
|
+
return (n) => (a[`authorization.${n}`] || n).replaceAll("{package}", t);
|
|
819
819
|
}
|
|
820
820
|
function j(e) {
|
|
821
|
-
const
|
|
822
|
-
return
|
|
821
|
+
const t = e?.code;
|
|
822
|
+
return t === "app_privilege_denied" || t === "admin_required" ? t : void 0;
|
|
823
823
|
}
|
|
824
|
-
function E(e,
|
|
825
|
-
const
|
|
826
|
-
if (!
|
|
827
|
-
const o = a?.trim() ?? "", i = je(
|
|
828
|
-
return { title: i(`${
|
|
824
|
+
function E(e, t = "en", a) {
|
|
825
|
+
const n = j(e);
|
|
826
|
+
if (!n) return;
|
|
827
|
+
const o = a?.trim() ?? "", i = je(t, o);
|
|
828
|
+
return { title: i(`${n}.title`), message: i(`${n}.${n === "app_privilege_denied" && o ? "namedBody" : "body"}`) };
|
|
829
829
|
}
|
|
830
830
|
function xe(e = {}) {
|
|
831
|
-
const
|
|
831
|
+
const t = oe(e), a = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
832
832
|
let o = !1;
|
|
833
833
|
return {
|
|
834
834
|
async download(i) {
|
|
835
835
|
if (D(i), o) throw { code: "canceled" };
|
|
836
|
-
const s = await
|
|
836
|
+
const s = await t.token();
|
|
837
837
|
if (o) throw { code: "canceled" };
|
|
838
838
|
const r = document.createElement("iframe");
|
|
839
839
|
r.hidden = !0, r.setAttribute("sandbox", "allow-forms allow-same-origin allow-downloads"), a.add(r), document.body.append(r);
|
|
840
|
-
const
|
|
841
|
-
if (!
|
|
840
|
+
const c = r.contentDocument;
|
|
841
|
+
if (!c)
|
|
842
842
|
throw r.remove(), a.delete(r), { code: "unavailable" };
|
|
843
|
-
const
|
|
844
|
-
|
|
845
|
-
const m =
|
|
846
|
-
m.method = "POST", m.action =
|
|
847
|
-
for (const [
|
|
848
|
-
const u =
|
|
849
|
-
u.type = "hidden", u.name =
|
|
843
|
+
const l = c.createElement("meta");
|
|
844
|
+
l.httpEquiv = "Content-Security-Policy", l.content = "default-src 'none'; form-action 'self'; base-uri 'none'", c.head.append(l);
|
|
845
|
+
const m = c.createElement("form");
|
|
846
|
+
m.method = "POST", m.action = ne;
|
|
847
|
+
for (const [p, d] of Object.entries({ api: "SYNO.FileStation.Download", method: "download", version: "2", path: JSON.stringify([i]), mode: "download", SynoToken: s })) {
|
|
848
|
+
const u = c.createElement("input");
|
|
849
|
+
u.type = "hidden", u.name = p, u.value = d, m.append(u);
|
|
850
850
|
}
|
|
851
|
-
|
|
851
|
+
c.body.append(m);
|
|
852
852
|
try {
|
|
853
853
|
m.submit();
|
|
854
854
|
} finally {
|
|
855
|
-
for (const
|
|
855
|
+
for (const p of Array.from(m.querySelectorAll("input"))) p.value = "";
|
|
856
856
|
m.remove();
|
|
857
857
|
}
|
|
858
858
|
},
|
|
@@ -860,17 +860,17 @@ function xe(e = {}) {
|
|
|
860
860
|
o = !0;
|
|
861
861
|
for (const i of a) i.remove();
|
|
862
862
|
a.clear();
|
|
863
|
-
for (const i of
|
|
864
|
-
|
|
863
|
+
for (const i of n) i.abort();
|
|
864
|
+
n.clear();
|
|
865
865
|
},
|
|
866
866
|
async upload(i, s, r) {
|
|
867
867
|
if (o) throw { code: "canceled" };
|
|
868
|
-
const
|
|
869
|
-
|
|
868
|
+
const c = new AbortController(), l = () => c.abort();
|
|
869
|
+
n.add(c), r.addEventListener("abort", l, { once: !0 }), r.aborted && c.abort();
|
|
870
870
|
try {
|
|
871
|
-
await
|
|
871
|
+
await t.upload(i, s, c.signal);
|
|
872
872
|
} finally {
|
|
873
|
-
|
|
873
|
+
n.delete(c), r.removeEventListener("abort", l);
|
|
874
874
|
}
|
|
875
875
|
}
|
|
876
876
|
};
|
|
@@ -883,30 +883,30 @@ function T(e) {
|
|
|
883
883
|
}
|
|
884
884
|
const re = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0;
|
|
885
885
|
function ce(e) {
|
|
886
|
-
const
|
|
887
|
-
return (typeof
|
|
886
|
+
const t = T(e), a = T(t.additional ?? {});
|
|
887
|
+
return (typeof t.name != "string" || typeof t.path != "string" || typeof t.isdir != "boolean" || a.size !== void 0 && !re(a.size)) && b(), { name: t.name, path: t.path, isDir: t.isdir, ...a.size === void 0 ? {} : { bytes: a.size } };
|
|
888
888
|
}
|
|
889
889
|
const Ne = /* @__PURE__ */ new Set(["#recycle", "#snapshot", "@eaDir", "@tmp", "@sharebin"]);
|
|
890
|
-
function K(e,
|
|
891
|
-
const
|
|
892
|
-
(!Array.isArray(o) || o.length > a || !re(
|
|
893
|
-
const i = o.map(ce), s =
|
|
894
|
-
return s <
|
|
890
|
+
function K(e, t, a) {
|
|
891
|
+
const n = T(e), o = n.shares ?? n.files;
|
|
892
|
+
(!Array.isArray(o) || o.length > a || !re(n.total) || n.offset !== t || t + o.length > n.total) && b();
|
|
893
|
+
const i = o.map(ce), s = t + i.length;
|
|
894
|
+
return s < n.total && !i.length && b(), { entries: i.filter((r) => !Ne.has(r.name)), total: n.total, offset: t, ...s < n.total ? { nextOffset: s } : {} };
|
|
895
895
|
}
|
|
896
896
|
function Ue(e) {
|
|
897
|
-
let
|
|
898
|
-
const a = new AbortController(),
|
|
899
|
-
async function i(s, r,
|
|
900
|
-
(
|
|
897
|
+
let t = !1;
|
|
898
|
+
const a = new AbortController(), n = xe(e.files), o = oe({ token: e.files?.token, timeout: R(e.requestTimeout) });
|
|
899
|
+
async function i(s, r, c, l = !1) {
|
|
900
|
+
(t || c.aborted) && b("canceled");
|
|
901
901
|
let m = () => {
|
|
902
902
|
};
|
|
903
|
-
const
|
|
904
|
-
const v = () => g({ code:
|
|
905
|
-
|
|
906
|
-
clearTimeout(_),
|
|
903
|
+
const p = new Promise((h, g) => {
|
|
904
|
+
const v = () => g({ code: l ? "commit-uncertain" : "canceled" }), _ = setTimeout(() => g({ code: l ? "commit-uncertain" : "timeout" }), R(e.requestTimeout));
|
|
905
|
+
c.addEventListener("abort", v, { once: !0 }), a.signal.addEventListener("abort", v, { once: !0 }), m = () => {
|
|
906
|
+
clearTimeout(_), c.removeEventListener("abort", v), a.signal.removeEventListener("abort", v);
|
|
907
907
|
};
|
|
908
908
|
}), d = new AbortController(), u = () => d.abort();
|
|
909
|
-
|
|
909
|
+
c.addEventListener("abort", u, { once: !0 }), a.signal.addEventListener("abort", u, { once: !0 });
|
|
910
910
|
async function f() {
|
|
911
911
|
switch (await e.call("nas.session.status", {}, { signal: d.signal }), d.signal.aborted && b("canceled"), s) {
|
|
912
912
|
case "nas.files.shares":
|
|
@@ -921,88 +921,88 @@ function Ue(e) {
|
|
|
921
921
|
b("unsupported");
|
|
922
922
|
}
|
|
923
923
|
try {
|
|
924
|
-
return await Promise.race([f(),
|
|
925
|
-
} catch (
|
|
926
|
-
const g =
|
|
927
|
-
j(
|
|
924
|
+
return await Promise.race([f(), p]);
|
|
925
|
+
} catch (h) {
|
|
926
|
+
const g = h?.code;
|
|
927
|
+
j(h) && b(j(h)), [407, 408, "407", "408", "denied"].includes(g) && b("denied"), (g === "cross_origin" || g === "origin_required") && b("origin-refused"), (g === "request_timeout" || g === "request_canceled") && b(l ? "commit-uncertain" : g === "request_timeout" ? "timeout" : "canceled"), b(typeof g == "string" && ["session_required", "dsm_session_required", "auth_unavailable", "denied", "not_found", "conflict", "invalid-request", "unavailable", "unknown_method", "unsupported", "commit-uncertain", "canceled", "timeout"].includes(g) ? g : l ? "commit-uncertain" : "unavailable");
|
|
928
928
|
} finally {
|
|
929
|
-
m(), d.abort(),
|
|
929
|
+
m(), d.abort(), c.removeEventListener("abort", u), a.signal.removeEventListener("abort", u);
|
|
930
930
|
}
|
|
931
931
|
}
|
|
932
932
|
return {
|
|
933
|
-
async upload(s, r,
|
|
934
|
-
(
|
|
933
|
+
async upload(s, r, c) {
|
|
934
|
+
(t || c.aborted) && b("canceled"), await e.call("nas.session.status", {}, { signal: c }), (t || c.aborted) && b("canceled"), await n.upload(s, r, c);
|
|
935
935
|
},
|
|
936
936
|
async download(s) {
|
|
937
|
-
|
|
937
|
+
t && b("canceled"), await e.call("nas.session.status"), t && b("canceled"), await n.download(s);
|
|
938
938
|
},
|
|
939
939
|
async shares(s, r) {
|
|
940
940
|
return K(await i("nas.files.shares", { offset: s }, r), s, 100);
|
|
941
941
|
},
|
|
942
|
-
async list(s, r,
|
|
943
|
-
const
|
|
944
|
-
return K(await i("nas.files.list", { path: s, ...r, offset:
|
|
942
|
+
async list(s, r, c) {
|
|
943
|
+
const l = r.offset ?? 0, m = r.limit ?? 100;
|
|
944
|
+
return K(await i("nas.files.list", { path: s, ...r, offset: l, limit: m }, c), l, m);
|
|
945
945
|
},
|
|
946
946
|
async info(s, r) {
|
|
947
947
|
return ce(await i("nas.files.info", { path: s }, r));
|
|
948
948
|
},
|
|
949
|
-
async createFolder(s, r,
|
|
950
|
-
T(await i("nas.files.create_folder", { parent: s, name: r },
|
|
949
|
+
async createFolder(s, r, c) {
|
|
950
|
+
T(await i("nas.files.create_folder", { parent: s, name: r }, c, !0)).created !== !0 && b("commit-uncertain");
|
|
951
951
|
},
|
|
952
952
|
dispose() {
|
|
953
|
-
|
|
953
|
+
t = !0, a.abort(), n?.dispose();
|
|
954
954
|
}
|
|
955
955
|
};
|
|
956
956
|
}
|
|
957
957
|
const I = "SYNO.SDS.App.FileStation3.Instance";
|
|
958
|
-
function le(e,
|
|
958
|
+
function le(e, t) {
|
|
959
959
|
if (!e.startsWith("/")) return e;
|
|
960
|
-
const a = (
|
|
960
|
+
const a = (t ?? "").replace(/\/+$/, "");
|
|
961
961
|
if (a && (e === a || e.startsWith(`${a}/`))) return e.slice(a.length) || "/";
|
|
962
|
-
const
|
|
963
|
-
return
|
|
962
|
+
const n = /^\/volume(?:USB|SATA)?\d+(?=\/|$)/.exec(e);
|
|
963
|
+
return n ? e.slice(n[0].length) || "/" : e;
|
|
964
964
|
}
|
|
965
|
-
function FO(e,
|
|
966
|
-
return de({ opendir: le(e,
|
|
965
|
+
function FO(e, t = {}) {
|
|
966
|
+
return de({ opendir: le(e, t.mount) }, t);
|
|
967
967
|
}
|
|
968
|
-
function HO(e,
|
|
969
|
-
return de({ openfile: le(e,
|
|
968
|
+
function HO(e, t = {}) {
|
|
969
|
+
return de({ openfile: le(e, t.mount) }, t);
|
|
970
970
|
}
|
|
971
971
|
function Oe(e) {
|
|
972
972
|
if (e.length > 4096 || /[\x00-\x1f\x7f\\]/.test(e)) return !1;
|
|
973
|
-
const
|
|
974
|
-
return
|
|
973
|
+
const t = e.split("/");
|
|
974
|
+
return t[0] === "" && t.length > 1 && t.slice(1).every((a) => a !== "" && a !== "." && a !== "..");
|
|
975
975
|
}
|
|
976
|
-
function de(e,
|
|
977
|
-
const a = "desktop" in
|
|
978
|
-
return !Oe(o) || typeof a?.AppLaunch != "function" ||
|
|
976
|
+
function de(e, t) {
|
|
977
|
+
const a = "desktop" in t ? t.desktop : globalThis.SYNO?.SDS, n = a?.StatusNotifier, o = "opendir" in e ? e.opendir : e.openfile;
|
|
978
|
+
return !Oe(o) || typeof a?.AppLaunch != "function" || n?.isAppEnabled?.(I) === !1 || n?.isAppLaunchable?.(I) === !1 ? !1 : (a.AppLaunch(I, e), !0);
|
|
979
979
|
}
|
|
980
980
|
function BO(e) {
|
|
981
981
|
return Ue(e);
|
|
982
982
|
}
|
|
983
|
-
function VO(e,
|
|
984
|
-
const a = (
|
|
985
|
-
if (!
|
|
983
|
+
function VO(e, t) {
|
|
984
|
+
const a = (n) => {
|
|
985
|
+
if (!t || !(n === t || n.startsWith(t + "/")) || n.includes("\\") || n.slice(1).split("/").some((o) => !o || o === "." || o === "..")) throw { code: "SCOPE_DENIED" };
|
|
986
986
|
};
|
|
987
987
|
return {
|
|
988
|
-
async shares(
|
|
989
|
-
if (a(
|
|
990
|
-
const i = await e.info(
|
|
991
|
-
if (i.path !==
|
|
988
|
+
async shares(n, o) {
|
|
989
|
+
if (a(t), n !== 0) return { entries: [], offset: n, total: 1 };
|
|
990
|
+
const i = await e.info(t, o);
|
|
991
|
+
if (i.path !== t || !i.isDir) throw { code: "SCOPE_DENIED" };
|
|
992
992
|
return { entries: [i], offset: 0, total: 1 };
|
|
993
993
|
},
|
|
994
|
-
async list(
|
|
995
|
-
a(
|
|
996
|
-
const s = await e.list(
|
|
994
|
+
async list(n, o, i) {
|
|
995
|
+
a(n);
|
|
996
|
+
const s = await e.list(n, o, i);
|
|
997
997
|
return s.entries.forEach((r) => a(r.path)), s;
|
|
998
998
|
},
|
|
999
|
-
async info(
|
|
1000
|
-
a(
|
|
1001
|
-
const i = await e.info(
|
|
999
|
+
async info(n, o) {
|
|
1000
|
+
a(n);
|
|
1001
|
+
const i = await e.info(n, o);
|
|
1002
1002
|
return a(i.path), i;
|
|
1003
1003
|
},
|
|
1004
|
-
async createFolder(
|
|
1005
|
-
return a(
|
|
1004
|
+
async createFolder(n, o, i) {
|
|
1005
|
+
return a(n), a(n + "/" + o), e.createFolder(n, o, i);
|
|
1006
1006
|
},
|
|
1007
1007
|
// The parent owns the shared session provider; closing a picker must not dispose it.
|
|
1008
1008
|
dispose() {
|
|
@@ -1014,14 +1014,14 @@ function WO() {
|
|
|
1014
1014
|
}
|
|
1015
1015
|
const Fe = ["status", "background"];
|
|
1016
1016
|
function JO(e) {
|
|
1017
|
-
return Fe.filter((
|
|
1017
|
+
return Fe.filter((t) => t === "status" || e[t] === !0);
|
|
1018
1018
|
}
|
|
1019
1019
|
const G = (e) => typeof e == "string" ? e : e.id;
|
|
1020
|
-
function KO(e,
|
|
1021
|
-
const a =
|
|
1022
|
-
return G(a ??
|
|
1020
|
+
function KO(e, t) {
|
|
1021
|
+
const a = t.find((o) => G(o) === e), n = t.find((o) => typeof o == "string" || !o.hidden);
|
|
1022
|
+
return G(a ?? n ?? "status");
|
|
1023
1023
|
}
|
|
1024
|
-
const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte.", Ve = "Ordner auswählen", We = "Auswahl bestätigen", Je = "Ordner aktualisieren", Ke = "Wird geladen…", Ge = "Dieser Ordner ist leer.", Ze = "Ordner", Ye = "Zurück", Qe = "Vorwärts", Xe = "{name} auswählen",
|
|
1024
|
+
const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und die aktuellen File-Station-Rechte.", Ve = "Ordner auswählen", We = "Auswahl bestätigen", Je = "Ordner aktualisieren", Ke = "Wird geladen…", Ge = "Dieser Ordner ist leer.", Ze = "Ordner", Ye = "Zurück", Qe = "Vorwärts", Xe = "{name} auswählen", et = "{name} öffnen", tt = "Ausgewählt: {name}", nt = "Abbrechen", ot = "Schließen", at = "Mehr laden", it = "DSM-Sitzung abgelaufen. Melden Sie sich erneut bei DSM an und aktualisieren Sie die Ordner.", st = "Sie haben keine Berechtigung für diese Datei oder diesen Ordner. Wählen Sie einen anderen Ordner.", rt = "Datei oder Ordner nicht mehr vorhanden. Aktualisieren Sie die Liste.", ct = "Dieser Name existiert bereits. Wählen Sie einen anderen Namen.", lt = "Die Aktion wurde möglicherweise ausgeführt. Aktualisieren Sie Auswahl oder Ziel und prüfen Sie das Ergebnis vor einer erneuten Übermittlung.", dt = "Ungültiger Ordner, Dateiname oder Aufruf. Prüfen Sie die Eingabe.", ut = "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später.", pt = "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren.", ht = "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren.", gt = "Die Anfrage wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut über DSM.", mt = "Metadaten", ft = "Datei", $t = "Ordner", vt = "Name", bt = "Typ", St = "Größe", _t = "Auswählen", zt = "Datei auswählen", yt = "{name} erweitern", At = "{name} reduzieren", kt = "Hochladen", wt = "Herunterladen", Dt = "Datei hochgeladen.", Ct = "Melden Sie sich unter diesem Hostnamen bei DSM an, um auf NAS-Dateien zuzugreifen. Eine App-Anmeldung allein erlaubt keinen Zugriff auf File Station.", Pt = "Wählen Sie eine Datei mit höchstens 16 GB aus.", Mt = "Speicherort", qt = "Vollständigen Pfad anzeigen", Tt = {
|
|
1025
1025
|
title: He,
|
|
1026
1026
|
ownPermissions: Be,
|
|
1027
1027
|
choose: Ve,
|
|
@@ -1033,116 +1033,116 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1033
1033
|
back: Ye,
|
|
1034
1034
|
forward: Qe,
|
|
1035
1035
|
select: Xe,
|
|
1036
|
-
open:
|
|
1037
|
-
selected:
|
|
1038
|
-
cancel:
|
|
1039
|
-
close:
|
|
1040
|
-
loadMore:
|
|
1041
|
-
errorSession:
|
|
1042
|
-
errorDenied:
|
|
1043
|
-
errorNotFound:
|
|
1044
|
-
errorConflict:
|
|
1045
|
-
errorUncertain:
|
|
1046
|
-
errorInvalid:
|
|
1047
|
-
errorUnavailable:
|
|
1048
|
-
errorCanceled:
|
|
1049
|
-
errorTimeout:
|
|
1050
|
-
errorOrigin:
|
|
1051
|
-
metadata:
|
|
1052
|
-
fileKind:
|
|
1053
|
-
directoryKind:
|
|
1054
|
-
nameColumn:
|
|
1055
|
-
kindColumn:
|
|
1056
|
-
sizeColumn:
|
|
1057
|
-
selectAction:
|
|
1058
|
-
chooseFile:
|
|
1059
|
-
expand:
|
|
1060
|
-
collapse:
|
|
1061
|
-
upload:
|
|
1062
|
-
download:
|
|
1063
|
-
uploaded:
|
|
1064
|
-
errorDSM:
|
|
1065
|
-
errorUploadSize:
|
|
1066
|
-
location:
|
|
1067
|
-
fullPath:
|
|
1068
|
-
},
|
|
1069
|
-
title:
|
|
1070
|
-
ownPermissions:
|
|
1071
|
-
choose:
|
|
1072
|
-
confirm:
|
|
1073
|
-
refresh:
|
|
1074
|
-
loading:
|
|
1075
|
-
emptyFolder:
|
|
1076
|
-
roots:
|
|
1077
|
-
back:
|
|
1078
|
-
forward:
|
|
1079
|
-
select:
|
|
1080
|
-
open:
|
|
1081
|
-
selected:
|
|
1082
|
-
cancel:
|
|
1083
|
-
close:
|
|
1084
|
-
loadMore:
|
|
1085
|
-
errorSession:
|
|
1086
|
-
errorDenied:
|
|
1087
|
-
errorNotFound:
|
|
1088
|
-
errorConflict:
|
|
1089
|
-
errorUncertain:
|
|
1090
|
-
errorInvalid:
|
|
1091
|
-
errorUnavailable:
|
|
1092
|
-
errorCanceled:
|
|
1093
|
-
errorTimeout:
|
|
1094
|
-
errorOrigin:
|
|
1095
|
-
metadata:
|
|
1096
|
-
fileKind:
|
|
1097
|
-
directoryKind:
|
|
1098
|
-
nameColumn:
|
|
1099
|
-
kindColumn:
|
|
1100
|
-
sizeColumn:
|
|
1101
|
-
selectAction:
|
|
1102
|
-
chooseFile:
|
|
1103
|
-
expand:
|
|
1104
|
-
collapse:
|
|
1105
|
-
upload:
|
|
1106
|
-
download: $
|
|
1107
|
-
uploaded:
|
|
1108
|
-
errorDSM:
|
|
1109
|
-
errorUploadSize:
|
|
1110
|
-
location:
|
|
1111
|
-
fullPath:
|
|
1112
|
-
},
|
|
1113
|
-
title:
|
|
1114
|
-
ownPermissions:
|
|
1115
|
-
choose:
|
|
1116
|
-
confirm:
|
|
1117
|
-
refresh:
|
|
1118
|
-
loading:
|
|
1119
|
-
emptyFolder:
|
|
1120
|
-
roots:
|
|
1121
|
-
back:
|
|
1122
|
-
forward:
|
|
1123
|
-
select:
|
|
1124
|
-
open:
|
|
1125
|
-
selected:
|
|
1126
|
-
cancel:
|
|
1127
|
-
close:
|
|
1128
|
-
loadMore:
|
|
1129
|
-
errorSession:
|
|
1130
|
-
errorDenied:
|
|
1131
|
-
errorNotFound:
|
|
1132
|
-
errorConflict:
|
|
1133
|
-
errorUncertain:
|
|
1134
|
-
errorInvalid:
|
|
1135
|
-
errorUnavailable:
|
|
1136
|
-
errorCanceled:
|
|
1137
|
-
errorTimeout:
|
|
1138
|
-
errorOrigin:
|
|
1139
|
-
metadata:
|
|
1140
|
-
fileKind:
|
|
1141
|
-
directoryKind:
|
|
1142
|
-
nameColumn:
|
|
1036
|
+
open: et,
|
|
1037
|
+
selected: tt,
|
|
1038
|
+
cancel: nt,
|
|
1039
|
+
close: ot,
|
|
1040
|
+
loadMore: at,
|
|
1041
|
+
errorSession: it,
|
|
1042
|
+
errorDenied: st,
|
|
1043
|
+
errorNotFound: rt,
|
|
1044
|
+
errorConflict: ct,
|
|
1045
|
+
errorUncertain: lt,
|
|
1046
|
+
errorInvalid: dt,
|
|
1047
|
+
errorUnavailable: ut,
|
|
1048
|
+
errorCanceled: pt,
|
|
1049
|
+
errorTimeout: ht,
|
|
1050
|
+
errorOrigin: gt,
|
|
1051
|
+
metadata: mt,
|
|
1052
|
+
fileKind: ft,
|
|
1053
|
+
directoryKind: $t,
|
|
1054
|
+
nameColumn: vt,
|
|
1055
|
+
kindColumn: bt,
|
|
1056
|
+
sizeColumn: St,
|
|
1057
|
+
selectAction: _t,
|
|
1058
|
+
chooseFile: zt,
|
|
1059
|
+
expand: yt,
|
|
1060
|
+
collapse: At,
|
|
1061
|
+
upload: kt,
|
|
1062
|
+
download: wt,
|
|
1063
|
+
uploaded: Dt,
|
|
1064
|
+
errorDSM: Ct,
|
|
1065
|
+
errorUploadSize: Pt,
|
|
1066
|
+
location: Mt,
|
|
1067
|
+
fullPath: qt
|
|
1068
|
+
}, Et = "NAS folders", Lt = "Operations use your own DSM session and current File Station permissions.", It = "Choose folder", Rt = "Confirm selection", jt = "Refresh folders", xt = "Loading…", Nt = "This folder is empty.", Ut = "Folders", Ot = "Back", Ft = "Forward", Ht = "Select {name}", Bt = "Open {name}", Vt = "Selected: {name}", Wt = "Cancel", Jt = "Close", Kt = "Load more", Gt = "Your DSM session expired. Sign in to DSM again, then refresh folders.", Zt = "You do not have permission to access this file or folder. Choose another folder.", Yt = "The file or folder no longer exists. Refresh the listing.", Qt = "A file or folder with that name already exists. Choose another name.", Xt = "The operation may have completed. Refresh selections or the destination and inspect the result before submitting again.", en = "Invalid folder, filename or request. Check the input and try again.", tn = "File Station is unavailable or this package lacks the session adapter. Refresh later.", nn = "Request canceled. Refresh before continuing.", on = "The request timed out. Refresh the listing before continuing.", an = "The request was refused: the browser did not show that it came from this App's page. Open the App again from DSM in a current browser.", sn = "Metadata", rn = "File", cn = "Folder", ln = "Name", dn = "Type", un = "Size", pn = "Select", hn = "Choose file", gn = "Expand {name}", mn = "Collapse {name}", fn = "Upload", $n = "Download", vn = "File uploaded.", bn = "Sign in to DSM on this hostname to access NAS files. An App login alone cannot access File Station.", Sn = "Choose one file up to 16 GB.", _n = "Location", zn = "Show full path", yn = {
|
|
1069
|
+
title: Et,
|
|
1070
|
+
ownPermissions: Lt,
|
|
1071
|
+
choose: It,
|
|
1072
|
+
confirm: Rt,
|
|
1073
|
+
refresh: jt,
|
|
1074
|
+
loading: xt,
|
|
1075
|
+
emptyFolder: Nt,
|
|
1076
|
+
roots: Ut,
|
|
1077
|
+
back: Ot,
|
|
1078
|
+
forward: Ft,
|
|
1079
|
+
select: Ht,
|
|
1080
|
+
open: Bt,
|
|
1081
|
+
selected: Vt,
|
|
1082
|
+
cancel: Wt,
|
|
1083
|
+
close: Jt,
|
|
1084
|
+
loadMore: Kt,
|
|
1085
|
+
errorSession: Gt,
|
|
1086
|
+
errorDenied: Zt,
|
|
1087
|
+
errorNotFound: Yt,
|
|
1088
|
+
errorConflict: Qt,
|
|
1089
|
+
errorUncertain: Xt,
|
|
1090
|
+
errorInvalid: en,
|
|
1091
|
+
errorUnavailable: tn,
|
|
1092
|
+
errorCanceled: nn,
|
|
1093
|
+
errorTimeout: on,
|
|
1094
|
+
errorOrigin: an,
|
|
1095
|
+
metadata: sn,
|
|
1096
|
+
fileKind: rn,
|
|
1097
|
+
directoryKind: cn,
|
|
1098
|
+
nameColumn: ln,
|
|
1099
|
+
kindColumn: dn,
|
|
1100
|
+
sizeColumn: un,
|
|
1101
|
+
selectAction: pn,
|
|
1102
|
+
chooseFile: hn,
|
|
1103
|
+
expand: gn,
|
|
1104
|
+
collapse: mn,
|
|
1105
|
+
upload: fn,
|
|
1106
|
+
download: $n,
|
|
1107
|
+
uploaded: vn,
|
|
1108
|
+
errorDSM: bn,
|
|
1109
|
+
errorUploadSize: Sn,
|
|
1110
|
+
location: _n,
|
|
1111
|
+
fullPath: zn
|
|
1112
|
+
}, An = "Carpetas NAS", kn = "Las operaciones usan su sesión DSM y sus permisos actuales de File Station.", wn = "Elegir carpeta", Dn = "Confirmar selección", Cn = "Actualizar carpetas", Pn = "Cargando…", Mn = "Esta carpeta está vacía.", qn = "Carpetas", Tn = "Atrás", En = "Adelante", Ln = "Seleccionar {name}", In = "Abrir {name}", Rn = "Seleccionado: {name}", jn = "Cancelar", xn = "Cerrar", Nn = "Cargar más", Un = "La sesión DSM caducó. Inicie sesión en DSM y actualice las carpetas.", On = "No tiene permiso para acceder a este archivo o carpeta. Elija otra carpeta.", Fn = "El archivo o la carpeta ya no existe. Actualice la lista.", Hn = "Ya existe un archivo o carpeta con ese nombre. Use otro nombre.", Bn = "La operación puede haber terminado. Actualice las selecciones o el destino y compruebe el resultado antes de enviarla de nuevo.", Vn = "Carpeta, nombre o solicitud no válidos. Revise los datos.", Wn = "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde.", Jn = "Solicitud cancelada. Actualice antes de continuar.", Kn = "La solicitud agotó el tiempo. Actualice la lista antes de continuar.", Gn = "La solicitud se rechazó: el navegador no indicó que procediera de la página de esta App. Vuelva a abrir la App desde DSM en un navegador actual.", Zn = "Metadatos", Yn = "Archivo", Qn = "Carpeta", Xn = "Nombre", eo = "Tipo", to = "Tamaño", no = "Seleccionar", oo = "Elegir archivo", ao = "Expandir {name}", io = "Contraer {name}", so = "Subir", ro = "Descargar", co = "Archivo subido.", lo = "Inicie sesión en DSM con este nombre de host para acceder a los archivos NAS. El inicio de sesión en la App por sí solo no permite usar File Station.", uo = "Seleccione un archivo de hasta 16 GB.", po = "Ubicación", ho = "Mostrar la ruta completa", go = {
|
|
1113
|
+
title: An,
|
|
1114
|
+
ownPermissions: kn,
|
|
1115
|
+
choose: wn,
|
|
1116
|
+
confirm: Dn,
|
|
1117
|
+
refresh: Cn,
|
|
1118
|
+
loading: Pn,
|
|
1119
|
+
emptyFolder: Mn,
|
|
1120
|
+
roots: qn,
|
|
1121
|
+
back: Tn,
|
|
1122
|
+
forward: En,
|
|
1123
|
+
select: Ln,
|
|
1124
|
+
open: In,
|
|
1125
|
+
selected: Rn,
|
|
1126
|
+
cancel: jn,
|
|
1127
|
+
close: xn,
|
|
1128
|
+
loadMore: Nn,
|
|
1129
|
+
errorSession: Un,
|
|
1130
|
+
errorDenied: On,
|
|
1131
|
+
errorNotFound: Fn,
|
|
1132
|
+
errorConflict: Hn,
|
|
1133
|
+
errorUncertain: Bn,
|
|
1134
|
+
errorInvalid: Vn,
|
|
1135
|
+
errorUnavailable: Wn,
|
|
1136
|
+
errorCanceled: Jn,
|
|
1137
|
+
errorTimeout: Kn,
|
|
1138
|
+
errorOrigin: Gn,
|
|
1139
|
+
metadata: Zn,
|
|
1140
|
+
fileKind: Yn,
|
|
1141
|
+
directoryKind: Qn,
|
|
1142
|
+
nameColumn: Xn,
|
|
1143
1143
|
kindColumn: eo,
|
|
1144
|
-
sizeColumn:
|
|
1145
|
-
selectAction:
|
|
1144
|
+
sizeColumn: to,
|
|
1145
|
+
selectAction: no,
|
|
1146
1146
|
chooseFile: oo,
|
|
1147
1147
|
expand: ao,
|
|
1148
1148
|
collapse: io,
|
|
@@ -1153,7 +1153,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1153
1153
|
errorUploadSize: uo,
|
|
1154
1154
|
location: po,
|
|
1155
1155
|
fullPath: ho
|
|
1156
|
-
}, mo = "Dossiers NAS", fo = "Les opérations utilisent votre session DSM et vos droits File Station actuels.", $o = "Choisir un dossier", vo = "Confirmer la sélection", bo = "Actualiser les dossiers", So = "Chargement…", _o = "Ce dossier est vide.", zo = "Dossiers", yo = "Retour", Ao = "Suivant", ko = "Sélectionner {name}", wo = "Ouvrir {name}", Do = "Sélection : {name}", Co = "Annuler", Po = "Fermer", Mo = "Charger plus", qo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers.", To = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier.", Eo = "Le fichier ou dossier n’existe plus. Actualisez la liste.", Lo = "Ce nom existe déjà. Choisissez un autre nom.", Io = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau.", Ro = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie.", jo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.", xo = "Requête annulée. Actualisez avant de continuer.", No = "Délai dépassé. Actualisez la liste avant de continuer.", Uo = "La requête a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App depuis DSM dans un navigateur récent.", Oo = "Métadonnées", Fo = "Fichier", Ho = "Dossier", Bo = "Nom", Vo = "Type", Wo = "Taille", Jo = "Sélectionner", Ko = "Choisir un fichier", Go = "Développer {name}", Zo = "Réduire {name}", Yo = "Téléverser", Qo = "Télécharger", Xo = "Fichier téléversé.", ea = "Connectez-vous à DSM sur ce nom d’hôte pour accéder aux fichiers NAS. La connexion à l’App seule ne permet pas d’utiliser File Station.",
|
|
1156
|
+
}, mo = "Dossiers NAS", fo = "Les opérations utilisent votre session DSM et vos droits File Station actuels.", $o = "Choisir un dossier", vo = "Confirmer la sélection", bo = "Actualiser les dossiers", So = "Chargement…", _o = "Ce dossier est vide.", zo = "Dossiers", yo = "Retour", Ao = "Suivant", ko = "Sélectionner {name}", wo = "Ouvrir {name}", Do = "Sélection : {name}", Co = "Annuler", Po = "Fermer", Mo = "Charger plus", qo = "Votre session DSM a expiré. Reconnectez-vous à DSM puis actualisez les dossiers.", To = "Vous n’avez pas l’autorisation d’accéder à ce fichier ou dossier. Choisissez un autre dossier.", Eo = "Le fichier ou dossier n’existe plus. Actualisez la liste.", Lo = "Ce nom existe déjà. Choisissez un autre nom.", Io = "L’opération a peut-être abouti. Actualisez les sélections ou la destination et vérifiez le résultat avant de soumettre à nouveau.", Ro = "Dossier, nom de fichier ou requête invalide. Vérifiez la saisie.", jo = "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.", xo = "Requête annulée. Actualisez avant de continuer.", No = "Délai dépassé. Actualisez la liste avant de continuer.", Uo = "La requête a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App depuis DSM dans un navigateur récent.", Oo = "Métadonnées", Fo = "Fichier", Ho = "Dossier", Bo = "Nom", Vo = "Type", Wo = "Taille", Jo = "Sélectionner", Ko = "Choisir un fichier", Go = "Développer {name}", Zo = "Réduire {name}", Yo = "Téléverser", Qo = "Télécharger", Xo = "Fichier téléversé.", ea = "Connectez-vous à DSM sur ce nom d’hôte pour accéder aux fichiers NAS. La connexion à l’App seule ne permet pas d’utiliser File Station.", ta = "Choisissez un fichier de 16 GB maximum.", na = "Emplacement", oa = "Afficher le chemin complet", aa = {
|
|
1157
1157
|
title: mo,
|
|
1158
1158
|
ownPermissions: fo,
|
|
1159
1159
|
choose: $o,
|
|
@@ -1194,8 +1194,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1194
1194
|
download: Qo,
|
|
1195
1195
|
uploaded: Xo,
|
|
1196
1196
|
errorDSM: ea,
|
|
1197
|
-
errorUploadSize:
|
|
1198
|
-
location:
|
|
1197
|
+
errorUploadSize: ta,
|
|
1198
|
+
location: na,
|
|
1199
1199
|
fullPath: oa
|
|
1200
1200
|
}, ia = "Cartelle NAS", sa = "Le operazioni usano la sessione DSM corrente e i relativi permessi File Station.", ra = "Scegli cartella", ca = "Conferma selezione", la = "Aggiorna cartelle", da = "Caricamento…", ua = "Questa cartella è vuota.", pa = "Cartelle", ha = "Indietro", ga = "Avanti", ma = "Seleziona {name}", fa = "Apri {name}", $a = "Selezionato: {name}", va = "Annulla", ba = "Chiudi", Sa = "Carica altro", _a = "Sessione DSM scaduta. Accedere di nuovo a DSM e aggiornare le cartelle.", za = "Nessun permesso di accesso a questo file o cartella. Scegliere un’altra cartella.", ya = "Il file o la cartella non esiste più. Aggiornare l’elenco.", Aa = "Esiste già un file o una cartella con questo nome. Scegliere un altro nome.", ka = "L’operazione potrebbe essere stata completata. Aggiornare selezioni o destinazione e controllare il risultato prima di inviarla di nuovo.", wa = "Cartella, nome o richiesta non validi. Controllare i dati.", Da = "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi.", Ca = "Richiesta annullata. Aggiornare prima di continuare.", Pa = "Tempo scaduto. Aggiornare l’elenco prima di continuare.", Ma = "La richiesta è stata rifiutata: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App da DSM in un browser aggiornato.", qa = "Metadati", Ta = "File", Ea = "Cartella", La = "Nome", Ia = "Tipo", Ra = "Dimensione", ja = "Seleziona", xa = "Scegli file", Na = "Espandi {name}", Ua = "Comprimi {name}", Oa = "Carica", Fa = "Scarica", Ha = "File caricato.", Ba = "Accedere a DSM con questo nome host per accedere ai file NAS. Il solo accesso all’App non consente di usare File Station.", Va = "Selezionare un file fino a 16 GB.", Wa = "Posizione", Ja = "Mostra il percorso completo", Ka = {
|
|
1201
1201
|
title: ia,
|
|
@@ -1241,15 +1241,15 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1241
1241
|
errorUploadSize: Va,
|
|
1242
1242
|
location: Wa,
|
|
1243
1243
|
fullPath: Ja
|
|
1244
|
-
}, Ga = "NAS フォルダ", Za = "自分の DSM セッションと現在の File Station 権限で操作します。", Ya = "フォルダを選択", Qa = "選択を確定", Xa = "フォルダを最新の情報に更新", ei = "読み込み中…",
|
|
1244
|
+
}, Ga = "NAS フォルダ", Za = "自分の DSM セッションと現在の File Station 権限で操作します。", Ya = "フォルダを選択", Qa = "選択を確定", Xa = "フォルダを最新の情報に更新", ei = "読み込み中…", ti = "空のフォルダです。", ni = "フォルダ", oi = "戻る", ai = "進む", ii = "{name} を選択", si = "{name} を開く", ri = "選択済み:{name}", ci = "キャンセル", li = "閉じる", di = "さらに読み込む", ui = "DSM セッションが期限切れです。DSM に再ログインし、フォルダを最新の情報に更新してください。", pi = "このファイルまたはフォルダにアクセスする権限がありません。別のフォルダを選択してください。", hi = "ファイルまたはフォルダがありません。一覧を最新の情報に更新してください。", gi = "同名のファイルまたはフォルダがあります。別の名前を指定してください。", mi = "操作が完了した可能性があります。再送信する前に選択または保存先を最新の情報に更新し、結果を確認してください。", fi = "フォルダ、ファイル名またはリクエストが無効です。入力を確認してください。", $i = "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください。", vi = "リクエストをキャンセルしました。最新の情報に更新してから続けてください。", bi = "リクエストがタイムアウトしました。一覧を最新の情報に更新してください。", Si = "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください。", _i = "情報", zi = "ファイル", yi = "フォルダ", Ai = "名前", ki = "種類", wi = "サイズ", Di = "選択", Ci = "ファイルを選択", Pi = "{name} を展開", Mi = "{name} を折りたたむ", qi = "アップロード", Ti = "ダウンロード", Ei = "ファイルをアップロードしました。", Li = "NAS ファイルを利用するには同じホスト名で DSM にサインインしてください。App のログインだけでは File Station を利用できません。", Ii = "16 GB 以下のファイルを 1 つ選択してください。", Ri = "場所", ji = "フルパスを表示", xi = {
|
|
1245
1245
|
title: Ga,
|
|
1246
1246
|
ownPermissions: Za,
|
|
1247
1247
|
choose: Ya,
|
|
1248
1248
|
confirm: Qa,
|
|
1249
1249
|
refresh: Xa,
|
|
1250
1250
|
loading: ei,
|
|
1251
|
-
emptyFolder:
|
|
1252
|
-
roots:
|
|
1251
|
+
emptyFolder: ti,
|
|
1252
|
+
roots: ni,
|
|
1253
1253
|
back: oi,
|
|
1254
1254
|
forward: ai,
|
|
1255
1255
|
select: ii,
|
|
@@ -1285,7 +1285,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1285
1285
|
errorUploadSize: Ii,
|
|
1286
1286
|
location: Ri,
|
|
1287
1287
|
fullPath: ji
|
|
1288
|
-
}, Ni = "NAS 폴더", Ui = "자신의 DSM 세션과 현재 File Station 권한으로 작업합니다.", Oi = "폴더 선택", Fi = "선택 확인", Hi = "폴더 새로 고침", Bi = "불러오는 중…", Vi = "빈 폴더입니다.", Wi = "폴더", Ji = "뒤로", Ki = "앞으로", Gi = "{name} 선택", Zi = "{name} 열기", Yi = "선택됨: {name}", Qi = "취소", Xi = "종료", es = "더 불러오기",
|
|
1288
|
+
}, Ni = "NAS 폴더", Ui = "자신의 DSM 세션과 현재 File Station 권한으로 작업합니다.", Oi = "폴더 선택", Fi = "선택 확인", Hi = "폴더 새로 고침", Bi = "불러오는 중…", Vi = "빈 폴더입니다.", Wi = "폴더", Ji = "뒤로", Ki = "앞으로", Gi = "{name} 선택", Zi = "{name} 열기", Yi = "선택됨: {name}", Qi = "취소", Xi = "종료", es = "더 불러오기", ts = "DSM 세션이 만료되었습니다. DSM에 다시 로그인한 후 폴더를 새로 고치십시오.", ns = "이 파일 또는 폴더에 접근할 권한이 없습니다. 다른 폴더를 선택하십시오.", os = "파일 또는 폴더가 없습니다. 목록을 새로 고치십시오.", as = "같은 이름의 파일 또는 폴더가 있습니다. 다른 이름을 사용하십시오.", is = "작업이 완료되었을 수 있습니다. 다시 제출하기 전에 선택 또는 대상 폴더를 새로 고쳐 결과를 확인하십시오.", ss = "폴더, 파일 이름 또는 요청이 잘못되었습니다. 입력을 확인하십시오.", rs = "File Station을 사용할 수 없거나 패키지에 세션 adapter가 없습니다. 나중에 새로 고치십시오.", cs = "요청이 취소되었습니다. 새로 고친 후 계속하십시오.", ls = "요청 시간이 초과되었습니다. 목록을 새로 고치십시오.", ds = "요청이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 DSM으로 App을 다시 여십시오.", us = "정보", ps = "파일", hs = "폴더", gs = "이름", ms = "유형", fs = "크기", $s = "선택", vs = "파일 선택", bs = "{name} 펼치기", Ss = "{name} 접기", _s = "업로드", zs = "다운로드", ys = "파일을 업로드했습니다.", As = "NAS 파일에 접근하려면 같은 호스트 이름에서 DSM에 로그인하십시오. App 로그인만으로는 File Station을 사용할 수 없습니다.", ks = "16 GB 이하의 파일 하나를 선택하십시오.", ws = "위치", Ds = "전체 경로 표시", Cs = {
|
|
1289
1289
|
title: Ni,
|
|
1290
1290
|
ownPermissions: Ui,
|
|
1291
1291
|
choose: Oi,
|
|
@@ -1302,8 +1302,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1302
1302
|
cancel: Qi,
|
|
1303
1303
|
close: Xi,
|
|
1304
1304
|
loadMore: es,
|
|
1305
|
-
errorSession:
|
|
1306
|
-
errorDenied:
|
|
1305
|
+
errorSession: ts,
|
|
1306
|
+
errorDenied: ns,
|
|
1307
1307
|
errorNotFound: os,
|
|
1308
1308
|
errorConflict: as,
|
|
1309
1309
|
errorUncertain: is,
|
|
@@ -1329,7 +1329,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1329
1329
|
errorUploadSize: ks,
|
|
1330
1330
|
location: ws,
|
|
1331
1331
|
fullPath: Ds
|
|
1332
|
-
}, Ps = "NAS 文件夹", Ms = "操作使用你自己的 DSM 会话与 File Station 实时权限。", qs = "选择文件夹", Ts = "确认选择", Es = "刷新文件夹", Ls = "正在加载…", Is = "此文件夹为空。", Rs = "文件夹", js = "返回", xs = "前进", Ns = "选择 {name}", Us = "打开 {name}", Os = "已选择:{name}", Fs = "取消", Hs = "关闭", Bs = "加载更多", Vs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹。", Ws = "没有权限访问此文件或文件夹。请选择其他文件夹。", Js = "文件或文件夹已不存在。请刷新列表。", Ks = "已有同名文件或文件夹。请使用其他名称。", Gs = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交。", Zs = "文件夹、文件名或请求无效。请检查输入后重试。", Ys = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。", Qs = "请求已取消。请刷新后继续。", Xs = "请求超时。请刷新列表后继续。", er = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App。",
|
|
1332
|
+
}, Ps = "NAS 文件夹", Ms = "操作使用你自己的 DSM 会话与 File Station 实时权限。", qs = "选择文件夹", Ts = "确认选择", Es = "刷新文件夹", Ls = "正在加载…", Is = "此文件夹为空。", Rs = "文件夹", js = "返回", xs = "前进", Ns = "选择 {name}", Us = "打开 {name}", Os = "已选择:{name}", Fs = "取消", Hs = "关闭", Bs = "加载更多", Vs = "DSM 会话已失效。请重新登录 DSM,再刷新文件夹。", Ws = "没有权限访问此文件或文件夹。请选择其他文件夹。", Js = "文件或文件夹已不存在。请刷新列表。", Ks = "已有同名文件或文件夹。请使用其他名称。", Gs = "操作可能已完成。请刷新选择或目标文件夹并确认结果,再决定是否重新提交。", Zs = "文件夹、文件名或请求无效。请检查输入后重试。", Ys = "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。", Qs = "请求已取消。请刷新后继续。", Xs = "请求超时。请刷新列表后继续。", er = "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App。", tr = "信息", nr = "文件", or = "文件夹", ar = "名称", ir = "类型", sr = "大小", rr = "选择", cr = "选择文件", lr = "展开 {name}", dr = "收起 {name}", ur = "上传", pr = "下载", hr = "文件已上传。", gr = "请在同一主机名登录 DSM,以访问 NAS 文件。只有 App 登录无法使用 File Station。", mr = "请选择一个不超过 16 GB 的文件。", fr = "位置", $r = "显示完整路径", vr = {
|
|
1333
1333
|
title: Ps,
|
|
1334
1334
|
ownPermissions: Ms,
|
|
1335
1335
|
choose: qs,
|
|
@@ -1356,8 +1356,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1356
1356
|
errorCanceled: Qs,
|
|
1357
1357
|
errorTimeout: Xs,
|
|
1358
1358
|
errorOrigin: er,
|
|
1359
|
-
metadata:
|
|
1360
|
-
fileKind:
|
|
1359
|
+
metadata: tr,
|
|
1360
|
+
fileKind: nr,
|
|
1361
1361
|
directoryKind: or,
|
|
1362
1362
|
nameColumn: ar,
|
|
1363
1363
|
kindColumn: ir,
|
|
@@ -1373,7 +1373,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1373
1373
|
errorUploadSize: mr,
|
|
1374
1374
|
location: fr,
|
|
1375
1375
|
fullPath: $r
|
|
1376
|
-
}, br = "NAS 資料夾", Sr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限。", _r = "選擇資料夾", zr = "確認選取", yr = "重新整理資料夾", Ar = "載入中…", kr = "此資料夾是空的。", wr = "資料夾", Dr = "返回", Cr = "前進", Pr = "選取 {name}", Mr = "開啟 {name}", qr = "已選取:{name}", Tr = "取消", Er = "關閉", Lr = "載入更多", Ir = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾。", Rr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾。", jr = "檔案或資料夾已不存在。請重新整理清單。", xr = "已有同名檔案或資料夾。請使用其他名稱。", Nr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出。", Ur = "資料夾、檔名或請求無效。請檢查輸入後重試。", Or = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理。", Fr = "請求已取消。請重新整理後繼續。", Hr = "請求逾時。請重新整理清單後繼續。", Br = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App。", Vr = "資訊", Wr = "檔案", Jr = "資料夾", Kr = "名稱", Gr = "類型", Zr = "大小", Yr = "選取", Qr = "選擇檔案", Xr = "展開 {name}", ec = "收合 {name}",
|
|
1376
|
+
}, br = "NAS 資料夾", Sr = "操作使用你自己的 DSM 工作階段與 File Station 即時權限。", _r = "選擇資料夾", zr = "確認選取", yr = "重新整理資料夾", Ar = "載入中…", kr = "此資料夾是空的。", wr = "資料夾", Dr = "返回", Cr = "前進", Pr = "選取 {name}", Mr = "開啟 {name}", qr = "已選取:{name}", Tr = "取消", Er = "關閉", Lr = "載入更多", Ir = "DSM 工作階段已失效。請重新登入 DSM,再重新整理資料夾。", Rr = "沒有權限存取此檔案或資料夾。請選擇其他資料夾。", jr = "檔案或資料夾已不存在。請重新整理清單。", xr = "已有同名檔案或資料夾。請使用其他名稱。", Nr = "操作可能已完成。請重新整理選取或目的資料夾並確認結果,再決定是否重新送出。", Ur = "資料夾、檔名或請求無效。請檢查輸入後重試。", Or = "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理。", Fr = "請求已取消。請重新整理後繼續。", Hr = "請求逾時。請重新整理清單後繼續。", Br = "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App。", Vr = "資訊", Wr = "檔案", Jr = "資料夾", Kr = "名稱", Gr = "類型", Zr = "大小", Yr = "選取", Qr = "選擇檔案", Xr = "展開 {name}", ec = "收合 {name}", tc = "上傳", nc = "下載", oc = "檔案已上傳。", ac = "請在同一主機名稱登入 DSM,以存取 NAS 檔案。只有 App 登入無法使用 File Station。", ic = "請選擇一個不超過 16 GB 的檔案。", sc = "位置", rc = "顯示完整路徑", cc = {
|
|
1377
1377
|
title: br,
|
|
1378
1378
|
ownPermissions: Sr,
|
|
1379
1379
|
choose: _r,
|
|
@@ -1410,14 +1410,14 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1410
1410
|
chooseFile: Qr,
|
|
1411
1411
|
expand: Xr,
|
|
1412
1412
|
collapse: ec,
|
|
1413
|
-
upload:
|
|
1414
|
-
download:
|
|
1413
|
+
upload: tc,
|
|
1414
|
+
download: nc,
|
|
1415
1415
|
uploaded: oc,
|
|
1416
1416
|
errorDSM: ac,
|
|
1417
1417
|
errorUploadSize: ic,
|
|
1418
1418
|
location: sc,
|
|
1419
1419
|
fullPath: rc
|
|
1420
|
-
}, lc = "Dateizugriff im Hintergrund", dc = "Downloads laufen weiter, nachdem Sie diese App schließen. Jeder Auftrag darf bis zu einer Stunde lang nur in den ausgewählten Ordner schreiben. Vorhandene Dateien werden nie ersetzt.", uc = "Systemzugriff", pc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen.", hc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen.", gc = "Diese App einmalig genehmigen", mc = "Diese App benötigt die Genehmigung eines Administrators", fc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen.", $c = "Einige ihrer Funktionen benötigen Systemrechte.", vc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen.", bc = "Über diese Genehmigung", Sc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind.", _c = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert.", zc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten.", yc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten.", Ac = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet.", kc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen.", wc = "Benutzerpasswort", Dc = "Genehmigen", Cc = "Freigegebenen Ordner bestätigen", Pc = "Der Dateizugriff im Hintergrund ist bereit.", Mc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden.", qc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen.", Tc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Ec = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Lc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen.", Ic = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt.", Rc = "Genehmigen", jc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert.", xc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert.", Nc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", Uc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut.", Oc = "Wird geladen…", Fc = "Details", Hc = "Widerrufen", Bc = "Auftrag abbrechen", Vc = "Sie haben keine aktiven Delegierungen.", Wc = "Meine Delegierungen", Jc = "Ablauf", Kc = "Meine Downloads", Gc = "Sie haben keine Download-Aufträge.", Zc = "Download-URL", Yc = "Dateiname", Qc = "Ordner auswählen", Xc = "In meinen Ordner herunterladen", el = "Ziel",
|
|
1420
|
+
}, lc = "Dateizugriff im Hintergrund", dc = "Downloads laufen weiter, nachdem Sie diese App schließen. Jeder Auftrag darf bis zu einer Stunde lang nur in den ausgewählten Ordner schreiben. Vorhandene Dateien werden nie ersetzt.", uc = "Systemzugriff", pc = "Erlaubt dieser App, die in ihrem Paket festgelegten Systemaufgaben auszuführen.", hc = "Erlaubt dieser App, Dateiaufträge für Benutzer auch nach deren Abmeldung abzuschließen.", gc = "Diese App einmalig genehmigen", mc = "Diese App benötigt die Genehmigung eines Administrators", fc = "Diese App stammt nicht von Synology, und DSM lässt Apps von Drittanbietern nicht mit Systemrechten laufen.", $c = "Einige ihrer Funktionen benötigen Systemrechte.", vc = "Sie benötigt Systemrechte, um Dateiaufträge auch nach der Abmeldung der Benutzer abzuschließen.", bc = "Über diese Genehmigung", Sc = "Verwenden Sie das Passwort des DSM-Kontos, mit dem Sie gerade angemeldet sind.", _c = "DSM prüft es direkt. Es wird weder an den Dienst dieser App gesendet noch gespeichert.", zc = "Danach kann die App nur die in ihrem Paket festgelegten Systemaufgaben ausführen und sonst nichts mit Systemrechten.", yc = "Ändert ein Update diese Aufgaben, werden Sie erneut um Genehmigung gebeten.", Ac = "Die Genehmigung fügt die Aufgaben der App im Aufgabenplaner hinzu. Beim Deinstallieren der App werden sie entfernt und die Genehmigung endet.", kc = "Bitten Sie einen Administrator, diese App zu öffnen und einmalig zu genehmigen.", wc = "Benutzerpasswort", Dc = "Genehmigen", Cc = "Freigegebenen Ordner bestätigen", Pc = "Der Dateizugriff im Hintergrund ist bereit.", Mc = "Hintergrundzugriff wird bestätigt. Bitte nicht erneut senden.", qc = "Ein Administrator muss den Dateizugriff im Hintergrund genehmigen.", Tc = "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Ec = "Der Systemzugriff ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.", Lc = "Einige Funktionen sind erst verfügbar, wenn Sie den Systemzugriff für diese App genehmigen.", Ic = "Einige Funktionen sind erst verfügbar, wenn ein Administrator den Systemzugriff für diese App genehmigt.", Rc = "Genehmigen", jc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum; danach wird diese Seite automatisch aktualisiert.", xc = "Diese App wird gestartet. Diese Seite wird gleich automatisch aktualisiert.", Nc = "Diese App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", Uc = "Diese App wird gestartet. Warten Sie einen Moment und versuchen Sie es dann erneut.", Oc = "Wird geladen…", Fc = "Details", Hc = "Widerrufen", Bc = "Auftrag abbrechen", Vc = "Sie haben keine aktiven Delegierungen.", Wc = "Meine Delegierungen", Jc = "Ablauf", Kc = "Meine Downloads", Gc = "Sie haben keine Download-Aufträge.", Zc = "Download-URL", Yc = "Dateiname", Qc = "Ordner auswählen", Xc = "In meinen Ordner herunterladen", el = "Ziel", tl = "Auftrag abgebrochen. Der Widerruf steht noch aus; die App versucht es erneut.", nl = "Die Aktion konnte nicht abgeschlossen werden. Aktualisieren Sie die Ansicht und versuchen Sie es erneut. Wenn der Fehler bestehen bleibt, wenden Sie sich an Ihren Administrator.", ol = "Die Genehmigung konnte nicht abgeschlossen werden. Geben Sie Ihr Benutzerpasswort erneut ein und versuchen Sie es noch einmal, oder prüfen Sie die App-Einrichtung.", al = "Falsches Passwort. Versuchen Sie es erneut.", il = "Geben Sie Ihr Benutzerpasswort ein.", sl = "DSM konnte das Passwort nicht prüfen. Es wurde nichts geändert; versuchen Sie es erneut.", rl = "Der Hintergrunddienst der App startet und prüft mit DSM. Das kann bis zu einer Minute dauern.", cl = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und versuchen Sie es erneut.", ll = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht.", dl = "Downloads sind auf 64 MB und 60 Sekunden begrenzt.", ul = "In Warteschlange", pl = "Wird heruntergeladen", hl = "Gespeichert", gl = "Fehlgeschlagen", ml = "Abgebrochen", fl = "Unterbrochen", $l = "Home-Ordner jedes Benutzers", vl = "Bereich für Speichern im Hintergrund", bl = "Bestätigter Bereich", Sl = "Vorauswahl bei der Installation", _l = "Die Vorauswahl bei der Installation ist nur ein Vorschlag. Bestätigen Sie diesen Bereich mit Ihrem Benutzerpasswort, wenn Sie den Hintergrundzugriff aktivieren.", zl = "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich.", yl = "Warten auf den Start der Systemdienste", Al = "Status", kl = "Bereit", wl = "Nicht verfügbar", Dl = "Wird bestätigt", Cl = "Der Systemdienst der App hat nicht geantwortet. Öffnen Sie die App über den DSM-Desktop oder laden Sie die Seite neu.", Pl = "Der Hintergrunddienst der App startet noch. Laden Sie die Seite gleich neu.", Ml = "Neuer Versuch", ql = "Limit für rohe Antworten (Bytes)", Tl = "Update prüfen", El = "Systemprogramme wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Ll = "Die Definitionen der Genehmigungsaufgaben wurden aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Il = "Die Genehmigungsrichtlinie wurde aktualisiert. Eine erneute Administratorgenehmigung ist erforderlich.", Rl = "Berechtigungen unverändert.", jl = "Berechtigungen erweitert. Prüfen Sie die Änderungen vor der Genehmigung.", xl = "Berechtigungen oder Parameter geändert. Prüfen Sie die Änderungen vor der Genehmigung.", Nl = "Richtlinie", Ul = "Änderungen an Berechtigungen und Parametern", Ol = "Die bisherige geschützte Laufzeit hat keine Vergleichsdaten bereitgestellt. Änderungen und Berechtigungserweiterungen sind unbekannt. Eine erneute Administratorgenehmigung ist erforderlich.", Fl = "Dieses Update genehmigen", Hl = {
|
|
1421
1421
|
title: lc,
|
|
1422
1422
|
help: dc,
|
|
1423
1423
|
setupTitle: uc,
|
|
@@ -1464,8 +1464,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1464
1464
|
choose: Qc,
|
|
1465
1465
|
submit: Xc,
|
|
1466
1466
|
destination: el,
|
|
1467
|
-
pending:
|
|
1468
|
-
error:
|
|
1467
|
+
pending: tl,
|
|
1468
|
+
error: nl,
|
|
1469
1469
|
setupError: ol,
|
|
1470
1470
|
passwordRejected: al,
|
|
1471
1471
|
passwordRequired: il,
|
|
@@ -1506,7 +1506,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1506
1506
|
upgradeChanges: Ul,
|
|
1507
1507
|
upgradeUnknown: Ol,
|
|
1508
1508
|
upgradeConsentTitle: Fl
|
|
1509
|
-
}, Bl = "Background file access", Vl = "Downloads continue after you close this app. Each job can write only to the folder you select, for up to one hour. Existing files are never replaced.", Wl = "System access", Jl = "Lets this app run the system tasks declared in its package.", Kl = "Lets this app finish file jobs for users after they sign out.", Gl = "Approve this app once", Zl = "This app needs administrator approval", Yl = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges.", Ql = "Some of its features need system privileges.", Xl = "It needs system privileges to finish file jobs for users after they sign out.", ed = "About this approval",
|
|
1509
|
+
}, Bl = "Background file access", Vl = "Downloads continue after you close this app. Each job can write only to the folder you select, for up to one hour. Existing files are never replaced.", Wl = "System access", Jl = "Lets this app run the system tasks declared in its package.", Kl = "Lets this app finish file jobs for users after they sign out.", Gl = "Approve this app once", Zl = "This app needs administrator approval", Yl = "This app isn't made by Synology, and DSM doesn't let third-party apps run with system privileges.", Ql = "Some of its features need system privileges.", Xl = "It needs system privileges to finish file jobs for users after they sign out.", ed = "About this approval", td = "Use the password of the DSM account you're signed in with now.", nd = "DSM checks it directly. It isn't sent to this app's service or saved.", od = "The app can then run only the system tasks declared in its package, and nothing else with system privileges.", ad = "If an update changes those tasks, you'll be asked to approve again.", id = "Approval adds the app's tasks to Task Scheduler. Uninstalling the app removes them and ends the approval.", sd = "Ask an administrator to open this app and approve it once.", rd = "User password", cd = "Approve", ld = "Confirm share", dd = "Background file access is ready.", ud = "Confirming background access. Do not submit again.", pd = "An administrator must approve background file access.", hd = "Background file access is unavailable. Ask an administrator to check the app setup.", gd = "System access is unavailable. Ask an administrator to check the app setup.", md = "Some features are unavailable until you approve system access for this app.", fd = "Some features are unavailable until an administrator approves system access for this app.", $d = "Approve", vd = "This app is stopped. Start it in Package Center; this page updates by itself once it runs.", bd = "This app is starting. This page updates by itself in a moment.", Sd = "This app is stopped. Start it in Package Center, then try again.", _d = "This app is starting. Wait a moment, then try again.", zd = "Loading…", yd = "Details", Ad = "Revoke", kd = "Cancel job", wd = "You have no active delegations.", Dd = "My delegations", Cd = "Expires", Pd = "My downloads", Md = "You have no download jobs.", qd = "Download URL", Td = "File name", Ed = "Choose folder", Ld = "Download to my folder", Id = "Destination", Rd = "Job canceled. Revocation is pending; the app will retry.", jd = "The action could not be completed. Refresh and try again. If it keeps failing, contact your administrator.", xd = "Approval could not be completed. Re-enter your user password and try again, or check the app setup.", Nd = "Incorrect password. Try again.", Ud = "Enter your user password.", Od = "DSM couldn't check the password. Nothing was changed; try again.", Fd = "This can take up to a minute while the app’s background service starts and checks with DSM.", Hd = "Access was refused. Check your folder permissions and try again.", Bd = "Sign in to DSM again, then refresh.", Vd = "Downloads are limited to 64 MB and 60 seconds.", Wd = "Queued", Jd = "Downloading", Kd = "Saved", Gd = "Failed", Zd = "Canceled", Yd = "Interrupted", Qd = "Each user’s home folder", Xd = "Background save scope", eu = "Confirmed scope", tu = "Installer pre-selection", nu = "The installer pre-selection is a suggestion. Confirm this scope with your user password when enabling background access.", ou = "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope.", au = "Waiting for system services to start", iu = "Status", su = "Ready", ru = "Unavailable", cu = "Confirming", lu = "The app's system service did not respond. Open the app from the DSM desktop or refresh the page.", du = "The app's background service is still starting. Refresh the page in a moment.", uu = "Retry", pu = "Raw response limit (bytes)", hu = "Review this update", gu = "System programs updated. Administrator approval is required.", mu = "Approval task definitions updated. Administrator approval is required.", fu = "Approval policy updated. Administrator approval is required.", $u = "Permissions unchanged.", vu = "Permissions expanded. Review the changes before approving.", bu = "Permissions or parameters changed. Review the changes before approving.", Su = "Policy", _u = "Permission and parameter changes", zu = "The previous protected runtime did not provide comparison details. Changes and permission expansion cannot be determined. Administrator approval is required.", yu = "Approve this update", Au = {
|
|
1510
1510
|
title: Bl,
|
|
1511
1511
|
help: Vl,
|
|
1512
1512
|
setupTitle: Wl,
|
|
@@ -1518,8 +1518,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1518
1518
|
consentPurpose: Ql,
|
|
1519
1519
|
consentPurposeFiles: Xl,
|
|
1520
1520
|
consentDetails: ed,
|
|
1521
|
-
pointPassword:
|
|
1522
|
-
passwordNote:
|
|
1521
|
+
pointPassword: td,
|
|
1522
|
+
passwordNote: nd,
|
|
1523
1523
|
pointLimited: od,
|
|
1524
1524
|
pointUpdate: ad,
|
|
1525
1525
|
pointRevoke: id,
|
|
@@ -1572,8 +1572,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1572
1572
|
homeScope: Qd,
|
|
1573
1573
|
scopeLabel: Xd,
|
|
1574
1574
|
protectedScope: eu,
|
|
1575
|
-
preselection:
|
|
1576
|
-
preselectionHelp:
|
|
1575
|
+
preselection: tu,
|
|
1576
|
+
preselectionHelp: nu,
|
|
1577
1577
|
scopeMismatch: ou,
|
|
1578
1578
|
waiting_executor: au,
|
|
1579
1579
|
status: iu,
|
|
@@ -1595,7 +1595,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1595
1595
|
upgradeChanges: _u,
|
|
1596
1596
|
upgradeUnknown: zu,
|
|
1597
1597
|
upgradeConsentTitle: yu
|
|
1598
|
-
}, ku = "Acceso a archivos en segundo plano", wu = "Las descargas continúan después de cerrar esta aplicación. Cada tarea solo puede escribir en la carpeta seleccionada, durante una hora como máximo. Los archivos existentes nunca se reemplazan.", Du = "Acceso al sistema", Cu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete.", Pu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión.", Mu = "Aprobar esta aplicación una sola vez", qu = "Esta aplicación necesita la aprobación de un administrador", Tu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema.", Eu = "Algunas de sus funciones necesitan privilegios del sistema.", Lu = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión.", Iu = "Acerca de esta aprobación", Ru = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión.", ju = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda.", xu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema.", Nu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo.", Uu = "La aprobación añade las tareas de la aplicación al Programador de tareas. Al desinstalar la aplicación, se eliminan y la aprobación termina.", Ou = "Pida a un administrador que abra esta aplicación y la apruebe una vez.", Fu = "Contraseña de usuario", Hu = "Aprobar", Bu = "Confirmar carpeta compartida", Vu = "El acceso a archivos en segundo plano está listo.", Wu = "Confirmando el acceso en segundo plano. No vuelva a enviar.", Ju = "Un administrador debe aprobar el acceso a archivos en segundo plano.", Ku = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Gu = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Zu = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación.", Yu = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación.", Qu = "Aprobar", Xu = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente.", ep = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento.",
|
|
1598
|
+
}, ku = "Acceso a archivos en segundo plano", wu = "Las descargas continúan después de cerrar esta aplicación. Cada tarea solo puede escribir en la carpeta seleccionada, durante una hora como máximo. Los archivos existentes nunca se reemplazan.", Du = "Acceso al sistema", Cu = "Permite que esta aplicación ejecute las tareas del sistema declaradas en su paquete.", Pu = "Permite que esta aplicación termine las tareas de archivos de los usuarios después de que cierren sesión.", Mu = "Aprobar esta aplicación una sola vez", qu = "Esta aplicación necesita la aprobación de un administrador", Tu = "Esta aplicación no está desarrollada por Synology, y DSM no permite que las aplicaciones de terceros se ejecuten con privilegios del sistema.", Eu = "Algunas de sus funciones necesitan privilegios del sistema.", Lu = "Necesita privilegios del sistema para terminar las tareas de archivos de los usuarios después de que cierren sesión.", Iu = "Acerca de esta aprobación", Ru = "Use la contraseña de la cuenta de DSM con la que ha iniciado sesión.", ju = "DSM la comprueba directamente. No se envía al servicio de esta aplicación ni se guarda.", xu = "Después, la aplicación solo puede ejecutar las tareas del sistema declaradas en su paquete, y nada más con privilegios del sistema.", Nu = "Si una actualización cambia estas tareas, se le pedirá que la apruebe de nuevo.", Uu = "La aprobación añade las tareas de la aplicación al Programador de tareas. Al desinstalar la aplicación, se eliminan y la aprobación termina.", Ou = "Pida a un administrador que abra esta aplicación y la apruebe una vez.", Fu = "Contraseña de usuario", Hu = "Aprobar", Bu = "Confirmar carpeta compartida", Vu = "El acceso a archivos en segundo plano está listo.", Wu = "Confirmando el acceso en segundo plano. No vuelva a enviar.", Ju = "Un administrador debe aprobar el acceso a archivos en segundo plano.", Ku = "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Gu = "El acceso al sistema no está disponible. Pida a un administrador que revise la configuración de la aplicación.", Zu = "Algunas funciones no están disponibles hasta que apruebe el acceso al sistema para esta aplicación.", Yu = "Algunas funciones no están disponibles hasta que un administrador apruebe el acceso al sistema para esta aplicación.", Qu = "Aprobar", Xu = "Esta aplicación está detenida. Iníciela en el Centro de paquetes; después, esta página se actualizará automáticamente.", ep = "Esta aplicación se está iniciando. Esta página se actualizará automáticamente en un momento.", tp = "Esta aplicación está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", np = "Esta aplicación se está iniciando. Espere un momento y vuelva a intentarlo.", op = "Cargando…", ap = "Detalles", ip = "Revocar", sp = "Cancelar tarea", rp = "No tiene delegaciones activas.", cp = "Mis delegaciones", lp = "Caducidad", dp = "Mis descargas", up = "No tiene tareas de descarga.", pp = "URL de descarga", hp = "Nombre de archivo", gp = "Elegir carpeta", mp = "Descargar en mi carpeta", fp = "Destino", $p = "Tarea cancelada. La revocación está pendiente; la aplicación volverá a intentarlo.", vp = "No se pudo completar la acción. Actualice e inténtelo de nuevo. Si sigue fallando, póngase en contacto con su administrador.", bp = "No se pudo completar la aprobación. Vuelva a introducir su contraseña de usuario e inténtelo de nuevo, o revise la configuración de la aplicación.", Sp = "Contraseña incorrecta. Vuelva a intentarlo.", _p = "Introduzca su contraseña de usuario.", zp = "DSM no pudo comprobar la contraseña. No se ha cambiado nada; vuelva a intentarlo.", yp = "El servicio en segundo plano de la aplicación se está iniciando y comprobando con DSM. Puede tardar hasta un minuto.", Ap = "Se denegó el acceso. Compruebe los permisos de la carpeta e inténtelo de nuevo.", kp = "Vuelva a iniciar sesión en DSM y luego actualice.", wp = "Las descargas están limitadas a 64 MB y 60 segundos.", Dp = "En cola", Cp = "Descargando", Pp = "Guardado", Mp = "Error", qp = "Cancelado", Tp = "Interrumpido", Ep = "Carpeta home de cada usuario", Lp = "Ámbito de guardado en segundo plano", Ip = "Ámbito confirmado", Rp = "Preselección de la instalación", jp = "La preselección de la instalación es solo una sugerencia. Confirme este ámbito con su contraseña de usuario al activar el acceso en segundo plano.", xp = "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado.", Np = "Esperando a que se inicien los servicios del sistema", Up = "Estado", Op = "Listo", Fp = "No disponible", Hp = "Confirmando", Bp = "El servicio del sistema de la aplicación no respondió. Abra la aplicación desde el escritorio de DSM o actualice la página.", Vp = "El servicio en segundo plano de la aplicación aún se está iniciando. Actualice la página en un momento.", Wp = "Volver a intentar", Jp = "Límite de respuesta sin procesar (bytes)", Kp = "Revisar esta actualización", Gp = "Se actualizaron los programas del sistema. Se requiere una nueva aprobación del administrador.", Zp = "Se actualizaron las definiciones de las tareas de aprobación. Se requiere una nueva aprobación del administrador.", Yp = "Se actualizó la política de aprobación. Se requiere una nueva aprobación del administrador.", Qp = "Permisos sin cambios.", Xp = "Se ampliaron los permisos. Revise los cambios antes de aprobar.", eh = "Se modificaron los permisos o parámetros. Revise los cambios antes de aprobar.", th = "Política", nh = "Cambios en permisos y parámetros", oh = "El entorno protegido anterior no proporcionó datos de comparación. No se pueden determinar los cambios ni la ampliación de permisos. Se requiere una nueva aprobación del administrador.", ah = "Aprobar esta actualización", ih = {
|
|
1599
1599
|
title: ku,
|
|
1600
1600
|
help: wu,
|
|
1601
1601
|
setupTitle: Du,
|
|
@@ -1626,8 +1626,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1626
1626
|
noticeApprove: Qu,
|
|
1627
1627
|
appStopped: Xu,
|
|
1628
1628
|
appStarting: ep,
|
|
1629
|
-
appStoppedAction:
|
|
1630
|
-
appStartingAction:
|
|
1629
|
+
appStoppedAction: tp,
|
|
1630
|
+
appStartingAction: np,
|
|
1631
1631
|
loading: op,
|
|
1632
1632
|
details: ap,
|
|
1633
1633
|
revoke: ip,
|
|
@@ -1680,11 +1680,11 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1680
1680
|
upgradeUnchanged: Qp,
|
|
1681
1681
|
upgradeExpanded: Xp,
|
|
1682
1682
|
upgradeReview: eh,
|
|
1683
|
-
upgradePolicyLabel:
|
|
1684
|
-
upgradeChanges:
|
|
1683
|
+
upgradePolicyLabel: th,
|
|
1684
|
+
upgradeChanges: nh,
|
|
1685
1685
|
upgradeUnknown: oh,
|
|
1686
1686
|
upgradeConsentTitle: ah
|
|
1687
|
-
}, sh = "Accès aux fichiers en arrière-plan", rh = "Les téléchargements continuent après la fermeture de cette application. Chaque tâche ne peut écrire que dans le dossier sélectionné, pendant une heure au maximum. Les fichiers existants ne sont jamais remplacés.", ch = "Accès système", lh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet.", dh = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion.", uh = "Approuver cette application une seule fois", ph = "Cette application a besoin de l’approbation d’un administrateur", hh = "Cette application n’est pas développée par Synology, et DSM n’autorise pas les applications tierces à s’exécuter avec des privilèges système.", gh = "Certaines de ses fonctions nécessitent des privilèges système.", mh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion.", fh = "À propos de cette approbation", $h = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté.", vh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré.", bh = "L’application peut ensuite exécuter uniquement les tâches système déclarées dans son paquet, et rien d’autre avec des privilèges système.", Sh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée.", _h = "L’approbation ajoute les tâches de l’application au Planificateur de tâches. La désinstallation de l’application les supprime et met fin à l’approbation.", zh = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois.", yh = "Mot de passe utilisateur", Ah = "Approuver", kh = "Confirmer le dossier partagé", wh = "L’accès aux fichiers en arrière-plan est prêt.", Dh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau.", Ch = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan.", Ph = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", Mh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", qh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application.", Th = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application.", Eh = "Approuver", Lh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement.", Ih = "Cette application démarre. Cette page se met à jour automatiquement dans un instant.", Rh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez.", jh = "Cette application démarre. Patientez un instant, puis réessayez.", xh = "Chargement…", Nh = "Détails", Uh = "Révoquer", Oh = "Annuler la tâche", Fh = "Vous n’avez aucune délégation active.", Hh = "Mes délégations", Bh = "Expiration", Vh = "Mes téléchargements", Wh = "Vous n’avez aucune tâche de téléchargement.", Jh = "URL de téléchargement", Kh = "Nom du fichier", Gh = "Choisir un dossier", Zh = "Télécharger dans mon dossier", Yh = "Destination", Qh = "Tâche annulée. La révocation est en attente ; l’application va réessayer.", Xh = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur.", eg = "L’approbation n’a pas pu être effectuée. Saisissez à nouveau votre mot de passe utilisateur et réessayez, ou vérifiez la configuration de l’application.",
|
|
1687
|
+
}, sh = "Accès aux fichiers en arrière-plan", rh = "Les téléchargements continuent après la fermeture de cette application. Chaque tâche ne peut écrire que dans le dossier sélectionné, pendant une heure au maximum. Les fichiers existants ne sont jamais remplacés.", ch = "Accès système", lh = "Permet à cette application d’exécuter les tâches système déclarées dans son paquet.", dh = "Permet à cette application de terminer les tâches de fichiers des utilisateurs après leur déconnexion.", uh = "Approuver cette application une seule fois", ph = "Cette application a besoin de l’approbation d’un administrateur", hh = "Cette application n’est pas développée par Synology, et DSM n’autorise pas les applications tierces à s’exécuter avec des privilèges système.", gh = "Certaines de ses fonctions nécessitent des privilèges système.", mh = "Elle a besoin de privilèges système pour terminer les tâches de fichiers des utilisateurs après leur déconnexion.", fh = "À propos de cette approbation", $h = "Utilisez le mot de passe du compte DSM avec lequel vous êtes connecté.", vh = "DSM le vérifie directement. Il n’est ni envoyé au service de cette application, ni enregistré.", bh = "L’application peut ensuite exécuter uniquement les tâches système déclarées dans son paquet, et rien d’autre avec des privilèges système.", Sh = "Si une mise à jour modifie ces tâches, une nouvelle approbation vous sera demandée.", _h = "L’approbation ajoute les tâches de l’application au Planificateur de tâches. La désinstallation de l’application les supprime et met fin à l’approbation.", zh = "Demandez à un administrateur d’ouvrir cette application et de l’approuver une fois.", yh = "Mot de passe utilisateur", Ah = "Approuver", kh = "Confirmer le dossier partagé", wh = "L’accès aux fichiers en arrière-plan est prêt.", Dh = "Confirmation de l'accès en arrière-plan. Ne soumettez pas à nouveau.", Ch = "Un administrateur doit approuver l’accès aux fichiers en arrière-plan.", Ph = "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", Mh = "L’accès système n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.", qh = "Certaines fonctions restent indisponibles tant que vous n’avez pas approuvé l’accès système pour cette application.", Th = "Certaines fonctions restent indisponibles tant qu’un administrateur n’a pas approuvé l’accès système pour cette application.", Eh = "Approuver", Lh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets ; cette page se met ensuite à jour automatiquement.", Ih = "Cette application démarre. Cette page se met à jour automatiquement dans un instant.", Rh = "Cette application est arrêtée. Démarrez-la dans le Centre de paquets, puis réessayez.", jh = "Cette application démarre. Patientez un instant, puis réessayez.", xh = "Chargement…", Nh = "Détails", Uh = "Révoquer", Oh = "Annuler la tâche", Fh = "Vous n’avez aucune délégation active.", Hh = "Mes délégations", Bh = "Expiration", Vh = "Mes téléchargements", Wh = "Vous n’avez aucune tâche de téléchargement.", Jh = "URL de téléchargement", Kh = "Nom du fichier", Gh = "Choisir un dossier", Zh = "Télécharger dans mon dossier", Yh = "Destination", Qh = "Tâche annulée. La révocation est en attente ; l’application va réessayer.", Xh = "L’action n’a pas pu être effectuée. Actualisez et réessayez. Si le problème persiste, contactez votre administrateur.", eg = "L’approbation n’a pas pu être effectuée. Saisissez à nouveau votre mot de passe utilisateur et réessayez, ou vérifiez la configuration de l’application.", tg = "Mot de passe incorrect. Réessayez.", ng = "Saisissez votre mot de passe utilisateur.", og = "DSM n’a pas pu vérifier le mot de passe. Rien n’a été modifié ; réessayez.", ag = "Le service d’arrière-plan de l’application démarre et effectue des vérifications auprès de DSM. Cela peut prendre jusqu’à une minute.", ig = "L’accès a été refusé. Vérifiez les autorisations du dossier et réessayez.", sg = "Reconnectez-vous à DSM, puis actualisez.", rg = "Les téléchargements sont limités à 64 MB et 60 secondes.", cg = "En file d’attente", lg = "Téléchargement en cours", dg = "Enregistré", ug = "Échec", pg = "Annulé", hg = "Interrompu", gg = "Dossier home de chaque utilisateur", mg = "Portée de l’enregistrement en arrière-plan", fg = "Portée confirmée", $g = "Présélection de l’installation", vg = "La présélection de l’installation n’est qu’une suggestion. Confirmez cette portée avec votre mot de passe utilisateur lorsque vous activez l’accès en arrière-plan.", bg = "La présélection de l’installation diffère de la portée confirmée. Les enregistrements en arrière-plan suivent la portée confirmée.", Sg = "En attente du démarrage des services système", _g = "Statut", zg = "Prêt", yg = "Indisponible", Ag = "Confirmation", kg = "Le service système de l'application n'a pas répondu. Ouvrez l'application depuis le bureau DSM ou actualisez la page.", wg = "Le service en arrière-plan de l'application démarre encore. Actualisez la page dans un instant.", Dg = "Réessayer", Cg = "Limite de réponse brute (octets)", Pg = "Vérifier cette mise à jour", Mg = "Les programmes système ont été mis à jour. Une nouvelle approbation administrateur est requise.", qg = "Les définitions des tâches d’approbation ont été mises à jour. Une nouvelle approbation administrateur est requise.", Tg = "La politique d’approbation a été mise à jour. Une nouvelle approbation administrateur est requise.", Eg = "Autorisations inchangées.", Lg = "Autorisations étendues. Vérifiez les modifications avant d’approuver.", Ig = "Autorisations ou paramètres modifiés. Vérifiez les modifications avant d’approuver.", Rg = "Politique", jg = "Modifications des autorisations et paramètres", xg = "L’environnement protégé précédent n’a pas fourni de données de comparaison. Les modifications et l’extension des autorisations sont inconnues. Une nouvelle approbation administrateur est requise.", Ng = "Approuver cette mise à jour", Ug = {
|
|
1688
1688
|
title: sh,
|
|
1689
1689
|
help: rh,
|
|
1690
1690
|
setupTitle: ch,
|
|
@@ -1734,8 +1734,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1734
1734
|
pending: Qh,
|
|
1735
1735
|
error: Xh,
|
|
1736
1736
|
setupError: eg,
|
|
1737
|
-
passwordRejected:
|
|
1738
|
-
passwordRequired:
|
|
1737
|
+
passwordRejected: tg,
|
|
1738
|
+
passwordRequired: ng,
|
|
1739
1739
|
passwordConfirmFailed: og,
|
|
1740
1740
|
confirmingHelp: ag,
|
|
1741
1741
|
denied: ig,
|
|
@@ -1773,7 +1773,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1773
1773
|
upgradeChanges: jg,
|
|
1774
1774
|
upgradeUnknown: xg,
|
|
1775
1775
|
upgradeConsentTitle: Ng
|
|
1776
|
-
}, Og = "Accesso ai file in background", Fg = "I download continuano dopo la chiusura di questa app. Ogni processo può scrivere solo nella cartella selezionata, per un massimo di un’ora. I file esistenti non vengono mai sostituiti.", Hg = "Accesso di sistema", Bg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto.", Vg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Wg = "Approvare questa app una sola volta", Jg = "Questa app richiede l’approvazione di un amministratore", Kg = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema.", Gg = "Alcune sue funzioni richiedono privilegi di sistema.", Zg = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Yg = "Informazioni su questa approvazione", Qg = "Usare la password dell’account DSM con cui si è effettuato l’accesso.", Xg = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata.", em = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema.",
|
|
1776
|
+
}, Og = "Accesso ai file in background", Fg = "I download continuano dopo la chiusura di questa app. Ogni processo può scrivere solo nella cartella selezionata, per un massimo di un’ora. I file esistenti non vengono mai sostituiti.", Hg = "Accesso di sistema", Bg = "Consente a questa app di eseguire le attività di sistema dichiarate nel suo pacchetto.", Vg = "Consente a questa app di completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Wg = "Approvare questa app una sola volta", Jg = "Questa app richiede l’approvazione di un amministratore", Kg = "Questa app non è sviluppata da Synology e DSM non consente alle app di terze parti di essere eseguite con privilegi di sistema.", Gg = "Alcune sue funzioni richiedono privilegi di sistema.", Zg = "Richiede privilegi di sistema per completare i processi sui file per gli utenti anche dopo che si sono disconnessi.", Yg = "Informazioni su questa approvazione", Qg = "Usare la password dell’account DSM con cui si è effettuato l’accesso.", Xg = "DSM la verifica direttamente. Non viene inviata al servizio di questa app né salvata.", em = "In seguito l’app può eseguire solo le attività di sistema dichiarate nel suo pacchetto e nient’altro con privilegi di sistema.", tm = "Se un aggiornamento modifica queste attività, verrà richiesta una nuova approvazione.", nm = "L’approvazione aggiunge le attività dell’app all’Utilità di pianificazione. Disinstallando l’app, queste vengono rimosse e l’approvazione termina.", om = "Chiedere a un amministratore di aprire questa app e approvarla una volta.", am = "Password utente", im = "Approva", sm = "Conferma cartella condivisa", rm = "L’accesso ai file in background è pronto.", cm = "Accesso in background in fase di conferma. Non inviare di nuovo.", lm = "Un amministratore deve approvare l’accesso ai file in background.", dm = "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", um = "L’accesso di sistema non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.", pm = "Alcune funzioni non sono disponibili finché non si approva l’accesso di sistema per questa app.", hm = "Alcune funzioni non sono disponibili finché un amministratore non approva l’accesso di sistema per questa app.", gm = "Approva", mm = "Questa app è arrestata. Avviarla in Centro pacchetti; poi questa pagina si aggiornerà automaticamente.", fm = "Questa app è in fase di avvio. Questa pagina si aggiornerà automaticamente tra poco.", $m = "Questa app è arrestata. Avviarla in Centro pacchetti, quindi riprovare.", vm = "Questa app è in fase di avvio. Attendere un momento, quindi riprovare.", bm = "Caricamento…", Sm = "Dettagli", _m = "Revoca", zm = "Annulla processo", ym = "Nessuna delega attiva.", Am = "Le mie deleghe", km = "Scadenza", wm = "I miei download", Dm = "Nessun processo di download.", Cm = "URL di download", Pm = "Nome file", Mm = "Scegli cartella", qm = "Scarica nella mia cartella", Tm = "Destinazione", Em = "Processo annullato. La revoca è in sospeso; l’app riproverà.", Lm = "Impossibile completare l’azione. Aggiornare e riprovare. Se il problema persiste, contattare l’amministratore.", Im = "Impossibile completare l’approvazione. Inserire di nuovo la password utente e riprovare, oppure controllare la configurazione dell’app.", Rm = "Password errata. Riprovare.", jm = "Inserire la password utente.", xm = "DSM non è riuscito a verificare la password. Non è stato modificato nulla; riprovare.", Nm = "Il servizio in background dell’app si sta avviando e sta effettuando verifiche con DSM. Può richiedere fino a un minuto.", Um = "Accesso negato. Controllare le autorizzazioni della cartella e riprovare.", Om = "Accedere di nuovo a DSM, quindi aggiornare.", Fm = "I download sono limitati a 64 MB e 60 secondi.", Hm = "In coda", Bm = "Download in corso", Vm = "Salvato", Wm = "Non riuscito", Jm = "Annullato", Km = "Interrotto", Gm = "Cartella home di ogni utente", Zm = "Ambito di salvataggio in background", Ym = "Ambito confermato", Qm = "Preselezione dell’installazione", Xm = "La preselezione dell’installazione è solo un suggerimento. Confermare questo ambito con la password utente all’attivazione dell’accesso in background.", ef = "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato.", tf = "In attesa dell’avvio dei servizi di sistema", nf = "Stato", of = "Pronto", af = "Non disponibile", sf = "Conferma in corso", rf = "Il servizio di sistema dell'app non ha risposto. Aprire l'app dal desktop DSM o aggiornare la pagina.", cf = "Il servizio in background dell'app è ancora in avvio. Aggiornare la pagina tra poco.", lf = "Riprova", df = "Limite risposta non elaborata (byte)", uf = "Verifica questo aggiornamento", pf = "I programmi di sistema sono stati aggiornati. È richiesta una nuova approvazione dell’amministratore.", hf = "Le definizioni delle attività di approvazione sono state aggiornate. È richiesta una nuova approvazione dell’amministratore.", gf = "La politica di approvazione è stata aggiornata. È richiesta una nuova approvazione dell’amministratore.", mf = "Autorizzazioni invariate.", ff = "Autorizzazioni ampliate. Verifica le modifiche prima di approvare.", $f = "Autorizzazioni o parametri modificati. Verifica le modifiche prima di approvare.", vf = "Politica", bf = "Modifiche ad autorizzazioni e parametri", Sf = "L’ambiente protetto precedente non ha fornito dati di confronto. Le modifiche e l’ampliamento delle autorizzazioni sono sconosciuti. È richiesta una nuova approvazione dell’amministratore.", _f = "Approvare questo aggiornamento", zf = {
|
|
1777
1777
|
title: Og,
|
|
1778
1778
|
help: Fg,
|
|
1779
1779
|
setupTitle: Hg,
|
|
@@ -1788,8 +1788,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1788
1788
|
pointPassword: Qg,
|
|
1789
1789
|
passwordNote: Xg,
|
|
1790
1790
|
pointLimited: em,
|
|
1791
|
-
pointUpdate:
|
|
1792
|
-
pointRevoke:
|
|
1791
|
+
pointUpdate: tm,
|
|
1792
|
+
pointRevoke: nm,
|
|
1793
1793
|
consentAsk: om,
|
|
1794
1794
|
password: am,
|
|
1795
1795
|
authorize: im,
|
|
@@ -1842,8 +1842,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1842
1842
|
preselection: Qm,
|
|
1843
1843
|
preselectionHelp: Xm,
|
|
1844
1844
|
scopeMismatch: ef,
|
|
1845
|
-
waiting_executor:
|
|
1846
|
-
status:
|
|
1845
|
+
waiting_executor: tf,
|
|
1846
|
+
status: nf,
|
|
1847
1847
|
statusReady: of,
|
|
1848
1848
|
statusBlocked: af,
|
|
1849
1849
|
statusConfirming: sf,
|
|
@@ -1862,7 +1862,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1862
1862
|
upgradeChanges: bf,
|
|
1863
1863
|
upgradeUnknown: Sf,
|
|
1864
1864
|
upgradeConsentTitle: _f
|
|
1865
|
-
}, yf = "バックグラウンドのファイルアクセス", Af = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません。", kf = "システム権限", wf = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします。", Df = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします。", Cf = "このアプリを承認してください(1 回のみ)", Pf = "このアプリには管理者の承認が必要です", Mf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません。", qf = "一部の機能にシステム権限が必要です。", Tf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です。", Ef = "この承認について", Lf = "現在 DSM にサインインしているアカウントのパスワードを使用します。", If = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません。", Rf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません。", jf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます。", xf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します。", Nf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください。", Uf = "ユーザーパスワード", Of = "承認", Ff = "共有フォルダを確認", Hf = "バックグラウンドのファイルアクセスを利用できます。", Bf = "バックグラウンドアクセスを確認しています。再送信しないでください。", Vf = "バックグラウンドのファイルアクセスには管理者の承認が必要です。", Wf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Jf = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Kf = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Gf = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Zf = "承認", Yf = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます。", Qf = "このアプリは起動中です。まもなくこのページは自動的に更新されます。", Xf = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください。", e$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください。",
|
|
1865
|
+
}, yf = "バックグラウンドのファイルアクセス", Af = "このアプリを閉じてもダウンロードは続行されます。各ジョブは選択したフォルダにのみ、最長 1 時間書き込めます。既存のファイルは置き換えられません。", kf = "システム権限", wf = "このアプリが、パッケージで宣言したシステムタスクを実行できるようにします。", Df = "ユーザーのサインアウト後も、このアプリがファイルジョブを完了できるようにします。", Cf = "このアプリを承認してください(1 回のみ)", Pf = "このアプリには管理者の承認が必要です", Mf = "このアプリは Synology 製ではありません。DSM では、サードパーティ製アプリをシステム権限で実行することは許可されていません。", qf = "一部の機能にシステム権限が必要です。", Tf = "ユーザーのサインアウト後もファイルジョブを完了するために、システム権限が必要です。", Ef = "この承認について", Lf = "現在 DSM にサインインしているアカウントのパスワードを使用します。", If = "パスワードは DSM が直接確認します。このアプリのサービスには送信されず、保存もされません。", Rf = "承認後、このアプリが実行できるのはパッケージで宣言されたシステムタスクだけです。それ以外の操作をシステム権限で行うことはできません。", jf = "アップデートでこれらのタスクが変わる場合は、もう一度承認を求められます。", xf = "承認すると、このアプリのタスクがタスク スケジューラに追加されます。このアプリをアンインストールすると、これらのタスクが削除され、承認も終了します。", Nf = "管理者にこのアプリを開いて 1 回承認するよう依頼してください。", Uf = "ユーザーパスワード", Of = "承認", Ff = "共有フォルダを確認", Hf = "バックグラウンドのファイルアクセスを利用できます。", Bf = "バックグラウンドアクセスを確認しています。再送信しないでください。", Vf = "バックグラウンドのファイルアクセスには管理者の承認が必要です。", Wf = "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Jf = "システムアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。", Kf = "このアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Gf = "管理者がこのアプリのシステムアクセスを承認するまで、一部の機能は使用できません。", Zf = "承認", Yf = "このアプリは停止しています。パッケージ センターで起動してください。起動すると、このページは自動的に更新されます。", Qf = "このアプリは起動中です。まもなくこのページは自動的に更新されます。", Xf = "このアプリは停止しています。パッケージ センターで起動してから、もう一度お試しください。", e$ = "このアプリは起動中です。しばらく待ってから、もう一度お試しください。", t$ = "読み込み中…", n$ = "詳細", o$ = "取り消す", a$ = "ジョブをキャンセル", i$ = "有効な委任はありません。", s$ = "自分の委任", r$ = "有効期限", c$ = "自分のダウンロード", l$ = "ダウンロードジョブはありません。", d$ = "ダウンロード URL", u$ = "ファイル名", p$ = "フォルダを選択", h$ = "自分のフォルダにダウンロード", g$ = "保存先", m$ = "ジョブをキャンセルしました。委任の取り消しは保留中で、アプリが再試行します。", f$ = "操作を完了できませんでした。最新の情報に更新してから、もう一度お試しください。問題が解決しない場合は、管理者に連絡してください。", $$ = "承認を完了できませんでした。ユーザーパスワードを入力し直して再試行するか、アプリの設定を確認してください。", v$ = "パスワードが正しくありません。もう一度お試しください。", b$ = "ユーザーパスワードを入力してください。", S$ = "DSM でパスワードを確認できませんでした。変更は行われていません。もう一度お試しください。", _$ = "アプリのバックグラウンドサービスが起動して DSM に確認しています。最大 1 分ほどかかることがあります。", z$ = "アクセスが拒否されました。フォルダの権限を確認してもう一度お試しください。", y$ = "DSM に再度サインインしてから、最新の情報に更新してください。", A$ = "ダウンロードは 64 MB、60 秒までです。", k$ = "待機中", w$ = "ダウンロード中", D$ = "保存済み", C$ = "失敗", P$ = "キャンセル済み", M$ = "中断", q$ = "各ユーザーの home フォルダ", T$ = "バックグラウンド保存の範囲", E$ = "確認済みの範囲", L$ = "インストール時の事前選択", I$ = "インストール時の事前選択は提案にすぎません。バックグラウンドアクセスを有効にするときに、ユーザーパスワードでこの範囲を確認してください。", R$ = "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います。", j$ = "システムサービスの起動を待っています", x$ = "状態", N$ = "準備完了", U$ = "使用不可", O$ = "確認中", F$ = "アプリのシステムサービスが応答しませんでした。DSM デスクトップからアプリを開くか、ページを再読み込みしてください。", H$ = "アプリのバックグラウンドサービスはまだ起動中です。しばらくしてからページを再読み込みしてください。", B$ = "再試行", V$ = "未加工レスポンスの上限(バイト)", W$ = "この更新を確認", J$ = "システムプログラムが更新されました。管理者の再承認が必要です。", K$ = "承認タスクの定義が更新されました。管理者の再承認が必要です。", G$ = "承認ポリシーが更新されました。管理者の再承認が必要です。", Z$ = "権限に変更はありません。", Y$ = "権限が拡張されました。変更を確認してから承認してください。", Q$ = "権限またはパラメーターが変更されました。確認してから承認してください。", X$ = "ポリシー", ev = "権限とパラメーターの変更", tv = "以前の保護された実行環境から比較情報を取得できません。変更内容や権限の拡張は不明です。管理者の再承認が必要です。", nv = "この更新を承認", ov = {
|
|
1866
1866
|
title: yf,
|
|
1867
1867
|
help: Af,
|
|
1868
1868
|
setupTitle: kf,
|
|
@@ -1895,8 +1895,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1895
1895
|
appStarting: Qf,
|
|
1896
1896
|
appStoppedAction: Xf,
|
|
1897
1897
|
appStartingAction: e$,
|
|
1898
|
-
loading:
|
|
1899
|
-
details:
|
|
1898
|
+
loading: t$,
|
|
1899
|
+
details: n$,
|
|
1900
1900
|
revoke: o$,
|
|
1901
1901
|
cancel: a$,
|
|
1902
1902
|
noDelegations: i$,
|
|
@@ -1949,9 +1949,9 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
1949
1949
|
upgradeReview: Q$,
|
|
1950
1950
|
upgradePolicyLabel: X$,
|
|
1951
1951
|
upgradeChanges: ev,
|
|
1952
|
-
upgradeUnknown:
|
|
1953
|
-
upgradeConsentTitle:
|
|
1954
|
-
}, av = "백그라운드 파일 액세스", iv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다.", sv = "시스템 권한", rv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다.", cv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다.", lv = "이 앱을 한 번 승인하십시오", dv = "이 앱에 관리자 승인이 필요합니다", uv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다.", pv = "일부 기능에 시스템 권한이 필요합니다.", hv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다.", gv = "이 승인에 대한 정보", mv = "현재 DSM에 로그인한 계정의 암호를 사용합니다.", fv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다.", $v = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다.", vv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다.", bv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다.", Sv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오.", _v = "사용자 비밀번호", zv = "승인", yv = "공유 폴더 확인", Av = "백그라운드 파일 액세스를 사용할 수 있습니다.", kv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오.", wv = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다.", Dv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Cv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Pv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", Mv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", qv = "승인", Tv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다.", Ev = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다.", Lv = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오.", Iv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오.", Rv = "불러오는 중…", jv = "세부 사항", xv = "취소", Nv = "작업 취소", Uv = "활성 위임이 없습니다.", Ov = "내 위임", Fv = "만료", Hv = "내 다운로드", Bv = "다운로드 작업이 없습니다.", Vv = "다운로드 URL", Wv = "파일 이름", Jv = "폴더 선택", Kv = "내 폴더에 다운로드", Gv = "대상", Zv = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다.", Yv = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오.", Qv = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오.", Xv = "암호가 올바르지 않습니다. 다시 시도하십시오.", eb = "사용자 비밀번호를 입력하십시오.",
|
|
1952
|
+
upgradeUnknown: tv,
|
|
1953
|
+
upgradeConsentTitle: nv
|
|
1954
|
+
}, av = "백그라운드 파일 액세스", iv = "이 앱을 닫아도 다운로드는 계속됩니다. 각 작업은 선택한 폴더에만 최대 1시간 동안 쓸 수 있습니다. 기존 파일은 덮어쓰지 않습니다.", sv = "시스템 권한", rv = "이 앱이 패키지에 선언된 시스템 작업을 실행할 수 있도록 합니다.", cv = "사용자가 로그아웃한 후에도 이 앱이 파일 작업을 완료할 수 있도록 합니다.", lv = "이 앱을 한 번 승인하십시오", dv = "이 앱에 관리자 승인이 필요합니다", uv = "이 앱은 Synology에서 만든 앱이 아니며, DSM은 타사 앱이 시스템 권한으로 실행되는 것을 허용하지 않습니다.", pv = "일부 기능에 시스템 권한이 필요합니다.", hv = "사용자가 로그아웃한 후에도 파일 작업을 완료하려면 시스템 권한이 필요합니다.", gv = "이 승인에 대한 정보", mv = "현재 DSM에 로그인한 계정의 암호를 사용합니다.", fv = "암호는 DSM이 직접 확인하며, 이 앱의 서비스로 전송되거나 저장되지 않습니다.", $v = "승인 후 이 앱은 패키지에 선언된 시스템 작업만 실행할 수 있으며, 그 밖의 작업은 시스템 권한으로 실행할 수 없습니다.", vv = "업데이트로 이러한 작업이 변경되면 다시 승인을 요청합니다.", bv = "승인하면 작업 스케줄러에 이 앱의 작업이 추가됩니다. 이 앱을 제거하면 이 작업이 삭제되고 승인도 종료됩니다.", Sv = "관리자에게 이 앱을 열어 한 번 승인하도록 요청하십시오.", _v = "사용자 비밀번호", zv = "승인", yv = "공유 폴더 확인", Av = "백그라운드 파일 액세스를 사용할 수 있습니다.", kv = "백그라운드 액세스를 확인하는 중입니다. 다시 제출하지 마십시오.", wv = "백그라운드 파일 액세스는 관리자의 승인이 필요합니다.", Dv = "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Cv = "시스템 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.", Pv = "이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", Mv = "관리자가 이 앱의 시스템 액세스를 승인하기 전까지 일부 기능을 사용할 수 없습니다.", qv = "승인", Tv = "이 앱이 중지되었습니다. 패키지 센터에서 시작하십시오. 시작되면 이 페이지가 자동으로 업데이트됩니다.", Ev = "이 앱을 시작하는 중입니다. 잠시 후 이 페이지가 자동으로 업데이트됩니다.", Lv = "이 앱이 중지되었습니다. 패키지 센터에서 시작한 후 다시 시도하십시오.", Iv = "이 앱을 시작하는 중입니다. 잠시 후 다시 시도하십시오.", Rv = "불러오는 중…", jv = "세부 사항", xv = "취소", Nv = "작업 취소", Uv = "활성 위임이 없습니다.", Ov = "내 위임", Fv = "만료", Hv = "내 다운로드", Bv = "다운로드 작업이 없습니다.", Vv = "다운로드 URL", Wv = "파일 이름", Jv = "폴더 선택", Kv = "내 폴더에 다운로드", Gv = "대상", Zv = "작업이 취소되었습니다. 위임 취소가 보류 중이며 앱이 다시 시도합니다.", Yv = "작업을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오. 계속 실패하면 관리자에게 문의하십시오.", Qv = "승인을 완료할 수 없습니다. 사용자 비밀번호를 다시 입력하고 다시 시도하거나 앱 설정을 확인하십시오.", Xv = "암호가 올바르지 않습니다. 다시 시도하십시오.", eb = "사용자 비밀번호를 입력하십시오.", tb = "DSM에서 암호를 확인하지 못했습니다. 변경된 내용은 없습니다. 다시 시도하십시오.", nb = "앱의 백그라운드 서비스가 시작되어 DSM에 확인하는 중입니다. 최대 1분 정도 걸릴 수 있습니다.", ob = "액세스가 거부되었습니다. 폴더 권한을 확인하고 다시 시도하십시오.", ab = "DSM에 다시 로그인한 후 새로 고치십시오.", ib = "다운로드는 64 MB, 60초로 제한됩니다.", sb = "대기 중", rb = "다운로드 중", cb = "저장됨", lb = "실패", db = "취소됨", ub = "중단됨", pb = "각 사용자의 home 폴더", hb = "백그라운드 저장 범위", gb = "확인된 범위", mb = "설치 시 사전 선택", fb = "설치 시 사전 선택은 제안일 뿐입니다. 백그라운드 액세스를 활성화할 때 사용자 비밀번호로 이 범위를 확인하십시오.", $b = "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다.", vb = "시스템 서비스 시작을 기다리는 중", bb = "상태", Sb = "준비됨", _b = "사용 불가", zb = "확인 중", yb = "앱의 시스템 서비스가 응답하지 않았습니다. DSM 데스크톱에서 앱을 열거나 페이지를 새로 고치십시오.", Ab = "앱의 백그라운드 서비스가 아직 시작 중입니다. 잠시 후 페이지를 새로 고치십시오.", kb = "재시도", wb = "원시 응답 한도(바이트)", Db = "업데이트 검토", Cb = "시스템 프로그램이 업데이트되었습니다. 관리자 재승인이 필요합니다.", Pb = "승인 작업 정의가 업데이트되었습니다. 관리자 재승인이 필요합니다.", Mb = "승인 정책이 업데이트되었습니다. 관리자 재승인이 필요합니다.", qb = "권한이 변경되지 않았습니다.", Tb = "권한이 확대되었습니다. 변경 사항을 검토한 후 승인하십시오.", Eb = "권한 또는 매개변수가 변경되었습니다. 검토한 후 승인하십시오.", Lb = "정책", Ib = "권한 및 매개변수 변경", Rb = "이전 보호된 실행 환경에서 비교 정보를 제공하지 않았습니다. 변경 내용과 권한 확대 여부를 확인할 수 없습니다. 관리자 재승인이 필요합니다.", jb = "이 업데이트 승인", xb = {
|
|
1955
1955
|
title: av,
|
|
1956
1956
|
help: iv,
|
|
1957
1957
|
setupTitle: sv,
|
|
@@ -2003,8 +2003,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2003
2003
|
setupError: Qv,
|
|
2004
2004
|
passwordRejected: Xv,
|
|
2005
2005
|
passwordRequired: eb,
|
|
2006
|
-
passwordConfirmFailed:
|
|
2007
|
-
confirmingHelp:
|
|
2006
|
+
passwordConfirmFailed: tb,
|
|
2007
|
+
confirmingHelp: nb,
|
|
2008
2008
|
denied: ob,
|
|
2009
2009
|
session: ab,
|
|
2010
2010
|
size: ib,
|
|
@@ -2040,7 +2040,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2040
2040
|
upgradeChanges: Ib,
|
|
2041
2041
|
upgradeUnknown: Rb,
|
|
2042
2042
|
upgradeConsentTitle: jb
|
|
2043
|
-
}, Nb = "后台文件访问", Ub = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换。", Ob = "系统权限", Fb = "让此 App 执行其套件中声明的系统任务。", Hb = "让此 App 在用户注销后继续为其完成文件任务。", Bb = "批准此 App(只需一次)", Vb = "此 App 需要管理员批准", Wb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行。", Jb = "它的部分功能需要系统权限。", Kb = "它需要系统权限,才能在用户注销后继续完成文件任务。", Gb = "关于此次批准", Zb = "请使用当前登录 DSM 的账号密码。", Yb = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存。", Qb = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情。", Xb = "如果更新更改了这些任务,会请你重新批准。", eS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准。",
|
|
2043
|
+
}, Nb = "后台文件访问", Ub = "关闭 App 后下载仍会继续。每项任务只能在一小时内写入所选的文件夹,现有文件绝不会被替换。", Ob = "系统权限", Fb = "让此 App 执行其套件中声明的系统任务。", Hb = "让此 App 在用户注销后继续为其完成文件任务。", Bb = "批准此 App(只需一次)", Vb = "此 App 需要管理员批准", Wb = "此 App 并非 Synology 官方开发,而 DSM 不允许第三方 App 以系统权限运行。", Jb = "它的部分功能需要系统权限。", Kb = "它需要系统权限,才能在用户注销后继续完成文件任务。", Gb = "关于此次批准", Zb = "请使用当前登录 DSM 的账号密码。", Yb = "密码由 DSM 直接验证,不会发送给此 App 的服务,也不会被保存。", Qb = "之后此 App 只能执行套件中声明的系统任务,无法以系统权限做其他事情。", Xb = "如果更新更改了这些任务,会请你重新批准。", eS = "批准会在“任务计划”中添加此 App 的任务;卸载此 App 时,会删除这些任务并结束批准。", tS = "请管理员打开此 App 并批准一次。", nS = "用户密码", oS = "批准", aS = "确认共享文件夹", iS = "后台文件访问已就绪。", sS = "正在确认后台访问,请勿重复提交。", rS = "需要管理员批准后台文件访问。", cS = "后台文件访问不可用,请管理员检查 App 设置。", lS = "系统访问不可用,请管理员检查 App 设置。", dS = "批准此 App 的系统访问权限前,部分功能无法使用。", uS = "管理员批准此 App 的系统访问权限前,部分功能无法使用。", pS = "批准", hS = "此 App 已停止。请在套件中心启动,启动后此页面会自动更新。", gS = "此 App 正在启动,此页面稍后会自动更新。", mS = "此 App 已停止。请在套件中心启动后再试一次。", fS = "此 App 正在启动,请稍候再试一次。", $S = "正在加载…", vS = "详情", bS = "撤销", SS = "取消任务", _S = "目前没有有效委托。", zS = "我的委托", yS = "到期时间", AS = "我的下载", kS = "目前没有下载任务。", wS = "下载网址", DS = "文件名", CS = "选择文件夹", PS = "下载到我的文件夹", MS = "目标文件夹", qS = "任务已取消。委托撤销尚未完成,App 将自动重试。", TS = "操作未完成,请刷新后重试。若持续失败,请联系管理员。", ES = "批准未完成,请重新输入用户密码后重试,或检查 App 设置。", LS = "密码不正确,请重试。", IS = "请输入你的用户密码。", RS = "DSM 无法验证密码,未做任何更改,请重试。", jS = "App 的后台服务正在启动并向 DSM 确认,最多可能需要一分钟。", xS = "访问被拒绝,请检查文件夹权限后重试。", NS = "请重新登录 DSM,然后刷新。", US = "下载上限为 64 MB、60 秒。", OS = "等待中", FS = "下载中", HS = "已保存", BS = "失败", VS = "已取消", WS = "已中断", JS = "各用户的 home 文件夹", KS = "后台保存范围", GS = "已确认范围", ZS = "安装时的预选", YS = "安装时的预选仅供参考。启用后台访问时,请用用户密码确认此范围。", QS = "安装时的预选与已确认范围不同。后台保存将按已确认范围执行。", XS = "等待系统服务启动", e_ = "状态", t_ = "就绪", n_ = "无法使用", o_ = "确认中", a_ = "应用的系统服务没有响应。请从 DSM 桌面打开应用,或刷新页面。", i_ = "应用的后台服务仍在启动中。请稍后刷新页面。", s_ = "重试", r_ = "原始响应上限(字节)", c_ = "查看此次更新", l_ = "系统执行程序已更新,需要管理员重新批准。", d_ = "批准任务定义已更新,需要管理员重新批准。", u_ = "批准策略已更新,需要管理员重新批准。", p_ = "权限未变。", h_ = "权限已扩展,请查看差异后再批准。", g_ = "权限或参数已更改,请查看差异后再批准。", m_ = "批准策略", f_ = "权限与参数差异", $_ = "先前的受保护运行环境未提供比较数据,无法判断更改内容或权限是否扩展,需要管理员重新批准。", v_ = "批准此次更新", b_ = {
|
|
2044
2044
|
title: Nb,
|
|
2045
2045
|
help: Ub,
|
|
2046
2046
|
setupTitle: Ob,
|
|
@@ -2057,8 +2057,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2057
2057
|
pointLimited: Qb,
|
|
2058
2058
|
pointUpdate: Xb,
|
|
2059
2059
|
pointRevoke: eS,
|
|
2060
|
-
consentAsk:
|
|
2061
|
-
password:
|
|
2060
|
+
consentAsk: tS,
|
|
2061
|
+
password: nS,
|
|
2062
2062
|
authorize: oS,
|
|
2063
2063
|
confirmShare: aS,
|
|
2064
2064
|
ready: iS,
|
|
@@ -2111,8 +2111,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2111
2111
|
scopeMismatch: QS,
|
|
2112
2112
|
waiting_executor: XS,
|
|
2113
2113
|
status: e_,
|
|
2114
|
-
statusReady:
|
|
2115
|
-
statusBlocked:
|
|
2114
|
+
statusReady: t_,
|
|
2115
|
+
statusBlocked: n_,
|
|
2116
2116
|
statusConfirming: o_,
|
|
2117
2117
|
statusUnreachable: a_,
|
|
2118
2118
|
statusStarting: i_,
|
|
@@ -2129,7 +2129,7 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2129
2129
|
upgradeChanges: f_,
|
|
2130
2130
|
upgradeUnknown: $_,
|
|
2131
2131
|
upgradeConsentTitle: v_
|
|
2132
|
-
}, S_ = "背景檔案存取", __ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代。", z_ = "系統權限", y_ = "讓此 App 執行它在套件中宣告的系統工作。", A_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作。", k_ = "核准此 App(只需一次)", w_ = "此 App 需要管理員核准", D_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行。", C_ = "它有部分功能需要系統權限。", P_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作。", M_ = "關於這次核准", q_ = "請使用你目前登入 DSM 的帳號密碼。", T_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存。", E_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事。", L_ = "如果更新改變了這些工作,會請你重新核准。", I_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准。", R_ = "請管理員開啟此 App 並核准一次。", j_ = "使用者密碼", x_ = "核准", N_ = "確認共用資料夾", U_ = "背景檔案存取已就緒。", O_ = "正在確認背景存取,請勿重複提交。", F_ = "需要管理員核准背景檔案存取。", H_ = "背景檔案存取無法使用,請管理員檢查 App 設定。", B_ = "系統存取無法使用,請管理員檢查 App 設定。", V_ = "核准此 App 的系統存取權限前,部分功能無法使用。", W_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用。", J_ = "核准", K_ = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新。", G_ = "此 App 正在啟動,此頁面稍後會自動更新。", Z_ = "此 App 已停止。請在套件中心啟動後再試一次。", Y_ = "此 App 正在啟動,請稍候再試一次。", Q_ = "載入中…", X_ = "詳情", ez = "撤銷",
|
|
2132
|
+
}, S_ = "背景檔案存取", __ = "關閉 App 後下載仍會繼續。每項工作只能在一小時內寫入所選的資料夾,既有檔案一律不會被取代。", z_ = "系統權限", y_ = "讓此 App 執行它在套件中宣告的系統工作。", A_ = "讓此 App 在使用者登出後,繼續替他們完成檔案工作。", k_ = "核准此 App(只需一次)", w_ = "此 App 需要管理員核准", D_ = "此 App 不是 Synology 官方開發的,而 DSM 不允許第三方 App 以系統權限執行。", C_ = "它有部分功能需要系統權限。", P_ = "它需要系統權限,才能在使用者登出後繼續完成檔案工作。", M_ = "關於這次核准", q_ = "請使用你目前登入 DSM 的帳號密碼。", T_ = "密碼由 DSM 直接驗證,不會傳給此 App 的服務,也不會被儲存。", E_ = "之後此 App 只能執行套件中宣告的系統工作,無法以系統權限做其他事。", L_ = "如果更新改變了這些工作,會請你重新核准。", I_ = "核准會在「任務排程表」新增此 App 的任務;解除安裝此 App 時,會移除這些任務並結束核准。", R_ = "請管理員開啟此 App 並核准一次。", j_ = "使用者密碼", x_ = "核准", N_ = "確認共用資料夾", U_ = "背景檔案存取已就緒。", O_ = "正在確認背景存取,請勿重複提交。", F_ = "需要管理員核准背景檔案存取。", H_ = "背景檔案存取無法使用,請管理員檢查 App 設定。", B_ = "系統存取無法使用,請管理員檢查 App 設定。", V_ = "核准此 App 的系統存取權限前,部分功能無法使用。", W_ = "管理員核准此 App 的系統存取權限前,部分功能無法使用。", J_ = "核准", K_ = "此 App 已停止。請在套件中心啟動,啟動後此頁面會自動更新。", G_ = "此 App 正在啟動,此頁面稍後會自動更新。", Z_ = "此 App 已停止。請在套件中心啟動後再試一次。", Y_ = "此 App 正在啟動,請稍候再試一次。", Q_ = "載入中…", X_ = "詳情", ez = "撤銷", tz = "取消工作", nz = "目前沒有有效委託。", oz = "我的委託", az = "到期時間", iz = "我的下載", sz = "目前沒有下載工作。", rz = "下載網址", cz = "檔案名稱", lz = "選擇資料夾", dz = "下載到我的資料夾", uz = "目的資料夾", pz = "工作已取消。委託尚未撤銷完成,App 會自動重試。", hz = "操作未完成,請重新整理後再試。若持續失敗,請聯絡管理員。", gz = "核准未完成,請重新輸入使用者密碼再試,或檢查 App 設定。", mz = "密碼不正確,請再試一次。", fz = "請輸入你的使用者密碼。", $z = "DSM 無法驗證密碼,沒有做任何變更,請再試一次。", vz = "App 的背景服務正在啟動並向 DSM 確認,最多可能需要一分鐘。", bz = "存取遭拒,請檢查資料夾權限後再試。", Sz = "請重新登入 DSM,再重新整理。", _z = "下載上限為 64 MB、60 秒。", zz = "等待中", yz = "下載中", Az = "已儲存", kz = "失敗", wz = "已取消", Dz = "已中斷", Cz = "各使用者的 home 資料夾", Pz = "背景儲存範圍", Mz = "已確認範圍", qz = "安裝時的預選", Tz = "安裝時的預選只供參考。啟用背景存取時,請以使用者密碼確認這個範圍。", Ez = "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行。", Lz = "等待系統服務啟動", Iz = "狀態", Rz = "就緒", jz = "無法使用", xz = "確認中", Nz = "App 的系統服務沒有回應。請從 DSM 桌面開啟 App,或重新整理頁面。", Uz = "App 的背景服務仍在啟動中。請稍後重新整理頁面。", Oz = "重試", Fz = "原始回應上限(位元組)", Hz = "檢視此次更新", Bz = "系統執行程式已更新,需要管理員重新核准。", Vz = "核准任務定義已更新,需要管理員重新核准。", Wz = "核准政策已更新,需要管理員重新核准。", Jz = "權限未變。", Kz = "權限已擴張,請檢視差異後再核准。", Gz = "權限或參數已變更,請檢視差異後再核准。", Zz = "核准政策", Yz = "權限與參數差異", Qz = "先前的受保護執行環境未提供比較資料,無法判斷變更內容或權限是否擴張,需要管理員重新核准。", Xz = "核准此次更新", ey = {
|
|
2133
2133
|
title: S_,
|
|
2134
2134
|
help: __,
|
|
2135
2135
|
setupTitle: z_,
|
|
@@ -2165,8 +2165,8 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2165
2165
|
loading: Q_,
|
|
2166
2166
|
details: X_,
|
|
2167
2167
|
revoke: ez,
|
|
2168
|
-
cancel:
|
|
2169
|
-
noDelegations:
|
|
2168
|
+
cancel: tz,
|
|
2169
|
+
noDelegations: nz,
|
|
2170
2170
|
delegations: oz,
|
|
2171
2171
|
expires: az,
|
|
2172
2172
|
downloads: iz,
|
|
@@ -2219,45 +2219,45 @@ const He = "NAS-Ordner", Be = "Aktionen verwenden Ihre eigene DSM-Sitzung und di
|
|
|
2219
2219
|
upgradeUnknown: Qz,
|
|
2220
2220
|
upgradeConsentTitle: Xz
|
|
2221
2221
|
}, ue = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/delegate/de.json": Hl, "../../i18n/delegate/en.json": Au, "../../i18n/delegate/es.json": ih, "../../i18n/delegate/fr.json": Ug, "../../i18n/delegate/it.json": zf, "../../i18n/delegate/ja.json": ov, "../../i18n/delegate/ko.json": xb, "../../i18n/delegate/zh-CN.json": b_, "../../i18n/delegate/zh-TW.json": ey }));
|
|
2222
|
-
function
|
|
2222
|
+
function ty(e = "en") {
|
|
2223
2223
|
return ue[z(e)];
|
|
2224
2224
|
}
|
|
2225
|
-
function GO(e,
|
|
2226
|
-
const o = E(e, a ?? Object.entries(ue).find(([, s]) => s ===
|
|
2225
|
+
function GO(e, t, a, n) {
|
|
2226
|
+
const o = E(e, a ?? Object.entries(ue).find(([, s]) => s === t)?.[0], n);
|
|
2227
2227
|
if (o) return o.message;
|
|
2228
2228
|
const i = e?.code;
|
|
2229
|
-
return ["session_required", "AUTH_DENIED"].includes(i ?? "") ?
|
|
2229
|
+
return ["session_required", "AUTH_DENIED"].includes(i ?? "") ? t.session : ["DENIED", "SCOPE_DENIED", "PERMISSION_DENIED", "APP_DENIED", "INELIGIBLE", "denied"].includes(i ?? "") ? t.denied : t.error;
|
|
2230
2230
|
}
|
|
2231
2231
|
const P = { APP_STOPPED: "stopped", APP_STARTING: "starting", EXECUTOR_STARTING: "starting", executor_starting: "starting" };
|
|
2232
|
-
function
|
|
2233
|
-
const { code:
|
|
2234
|
-
if (typeof
|
|
2235
|
-
const
|
|
2236
|
-
return
|
|
2232
|
+
function ny(e) {
|
|
2233
|
+
const { code: t, reason: a } = e ?? {};
|
|
2234
|
+
if (typeof t == "string" && Object.hasOwn(P, t)) return P[t];
|
|
2235
|
+
const n = typeof a == "string" ? /^[A-Z_]+(?=:|$)/.exec(a)?.[0] : void 0;
|
|
2236
|
+
return n && Object.hasOwn(P, n) ? P[n] : void 0;
|
|
2237
2237
|
}
|
|
2238
2238
|
const oy = 15e3, ay = 4e3;
|
|
2239
|
-
function ZO(e,
|
|
2240
|
-
return Math.min(2e3 * 2 ** e,
|
|
2239
|
+
function ZO(e, t) {
|
|
2240
|
+
return Math.min(2e3 * 2 ** e, t === "starting" ? ay : oy);
|
|
2241
2241
|
}
|
|
2242
|
-
function N(e,
|
|
2243
|
-
const a =
|
|
2244
|
-
return a && iy(a,
|
|
2242
|
+
function N(e, t) {
|
|
2243
|
+
const a = t === void 0 ? void 0 : ny(e);
|
|
2244
|
+
return a && iy(a, t, { for: "action" });
|
|
2245
2245
|
}
|
|
2246
|
-
function iy(e,
|
|
2247
|
-
const
|
|
2248
|
-
return a.for === "action" ? e === "stopped" ?
|
|
2246
|
+
function iy(e, t, a = {}) {
|
|
2247
|
+
const n = ty(t);
|
|
2248
|
+
return a.for === "action" ? e === "stopped" ? n.appStoppedAction : n.appStartingAction : e === "stopped" ? n.appStopped : n.appStarting;
|
|
2249
2249
|
}
|
|
2250
|
-
const pe = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json":
|
|
2250
|
+
const pe = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/files/de.json": Tt, "../../i18n/files/en.json": yn, "../../i18n/files/es.json": go, "../../i18n/files/fr.json": aa, "../../i18n/files/it.json": Ka, "../../i18n/files/ja.json": xi, "../../i18n/files/ko.json": Cs, "../../i18n/files/zh-CN.json": vr, "../../i18n/files/zh-TW.json": cc }));
|
|
2251
2251
|
function YO(e) {
|
|
2252
2252
|
return pe[z(e)];
|
|
2253
2253
|
}
|
|
2254
|
-
function QO(e,
|
|
2255
|
-
const o = E(e, a ?? Object.entries(pe).find(([,
|
|
2254
|
+
function QO(e, t, a, n) {
|
|
2255
|
+
const o = E(e, a ?? Object.entries(pe).find(([, c]) => c === t)?.[0], n);
|
|
2256
2256
|
if (o) return o.message;
|
|
2257
2257
|
const i = N(e, a);
|
|
2258
2258
|
if (i) return i;
|
|
2259
2259
|
const s = e?.code;
|
|
2260
|
-
return
|
|
2260
|
+
return t[{ session_required: "errorSession", dsm_session_required: "errorDSM", upload_size_required: "errorUploadSize", denied: "errorDenied", not_found: "errorNotFound", conflict: "errorConflict", "commit-uncertain": "errorUncertain", "invalid-request": "errorInvalid", canceled: "errorCanceled", timeout: "errorTimeout", "origin-refused": "errorOrigin" }[s ?? ""] ?? "errorUnavailable"];
|
|
2261
2261
|
}
|
|
2262
2262
|
const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DSM-Benutzer", dy = "Kein Zugriff", uy = "Ihr DSM-Konto darf diese App nicht verwenden. Bitten Sie einen Administrator, sie in den DSM-Anwendungsberechtigungen freizugeben.", py = "Hinweise", hy = "Hinweise ({count})", gy = "Wird geladen…", my = {
|
|
2263
2263
|
status: sy,
|
|
@@ -2299,7 +2299,7 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
|
|
|
2299
2299
|
notes: Fy,
|
|
2300
2300
|
notesCount: Hy,
|
|
2301
2301
|
loading: By
|
|
2302
|
-
}, Wy = "Stato", Jy = "Attività in background", Ky = "Amministratore", Gy = "Utente DSM", Zy = "Accesso negato", Yy = "L’account DSM non è autorizzato a usare questa app. Chiedere a un amministratore di consentirlo nei privilegi delle applicazioni DSM.", Qy = "Note", Xy = "Note ({count})", eA = "Caricamento…",
|
|
2302
|
+
}, Wy = "Stato", Jy = "Attività in background", Ky = "Amministratore", Gy = "Utente DSM", Zy = "Accesso negato", Yy = "L’account DSM non è autorizzato a usare questa app. Chiedere a un amministratore di consentirlo nei privilegi delle applicazioni DSM.", Qy = "Note", Xy = "Note ({count})", eA = "Caricamento…", tA = {
|
|
2303
2303
|
status: Wy,
|
|
2304
2304
|
background: Jy,
|
|
2305
2305
|
administrator: Ky,
|
|
@@ -2309,8 +2309,8 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
|
|
|
2309
2309
|
notes: Qy,
|
|
2310
2310
|
notesCount: Xy,
|
|
2311
2311
|
loading: eA
|
|
2312
|
-
},
|
|
2313
|
-
status:
|
|
2312
|
+
}, nA = "状態", oA = "バックグラウンドジョブ", aA = "管理者", iA = "DSM ユーザー", sA = "アクセスできません", rA = "この DSM アカウントにはこのアプリを使用する権限がありません。DSM のアプリケーション権限で許可するよう管理者に依頼してください。", cA = "注記", lA = "注記({count})", dA = "読み込み中…", uA = {
|
|
2313
|
+
status: nA,
|
|
2314
2314
|
background: oA,
|
|
2315
2315
|
administrator: aA,
|
|
2316
2316
|
dsmUser: iA,
|
|
@@ -2349,11 +2349,11 @@ const sy = "Status", ry = "Hintergrundaufträge", cy = "Administrator", ly = "DS
|
|
|
2349
2349
|
notes: xA,
|
|
2350
2350
|
notesCount: NA,
|
|
2351
2351
|
loading: UA
|
|
2352
|
-
}, FA = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": my, "../../i18n/shell/en.json": ky, "../../i18n/shell/es.json": Iy, "../../i18n/shell/fr.json": Vy, "../../i18n/shell/it.json":
|
|
2352
|
+
}, FA = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/shell/de.json": my, "../../i18n/shell/en.json": ky, "../../i18n/shell/es.json": Iy, "../../i18n/shell/fr.json": Vy, "../../i18n/shell/it.json": tA, "../../i18n/shell/ja.json": uA, "../../i18n/shell/ko.json": _A, "../../i18n/shell/zh-CN.json": qA, "../../i18n/shell/zh-TW.json": OA }));
|
|
2353
2353
|
function XO(e) {
|
|
2354
2354
|
return FA[z(e)];
|
|
2355
2355
|
}
|
|
2356
|
-
const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem Konto auf diesem NAS bei der App an.", VA = "HTTPS erforderlich", WA = "Anmeldung fehlgeschlagen", JA = "Konto", KA = "Passwort", GA = "Geben Sie den Bestätigungscode aus Ihrer Authentifizierungs-App ein.", ZA = "Bestätigungscode", YA = "Anmeldung läuft…", QA = "Bestätigen und anmelden", XA = "Anmelden", ek = "Anderes Konto verwenden",
|
|
2356
|
+
const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem Konto auf diesem NAS bei der App an.", VA = "HTTPS erforderlich", WA = "Anmeldung fehlgeschlagen", JA = "Konto", KA = "Passwort", GA = "Geben Sie den Bestätigungscode aus Ihrer Authentifizierungs-App ein.", ZA = "Bestätigungscode", YA = "Anmeldung läuft…", QA = "Bestätigen und anmelden", XA = "Anmelden", ek = "Anderes Konto verwenden", tk = "Mit DSM fortfahren", nk = { rate_limited: "Zu viele Anmeldeversuche. Warten Sie eine Minute und versuchen Sie es erneut.", https_required: "Öffnen Sie diese App über HTTPS, um sich anzumelden.", auth_unavailable: "Die DSM-Anmeldung ist nicht verfügbar. Versuchen Sie es erneut.", session_required: "Melden Sie sich in diesem Browser bei DSM an und versuchen Sie es dann erneut.", cross_origin: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", origin_required: "Die Anmeldung wurde abgelehnt: Der Browser hat nicht angegeben, dass sie von der Seite dieser App stammt. Öffnen Sie die App in einem aktuellen Browser erneut.", failed: "Die Anmeldung konnte nicht abgeschlossen werden. Prüfen Sie Ihre Anmeldedaten oder wenden Sie sich an Ihren Administrator." }, ok = { expired: "Ihre Sitzung ist abgelaufen. Melden Sie sich erneut an.", revalidate: "Melden Sie sich in diesem Browser bei DSM an und wählen Sie dann „Mit DSM fortfahren“.", unavailable: "Die Anmeldung ist nicht verfügbar. Aktualisieren Sie die Ansicht und versuchen Sie es erneut." }, ak = {
|
|
2357
2357
|
title: HA,
|
|
2358
2358
|
intro: BA,
|
|
2359
2359
|
httpsTitle: VA,
|
|
@@ -2366,8 +2366,8 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
|
|
|
2366
2366
|
verify: QA,
|
|
2367
2367
|
signIn: XA,
|
|
2368
2368
|
otherAccount: ek,
|
|
2369
|
-
continueDSM:
|
|
2370
|
-
errors:
|
|
2369
|
+
continueDSM: tk,
|
|
2370
|
+
errors: nk,
|
|
2371
2371
|
notices: ok
|
|
2372
2372
|
}, ik = "Sign in with your Synology account", sk = "Use your account on this NAS to sign in to the app.", rk = "HTTPS required", ck = "Sign-in failed", lk = "Account", dk = "Password", uk = "Enter the verification code from your authenticator app.", pk = "Verification code", hk = "Signing in…", gk = "Verify and sign in", mk = "Sign in", fk = "Use another account", $k = "Continue with DSM", vk = { rate_limited: "Too many sign-in attempts. Wait one minute and try again.", https_required: "Open this app using HTTPS to sign in.", auth_unavailable: "DSM sign-in is unavailable. Try again.", session_required: "Sign in to DSM in this browser, then try again.", cross_origin: "Sign-in was refused: the browser did not show that it came from this App's page. Open the App again in a current browser.", origin_required: "Sign-in was refused: the browser did not show that it came from this App's page. Open the App again in a current browser.", failed: "Sign-in could not be completed. Check your credentials or contact your administrator." }, bk = { expired: "Your session expired. Sign in again.", revalidate: "Sign in to DSM in this browser, then choose Continue with DSM.", unavailable: "Sign-in is unavailable. Refresh to try again." }, Sk = {
|
|
2373
2373
|
title: ik,
|
|
@@ -2417,11 +2417,11 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
|
|
|
2417
2417
|
continueDSM: Gk,
|
|
2418
2418
|
errors: Zk,
|
|
2419
2419
|
notices: Yk
|
|
2420
|
-
}, Xk = "Accedi con l’account Synology", ew = "Usare l’account di questo NAS per accedere all’app.",
|
|
2420
|
+
}, Xk = "Accedi con l’account Synology", ew = "Usare l’account di questo NAS per accedere all’app.", tw = "HTTPS obbligatorio", nw = "Accesso non riuscito", ow = "Account", aw = "Password", iw = "Inserire il codice di verifica dell’app di autenticazione.", sw = "Codice di verifica", rw = "Accesso in corso…", cw = "Verifica e accedi", lw = "Accedi", dw = "Usa un altro account", uw = "Continua con DSM", pw = { rate_limited: "Troppi tentativi di accesso. Attendere un minuto e riprovare.", https_required: "Aprire questa app tramite HTTPS per accedere.", auth_unavailable: "L’accesso a DSM non è disponibile. Riprovare.", session_required: "Accedere a DSM in questo browser, quindi riprovare.", cross_origin: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", origin_required: "L’accesso è stato rifiutato: il browser non ha indicato che proviene dalla pagina di questa App. Riaprire l’App in un browser aggiornato.", failed: "Impossibile completare l’accesso. Controllare le credenziali o contattare l’amministratore." }, hw = { expired: "La sessione è scaduta. Accedere di nuovo.", revalidate: "Accedere a DSM in questo browser, quindi scegliere «Continua con DSM».", unavailable: "L’accesso non è disponibile. Aggiornare e riprovare." }, gw = {
|
|
2421
2421
|
title: Xk,
|
|
2422
2422
|
intro: ew,
|
|
2423
|
-
httpsTitle:
|
|
2424
|
-
failedTitle:
|
|
2423
|
+
httpsTitle: tw,
|
|
2424
|
+
failedTitle: nw,
|
|
2425
2425
|
account: ow,
|
|
2426
2426
|
password: aw,
|
|
2427
2427
|
otpPrompt: iw,
|
|
@@ -2465,7 +2465,7 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
|
|
|
2465
2465
|
continueDSM: Hw,
|
|
2466
2466
|
errors: Bw,
|
|
2467
2467
|
notices: Vw
|
|
2468
|
-
}, Jw = "使用 Synology 账户登录", Kw = "使用这台 NAS 上的账户登录此 App。", Gw = "需要 HTTPS", Zw = "登录失败", Yw = "账户", Qw = "密码", Xw = "请输入身份验证器 App 中的验证码。", eD = "验证码",
|
|
2468
|
+
}, Jw = "使用 Synology 账户登录", Kw = "使用这台 NAS 上的账户登录此 App。", Gw = "需要 HTTPS", Zw = "登录失败", Yw = "账户", Qw = "密码", Xw = "请输入身份验证器 App 中的验证码。", eD = "验证码", tD = "正在登录…", nD = "验证并登录", oD = "登录", aD = "使用其他账户", iD = "通过 DSM 继续", sD = { rate_limited: "登录尝试次数过多,请等待一分钟后重试。", https_required: "请使用 HTTPS 打开此 App 以登录。", auth_unavailable: "DSM 登录暂时不可用,请重试。", session_required: "请先在此浏览器中登录 DSM,然后重试。", cross_origin: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", origin_required: "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。", failed: "无法完成登录。请检查账户和密码,或联系管理员。" }, rD = { expired: "登录已过期,请重新登录。", revalidate: "请先在此浏览器中登录 DSM,然后选择“通过 DSM 继续”。", unavailable: "登录暂时不可用,请刷新后重试。" }, cD = {
|
|
2469
2469
|
title: Jw,
|
|
2470
2470
|
intro: Kw,
|
|
2471
2471
|
httpsTitle: Gw,
|
|
@@ -2474,8 +2474,8 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
|
|
|
2474
2474
|
password: Qw,
|
|
2475
2475
|
otpPrompt: Xw,
|
|
2476
2476
|
otp: eD,
|
|
2477
|
-
signingIn:
|
|
2478
|
-
verify:
|
|
2477
|
+
signingIn: tD,
|
|
2478
|
+
verify: nD,
|
|
2479
2479
|
signIn: oD,
|
|
2480
2480
|
otherAccount: aD,
|
|
2481
2481
|
continueDSM: iD,
|
|
@@ -2501,7 +2501,7 @@ const HA = "Mit Ihrem Synology-Konto anmelden", BA = "Melden Sie sich mit Ihrem
|
|
|
2501
2501
|
function e6(e) {
|
|
2502
2502
|
return kD[z(e)];
|
|
2503
2503
|
}
|
|
2504
|
-
const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Paket und berechnet ihren SHA-256. Aufträge laufen nach der Abmeldung weiter; Kopie und Ergebnis bleiben im Paket.", CD = "Worker", PD = "Worker läuft als {user}", MD = "Worker läuft nicht", qD = "Datei auswählen", TD = "Ausgewählte Datei: {path}", ED = "Datei zum Importieren auswählen", LD = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert.", ID = "Importieren und senden", RD = "Abbrechen", jD = "Ergebnis", xD = "Ergebnis herunterladen", ND = "Noch keine Aufträge", UD = "In Warteschlange", OD = "Läuft", FD = "Erfolgreich", HD = "Fehlgeschlagen", BD = "Abgebrochen", VD = "Unterbrochen", WD = "Angehalten", JD = "Wird angehalten…", KD = "Anhalten", GD = "Fortsetzen", ZD = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, YD = "{done} von {total}", QD = "Aktuelles Element: {item}", XD = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag.", eC = { jobs_busy: "Das System ist beschäftigt. Bitte versuchen Sie es später erneut.", failed: "Die Anfrage konnte nicht abgeschlossen werden. Aktualisieren und erneut versuchen.", "limit-exceeded": "Die Datei überschreitet das Limit.", "queue-full": "Die Warteschlange ist voll.", "quota-exceeded": "Der Hintergrundspeicher ist voll.", conflict: "Der Auftragsstatus hat sich geändert. Aktualisieren.", not_found: "Nicht gefunden.", denied: "Zugriff verweigert.", session_required: "Ihre DSM-Sitzung ist abgelaufen. Melden Sie sich erneut an.", "owner-queue-full": "Ihr Limit für offene Aufträge ist erreicht. Warten Sie auf einen Abschluss oder brechen Sie einen Auftrag ab.", "owner-quota-exceeded": "Ihr Speicherlimit ist erreicht. Bitten Sie einen Administrator, alte Aufträge zu löschen.", identity_unavailable: "Ihre DSM-Benutzer-UID konnte nicht geprüft werden. Melden Sie sich erneut an oder fragen Sie einen Administrator.", "schedule-full": "Maximal 8 Zeitpläne. Löschen Sie einen Zeitplan.", "input-unavailable": "Die private Kopie fehlt oder wurde geändert. Importieren Sie sie erneut.", unsupported: "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut." },
|
|
2504
|
+
const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Paket und berechnet ihren SHA-256. Aufträge laufen nach der Abmeldung weiter; Kopie und Ergebnis bleiben im Paket.", CD = "Worker", PD = "Worker läuft als {user}", MD = "Worker läuft nicht", qD = "Datei auswählen", TD = "Ausgewählte Datei: {path}", ED = "Datei zum Importieren auswählen", LD = "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert.", ID = "Importieren und senden", RD = "Abbrechen", jD = "Ergebnis", xD = "Ergebnis herunterladen", ND = "Noch keine Aufträge", UD = "In Warteschlange", OD = "Läuft", FD = "Erfolgreich", HD = "Fehlgeschlagen", BD = "Abgebrochen", VD = "Unterbrochen", WD = "Angehalten", JD = "Wird angehalten…", KD = "Anhalten", GD = "Fortsetzen", ZD = { one: "{done} von {count} Element", other: "{done} von {count} Elementen" }, YD = "{done} von {total}", QD = "Aktuelles Element: {item}", XD = "Bis zu {size} KB pro Datei, {queue} Aufträge in der Warteschlange, {seconds} Sekunden pro Auftrag.", eC = { jobs_busy: "Das System ist beschäftigt. Bitte versuchen Sie es später erneut.", failed: "Die Anfrage konnte nicht abgeschlossen werden. Aktualisieren und erneut versuchen.", "limit-exceeded": "Die Datei überschreitet das Limit.", "queue-full": "Die Warteschlange ist voll.", "quota-exceeded": "Der Hintergrundspeicher ist voll.", conflict: "Der Auftragsstatus hat sich geändert. Aktualisieren.", not_found: "Nicht gefunden.", denied: "Zugriff verweigert.", session_required: "Ihre DSM-Sitzung ist abgelaufen. Melden Sie sich erneut an.", "owner-queue-full": "Ihr Limit für offene Aufträge ist erreicht. Warten Sie auf einen Abschluss oder brechen Sie einen Auftrag ab.", "owner-quota-exceeded": "Ihr Speicherlimit ist erreicht. Bitten Sie einen Administrator, alte Aufträge zu löschen.", identity_unavailable: "Ihre DSM-Benutzer-UID konnte nicht geprüft werden. Melden Sie sich erneut an oder fragen Sie einen Administrator.", "schedule-full": "Maximal 8 Zeitpläne. Löschen Sie einen Zeitplan.", "input-unavailable": "Die private Kopie fehlt oder wurde geändert. Importieren Sie sie erneut.", unsupported: "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut." }, tC = "Sie können nur eigene Aufträge sehen, abbrechen und herunterladen.", nC = "Administratoren können Aufträge aller Benutzer sehen und abbrechen.", oC = "Pro Benutzer: {jobs} offene Aufträge und {size} KB für Eingaben und reservierte Ergebnisse.", aC = "Besitzer: {user} (UID {uid})", iC = "Aufträge des Besitzers löschen", sC = "Alle Aufträge von {user} (UID {uid}) löschen? Laufende Aufträge werden abgebrochen und beendet; gespeicherte Ergebnisse werden entfernt.", rC = "Löschen bestätigen", cC = "Aufträge behalten", lC = "Zeitpläne", dC = "Die feste private Kopie wird als Paketbenutzer stündlich, täglich oder wöchentlich neu berechnet. Bis zu 8 Zeitpläne. Verpasste Läufe werden protokolliert, nicht nachgeholt.", uC = "Diese Kopie planen", pC = "Private Kopie: {name}", hC = "Wiederholungsintervall", gC = "Stündlich", mC = "Täglich", fC = "Wöchentlich", $C = "Ich stimme zu, diese feste Kopie zu speichern und als Paketbenutzer neu zu berechnen. Neue Quelldateien und persönliche ACLs werden nicht gelesen.", vC = "Zeitplan erstellen", bC = "Noch keine Zeitpläne", SC = "Aktiviert", _C = "Deaktiviert", zC = "Nächster Lauf: {time}", yC = "Verpasste Läufe: {count}", AC = "Zeitplan deaktivieren", kC = "Zeitplan löschen", wC = "Zeitplan für {name} löschen? Wartende Jobs werden abgebrochen, laufende Jobs werden gestoppt und abgeschlossen. Fertige Ergebnisse bleiben erhalten.", DC = "Löschen bestätigen", CC = "Zeitplan aktivieren", PC = "Zeitplan für {name} mit der aktuellen Worker-Revision aktivieren? Ich stimme der Neuberechnung dieser festen Kopie zu. Frühere Läufe werden nicht wiederholt.", MC = "Aktivierung bestätigen", qC = "Die Worker-Revision hat sich geändert. Ein Administrator muss diesen Zeitplan prüfen und ausdrücklich aktivieren.", TC = "Geplanter Lauf", EC = "Unbekannt", LC = "Hintergrundaufträge sind nicht verfügbar. Aktualisieren Sie und versuchen Sie es erneut.", IC = {
|
|
2505
2505
|
title: wD,
|
|
2506
2506
|
help: DD,
|
|
2507
2507
|
worker: CD,
|
|
@@ -2531,8 +2531,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2531
2531
|
progressItem: QD,
|
|
2532
2532
|
limits: XD,
|
|
2533
2533
|
errors: eC,
|
|
2534
|
-
ownerScope:
|
|
2535
|
-
adminScope:
|
|
2534
|
+
ownerScope: tC,
|
|
2535
|
+
adminScope: nC,
|
|
2536
2536
|
ownerLimits: oC,
|
|
2537
2537
|
owner: aC,
|
|
2538
2538
|
purgeOwner: iC,
|
|
@@ -2565,7 +2565,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2565
2565
|
scheduledJob: TC,
|
|
2566
2566
|
unknownTime: EC,
|
|
2567
2567
|
unsupported: LC
|
|
2568
|
-
}, RC = "Background jobs", jC = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result.", xC = "Worker", NC = "Worker is running as {user}", UC = "Worker is not running", OC = "Choose a file", FC = "Selected file: {path}", HC = "Choose a file to import", BC = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved.", VC = "Import and submit", WC = "Cancel", JC = "Result", KC = "Download result", GC = "No jobs yet", ZC = "Queued", YC = "Running", QC = "Succeeded", XC = "Failed", eP = "Canceled",
|
|
2568
|
+
}, RC = "Background jobs", jC = "Copies one selected file into this package and computes its SHA-256. Jobs continue after sign-out; the package keeps the copy and result.", xC = "Worker", NC = "Worker is running as {user}", UC = "Worker is not running", OC = "Choose a file", FC = "Selected file: {path}", HC = "Choose a file to import", BC = "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved.", VC = "Import and submit", WC = "Cancel", JC = "Result", KC = "Download result", GC = "No jobs yet", ZC = "Queued", YC = "Running", QC = "Succeeded", XC = "Failed", eP = "Canceled", tP = "Interrupted", nP = "Paused", oP = "Pausing…", aP = "Pause", iP = "Resume", sP = { one: "{done} of {count} item", other: "{done} of {count} items" }, rP = "{done} of {total}", cP = "Current item: {item}", lP = "Up to {size} KB per file, {queue} queued jobs, {seconds} seconds per job.", dP = { jobs_busy: "Busy, please try again later.", failed: "The request could not be completed. Refresh and try again.", "limit-exceeded": "The file is larger than the limit.", "queue-full": "The queue is full.", "quota-exceeded": "The background storage is full.", conflict: "The job changed state. Refresh.", not_found: "Not found.", denied: "Access was denied.", session_required: "Your DSM session expired. Sign in again.", "owner-queue-full": "Your pending job limit is reached. Wait for a job to finish or cancel one.", "owner-quota-exceeded": "Your background storage limit is reached. Ask an administrator to clear your old jobs.", identity_unavailable: "Your DSM user UID could not be verified. Sign in again or ask an administrator.", "schedule-full": "The 8-schedule limit is reached. Delete a schedule.", "input-unavailable": "The private copy is unavailable or changed. Import it again.", unsupported: "Background jobs are unavailable. Refresh and try again." }, uP = "You can see, cancel and download only your own jobs.", pP = "Administrators can see and cancel every user’s jobs.", hP = "Per user: {jobs} pending jobs and {size} KB of input and reserved result storage.", gP = "Owner: {user} (UID {uid})", mP = "Clear owner’s jobs", fP = "Clear all jobs owned by {user} (UID {uid})? Running jobs are canceled and drained; this removes their saved results.", $P = "Confirm clear", vP = "Keep jobs", bP = "Schedules", SP = "Reprocess a fixed private copy hourly, daily or weekly as the package user. Up to 8 schedules; missed runs are recorded and never replayed.", _P = "Schedule this copy", zP = "Private copy: {name}", yP = "Repeat every", AP = "Hour", kP = "Day", wP = "Week", DP = "I agree to keep and reprocess this fixed copy as the package user. No new source files or personal ACLs are read.", CP = "Create schedule", PP = "No schedules yet", MP = "Enabled", qP = "Disabled", TP = "Next run: {time}", EP = "Missed runs: {count}", LP = "Disable schedule", IP = "Delete schedule", RP = "Delete the schedule for {name}? Queued jobs are canceled and running jobs drain. Finished results remain.", jP = "Confirm delete", xP = "Enable schedule", NP = "Enable the schedule for {name} with the current worker revision? I agree to reprocess this fixed copy. Past runs will not be replayed.", UP = "Confirm enable", OP = "The worker revision changed. An administrator must review and explicitly enable this schedule.", FP = "Scheduled run", HP = "Unknown", BP = "Background jobs are unavailable. Refresh and try again.", VP = {
|
|
2569
2569
|
title: RC,
|
|
2570
2570
|
help: jC,
|
|
2571
2571
|
worker: xC,
|
|
@@ -2585,8 +2585,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2585
2585
|
state_succeeded: QC,
|
|
2586
2586
|
state_failed: XC,
|
|
2587
2587
|
state_canceled: eP,
|
|
2588
|
-
state_interrupted:
|
|
2589
|
-
state_paused:
|
|
2588
|
+
state_interrupted: tP,
|
|
2589
|
+
state_paused: nP,
|
|
2590
2590
|
pausing: oP,
|
|
2591
2591
|
pause: aP,
|
|
2592
2592
|
resume: iP,
|
|
@@ -2629,7 +2629,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2629
2629
|
scheduledJob: FP,
|
|
2630
2630
|
unknownTime: HP,
|
|
2631
2631
|
unsupported: BP
|
|
2632
|
-
}, WP = "Trabajos en segundo plano", JP = "Copia un archivo seleccionado al paquete y calcula su SHA-256. Los trabajos continúan al cerrar sesión; el paquete conserva la copia y el resultado.", KP = "Worker", GP = "El worker se ejecuta como {user}", ZP = "El worker no se está ejecutando", YP = "Elegir un archivo", QP = "Archivo seleccionado: {path}", XP = "Elegir un archivo para importar", eM = "El archivo seleccionado se lee una sola vez con su inicio de sesión de DSM actual y se entrega al trabajo en segundo plano. No se guarda ningún permiso.",
|
|
2632
|
+
}, WP = "Trabajos en segundo plano", JP = "Copia un archivo seleccionado al paquete y calcula su SHA-256. Los trabajos continúan al cerrar sesión; el paquete conserva la copia y el resultado.", KP = "Worker", GP = "El worker se ejecuta como {user}", ZP = "El worker no se está ejecutando", YP = "Elegir un archivo", QP = "Archivo seleccionado: {path}", XP = "Elegir un archivo para importar", eM = "El archivo seleccionado se lee una sola vez con su inicio de sesión de DSM actual y se entrega al trabajo en segundo plano. No se guarda ningún permiso.", tM = "Importar y enviar", nM = "Cancelar", oM = "Resultado", aM = "Descargar resultado", iM = "Aún no hay trabajos", sM = "En cola", rM = "En ejecución", cM = "Correcto", lM = "Error", dM = "Cancelado", uM = "Interrumpido", pM = "En pausa", hM = "Pausando…", gM = "Pausar", mM = "Reanudar", fM = { one: "{done} de {count} elemento", other: "{done} de {count} elementos" }, $M = "{done} de {total}", vM = "Elemento actual: {item}", bM = "Hasta {size} KB por archivo, {queue} trabajos en cola, {seconds} segundos por trabajo.", SM = { jobs_busy: "Sistema ocupado. Vuelva a intentarlo más tarde.", failed: "No se pudo completar la solicitud. Actualice e inténtelo de nuevo.", "limit-exceeded": "El archivo supera el límite.", "queue-full": "La cola está llena.", "quota-exceeded": "El almacenamiento en segundo plano está lleno.", conflict: "El estado del trabajo cambió. Actualice.", not_found: "No encontrado.", denied: "Acceso denegado.", session_required: "Su sesión de DSM caducó. Inicie sesión de nuevo.", "owner-queue-full": "Ha alcanzado el límite de trabajos pendientes. Espere a que termine uno o cancele uno.", "owner-quota-exceeded": "Ha alcanzado el límite de almacenamiento. Pida a un administrador que borre sus trabajos antiguos.", identity_unavailable: "No se pudo verificar su UID de usuario DSM. Inicie sesión de nuevo o contacte con un administrador.", "schedule-full": "Se alcanzó el límite de 8 programaciones. Elimine una.", "input-unavailable": "La copia privada no está disponible o cambió. Impórtela de nuevo.", unsupported: "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo." }, _M = "Solo puede ver, cancelar y descargar sus propios trabajos.", zM = "Los administradores pueden ver y cancelar los trabajos de todos los usuarios.", yM = "Por usuario: {jobs} trabajos pendientes y {size} KB para entradas y resultados reservados.", AM = "Propietario: {user} (UID {uid})", kM = "Borrar trabajos del propietario", wM = "¿Borrar todos los trabajos de {user} (UID {uid})? Los trabajos en curso se cancelarán y terminarán; se eliminarán los resultados guardados.", DM = "Confirmar borrado", CM = "Conservar trabajos", PM = "Programaciones", MM = "Recalcula la copia privada fija como usuario del paquete cada hora, día o semana. Hasta 8 programaciones. Las ejecuciones perdidas se registran sin recuperarlas.", qM = "Programar esta copia", TM = "Copia privada: {name}", EM = "Intervalo de repetición", LM = "Cada hora", IM = "Cada día", RM = "Cada semana", jM = "Acepto conservar esta copia fija y recalcularla como usuario del paquete. No se leen nuevos archivos de origen ni ACL personales.", xM = "Crear programación", NM = "No hay programaciones", UM = "Habilitado", OM = "Deshabilitado", FM = "Próxima ejecución: {time}", HM = "Ejecuciones perdidas: {count}", BM = "Desactivar programación", VM = "Eliminar programación", WM = "¿Eliminar la programación de {name}? Los trabajos en cola se cancelan y los activos se detienen y finalizan. Se conservan los resultados completados.", JM = "Confirmar eliminación", KM = "Activar programación", GM = "¿Activar la programación de {name} con la revisión actual del worker? Acepto recalcular esta copia fija. No se repetirán ejecuciones anteriores.", ZM = "Confirmar activación", YM = "La revisión del worker cambió. Un administrador debe revisar y activar explícitamente esta programación.", QM = "Ejecución programada", XM = "Desconocida", eq = "Los trabajos en segundo plano no están disponibles. Actualice e inténtelo de nuevo.", tq = {
|
|
2633
2633
|
title: WP,
|
|
2634
2634
|
help: JP,
|
|
2635
2635
|
worker: KP,
|
|
@@ -2639,8 +2639,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2639
2639
|
chosen: QP,
|
|
2640
2640
|
pickerTitle: XP,
|
|
2641
2641
|
pickerConsent: eM,
|
|
2642
|
-
submit:
|
|
2643
|
-
cancel:
|
|
2642
|
+
submit: tM,
|
|
2643
|
+
cancel: nM,
|
|
2644
2644
|
result: oM,
|
|
2645
2645
|
download: aM,
|
|
2646
2646
|
noJobs: iM,
|
|
@@ -2693,8 +2693,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2693
2693
|
scheduledJob: QM,
|
|
2694
2694
|
unknownTime: XM,
|
|
2695
2695
|
unsupported: eq
|
|
2696
|
-
},
|
|
2697
|
-
title:
|
|
2696
|
+
}, nq = "Tâches en arrière-plan", oq = "Copie un fichier sélectionné dans le paquet et calcule son SHA-256. Les tâches continuent après la déconnexion ; le paquet conserve la copie et le résultat.", aq = "Worker", iq = "Le worker s’exécute sous {user}", sq = "Le worker n’est pas en cours d’exécution", rq = "Choisir un fichier", cq = "Fichier sélectionné : {path}", lq = "Choisir un fichier à importer", dq = "Le fichier sélectionné est lu une seule fois avec votre connexion DSM actuelle et transmis à la tâche en arrière-plan. Aucune autorisation n'est enregistrée.", uq = "Importer et envoyer", pq = "Annuler", hq = "Résultat", gq = "Télécharger le résultat", mq = "Aucune tâche", fq = "En attente", $q = "En cours", vq = "Réussie", bq = "Échec", Sq = "Annulée", _q = "Interrompue", zq = "En pause", yq = "Mise en pause…", Aq = "Pause", kq = "Reprendre", wq = { one: "{done} sur {count} élément", other: "{done} sur {count} éléments" }, Dq = "{done} sur {total}", Cq = "Élément en cours : {item}", Pq = "Jusqu’à {size} KB par fichier, {queue} tâches en attente, {seconds} secondes par tâche.", Mq = { jobs_busy: "Le système est occupé. Veuillez réessayer plus tard.", failed: "La requête n’a pas pu aboutir. Actualisez puis réessayez.", "limit-exceeded": "Le fichier dépasse la limite.", "queue-full": "La file d’attente est pleine.", "quota-exceeded": "Le stockage en arrière-plan est plein.", conflict: "L’état de la tâche a changé. Actualisez.", not_found: "Introuvable.", denied: "Accès refusé.", session_required: "Votre session DSM a expiré. Reconnectez-vous.", "owner-queue-full": "Votre limite de tâches en attente est atteinte. Attendez une fin ou annulez une tâche.", "owner-quota-exceeded": "Votre limite de stockage est atteinte. Demandez à un administrateur d’effacer vos anciennes tâches.", identity_unavailable: "L’UID de votre utilisateur DSM n’a pas pu être vérifié. Reconnectez-vous ou contactez un administrateur.", "schedule-full": "La limite de 8 planifications est atteinte. Supprimez-en une.", "input-unavailable": "La copie privée manque ou a changé. Importez-la à nouveau.", unsupported: "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez." }, qq = "Vous pouvez voir, annuler et télécharger uniquement vos propres tâches.", Tq = "Les administrateurs peuvent voir et annuler les tâches de tous les utilisateurs.", Eq = "Par utilisateur : {jobs} tâches en attente et {size} KB pour les entrées et résultats réservés.", Lq = "Propriétaire : {user} (UID {uid})", Iq = "Effacer les tâches du propriétaire", Rq = "Effacer toutes les tâches de {user} (UID {uid}) ? Les tâches en cours seront annulées et terminées ; les résultats enregistrés seront supprimés.", jq = "Confirmer l’effacement", xq = "Conserver les tâches", Nq = "Planifications", Uq = "Recalcule la copie privée fixe avec le compte du paquet chaque heure, jour ou semaine. Jusqu’à 8 planifications. Les exécutions manquées sont consignées sans rattrapage.", Oq = "Planifier cette copie", Fq = "Copie privée : {name}", Hq = "Intervalle de répétition", Bq = "Chaque heure", Vq = "Chaque jour", Wq = "Chaque semaine", Jq = "J’accepte de conserver cette copie fixe et de la recalculer avec le compte du paquet. Aucun nouveau fichier source ni ACL personnel n’est lu.", Kq = "Créer la planification", Gq = "Aucune planification", Zq = "Activé", Yq = "Désactivé", Qq = "Prochaine exécution : {time}", Xq = "Exécutions manquées : {count}", eT = "Désactiver la planification", tT = "Supprimer la planification", nT = "Supprimer la planification de {name} ? Les tâches en attente sont annulées et celles en cours s’arrêtent proprement. Les résultats terminés sont conservés.", oT = "Confirmer la suppression", aT = "Activer la planification", iT = "Activer la planification de {name} avec la révision actuelle du worker ? J’accepte de recalculer cette copie fixe. Les anciennes exécutions ne seront pas rejouées.", sT = "Confirmer l’activation", rT = "La révision du worker a changé. Un administrateur doit vérifier et activer explicitement cette planification.", cT = "Exécution planifiée", lT = "Inconnue", dT = "Les tâches en arrière-plan sont indisponibles. Actualisez et réessayez.", uT = {
|
|
2697
|
+
title: nq,
|
|
2698
2698
|
help: oq,
|
|
2699
2699
|
worker: aq,
|
|
2700
2700
|
workerRunning: iq,
|
|
@@ -2747,8 +2747,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2747
2747
|
nextRun: Qq,
|
|
2748
2748
|
missedRuns: Xq,
|
|
2749
2749
|
disableSchedule: eT,
|
|
2750
|
-
deleteSchedule:
|
|
2751
|
-
deleteScheduleConsent:
|
|
2750
|
+
deleteSchedule: tT,
|
|
2751
|
+
deleteScheduleConsent: nT,
|
|
2752
2752
|
confirmDeleteSchedule: oT,
|
|
2753
2753
|
enableSchedule: aT,
|
|
2754
2754
|
enableScheduleConsent: iT,
|
|
@@ -2757,7 +2757,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2757
2757
|
scheduledJob: cT,
|
|
2758
2758
|
unknownTime: lT,
|
|
2759
2759
|
unsupported: dT
|
|
2760
|
-
}, pT = "Processi in background", hT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato.", gT = "Worker", mT = "Il worker è in esecuzione come {user}", fT = "Il worker non è in esecuzione", $T = "Scegli un file", vT = "File selezionato: {path}", bT = "Scegli un file da importare", ST = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata.", _T = "Importa e invia", zT = "Annulla", yT = "Risultato", AT = "Scarica il risultato", kT = "Nessun processo", wT = "In coda", DT = "In esecuzione", CT = "Riuscito", PT = "Non riuscito", MT = "Annullato", qT = "Interrotto", TT = "In pausa", ET = "Sospensione in corso…", LT = "Sospendi", IT = "Riprendi", RT = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, jT = "{done} di {total}", xT = "Elemento corrente: {item}", NT = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo.", UT = { jobs_busy: "Sistema occupato. Riprovare in seguito.", failed: "Impossibile completare la richiesta. Aggiornare e riprovare.", "limit-exceeded": "Il file supera il limite.", "queue-full": "La coda è piena.", "quota-exceeded": "Lo spazio di archiviazione in background è pieno.", conflict: "Lo stato del processo è cambiato. Aggiornare.", not_found: "Non trovato.", denied: "Accesso negato.", session_required: "La sessione DSM è scaduta. Accedere di nuovo.", "owner-queue-full": "È stato raggiunto il limite dei processi in attesa. Attendere il completamento di un processo o annullarne uno.", "owner-quota-exceeded": "È stato raggiunto il limite di archiviazione. Chiedere a un amministratore di cancellare i vecchi processi.", identity_unavailable: "Impossibile verificare l’UID dell’utente DSM. Accedere di nuovo o contattare un amministratore.", "schedule-full": "Limite di 8 pianificazioni raggiunto. Eliminarne una.", "input-unavailable": "La copia privata non è disponibile o è cambiata. Importarla di nuovo.", unsupported: "I processi in background non sono disponibili. Aggiornare e riprovare." }, OT = "È possibile vedere, annullare e scaricare solo i propri processi.", FT = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti.", HT = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati.", BT = "Proprietario: {user} (UID {uid})", VT = "Cancella processi del proprietario", WT = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi.", JT = "Conferma cancellazione", KT = "Conserva processi", GT = "Pianificazioni", ZT = "Ricalcola la copia privata fissa come utente del pacchetto ogni ora, giorno o settimana. Fino a 8 pianificazioni. Le esecuzioni perse vengono registrate, senza recupero.", YT = "Pianifica questa copia", QT = "Copia privata: {name}", XT = "Intervallo di ripetizione", eE = "Ogni ora",
|
|
2760
|
+
}, pT = "Processi in background", hT = "Copia un file selezionato nel pacchetto e calcola il suo SHA-256. I processi continuano dopo la disconnessione; il pacchetto conserva copia e risultato.", gT = "Worker", mT = "Il worker è in esecuzione come {user}", fT = "Il worker non è in esecuzione", $T = "Scegli un file", vT = "File selezionato: {path}", bT = "Scegli un file da importare", ST = "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata.", _T = "Importa e invia", zT = "Annulla", yT = "Risultato", AT = "Scarica il risultato", kT = "Nessun processo", wT = "In coda", DT = "In esecuzione", CT = "Riuscito", PT = "Non riuscito", MT = "Annullato", qT = "Interrotto", TT = "In pausa", ET = "Sospensione in corso…", LT = "Sospendi", IT = "Riprendi", RT = { one: "{done} di {count} elemento", other: "{done} di {count} elementi" }, jT = "{done} di {total}", xT = "Elemento corrente: {item}", NT = "Fino a {size} KB per file, {queue} processi in coda, {seconds} secondi per processo.", UT = { jobs_busy: "Sistema occupato. Riprovare in seguito.", failed: "Impossibile completare la richiesta. Aggiornare e riprovare.", "limit-exceeded": "Il file supera il limite.", "queue-full": "La coda è piena.", "quota-exceeded": "Lo spazio di archiviazione in background è pieno.", conflict: "Lo stato del processo è cambiato. Aggiornare.", not_found: "Non trovato.", denied: "Accesso negato.", session_required: "La sessione DSM è scaduta. Accedere di nuovo.", "owner-queue-full": "È stato raggiunto il limite dei processi in attesa. Attendere il completamento di un processo o annullarne uno.", "owner-quota-exceeded": "È stato raggiunto il limite di archiviazione. Chiedere a un amministratore di cancellare i vecchi processi.", identity_unavailable: "Impossibile verificare l’UID dell’utente DSM. Accedere di nuovo o contattare un amministratore.", "schedule-full": "Limite di 8 pianificazioni raggiunto. Eliminarne una.", "input-unavailable": "La copia privata non è disponibile o è cambiata. Importarla di nuovo.", unsupported: "I processi in background non sono disponibili. Aggiornare e riprovare." }, OT = "È possibile vedere, annullare e scaricare solo i propri processi.", FT = "Gli amministratori possono vedere e annullare i processi di tutti gli utenti.", HT = "Per utente: {jobs} processi in attesa e {size} KB per input e risultati riservati.", BT = "Proprietario: {user} (UID {uid})", VT = "Cancella processi del proprietario", WT = "Cancellare tutti i processi di {user} (UID {uid})? I processi in corso saranno annullati e terminati; i risultati salvati saranno rimossi.", JT = "Conferma cancellazione", KT = "Conserva processi", GT = "Pianificazioni", ZT = "Ricalcola la copia privata fissa come utente del pacchetto ogni ora, giorno o settimana. Fino a 8 pianificazioni. Le esecuzioni perse vengono registrate, senza recupero.", YT = "Pianifica questa copia", QT = "Copia privata: {name}", XT = "Intervallo di ripetizione", eE = "Ogni ora", tE = "Ogni giorno", nE = "Ogni settimana", oE = "Acconsento a conservare questa copia fissa e a ricalcolarla come utente del pacchetto. Non vengono letti nuovi file di origine o ACL personali.", aE = "Crea pianificazione", iE = "Nessuna pianificazione", sE = "Abilitato", rE = "Disabilitato", cE = "Prossima esecuzione: {time}", lE = "Esecuzioni perse: {count}", dE = "Disattiva pianificazione", uE = "Elimina pianificazione", pE = "Eliminare la pianificazione di {name}? I lavori in coda vengono annullati e quelli in corso vengono arrestati e conclusi. I risultati completati restano.", hE = "Conferma eliminazione", gE = "Attiva pianificazione", mE = "Attivare la pianificazione di {name} con la revisione attuale del worker? Acconsento a ricalcolare questa copia fissa. Le esecuzioni passate non saranno ripetute.", fE = "Conferma attivazione", $E = "La revisione del worker è cambiata. Un amministratore deve verificare e attivare esplicitamente questa pianificazione.", vE = "Esecuzione pianificata", bE = "Sconosciuta", SE = "I processi in background non sono disponibili. Aggiornare e riprovare.", _E = {
|
|
2761
2761
|
title: pT,
|
|
2762
2762
|
help: hT,
|
|
2763
2763
|
worker: gT,
|
|
@@ -2801,8 +2801,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2801
2801
|
scheduleSource: QT,
|
|
2802
2802
|
interval: XT,
|
|
2803
2803
|
hourly: eE,
|
|
2804
|
-
daily:
|
|
2805
|
-
weekly:
|
|
2804
|
+
daily: tE,
|
|
2805
|
+
weekly: nE,
|
|
2806
2806
|
scheduleConsent: oE,
|
|
2807
2807
|
createSchedule: aE,
|
|
2808
2808
|
noSchedules: iE,
|
|
@@ -2821,7 +2821,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2821
2821
|
scheduledJob: vE,
|
|
2822
2822
|
unknownTime: bE,
|
|
2823
2823
|
unsupported: SE
|
|
2824
|
-
}, zE = "バックグラウンドジョブ", yE = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します。", AE = "ワーカー", kE = "ワーカーは {user} として実行中です", wE = "ワーカーは停止しています", DE = "ファイルを選択", CE = "選択したファイル:{path}", PE = "インポートするファイルを選択", ME = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。", qE = "インポートして送信", TE = "キャンセル", EE = "結果", LE = "結果をダウンロード", IE = "ジョブはまだありません", RE = "待機中", jE = "実行中", xE = "成功", NE = "失敗", UE = "キャンセル済み", OE = "中断", FE = "一時停止中", HE = "一時停止しています…", BE = "一時停止", VE = "再開", WE = { other: "{done} / {count} 項目" }, JE = "{done} / {total}", KE = "現在の項目:{item}", GE = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒。", ZE = { jobs_busy: "処理が混み合っています。しばらくしてから再試行してください。", failed: "要求を完了できませんでした。最新の情報に更新して再試行してください。", "limit-exceeded": "ファイルが上限を超えています。", "queue-full": "キューがいっぱいです。", "quota-exceeded": "バックグラウンド用の容量がいっぱいです。", conflict: "ジョブの状態が変わりました。最新の情報に更新してください。", not_found: "見つかりません。", denied: "アクセスが拒否されました。", session_required: "DSM セッションの有効期限が切れました。再度サインインしてください。", "owner-queue-full": "保留中ジョブの上限です。完了を待つか、ジョブをキャンセルしてください。", "owner-quota-exceeded": "保存領域の上限です。管理者に古いジョブの消去を依頼してください。", identity_unavailable: "DSM ユーザーの UID を確認できません。再度サインインするか、管理者に連絡してください。", "schedule-full": "スケジュールは最大 8 件です。削除してください。", "input-unavailable": "非公開コピーがないか変更されています。再度インポートしてください。", unsupported: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。" }, YE = "自分のジョブのみ表示、キャンセル、ダウンロードできます。", QE = "管理者はすべてのユーザーのジョブを表示、キャンセルできます。", XE = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB。", eL = "所有者:{user}(UID {uid})",
|
|
2824
|
+
}, zE = "バックグラウンドジョブ", yE = "選択したファイルをパッケージにコピーし、SHA-256 を計算します。サインアウト後も処理は継続し、コピーと結果はパッケージが保存します。", AE = "ワーカー", kE = "ワーカーは {user} として実行中です", wE = "ワーカーは停止しています", DE = "ファイルを選択", CE = "選択したファイル:{path}", PE = "インポートするファイルを選択", ME = "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。", qE = "インポートして送信", TE = "キャンセル", EE = "結果", LE = "結果をダウンロード", IE = "ジョブはまだありません", RE = "待機中", jE = "実行中", xE = "成功", NE = "失敗", UE = "キャンセル済み", OE = "中断", FE = "一時停止中", HE = "一時停止しています…", BE = "一時停止", VE = "再開", WE = { other: "{done} / {count} 項目" }, JE = "{done} / {total}", KE = "現在の項目:{item}", GE = "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒。", ZE = { jobs_busy: "処理が混み合っています。しばらくしてから再試行してください。", failed: "要求を完了できませんでした。最新の情報に更新して再試行してください。", "limit-exceeded": "ファイルが上限を超えています。", "queue-full": "キューがいっぱいです。", "quota-exceeded": "バックグラウンド用の容量がいっぱいです。", conflict: "ジョブの状態が変わりました。最新の情報に更新してください。", not_found: "見つかりません。", denied: "アクセスが拒否されました。", session_required: "DSM セッションの有効期限が切れました。再度サインインしてください。", "owner-queue-full": "保留中ジョブの上限です。完了を待つか、ジョブをキャンセルしてください。", "owner-quota-exceeded": "保存領域の上限です。管理者に古いジョブの消去を依頼してください。", identity_unavailable: "DSM ユーザーの UID を確認できません。再度サインインするか、管理者に連絡してください。", "schedule-full": "スケジュールは最大 8 件です。削除してください。", "input-unavailable": "非公開コピーがないか変更されています。再度インポートしてください。", unsupported: "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。" }, YE = "自分のジョブのみ表示、キャンセル、ダウンロードできます。", QE = "管理者はすべてのユーザーのジョブを表示、キャンセルできます。", XE = "ユーザーごとの上限:保留中 {jobs} 件、入力と予約済み結果の保存領域 {size} KB。", eL = "所有者:{user}(UID {uid})", tL = "所有者のジョブを消去", nL = "{user}(UID {uid})の全ジョブを消去しますか?実行中のジョブはキャンセルして終了を待ち、保存済み結果は削除します。", oL = "消去を確認", aL = "ジョブを保持", iL = "スケジュール", sL = "パッケージユーザーとして固定の非公開コピーを毎時、毎日、毎週再計算します。最大 8 件。逃した実行は記録のみで再実行しません。", rL = "このコピーを定期実行", cL = "非公開コピー:{name}", lL = "繰り返し間隔", dL = "毎時", uL = "毎日", pL = "毎週", hL = "固定コピーを保存し、パッケージユーザーとして再計算することに同意します。新しい元ファイルや個人 ACL は読みません。", gL = "スケジュールを作成", mL = "スケジュールはありません", fL = "有効", $L = "無効", vL = "次回実行:{time}", bL = "逃した実行:{count} 回", SL = "スケジュールを無効化", _L = "スケジュールを削除", zL = "{name} のスケジュールを削除しますか?待機中のジョブは取り消され、実行中のジョブは停止処理を行います。完了した結果は残ります。", yL = "削除を確認", AL = "スケジュールを有効化", kL = "現在のワーカーリビジョンで {name} のスケジュールを有効にしますか?固定コピーの再計算に同意します。過去の実行は再生しません。", wL = "有効化を確認", DL = "ワーカーのリビジョンが変更されました。管理者が確認して明示的に有効にしてください。", CL = "定期実行", PL = "不明", ML = "バックグラウンドジョブを利用できません。最新の情報に更新して再試行してください。", qL = {
|
|
2825
2825
|
title: zE,
|
|
2826
2826
|
help: yE,
|
|
2827
2827
|
worker: AE,
|
|
@@ -2855,8 +2855,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2855
2855
|
adminScope: QE,
|
|
2856
2856
|
ownerLimits: XE,
|
|
2857
2857
|
owner: eL,
|
|
2858
|
-
purgeOwner:
|
|
2859
|
-
purgeConfirm:
|
|
2858
|
+
purgeOwner: tL,
|
|
2859
|
+
purgeConfirm: nL,
|
|
2860
2860
|
confirmPurge: oL,
|
|
2861
2861
|
keepJobs: aL,
|
|
2862
2862
|
schedulesTitle: iL,
|
|
@@ -2885,7 +2885,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2885
2885
|
scheduledJob: CL,
|
|
2886
2886
|
unknownTime: PL,
|
|
2887
2887
|
unsupported: ML
|
|
2888
|
-
}, TL = "백그라운드 작업", EL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다.", LL = "워커", IL = "워커가 {user} 계정으로 실행 중", RL = "워커가 실행 중이 아닙니다", jL = "파일 선택", xL = "선택한 파일: {path}", NL = "가져올 파일 선택", UL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.", OL = "가져오기 및 제출", FL = "취소", HL = "결과", BL = "결과 다운로드", VL = "작업이 없습니다", WL = "대기 중", JL = "실행 중", KL = "성공", GL = "실패", ZL = "취소됨", YL = "중단됨", QL = "일시 중지됨", XL = "일시 중지 중…", e1 = "일시 중지",
|
|
2888
|
+
}, TL = "백그라운드 작업", EL = "선택한 파일 하나를 패키지에 복사하고 SHA-256을 계산합니다. 로그아웃 후에도 작업은 계속되며 복사본과 결과는 패키지가 보관합니다.", LL = "워커", IL = "워커가 {user} 계정으로 실행 중", RL = "워커가 실행 중이 아닙니다", jL = "파일 선택", xL = "선택한 파일: {path}", NL = "가져올 파일 선택", UL = "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.", OL = "가져오기 및 제출", FL = "취소", HL = "결과", BL = "결과 다운로드", VL = "작업이 없습니다", WL = "대기 중", JL = "실행 중", KL = "성공", GL = "실패", ZL = "취소됨", YL = "중단됨", QL = "일시 중지됨", XL = "일시 중지 중…", e1 = "일시 중지", t1 = "다시 시작", n1 = { other: "{done}/{count}개 항목" }, o1 = "{done} / {total}", a1 = "현재 항목: {item}", i1 = "파일당 최대 {size} KB, 대기 {queue}개, 작업당 {seconds}초.", s1 = { jobs_busy: "시스템이 사용 중입니다. 나중에 다시 시도하십시오.", failed: "요청을 완료할 수 없습니다. 새로 고친 후 다시 시도하십시오.", "limit-exceeded": "파일이 한도를 초과했습니다.", "queue-full": "대기열이 가득 찼습니다.", "quota-exceeded": "백그라운드 저장 공간이 가득 찼습니다.", conflict: "작업 상태가 변경되었습니다. 새로 고치십시오.", not_found: "찾을 수 없습니다.", denied: "액세스가 거부되었습니다.", session_required: "DSM 세션이 만료되었습니다. 다시 로그인하십시오.", "owner-queue-full": "대기 작업 한도에 도달했습니다. 완료를 기다리거나 작업 하나를 취소하십시오.", "owner-quota-exceeded": "저장 공간 한도에 도달했습니다. 관리자에게 이전 작업 삭제를 요청하십시오.", identity_unavailable: "DSM 사용자 UID를 확인할 수 없습니다. 다시 로그인하거나 관리자에게 문의하십시오.", "schedule-full": "일정은 최대 8개입니다. 일정을 삭제하십시오.", "input-unavailable": "비공개 사본이 없거나 변경되었습니다. 다시 가져오십시오.", unsupported: "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오." }, r1 = "자신의 작업만 보고 취소하고 다운로드할 수 있습니다.", c1 = "관리자는 모든 사용자의 작업을 보고 취소할 수 있습니다.", l1 = "사용자당 한도: 대기 중인 작업 {jobs}개, 입력 및 결과 예약 저장 공간 {size} KB.", d1 = "소유자: {user} (UID {uid})", u1 = "소유자의 작업 지우기", p1 = "{user} (UID {uid})의 모든 작업을 지울까요? 실행 중인 작업은 취소 후 종료를 기다리며 저장된 결과는 삭제됩니다.", h1 = "지우기 확인", g1 = "작업 유지", m1 = "일정", f1 = "패키지 사용자로 고정된 비공개 사본을 매시간, 매일 또는 매주 다시 계산합니다. 최대 8개 일정. 놓친 실행은 기록만 하며 다시 실행하지 않습니다.", $1 = "이 사본 예약", v1 = "비공개 사본: {name}", b1 = "반복 간격", S1 = "매시간", _1 = "매일", z1 = "매주", y1 = "고정된 사본을 보관하고 패키지 사용자로 다시 계산하는 데 동의합니다. 새 원본 파일이나 개인 ACL은 읽지 않습니다.", A1 = "일정 만들기", k1 = "일정 없음", w1 = "활성화됨", D1 = "사용 안함", C1 = "다음 실행: {time}", P1 = "놓친 실행: {count}회", M1 = "일정 비활성화", q1 = "일정 삭제", T1 = "{name}의 일정을 삭제할까요? 대기 작업은 취소되고 실행 중인 작업은 중지 후 정리됩니다. 완료된 결과는 유지됩니다.", E1 = "삭제 확인", L1 = "일정 활성화", I1 = "현재 작업자 리비전으로 {name}의 일정을 활성화할까요? 고정된 사본의 재계산에 동의합니다. 과거 실행은 반복하지 않습니다.", R1 = "활성화 확인", j1 = "작업자 리비전이 변경되었습니다. 관리자가 검토하고 명시적으로 활성화해야 합니다.", x1 = "예약 실행", N1 = "알 수 없음", U1 = "백그라운드 작업을 사용할 수 없습니다. 새로 고친 후 다시 시도하십시오.", O1 = {
|
|
2889
2889
|
title: TL,
|
|
2890
2890
|
help: EL,
|
|
2891
2891
|
worker: LL,
|
|
@@ -2909,8 +2909,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2909
2909
|
state_paused: QL,
|
|
2910
2910
|
pausing: XL,
|
|
2911
2911
|
pause: e1,
|
|
2912
|
-
resume:
|
|
2913
|
-
progressItems:
|
|
2912
|
+
resume: t1,
|
|
2913
|
+
progressItems: n1,
|
|
2914
2914
|
progressBytes: o1,
|
|
2915
2915
|
progressItem: a1,
|
|
2916
2916
|
limits: i1,
|
|
@@ -2949,7 +2949,7 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2949
2949
|
scheduledJob: x1,
|
|
2950
2950
|
unknownTime: N1,
|
|
2951
2951
|
unsupported: U1
|
|
2952
|
-
}, F1 = "后台任务", H1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存。", B1 = "Worker", V1 = "Worker 正以 {user} 运行", W1 = "Worker 未运行", J1 = "选择文件", K1 = "已选择的文件:{path}", G1 = "选择要导入的文件", Z1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。", Y1 = "导入并提交", Q1 = "取消", X1 = "结果", eI = "下载结果",
|
|
2952
|
+
}, F1 = "后台任务", H1 = "将选择的一个文件复制到套件内并计算 SHA-256。注销后任务仍会继续,副本与结果由套件保存。", B1 = "Worker", V1 = "Worker 正以 {user} 运行", W1 = "Worker 未运行", J1 = "选择文件", K1 = "已选择的文件:{path}", G1 = "选择要导入的文件", Z1 = "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。", Y1 = "导入并提交", Q1 = "取消", X1 = "结果", eI = "下载结果", tI = "暂无任务", nI = "排队中", oI = "运行中", aI = "成功", iI = "失败", sI = "已取消", rI = "已中断", cI = "已暂停", lI = "正在暂停…", dI = "暂停", uI = "继续", pI = { other: "{done} / {count} 个项目" }, hI = "{done} / {total}", gI = "当前项目:{item}", mI = "每个文件最多 {size} KB、最多 {queue} 个排队任务、每个任务最长 {seconds} 秒。", fI = { jobs_busy: "系统繁忙,请稍后重试。", failed: "无法完成请求。请刷新后重试。", "limit-exceeded": "文件超过上限。", "queue-full": "队列已满。", "quota-exceeded": "后台存储空间已满。", conflict: "任务状态已变更,请刷新。", not_found: "未找到。", denied: "访问被拒绝。", session_required: "DSM 会话已过期,请重新登录。", "owner-queue-full": "你的待处理任务已达上限。请等待完成或取消一个任务。", "owner-quota-exceeded": "你的后台存储已达上限。请管理员清除旧任务。", identity_unavailable: "无法确认你的 DSM 用户 UID。请重新登录或联系管理员。", "schedule-full": "已达 8 个计划上限。请删除计划。", "input-unavailable": "私有副本不存在或已更改。请重新导入。", unsupported: "后台任务无法使用,请刷新后重试。" }, $I = "你只能查看、取消及下载自己的任务。", vI = "管理员可查看及取消所有用户的任务。", bI = "每人上限:{jobs} 个待处理任务、{size} KB 输入与预留结果存储。", SI = "所有者:{user}(UID {uid})", _I = "清除所有者的任务", zI = "清除 {user}(UID {uid})的所有任务?运行中的任务会取消并等待结束;已保存的结果会移除。", yI = "确认清除", AI = "保留任务", kI = "计划", wI = "由套件账户每小时、每日或每周重新计算固定私有副本。最多 8 个计划;错过的运行仅记录,不会补上。", DI = "计划重跑副本", CI = "私有副本:{name}", PI = "重复间隔", MI = "每小时", qI = "每日", TI = "每周", EI = "我同意保留此固定副本,并由套件账户重新计算。不读取新来源文件或个人 ACL。", LI = "创建计划", II = "暂无计划", RI = "已启动", jI = "已停用", xI = "下次运行:{time}", NI = "错过运行:{count} 次", UI = "停用计划", OI = "删除计划", FI = "删除 {name} 的计划?排队任务将取消,运行中的任务将停止并完成收尾。已完成结果保留。", HI = "确认删除", BI = "启用计划", VI = "使用当前 worker revision 启用 {name} 的计划?我同意重新计算此固定副本。过去错过的运行不会补上。", WI = "确认启用", JI = "Worker revision 已更改。管理员须检查并明确启用此计划。", KI = "计划运行", GI = "未知", ZI = "后台任务无法使用,请刷新后重试。", YI = {
|
|
2953
2953
|
title: F1,
|
|
2954
2954
|
help: H1,
|
|
2955
2955
|
worker: B1,
|
|
@@ -2963,8 +2963,8 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
2963
2963
|
cancel: Q1,
|
|
2964
2964
|
result: X1,
|
|
2965
2965
|
download: eI,
|
|
2966
|
-
noJobs:
|
|
2967
|
-
state_queued:
|
|
2966
|
+
noJobs: tI,
|
|
2967
|
+
state_queued: nI,
|
|
2968
2968
|
state_running: oI,
|
|
2969
2969
|
state_succeeded: aI,
|
|
2970
2970
|
state_failed: iI,
|
|
@@ -3013,12 +3013,12 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
3013
3013
|
scheduledJob: KI,
|
|
3014
3014
|
unknownTime: GI,
|
|
3015
3015
|
unsupported: ZI
|
|
3016
|
-
}, QI = "背景工作", XI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存。", eR = "Worker",
|
|
3016
|
+
}, QI = "背景工作", XI = "將選取的一個檔案複製到套件內並計算 SHA-256。登出後工作仍會繼續,副本與結果由套件保存。", eR = "Worker", tR = "Worker 正以 {user} 執行", nR = "Worker 未執行", oR = "選擇檔案", aR = "已選擇的檔案:{path}", iR = "選擇要匯入的檔案", sR = "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權。", rR = "匯入並送出", cR = "取消", lR = "結果", dR = "下載結果", uR = "尚無工作", pR = "排隊中", hR = "執行中", gR = "成功", mR = "失敗", fR = "已取消", $R = "已中斷", vR = "已暫停", bR = "正在暫停…", SR = "暫停", _R = "繼續", zR = { other: "{done} / {count} 個項目" }, yR = "{done} / {total}", AR = "目前項目:{item}", kR = "每個檔案最多 {size} KB、最多 {queue} 個排隊工作、每個工作最長 {seconds} 秒。", wR = { jobs_busy: "忙碌中,請稍後重試", failed: "無法完成要求。請重新整理後再試。", "limit-exceeded": "檔案超過上限。", "queue-full": "佇列已滿。", "quota-exceeded": "背景儲存空間已滿。", conflict: "工作狀態已變更,請重新整理。", not_found: "找不到。", denied: "存取被拒絕。", session_required: "DSM 工作階段已過期,請重新登入。", "owner-queue-full": "你的待處理工作已達上限。請等待完成或取消一個工作。", "owner-quota-exceeded": "你的背景儲存已達上限。請管理員清除舊工作。", identity_unavailable: "無法確認你的 DSM 使用者 UID。請重新登入或洽管理員。", "schedule-full": "已達 8 個排程上限。請刪除排程。", "input-unavailable": "私有副本不存在或已變更。請重新匯入。", unsupported: "背景工作無法使用,請重新整理後再試。" }, DR = "你只能檢視、取消及下載自己的工作。", CR = "管理員可檢視及取消所有使用者的工作。", PR = "每人上限:{jobs} 個待處理工作、{size} KB 輸入與預留結果儲存。", MR = "擁有者:{user}(UID {uid})", qR = "清除擁有者的工作", TR = "清除 {user}(UID {uid})的所有工作?執行中的工作會取消並等待結束;已儲存的結果會移除。", ER = "確認清除", LR = "保留工作", IR = "排程", RR = "由套件帳號每小時、每日或每週重算固定私有副本。最多 8 個排程;錯過的執行只記錄,不補跑。", jR = "排程重跑副本", xR = "私有副本:{name}", NR = "重複間隔", UR = "每小時", OR = "每日", FR = "每週", HR = "我同意保留此固定副本,並由套件帳號重算。不讀取新來源檔案或個人 ACL。", BR = "建立排程", VR = "尚無排程", WR = "已啟用", JR = "已停用", KR = "下次執行:{time}", GR = "錯過執行:{count} 次", ZR = "停用排程", YR = "刪除排程", QR = "刪除 {name} 的排程?排隊工作會取消,執行中工作會停止並完成收尾。已完成結果保留。", XR = "確認刪除", e8 = "啟用排程", t8 = "使用目前 worker revision 啟用 {name} 的排程?我同意重算此固定副本。不重播過去的執行。", n8 = "確認啟用", o8 = "Worker revision 已變更。管理員須審閱並明確啟用此排程。", a8 = "排程執行", i8 = "未知", s8 = "背景工作無法使用,請重新整理後再試。", r8 = {
|
|
3017
3017
|
title: QI,
|
|
3018
3018
|
help: XI,
|
|
3019
3019
|
worker: eR,
|
|
3020
|
-
workerRunning:
|
|
3021
|
-
workerStopped:
|
|
3020
|
+
workerRunning: tR,
|
|
3021
|
+
workerStopped: nR,
|
|
3022
3022
|
chooseFile: oR,
|
|
3023
3023
|
chosen: aR,
|
|
3024
3024
|
pickerTitle: iR,
|
|
@@ -3071,23 +3071,23 @@ const wD = "Hintergrundaufträge", DD = "Kopiert eine ausgewählte Datei ins Pak
|
|
|
3071
3071
|
deleteScheduleConsent: QR,
|
|
3072
3072
|
confirmDeleteSchedule: XR,
|
|
3073
3073
|
enableSchedule: e8,
|
|
3074
|
-
enableScheduleConsent:
|
|
3075
|
-
confirmEnableSchedule:
|
|
3074
|
+
enableScheduleConsent: t8,
|
|
3075
|
+
confirmEnableSchedule: n8,
|
|
3076
3076
|
revisionChanged: o8,
|
|
3077
3077
|
scheduledJob: a8,
|
|
3078
3078
|
unknownTime: i8,
|
|
3079
3079
|
unsupported: s8
|
|
3080
|
-
}, he = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": IC, "../../i18n/background/en.json": VP, "../../i18n/background/es.json":
|
|
3081
|
-
function
|
|
3080
|
+
}, he = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/background/de.json": IC, "../../i18n/background/en.json": VP, "../../i18n/background/es.json": tq, "../../i18n/background/fr.json": uT, "../../i18n/background/it.json": _E, "../../i18n/background/ja.json": qL, "../../i18n/background/ko.json": O1, "../../i18n/background/zh-CN.json": YI, "../../i18n/background/zh-TW.json": r8 }));
|
|
3081
|
+
function t6(e) {
|
|
3082
3082
|
return he[z(e)];
|
|
3083
3083
|
}
|
|
3084
|
-
function
|
|
3085
|
-
const o = E(e, a ?? Object.entries(he).find(([, r]) => r ===
|
|
3084
|
+
function n6(e, t, a, n) {
|
|
3085
|
+
const o = E(e, a ?? Object.entries(he).find(([, r]) => r === t)?.[0], n);
|
|
3086
3086
|
if (o) return o.message;
|
|
3087
3087
|
const i = N(e, a);
|
|
3088
3088
|
if (i) return i;
|
|
3089
3089
|
const s = e?.code ?? "";
|
|
3090
|
-
return
|
|
3090
|
+
return t.errors[s] ?? t.errors.failed;
|
|
3091
3091
|
}
|
|
3092
3092
|
const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert diese App ganze Dateien weiterhin in den von Ihnen gewählten Ordner. Vorhandene Dateien werden nie ersetzt.", d8 = "Dieser App erlauben, hier nach Ihrer Abmeldung zu speichern, bis Sie den Zugriff widerrufen.", u8 = "Zugriff widerrufen", p8 = "Ordner auswählen", h8 = "Ein Administrator muss das Speichern im Hintergrund genehmigen, bevor Sie einen Ordner auswählen können.", g8 = "Speichern im Hintergrund aktivieren", m8 = "Das Speichern im Hintergrund ist deaktiviert. Ein Administrator kann es aktivieren; danach müssen Sie erneut ein Ziel auswählen.", f8 = "Das Ergebnis ist unbekannt. Prüfen Sie diesen ursprünglichen Auftrag und das Ziel, bevor Sie weitere Schritte unternehmen. Diese App speichert nicht automatisch erneut.", $8 = "Der Zugriff wurde verweigert. Prüfen Sie Ihre Ordnerberechtigungen und wählen Sie das Ziel dann erneut aus.", v8 = "Sie haben keine Schreibberechtigung für diesen Ordner. Speichern Sie erneut, sobald die Berechtigung wiederhergestellt ist; Sie müssen den Ordner nicht erneut auswählen.", b8 = "Sie haben keine Schreibberechtigung für diesen Ordner; er wurde daher nicht autorisiert. Wählen Sie einen anderen Ordner, oder wählen Sie diesen erneut, sobald die Berechtigung wiederhergestellt ist.", S8 = "Der Zielordner existiert nicht mehr. Verschieben Sie ihn zurück, um wieder dort zu speichern, oder wählen Sie ein anderes Ziel.", _8 = "Die DSM-Anwendungsberechtigungen erlauben Ihnen nicht, diese App von dieser Adresse aus zu verwenden. Bitten Sie einen Administrator, die Regel zu ändern, oder speichern Sie erneut von einer erlaubten Adresse aus.", z8 = "Die DSM-Anwendungsberechtigungen erlauben Ihnen nicht, diese App von dieser Adresse aus zu verwenden. Bitten Sie einen Administrator, die Regel zu ändern, oder wählen Sie den Ordner erneut von einer erlaubten Adresse aus.", y8 = "Melden Sie sich erneut bei DSM an und aktualisieren Sie dann die Ansicht.", A8 = "Eine Datei mit diesem Namen ist bereits vorhanden. Prüfen Sie das Ziel und wählen Sie für einen neuen Auftrag einen anderen Namen.", k8 = "Es ist nicht genügend Speicherplatz vorhanden. Prüfen Sie das Ziel, bevor Sie einen neuen Auftrag starten.", w8 = "Die Aktion konnte nicht bestätigt werden. Aktualisieren Sie die Ansicht, um das aktuelle Ergebnis zu prüfen, bevor Sie weitere Schritte unternehmen.", D8 = "Der zulässige Bereich wurde geändert. Wählen Sie Ihren Speicherordner erneut aus. Gespeicherte Dateien bleiben erhalten.", C8 = "Beispieldatei speichern", P8 = "Speichern Sie eine kleine Beispieldatei mit Ihren eigenen Berechtigungen am aktiven Ziel.", M8 = "Neuer Versuch", q8 = "Speicherordner", T8 = "Nicht ausgewählt", E8 = "Abbrechen", L8 = "Zum Ändern des Speicherordners ist Ihr Benutzerpasswort erforderlich. Die Zielberechtigungen aller Benutzer werden aufgehoben. Gespeicherte Dateien bleiben erhalten.", I8 = "Benutzer können Speicherorte nur innerhalb dieses Ordners wählen.", R8 = "Genehmigen", j8 = "Änderung bestätigen", x8 = "Benutzerpasswort", N8 = {
|
|
3093
3093
|
title: c8,
|
|
@@ -3121,7 +3121,7 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
|
|
|
3121
3121
|
approve: R8,
|
|
3122
3122
|
confirmChange: j8,
|
|
3123
3123
|
password: x8
|
|
3124
|
-
}, U8 = "Background saves", O8 = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced.", F8 = "Allow this app to save here after you sign out, until you revoke access.", H8 = "Revoke access", B8 = "Choose folder", V8 = "An administrator must approve background saves before you can choose a folder.", W8 = "Enable background saves", J8 = "Background saves are disabled. An administrator can enable them; you must then select a destination again.", K8 = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically.", G8 = "Access was refused. Check your folder permissions, then select the destination again.", Z8 = "You do not have permission to write to this folder. After the permission is restored, save again; you do not need to choose the folder again.", Y8 = "You do not have permission to write to this folder, so it was not authorized. Choose another folder, or choose this one again after the permission is restored.", Q8 = "The destination folder no longer exists. Move it back to save there again, or choose another destination.", X8 = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or save again from an allowed address.", ej = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or choose the folder again from an allowed address.",
|
|
3124
|
+
}, U8 = "Background saves", O8 = "After you sign out, this app keeps saving whole files to the folder you choose. Existing files are never replaced.", F8 = "Allow this app to save here after you sign out, until you revoke access.", H8 = "Revoke access", B8 = "Choose folder", V8 = "An administrator must approve background saves before you can choose a folder.", W8 = "Enable background saves", J8 = "Background saves are disabled. An administrator can enable them; you must then select a destination again.", K8 = "The result is unknown. Check this original job and the destination before taking further action. This app will not save it again automatically.", G8 = "Access was refused. Check your folder permissions, then select the destination again.", Z8 = "You do not have permission to write to this folder. After the permission is restored, save again; you do not need to choose the folder again.", Y8 = "You do not have permission to write to this folder, so it was not authorized. Choose another folder, or choose this one again after the permission is restored.", Q8 = "The destination folder no longer exists. Move it back to save there again, or choose another destination.", X8 = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or save again from an allowed address.", ej = "DSM Application Privileges do not allow this app from this address. Ask an administrator to change the rule, or choose the folder again from an allowed address.", tj = "Sign in to DSM again, then refresh.", nj = "A file with this name already exists. Check the destination and choose another name for a new job.", oj = "There is not enough space. Check the destination before starting a new job.", aj = "The action could not be confirmed. Refresh to check the current result before taking further action.", ij = "The allowed scope changed. Choose your save folder again. Saved files remain.", sj = "Save example file", rj = "Save a small example file to your active destination with your own permissions.", cj = "Retry", lj = "Save folder", dj = "Not chosen", uj = "Cancel", pj = "Changing the save folder requires your user password and clears every user’s destination. Saved files remain.", hj = "Users can choose where to save only inside this folder.", gj = "Approve", mj = "Confirm change", fj = "User password", $j = {
|
|
3125
3125
|
title: U8,
|
|
3126
3126
|
help: O8,
|
|
3127
3127
|
selection: F8,
|
|
@@ -3137,8 +3137,8 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
|
|
|
3137
3137
|
missing: Q8,
|
|
3138
3138
|
appPrivilege: X8,
|
|
3139
3139
|
appPrivilegeSelect: ej,
|
|
3140
|
-
session:
|
|
3141
|
-
conflict:
|
|
3140
|
+
session: tj,
|
|
3141
|
+
conflict: nj,
|
|
3142
3142
|
space: oj,
|
|
3143
3143
|
error: aj,
|
|
3144
3144
|
reselect: ij,
|
|
@@ -3185,14 +3185,14 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
|
|
|
3185
3185
|
approve: Wj,
|
|
3186
3186
|
confirmChange: Jj,
|
|
3187
3187
|
password: Kj
|
|
3188
|
-
}, Zj = "Enregistrements en arrière-plan", Yj = "Après votre déconnexion, cette application continue d’enregistrer des fichiers entiers dans le dossier choisi. Les fichiers existants ne sont jamais remplacés.", Qj = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès.", Xj = "Révoquer l’accès", ex = "Choisir un dossier",
|
|
3188
|
+
}, Zj = "Enregistrements en arrière-plan", Yj = "Après votre déconnexion, cette application continue d’enregistrer des fichiers entiers dans le dossier choisi. Les fichiers existants ne sont jamais remplacés.", Qj = "Autoriser cette application à enregistrer ici après votre déconnexion, jusqu’à ce que vous révoquiez l’accès.", Xj = "Révoquer l’accès", ex = "Choisir un dossier", tx = "Un administrateur doit approuver les enregistrements en arrière-plan avant que vous puissiez choisir un dossier.", nx = "Activer les enregistrements en arrière-plan", ox = "Les enregistrements en arrière-plan sont désactivés. Un administrateur peut les activer ; vous devrez ensuite choisir à nouveau une destination.", ax = "Le résultat est inconnu. Vérifiez cette tâche d’origine et la destination avant toute autre action. Cette application ne l’enregistrera pas à nouveau automatiquement.", ix = "L’accès a été refusé. Vérifiez les autorisations du dossier, puis choisissez à nouveau la destination.", sx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier. Une fois l'autorisation rétablie, enregistrez à nouveau ; inutile de choisir à nouveau le dossier.", rx = "Vous n'avez pas l'autorisation d'écrire dans ce dossier ; il n’a donc pas été autorisé. Choisissez un autre dossier, ou choisissez à nouveau celui-ci une fois l'autorisation rétablie.", cx = "Le dossier de destination n'existe plus. Remettez-le en place pour y enregistrer à nouveau, ou choisissez une autre destination.", lx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou enregistrez à nouveau depuis une adresse autorisée.", dx = "Les privilèges d’application de DSM ne vous autorisent pas à utiliser cette application depuis cette adresse. Demandez à un administrateur de modifier la règle ou choisissez à nouveau le dossier depuis une adresse autorisée.", ux = "Reconnectez-vous à DSM, puis actualisez.", px = "Un fichier portant ce nom existe déjà. Vérifiez la destination et choisissez un autre nom pour une nouvelle tâche.", hx = "L’espace est insuffisant. Vérifiez la destination avant de lancer une nouvelle tâche.", gx = "L’action n’a pas pu être confirmée. Actualisez pour vérifier le résultat actuel avant toute autre action.", mx = "La portée autorisée a changé. Choisissez à nouveau votre dossier d’enregistrement. Les fichiers enregistrés sont conservés.", fx = "Enregistrer un fichier d’exemple", $x = "Enregistrez un petit fichier exemple dans la destination active avec vos propres autorisations.", vx = "Réessayer", bx = "Dossier d’enregistrement", Sx = "Non choisi", _x = "Annuler", zx = "La modification du dossier nécessite votre mot de passe utilisateur et révoque les autorisations de destination de tous les utilisateurs. Les fichiers enregistrés sont conservés.", yx = "Les utilisateurs ne peuvent choisir un emplacement d’enregistrement que dans ce dossier.", Ax = "Approuver", kx = "Confirmer la modification", wx = "Mot de passe utilisateur", Dx = {
|
|
3189
3189
|
title: Zj,
|
|
3190
3190
|
help: Yj,
|
|
3191
3191
|
selection: Qj,
|
|
3192
3192
|
revoke: Xj,
|
|
3193
3193
|
choose: ex,
|
|
3194
|
-
needs:
|
|
3195
|
-
enable:
|
|
3194
|
+
needs: tx,
|
|
3195
|
+
enable: nx,
|
|
3196
3196
|
disabled: ox,
|
|
3197
3197
|
uncertainHelp: ax,
|
|
3198
3198
|
denied: ix,
|
|
@@ -3217,7 +3217,7 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
|
|
|
3217
3217
|
approve: Ax,
|
|
3218
3218
|
confirmChange: kx,
|
|
3219
3219
|
password: wx
|
|
3220
|
-
}, Cx = "Salvataggi in background", Px = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti.", Mx = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso.", qx = "Revoca accesso", Tx = "Scegli cartella", Ex = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella.", Lx = "Attiva salvataggi in background", Ix = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione.", Rx = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente.", jx = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione.", xx = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella.", Nx = "Autorizzazione di scrittura mancante per questa cartella, quindi la cartella non è stata autorizzata. Scegliere un'altra cartella oppure sceglierla di nuovo dopo il ripristino dell'autorizzazione.", Ux = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione.", Ox = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure salvare di nuovo da un indirizzo consentito.", Fx = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure scegliere di nuovo la cartella da un indirizzo consentito.", Hx = "Accedere di nuovo a DSM, quindi aggiornare.", Bx = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo.", Vx = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo.", Wx = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni.", Jx = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano.", Kx = "Salva file di esempio", Gx = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni.", Zx = "Riprova", Yx = "Cartella di salvataggio", Qx = "Non scelta", Xx = "Annulla",
|
|
3220
|
+
}, Cx = "Salvataggi in background", Px = "Dopo la disconnessione, questa app continua a salvare file interi nella cartella scelta. I file esistenti non vengono mai sostituiti.", Mx = "Consentire a questa app di salvare qui dopo la disconnessione, fino alla revoca dell’accesso.", qx = "Revoca accesso", Tx = "Scegli cartella", Ex = "Un amministratore deve approvare i salvataggi in background prima di poter scegliere una cartella.", Lx = "Attiva salvataggi in background", Ix = "I salvataggi in background sono disattivati. Un amministratore può attivarli; sarà poi necessario scegliere di nuovo una destinazione.", Rx = "Il risultato è sconosciuto. Controllare questo processo originale e la destinazione prima di intraprendere altre azioni. Questa app non lo salverà di nuovo automaticamente.", jx = "Accesso negato. Controllare le autorizzazioni della cartella, quindi scegliere di nuovo la destinazione.", xx = "Autorizzazione di scrittura mancante per questa cartella. Dopo il ripristino dell'autorizzazione, salvare di nuovo; non è necessario scegliere di nuovo la cartella.", Nx = "Autorizzazione di scrittura mancante per questa cartella, quindi la cartella non è stata autorizzata. Scegliere un'altra cartella oppure sceglierla di nuovo dopo il ripristino dell'autorizzazione.", Ux = "La cartella di destinazione non esiste più. Riportarla al suo posto per salvarvi di nuovo, oppure scegliere un'altra destinazione.", Ox = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure salvare di nuovo da un indirizzo consentito.", Fx = "I privilegi delle applicazioni DSM non consentono di usare questa app da questo indirizzo. Chiedere a un amministratore di modificare la regola oppure scegliere di nuovo la cartella da un indirizzo consentito.", Hx = "Accedere di nuovo a DSM, quindi aggiornare.", Bx = "Esiste già un file con questo nome. Controllare la destinazione e scegliere un altro nome per un nuovo processo.", Vx = "Spazio insufficiente. Controllare la destinazione prima di avviare un nuovo processo.", Wx = "Impossibile confermare l’azione. Aggiornare per controllare il risultato attuale prima di intraprendere altre azioni.", Jx = "L’ambito consentito è cambiato. Scegliere di nuovo la cartella di salvataggio. I file salvati restano.", Kx = "Salva file di esempio", Gx = "Salvare un piccolo file di esempio nella destinazione attiva con le proprie autorizzazioni.", Zx = "Riprova", Yx = "Cartella di salvataggio", Qx = "Non scelta", Xx = "Annulla", eN = "La modifica della cartella richiede la password utente e revoca le autorizzazioni di destinazione di tutti gli utenti. I file salvati rimangono.", tN = "Gli utenti possono scegliere dove salvare solo all’interno di questa cartella.", nN = "Approva", oN = "Conferma modifica", aN = "Password utente", iN = {
|
|
3221
3221
|
title: Cx,
|
|
3222
3222
|
help: Px,
|
|
3223
3223
|
selection: Mx,
|
|
@@ -3244,150 +3244,150 @@ const c8 = "Speichern im Hintergrund", l8 = "Nach Ihrer Abmeldung speichert dies
|
|
|
3244
3244
|
folder: Yx,
|
|
3245
3245
|
folderNone: Qx,
|
|
3246
3246
|
cancelChange: Xx,
|
|
3247
|
-
changeHelp:
|
|
3248
|
-
approveHelp:
|
|
3249
|
-
approve:
|
|
3250
|
-
confirmChange:
|
|
3251
|
-
password:
|
|
3252
|
-
},
|
|
3253
|
-
title:
|
|
3254
|
-
help:
|
|
3255
|
-
selection:
|
|
3256
|
-
revoke:
|
|
3257
|
-
choose:
|
|
3258
|
-
needs:
|
|
3259
|
-
enable:
|
|
3260
|
-
disabled:
|
|
3261
|
-
uncertainHelp:
|
|
3262
|
-
denied:
|
|
3263
|
-
permission:
|
|
3264
|
-
permissionSelect: $
|
|
3265
|
-
missing:
|
|
3266
|
-
appPrivilege:
|
|
3267
|
-
appPrivilegeSelect:
|
|
3268
|
-
session:
|
|
3269
|
-
conflict:
|
|
3270
|
-
space:
|
|
3271
|
-
error:
|
|
3272
|
-
reselect:
|
|
3273
|
-
example:
|
|
3274
|
-
exampleHelp:
|
|
3275
|
-
retry:
|
|
3276
|
-
folder:
|
|
3277
|
-
folderNone:
|
|
3278
|
-
cancelChange:
|
|
3279
|
-
changeHelp:
|
|
3280
|
-
approveHelp:
|
|
3281
|
-
approve:
|
|
3282
|
-
confirmChange:
|
|
3283
|
-
password:
|
|
3284
|
-
},
|
|
3285
|
-
title:
|
|
3286
|
-
help:
|
|
3287
|
-
selection:
|
|
3288
|
-
revoke:
|
|
3289
|
-
choose:
|
|
3290
|
-
needs:
|
|
3291
|
-
enable:
|
|
3292
|
-
disabled:
|
|
3293
|
-
uncertainHelp:
|
|
3294
|
-
denied:
|
|
3295
|
-
permission:
|
|
3296
|
-
permissionSelect:
|
|
3297
|
-
missing:
|
|
3298
|
-
appPrivilege:
|
|
3299
|
-
appPrivilegeSelect:
|
|
3300
|
-
session:
|
|
3301
|
-
conflict:
|
|
3302
|
-
space:
|
|
3303
|
-
error:
|
|
3304
|
-
reselect:
|
|
3305
|
-
example:
|
|
3306
|
-
exampleHelp:
|
|
3307
|
-
retry:
|
|
3308
|
-
folder:
|
|
3309
|
-
folderNone:
|
|
3310
|
-
cancelChange:
|
|
3311
|
-
changeHelp:
|
|
3312
|
-
approveHelp:
|
|
3313
|
-
approve:
|
|
3314
|
-
confirmChange:
|
|
3315
|
-
password:
|
|
3316
|
-
},
|
|
3317
|
-
title:
|
|
3318
|
-
help: $
|
|
3319
|
-
selection:
|
|
3320
|
-
revoke:
|
|
3321
|
-
choose:
|
|
3322
|
-
needs:
|
|
3323
|
-
enable:
|
|
3324
|
-
disabled:
|
|
3325
|
-
uncertainHelp:
|
|
3326
|
-
denied:
|
|
3327
|
-
permission:
|
|
3328
|
-
permissionSelect:
|
|
3329
|
-
missing:
|
|
3330
|
-
appPrivilege:
|
|
3331
|
-
appPrivilegeSelect:
|
|
3332
|
-
session:
|
|
3333
|
-
conflict:
|
|
3334
|
-
space:
|
|
3335
|
-
error:
|
|
3336
|
-
reselect:
|
|
3337
|
-
example:
|
|
3338
|
-
exampleHelp:
|
|
3339
|
-
retry:
|
|
3340
|
-
folder:
|
|
3341
|
-
folderNone:
|
|
3342
|
-
cancelChange:
|
|
3343
|
-
changeHelp:
|
|
3344
|
-
approveHelp:
|
|
3345
|
-
approve:
|
|
3346
|
-
confirmChange:
|
|
3347
|
-
password:
|
|
3348
|
-
},
|
|
3349
|
-
title:
|
|
3350
|
-
help:
|
|
3351
|
-
selection:
|
|
3352
|
-
revoke:
|
|
3353
|
-
choose:
|
|
3354
|
-
needs:
|
|
3355
|
-
enable:
|
|
3356
|
-
disabled:
|
|
3357
|
-
uncertainHelp:
|
|
3358
|
-
denied:
|
|
3359
|
-
permission:
|
|
3360
|
-
permissionSelect:
|
|
3361
|
-
missing:
|
|
3362
|
-
appPrivilege:
|
|
3363
|
-
appPrivilegeSelect:
|
|
3364
|
-
session:
|
|
3365
|
-
conflict:
|
|
3366
|
-
space:
|
|
3367
|
-
error:
|
|
3368
|
-
reselect:
|
|
3369
|
-
example:
|
|
3370
|
-
exampleHelp:
|
|
3371
|
-
retry:
|
|
3372
|
-
folder: $
|
|
3373
|
-
folderNone:
|
|
3374
|
-
cancelChange:
|
|
3375
|
-
changeHelp:
|
|
3376
|
-
approveHelp:
|
|
3377
|
-
approve:
|
|
3378
|
-
confirmChange:
|
|
3379
|
-
password:
|
|
3380
|
-
}, ge = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": N8, "../../i18n/save/en.json": $j, "../../i18n/save/es.json": Gj, "../../i18n/save/fr.json": Dx, "../../i18n/save/it.json":
|
|
3381
|
-
function
|
|
3247
|
+
changeHelp: eN,
|
|
3248
|
+
approveHelp: tN,
|
|
3249
|
+
approve: nN,
|
|
3250
|
+
confirmChange: oN,
|
|
3251
|
+
password: aN
|
|
3252
|
+
}, sN = "バックグラウンド保存", rN = "サインアウト後も、このアプリは選択したフォルダにファイル全体を保存し続けます。既存のファイルは置き換えられません。", cN = "アクセスを取り消すまで、サインアウト後もこのアプリがここに保存することを許可します。", lN = "アクセスを取り消す", dN = "フォルダを選択", uN = "フォルダを選択するには、管理者がバックグラウンド保存を承認する必要があります。", pN = "バックグラウンド保存を有効にする", hN = "バックグラウンド保存は無効です。管理者が有効にできます。その後、保存先を選び直す必要があります。", gN = "結果が不明です。次の操作を行う前に、この元のジョブと保存先を確認してください。このアプリが自動的に再保存することはありません。", mN = "アクセスが拒否されました。フォルダの権限を確認してから、保存先を選び直してください。", fN = "このフォルダへの書き込み権限がありません。権限が戻ったらもう一度保存してください。フォルダを選び直す必要はありません。", $N = "このフォルダへの書き込み権限がないため、このフォルダは承認されませんでした。別のフォルダを選ぶか、権限が戻ってからこのフォルダを選び直してください。", vN = "保存先フォルダが存在しません。元の場所に戻すと再び保存できます。または別の保存先を選択してください。", bN = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからもう一度保存してください。", SN = "DSM のアプリケーション権限で、このアドレスからこのアプリを使用することが許可されていません。管理者にルールの変更を依頼するか、許可されたアドレスからフォルダを選び直してください。", _N = "DSM に再度サインインしてから、最新の情報に更新してください。", zN = "同じ名前のファイルがすでに存在します。保存先を確認し、新しいジョブには別の名前を選んでください。", yN = "空き容量が不足しています。新しいジョブを開始する前に保存先を確認してください。", AN = "操作の結果を確認できませんでした。次の操作を行う前に、最新の情報に更新して現在の結果を確認してください。", kN = "許可する範囲が変更されました。保存フォルダを選び直してください。保存済みのファイルは残ります。", wN = "サンプルファイルを保存", DN = "自分の権限で小さなサンプルファイルを現在の保存先に保存します。", CN = "再試行", PN = "保存フォルダ", MN = "未選択", qN = "キャンセル", TN = "保存先フォルダの変更には ユーザーパスワードが必要です。すべてのユーザーの保存先の承認が解除されます。保存済みのファイルは残ります。", EN = "ユーザーは、このフォルダ内でのみ保存先を選択できます。", LN = "承認", IN = "変更を確定", RN = "ユーザーパスワード", jN = {
|
|
3253
|
+
title: sN,
|
|
3254
|
+
help: rN,
|
|
3255
|
+
selection: cN,
|
|
3256
|
+
revoke: lN,
|
|
3257
|
+
choose: dN,
|
|
3258
|
+
needs: uN,
|
|
3259
|
+
enable: pN,
|
|
3260
|
+
disabled: hN,
|
|
3261
|
+
uncertainHelp: gN,
|
|
3262
|
+
denied: mN,
|
|
3263
|
+
permission: fN,
|
|
3264
|
+
permissionSelect: $N,
|
|
3265
|
+
missing: vN,
|
|
3266
|
+
appPrivilege: bN,
|
|
3267
|
+
appPrivilegeSelect: SN,
|
|
3268
|
+
session: _N,
|
|
3269
|
+
conflict: zN,
|
|
3270
|
+
space: yN,
|
|
3271
|
+
error: AN,
|
|
3272
|
+
reselect: kN,
|
|
3273
|
+
example: wN,
|
|
3274
|
+
exampleHelp: DN,
|
|
3275
|
+
retry: CN,
|
|
3276
|
+
folder: PN,
|
|
3277
|
+
folderNone: MN,
|
|
3278
|
+
cancelChange: qN,
|
|
3279
|
+
changeHelp: TN,
|
|
3280
|
+
approveHelp: EN,
|
|
3281
|
+
approve: LN,
|
|
3282
|
+
confirmChange: IN,
|
|
3283
|
+
password: RN
|
|
3284
|
+
}, xN = "백그라운드 저장", NN = "로그아웃한 후에도 이 앱은 선택한 폴더에 전체 파일을 계속 저장합니다. 기존 파일은 덮어쓰지 않습니다.", UN = "액세스를 취소할 때까지 로그아웃한 후에도 이 앱이 여기에 저장하도록 허용합니다.", ON = "액세스 취소", FN = "폴더 선택", HN = "폴더를 선택하려면 먼저 관리자가 백그라운드 저장을 승인해야 합니다.", BN = "백그라운드 저장 활성화", VN = "백그라운드 저장이 비활성화되었습니다. 관리자가 활성화할 수 있으며, 그 후 대상을 다시 선택해야 합니다.", WN = "결과를 알 수 없습니다. 다른 작업을 하기 전에 이 원래 작업과 대상을 확인하십시오. 이 앱은 자동으로 다시 저장하지 않습니다.", JN = "액세스가 거부되었습니다. 폴더 권한을 확인한 후 대상을 다시 선택하십시오.", KN = "이 폴더에 쓸 권한이 없습니다. 권한이 복원되면 다시 저장하십시오. 폴더를 다시 선택할 필요는 없습니다.", GN = "이 폴더에 쓸 권한이 없으므로 이 폴더가 승인되지 않았습니다. 다른 폴더를 선택하거나 권한이 복원된 후 이 폴더를 다시 선택하십시오.", ZN = "대상 폴더가 더 이상 없습니다. 원래 위치로 되돌리면 다시 저장할 수 있으며, 다른 대상을 선택할 수도 있습니다.", YN = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 다시 저장하십시오.", QN = "DSM 응용 프로그램 권한 규칙에서 이 주소의 앱 사용을 허용하지 않습니다. 관리자에게 규칙 변경을 요청하거나 허용된 주소에서 폴더를 다시 선택하십시오.", XN = "DSM에 다시 로그인한 후 새로 고치십시오.", e0 = "같은 이름의 파일이 이미 있습니다. 대상을 확인하고 새 작업에는 다른 이름을 선택하십시오.", t0 = "공간이 부족합니다. 새 작업을 시작하기 전에 대상을 확인하십시오.", n0 = "작업 결과를 확인할 수 없습니다. 다른 작업을 하기 전에 새로 고쳐 현재 결과를 확인하십시오.", o0 = "허용 범위가 변경되었습니다. 저장 폴더를 다시 선택하십시오. 저장된 파일은 유지됩니다.", a0 = "예제 파일 저장", i0 = "자신의 권한으로 작은 예제 파일을 현재 대상에 저장합니다.", s0 = "재시도", r0 = "저장 폴더", c0 = "선택 안 함", l0 = "취소", d0 = "저장 폴더를 변경하려면 사용자 비밀번호가 필요하며 모든 사용자의 대상 권한이 해제됩니다. 이미 저장된 파일은 유지됩니다.", u0 = "사용자는 이 폴더 안에서만 저장 위치를 선택할 수 있습니다.", p0 = "승인", h0 = "변경 확인", g0 = "사용자 비밀번호", m0 = {
|
|
3285
|
+
title: xN,
|
|
3286
|
+
help: NN,
|
|
3287
|
+
selection: UN,
|
|
3288
|
+
revoke: ON,
|
|
3289
|
+
choose: FN,
|
|
3290
|
+
needs: HN,
|
|
3291
|
+
enable: BN,
|
|
3292
|
+
disabled: VN,
|
|
3293
|
+
uncertainHelp: WN,
|
|
3294
|
+
denied: JN,
|
|
3295
|
+
permission: KN,
|
|
3296
|
+
permissionSelect: GN,
|
|
3297
|
+
missing: ZN,
|
|
3298
|
+
appPrivilege: YN,
|
|
3299
|
+
appPrivilegeSelect: QN,
|
|
3300
|
+
session: XN,
|
|
3301
|
+
conflict: e0,
|
|
3302
|
+
space: t0,
|
|
3303
|
+
error: n0,
|
|
3304
|
+
reselect: o0,
|
|
3305
|
+
example: a0,
|
|
3306
|
+
exampleHelp: i0,
|
|
3307
|
+
retry: s0,
|
|
3308
|
+
folder: r0,
|
|
3309
|
+
folderNone: c0,
|
|
3310
|
+
cancelChange: l0,
|
|
3311
|
+
changeHelp: d0,
|
|
3312
|
+
approveHelp: u0,
|
|
3313
|
+
approve: p0,
|
|
3314
|
+
confirmChange: h0,
|
|
3315
|
+
password: g0
|
|
3316
|
+
}, f0 = "后台保存", $0 = "注销后,App 仍会将完整文件保存到你选择的文件夹;现有文件不会被替换。", v0 = "允许此 App 在你注销后继续保存到这里,直到你撤销访问权限。", b0 = "撤销访问权限", S0 = "选择文件夹", _0 = "管理员批准后台保存后,你才能选择存放文件夹。", z0 = "启用后台保存", y0 = "后台保存已停用。管理员可以重新启用,之后你必须重新选择目标。", A0 = "结果未知。请先检查这项原始任务和目标位置,再采取进一步操作。此 App 不会自动再次保存。", k0 = "访问被拒绝。请检查文件夹权限,然后重新选择目标。", w0 = "你没有写入此文件夹的权限。权限恢复后再保存一次即可,无需重新选择文件夹。", D0 = "你没有写入此文件夹的权限,因此此文件夹未完成授权。请选择其他文件夹,或在权限恢复后重新选择此文件夹。", C0 = "目标文件夹已不存在。将它移回原处即可再次保存,或选择其他目标位置。", P0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址再保存一次。", M0 = "DSM 的应用程序权限规则不允许你从这个地址使用此应用程序。请管理员调整规则,或从允许的地址重新选择文件夹。", q0 = "请重新登录 DSM,然后刷新。", T0 = "已有同名文件。请检查目标位置,并为新任务选择其他名称。", E0 = "空间不足。请先检查目标位置,再开始新任务。", L0 = "无法确认操作结果。请刷新以检查当前结果,再采取进一步操作。", I0 = "允许的范围已更改,请重新选择存放文件夹。已保存的文件会保留。", R0 = "保存示例文件", j0 = "以自己的权限将小型示例文件保存到当前目的地。", x0 = "重试", N0 = "存放文件夹", U0 = "尚未选择", O0 = "取消", F0 = "更改存放文件夹需要输入用户密码,并会清除所有用户的目的地授权。已保存的文件会保留。", H0 = "用户只能在此文件夹内选择保存位置。", B0 = "批准", V0 = "确认更改", W0 = "用户密码", J0 = {
|
|
3317
|
+
title: f0,
|
|
3318
|
+
help: $0,
|
|
3319
|
+
selection: v0,
|
|
3320
|
+
revoke: b0,
|
|
3321
|
+
choose: S0,
|
|
3322
|
+
needs: _0,
|
|
3323
|
+
enable: z0,
|
|
3324
|
+
disabled: y0,
|
|
3325
|
+
uncertainHelp: A0,
|
|
3326
|
+
denied: k0,
|
|
3327
|
+
permission: w0,
|
|
3328
|
+
permissionSelect: D0,
|
|
3329
|
+
missing: C0,
|
|
3330
|
+
appPrivilege: P0,
|
|
3331
|
+
appPrivilegeSelect: M0,
|
|
3332
|
+
session: q0,
|
|
3333
|
+
conflict: T0,
|
|
3334
|
+
space: E0,
|
|
3335
|
+
error: L0,
|
|
3336
|
+
reselect: I0,
|
|
3337
|
+
example: R0,
|
|
3338
|
+
exampleHelp: j0,
|
|
3339
|
+
retry: x0,
|
|
3340
|
+
folder: N0,
|
|
3341
|
+
folderNone: U0,
|
|
3342
|
+
cancelChange: O0,
|
|
3343
|
+
changeHelp: F0,
|
|
3344
|
+
approveHelp: H0,
|
|
3345
|
+
approve: B0,
|
|
3346
|
+
confirmChange: V0,
|
|
3347
|
+
password: W0
|
|
3348
|
+
}, K0 = "背景存檔", G0 = "登出後,App 仍會把完整檔案存進你選的資料夾;既有檔案不會被取代。", Z0 = "允許此 App 在你登出後繼續儲存到這裡,直到你撤銷授權。", Y0 = "撤銷授權", Q0 = "選擇資料夾", X0 = "管理員核准背景存檔後,你才能選擇存放資料夾。", e4 = "啟用背景存檔", t4 = "背景存檔已停用。管理員可重新啟用,之後你須重新選取目的地。", n4 = "結果不明。請先檢查原工作與目的地,再決定後續操作。App 不會自動重新儲存。", o4 = "存取遭拒。請檢查資料夾權限,再重新選取目的地。", a4 = "你沒有寫入此資料夾的權限。權限恢復後再儲存一次即可,不需要重新選擇資料夾。", i4 = "你沒有寫入此資料夾的權限,因此這個資料夾沒有完成授權。請選擇其他資料夾,或在權限恢復後重新選擇這個資料夾。", s4 = "目的地資料夾已不存在。將它移回原處即可再次儲存,或選擇其他目的地。", r4 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址再儲存一次。", c4 = "DSM 的應用程式權限規則不允許你從這個位址使用此應用程式。請管理員調整規則,或從允許的位址重新選擇資料夾。", l4 = "請重新登入 DSM,再重新整理。", d4 = "已存在同名檔案。請檢查目的地,並為新工作選擇另一個名稱。", u4 = "空間不足。請檢查目的地,再開始新工作。", p4 = "無法確認操作結果。請重新整理查詢目前結果,再決定後續操作。", h4 = "允許的範圍已變更,請重新選擇存放資料夾。已存的檔案會保留。", g4 = "儲存範例檔案", m4 = "以自己的權限將小型範例檔案存到目前的目的地。", f4 = "重試", $4 = "存放資料夾", v4 = "尚未選擇", b4 = "取消", S4 = "變更存放資料夾需輸入使用者密碼,並會清除所有使用者的目的地授權。已存檔的檔案會保留。", _4 = "使用者只能在這個資料夾內選擇存放位置。", z4 = "核准", y4 = "確認變更", A4 = "使用者密碼", k4 = {
|
|
3349
|
+
title: K0,
|
|
3350
|
+
help: G0,
|
|
3351
|
+
selection: Z0,
|
|
3352
|
+
revoke: Y0,
|
|
3353
|
+
choose: Q0,
|
|
3354
|
+
needs: X0,
|
|
3355
|
+
enable: e4,
|
|
3356
|
+
disabled: t4,
|
|
3357
|
+
uncertainHelp: n4,
|
|
3358
|
+
denied: o4,
|
|
3359
|
+
permission: a4,
|
|
3360
|
+
permissionSelect: i4,
|
|
3361
|
+
missing: s4,
|
|
3362
|
+
appPrivilege: r4,
|
|
3363
|
+
appPrivilegeSelect: c4,
|
|
3364
|
+
session: l4,
|
|
3365
|
+
conflict: d4,
|
|
3366
|
+
space: u4,
|
|
3367
|
+
error: p4,
|
|
3368
|
+
reselect: h4,
|
|
3369
|
+
example: g4,
|
|
3370
|
+
exampleHelp: m4,
|
|
3371
|
+
retry: f4,
|
|
3372
|
+
folder: $4,
|
|
3373
|
+
folderNone: v4,
|
|
3374
|
+
cancelChange: b4,
|
|
3375
|
+
changeHelp: S4,
|
|
3376
|
+
approveHelp: _4,
|
|
3377
|
+
approve: z4,
|
|
3378
|
+
confirmChange: y4,
|
|
3379
|
+
password: A4
|
|
3380
|
+
}, ge = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/save/de.json": N8, "../../i18n/save/en.json": $j, "../../i18n/save/es.json": Gj, "../../i18n/save/fr.json": Dx, "../../i18n/save/it.json": iN, "../../i18n/save/ja.json": jN, "../../i18n/save/ko.json": m0, "../../i18n/save/zh-CN.json": J0, "../../i18n/save/zh-TW.json": k4 }));
|
|
3381
|
+
function w4(e = "en") {
|
|
3382
3382
|
return ge[z(e)];
|
|
3383
3383
|
}
|
|
3384
|
-
function o6(e,
|
|
3385
|
-
const i = E(e,
|
|
3384
|
+
function o6(e, t = w4(), a = "save", n, o) {
|
|
3385
|
+
const i = E(e, n ?? Object.entries(ge).find(([, l]) => l === t)?.[0], o);
|
|
3386
3386
|
if (i) return i.message;
|
|
3387
|
-
const s = a === "select", r = e?.code,
|
|
3388
|
-
return
|
|
3387
|
+
const s = a === "select", r = e?.code, c = N(e, n);
|
|
3388
|
+
return c || (r === "disabled" ? t.disabled : ["EXECUTOR_UNAVAILABLE", "needs-admin-approval", "needs-scope-confirmation"].includes(r ?? "") ? t.needs : ["session_required", "dsm_session_required", "AUTH_DENIED"].includes(r ?? "") ? t.session : ["DENIED", "DELEGATION_DENIED", "IDENTITY_CHANGED", "SCOPE_DENIED", "INELIGIBLE", "DESTINATION_CHANGED", "denied", "grant-revoked", "identity-changed", "permission-changed"].includes(r ?? "") ? t.denied : r === "PERMISSION_DENIED" ? s ? t.permissionSelect : t.permission : r === "not-found" ? t.missing : r === "APP_DENIED" ? s ? t.appPrivilegeSelect : t.appPrivilege : ["CONFLICT", "conflict", "file-exists", "destination-exists"].includes(r ?? "") ? t.conflict : ["NO_SPACE", "ENOSPC", "no-space"].includes(r ?? "") ? t.space : ["uncertain", "commit-uncertain"].includes(r ?? "") ? t.uncertainHelp : t.error);
|
|
3389
3389
|
}
|
|
3390
|
-
const
|
|
3390
|
+
const D4 = {
|
|
3391
3391
|
"portal.title": "Anwendungsportal",
|
|
3392
3392
|
"portal.link": "Direkter Link nach der DSM-Anmeldung:",
|
|
3393
3393
|
"portal.inactive": "Nicht aktiv. Wenden Sie einen Alias an, damit Benutzer diese App nach der DSM-Anmeldung direkt öffnen können.",
|
|
@@ -3412,7 +3412,7 @@ const D0 = {
|
|
|
3412
3412
|
"portal.removalUnconfirmed": "Diese Seite funktioniert möglicherweise nicht mehr. Öffnen Sie diese App über den DSM-Desktop und prüfen Sie Einstellungen > Anwendungsportal.",
|
|
3413
3413
|
"portal.openDesktop": "DSM-Desktop öffnen",
|
|
3414
3414
|
"portal.cancel": "Abbrechen"
|
|
3415
|
-
},
|
|
3415
|
+
}, C4 = {
|
|
3416
3416
|
"portal.title": "Application Portal",
|
|
3417
3417
|
"portal.link": "Direct link after DSM sign-in:",
|
|
3418
3418
|
"portal.inactive": "Not active. Apply an alias to let users open this app directly after DSM sign-in.",
|
|
@@ -3437,7 +3437,7 @@ const D0 = {
|
|
|
3437
3437
|
"portal.removalUnconfirmed": "This page may no longer work. Open this app from the DSM desktop and check Settings > Application Portal.",
|
|
3438
3438
|
"portal.openDesktop": "Open DSM desktop",
|
|
3439
3439
|
"portal.cancel": "Cancel"
|
|
3440
|
-
},
|
|
3440
|
+
}, P4 = {
|
|
3441
3441
|
"portal.title": "Portal de aplicaciones",
|
|
3442
3442
|
"portal.link": "Enlace directo tras iniciar sesión en DSM:",
|
|
3443
3443
|
"portal.inactive": "Inactivo. Aplique un alias para abrir esta aplicación directamente tras iniciar sesión en DSM.",
|
|
@@ -3462,7 +3462,7 @@ const D0 = {
|
|
|
3462
3462
|
"portal.removalUnconfirmed": "Es posible que esta página ya no funcione. Abra esta aplicación desde el escritorio de DSM y revise Configuración > Portal de aplicaciones.",
|
|
3463
3463
|
"portal.openDesktop": "Abrir escritorio de DSM",
|
|
3464
3464
|
"portal.cancel": "Cancelar"
|
|
3465
|
-
},
|
|
3465
|
+
}, M4 = {
|
|
3466
3466
|
"portal.title": "Portail d'application",
|
|
3467
3467
|
"portal.link": "Lien direct après connexion à DSM :",
|
|
3468
3468
|
"portal.inactive": "Inactif. Appliquez un alias pour ouvrir cette application directement après connexion à DSM.",
|
|
@@ -3487,7 +3487,7 @@ const D0 = {
|
|
|
3487
3487
|
"portal.removalUnconfirmed": "Cette page peut ne plus fonctionner. Ouvrez cette application depuis le bureau DSM et vérifiez Paramètres > Portail des applications.",
|
|
3488
3488
|
"portal.openDesktop": "Ouvrir le bureau DSM",
|
|
3489
3489
|
"portal.cancel": "Annuler"
|
|
3490
|
-
},
|
|
3490
|
+
}, q4 = {
|
|
3491
3491
|
"portal.title": "Portale applicazioni",
|
|
3492
3492
|
"portal.link": "Link diretto dopo l'accesso a DSM:",
|
|
3493
3493
|
"portal.inactive": "Non attivo. Applica un alias per aprire questa app direttamente dopo l'accesso a DSM.",
|
|
@@ -3512,7 +3512,7 @@ const D0 = {
|
|
|
3512
3512
|
"portal.removalUnconfirmed": "Questa pagina potrebbe non funzionare più. Aprire questa app dal desktop DSM e controllare Impostazioni > Portale applicazioni.",
|
|
3513
3513
|
"portal.openDesktop": "Apri desktop DSM",
|
|
3514
3514
|
"portal.cancel": "Annulla"
|
|
3515
|
-
},
|
|
3515
|
+
}, T4 = {
|
|
3516
3516
|
"portal.title": "アプリケーションポータル",
|
|
3517
3517
|
"portal.link": "DSM サインイン後の直接リンク:",
|
|
3518
3518
|
"portal.inactive": "無効です。エイリアスを適用すると、DSM サインイン後にこのアプリを直接開けます。",
|
|
@@ -3537,7 +3537,7 @@ const D0 = {
|
|
|
3537
3537
|
"portal.removalUnconfirmed": "このページは使用できなくなった可能性があります。DSM デスクトップからこのアプリを開き、「設定 > アプリケーション ポータル」を確認してください。",
|
|
3538
3538
|
"portal.openDesktop": "DSM デスクトップを開く",
|
|
3539
3539
|
"portal.cancel": "キャンセル"
|
|
3540
|
-
},
|
|
3540
|
+
}, E4 = {
|
|
3541
3541
|
"portal.title": "응용 프로그램 포털",
|
|
3542
3542
|
"portal.link": "DSM 로그인 후 바로 가기 링크:",
|
|
3543
3543
|
"portal.inactive": "비활성 상태입니다. 별칭을 적용하면 DSM 로그인 후 이 앱을 바로 열 수 있습니다.",
|
|
@@ -3562,7 +3562,7 @@ const D0 = {
|
|
|
3562
3562
|
"portal.removalUnconfirmed": "이 페이지를 더 이상 사용할 수 없을 수 있습니다. DSM 바탕화면에서 이 앱을 열고 설정 > 응용 프로그램 포털을 확인하십시오.",
|
|
3563
3563
|
"portal.openDesktop": "DSM 바탕화면 열기",
|
|
3564
3564
|
"portal.cancel": "취소"
|
|
3565
|
-
},
|
|
3565
|
+
}, L4 = {
|
|
3566
3566
|
"portal.title": "应用程序门户",
|
|
3567
3567
|
"portal.link": "DSM 登录后的直接链接:",
|
|
3568
3568
|
"portal.inactive": "尚未启用。应用别名后,用户可在 DSM 登录后直接打开此应用。",
|
|
@@ -3587,7 +3587,7 @@ const D0 = {
|
|
|
3587
3587
|
"portal.removalUnconfirmed": "此页面可能已无法使用。请从 DSM 桌面打开此 App,再查看“设置 > 应用程序入口”。",
|
|
3588
3588
|
"portal.openDesktop": "打开 DSM 桌面",
|
|
3589
3589
|
"portal.cancel": "取消"
|
|
3590
|
-
},
|
|
3590
|
+
}, I4 = {
|
|
3591
3591
|
"portal.title": "應用程式入口",
|
|
3592
3592
|
"portal.link": "DSM 登入後的直接連結:",
|
|
3593
3593
|
"portal.inactive": "尚未啟用。套用別名後,使用者可在 DSM 登入後直接開啟這個 App。",
|
|
@@ -3612,30 +3612,30 @@ const D0 = {
|
|
|
3612
3612
|
"portal.removalUnconfirmed": "這一頁可能已無法使用。請從 DSM 桌面開啟此 App,再查看「設定 > 應用程式入口」。",
|
|
3613
3613
|
"portal.openDesktop": "開啟 DSM 桌面",
|
|
3614
3614
|
"portal.cancel": "取消"
|
|
3615
|
-
},
|
|
3616
|
-
function
|
|
3617
|
-
return Object.fromEntries(Object.entries(
|
|
3615
|
+
}, R4 = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/portal/de.json": D4, "../../i18n/portal/en.json": C4, "../../i18n/portal/es.json": P4, "../../i18n/portal/fr.json": M4, "../../i18n/portal/it.json": q4, "../../i18n/portal/ja.json": T4, "../../i18n/portal/ko.json": E4, "../../i18n/portal/zh-CN.json": L4, "../../i18n/portal/zh-TW.json": I4 }));
|
|
3616
|
+
function j4(e) {
|
|
3617
|
+
return Object.fromEntries(Object.entries(R4[z(e)]).map(([t, a]) => [t.slice(7), a]));
|
|
3618
3618
|
}
|
|
3619
|
-
const
|
|
3620
|
-
app_unavailable:
|
|
3621
|
-
request_timeout:
|
|
3622
|
-
limit_exceeded:
|
|
3623
|
-
read_failed:
|
|
3624
|
-
identity_unavailable:
|
|
3625
|
-
APP_STOPPED:
|
|
3626
|
-
APP_STARTING:
|
|
3627
|
-
credential_not_ready:
|
|
3628
|
-
},
|
|
3629
|
-
app_unavailable:
|
|
3630
|
-
request_timeout:
|
|
3631
|
-
limit_exceeded:
|
|
3632
|
-
read_failed:
|
|
3633
|
-
identity_unavailable:
|
|
3634
|
-
APP_STOPPED:
|
|
3635
|
-
APP_STARTING:
|
|
3619
|
+
const x4 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneut.", N4 = "Die Anfrage hat zu lange gedauert und wurde abgebrochen. Versuchen Sie es erneut oder mit einer kleineren Aufgabe.", U4 = "Die Datei ist größer als zulässig.", O4 = "Die Datei kann nicht gelesen werden. Bitte versuchen Sie es später erneut.", F4 = "Dieses Benutzerkonto kann nicht ermittelt werden. Bitte versuchen Sie es später erneut.", H4 = "Die App ist angehalten. Starten Sie sie im Paket-Zentrum und versuchen Sie es dann erneut.", B4 = "Die App wird gestartet. Versuchen Sie es gleich erneut.", V4 = "DSM hat dieser Seite kein Anmeldetoken gegeben. Melden Sie sich mit Ihrem Kennwort erneut bei DSM an und öffnen Sie die App dann über den DSM-Desktop.", W4 = {
|
|
3620
|
+
app_unavailable: x4,
|
|
3621
|
+
request_timeout: N4,
|
|
3622
|
+
limit_exceeded: U4,
|
|
3623
|
+
read_failed: O4,
|
|
3624
|
+
identity_unavailable: F4,
|
|
3625
|
+
APP_STOPPED: H4,
|
|
3626
|
+
APP_STARTING: B4,
|
|
3627
|
+
credential_not_ready: V4
|
|
3628
|
+
}, J4 = "The App is not available right now. Try again later.", K4 = "The request took too long and was stopped. Try again, or try a smaller task.", G4 = "The file is larger than allowed.", Z4 = "Unable to read the file. Please try again later.", Y4 = "Unable to identify this user account. Please try again later.", Q4 = "The App is stopped. Start it in Package Center, then try again.", X4 = "The App is starting. Try again in a moment.", eU = "DSM did not give this page its sign-in token. Sign in to DSM again with your password, then open the App from the DSM desktop.", tU = {
|
|
3629
|
+
app_unavailable: J4,
|
|
3630
|
+
request_timeout: K4,
|
|
3631
|
+
limit_exceeded: G4,
|
|
3632
|
+
read_failed: Z4,
|
|
3633
|
+
identity_unavailable: Y4,
|
|
3634
|
+
APP_STOPPED: Q4,
|
|
3635
|
+
APP_STARTING: X4,
|
|
3636
3636
|
credential_not_ready: eU
|
|
3637
|
-
},
|
|
3638
|
-
app_unavailable:
|
|
3637
|
+
}, nU = "La App no está disponible en este momento. Vuelva a intentarlo más tarde.", oU = "La solicitud tardó demasiado y se detuvo. Vuelva a intentarlo o pruebe con una tarea más pequeña.", aU = "El archivo supera el tamaño permitido.", iU = "No se puede leer el archivo. Vuelva a intentarlo más tarde.", sU = "No se puede identificar esta cuenta de usuario. Vuelva a intentarlo más tarde.", rU = "La App está detenida. Iníciela en el Centro de paquetes y vuelva a intentarlo.", cU = "La App se está iniciando. Vuelva a intentarlo en un momento.", lU = "DSM no proporcionó a esta página su token de inicio de sesión. Inicie sesión de nuevo en DSM con su contraseña y abra la App desde el escritorio de DSM.", dU = {
|
|
3638
|
+
app_unavailable: nU,
|
|
3639
3639
|
request_timeout: oU,
|
|
3640
3640
|
limit_exceeded: aU,
|
|
3641
3641
|
read_failed: iU,
|
|
@@ -3679,7 +3679,7 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
|
|
|
3679
3679
|
APP_STOPPED: HU,
|
|
3680
3680
|
APP_STARTING: BU,
|
|
3681
3681
|
credential_not_ready: VU
|
|
3682
|
-
}, JU = "App 当前不可用,请稍后重试。", KU = "请求处理时间过长,已停止。请重试,或缩小范围后再试。", GU = "文件超过允许的大小。", ZU = "无法读取文件。请稍后再试。", YU = "无法识别此用户账号。请稍后再试。", QU = "App 已停止。请在套件中心启动后重试。", XU = "App 正在启动,请稍后重试。", eO = "DSM 没有为此页面提供登录令牌。请使用密码重新登录 DSM,然后从 DSM 桌面打开 App。",
|
|
3682
|
+
}, JU = "App 当前不可用,请稍后重试。", KU = "请求处理时间过长,已停止。请重试,或缩小范围后再试。", GU = "文件超过允许的大小。", ZU = "无法读取文件。请稍后再试。", YU = "无法识别此用户账号。请稍后再试。", QU = "App 已停止。请在套件中心启动后重试。", XU = "App 正在启动,请稍后重试。", eO = "DSM 没有为此页面提供登录令牌。请使用密码重新登录 DSM,然后从 DSM 桌面打开 App。", tO = {
|
|
3683
3683
|
app_unavailable: JU,
|
|
3684
3684
|
request_timeout: KU,
|
|
3685
3685
|
limit_exceeded: GU,
|
|
@@ -3688,8 +3688,8 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
|
|
|
3688
3688
|
APP_STOPPED: QU,
|
|
3689
3689
|
APP_STARTING: XU,
|
|
3690
3690
|
credential_not_ready: eO
|
|
3691
|
-
},
|
|
3692
|
-
app_unavailable:
|
|
3691
|
+
}, nO = "App 目前無法使用,請稍後再試。", oO = "請求處理太久已停止,請再試一次或縮小範圍。", aO = "檔案超過允許的大小。", iO = "無法讀取檔案。請稍後再試。", sO = "無法識別此使用者帳號。請稍後再試。", rO = "App 已停止。請在套件中心啟動後再試一次。", cO = "App 正在啟動,請稍後再試。", lO = "DSM 沒有提供此頁面的登入權杖。請以密碼重新登入 DSM,再從 DSM 桌面開啟 App。", dO = {
|
|
3692
|
+
app_unavailable: nO,
|
|
3693
3693
|
request_timeout: oO,
|
|
3694
3694
|
limit_exceeded: aO,
|
|
3695
3695
|
read_failed: iO,
|
|
@@ -3697,10 +3697,10 @@ const x0 = "Die App ist derzeit nicht verfügbar. Versuchen Sie es später erneu
|
|
|
3697
3697
|
APP_STOPPED: rO,
|
|
3698
3698
|
APP_STARTING: cO,
|
|
3699
3699
|
credential_not_ready: lO
|
|
3700
|
-
}, uO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json":
|
|
3701
|
-
function a6(e,
|
|
3702
|
-
const a = e?.code,
|
|
3703
|
-
return typeof a == "string" && Object.hasOwn(
|
|
3700
|
+
}, uO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/bridge/de.json": W4, "../../i18n/bridge/en.json": tU, "../../i18n/bridge/es.json": dU, "../../i18n/bridge/fr.json": bU, "../../i18n/bridge/it.json": CU, "../../i18n/bridge/ja.json": jU, "../../i18n/bridge/ko.json": WU, "../../i18n/bridge/zh-CN.json": tO, "../../i18n/bridge/zh-TW.json": dO }));
|
|
3701
|
+
function a6(e, t) {
|
|
3702
|
+
const a = e?.code, n = uO[z(t)];
|
|
3703
|
+
return typeof a == "string" && Object.hasOwn(n, a) ? n[a] : void 0;
|
|
3704
3704
|
}
|
|
3705
3705
|
const Z = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, pO = [
|
|
3706
3706
|
"dsfile",
|
|
@@ -3724,62 +3724,62 @@ const Z = /^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, pO = [
|
|
|
3724
3724
|
"synologymeet"
|
|
3725
3725
|
], Y = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/, hO = ["registered", "unregistered", "cleanup-required"], gO = { dsm_4100: "portal_alias_invalid", dsm_4102: "portal_alias_reserved", dsm_4103: "portal_alias_in_use", dsm_105: "admin_required" }, Q = (e) => e?.code;
|
|
3726
3726
|
function i6(e) {
|
|
3727
|
-
function
|
|
3728
|
-
const _ = { state:
|
|
3729
|
-
return
|
|
3727
|
+
function t(h, g, v) {
|
|
3728
|
+
const _ = { state: h, canManage: v === !0, controlPanel: v !== void 0, defaultAlias: e.defaultAlias };
|
|
3729
|
+
return h === "active" && g && (_.alias = g, _.url = `${e.location.protocol}//${e.location.host}/${encodeURIComponent(g)}/`), _;
|
|
3730
3730
|
}
|
|
3731
|
-
function a(
|
|
3732
|
-
return
|
|
3731
|
+
function a(h) {
|
|
3732
|
+
return h?.state === "active" && typeof h.alias == "string" && Y.test(h.alias) ? t("active", h.alias) : t(h?.state === "inactive" ? "inactive" : "unavailable");
|
|
3733
3733
|
}
|
|
3734
|
-
async function
|
|
3734
|
+
async function n() {
|
|
3735
3735
|
try {
|
|
3736
3736
|
return a(await e.call("portal.status", {}));
|
|
3737
3737
|
} catch {
|
|
3738
|
-
return
|
|
3738
|
+
return t("unavailable");
|
|
3739
3739
|
}
|
|
3740
3740
|
}
|
|
3741
3741
|
async function o() {
|
|
3742
3742
|
try {
|
|
3743
|
-
if (!(((await e.send("SYNO.API.Info", "query", 1, { query: "SYNO.Core.AppPortal" }))?.["SYNO.Core.AppPortal"]?.maxVersion ?? 0) >= 2)) return
|
|
3743
|
+
if (!(((await e.send("SYNO.API.Info", "query", 1, { query: "SYNO.Core.AppPortal" }))?.["SYNO.Core.AppPortal"]?.maxVersion ?? 0) >= 2)) return t("unavailable", void 0, !1);
|
|
3744
3744
|
const g = await e.send("SYNO.Core.AppPortal", "get", 2, { id: e.appId, additional: ["default_setting"] });
|
|
3745
|
-
if (g?.id !== e.appId) return
|
|
3746
|
-
const v = typeof g.alias == "string" && Y.test(g.alias) ? g.alias : "", _ =
|
|
3745
|
+
if (g?.id !== e.appId) return t("unavailable", void 0, !1);
|
|
3746
|
+
const v = typeof g.alias == "string" && Y.test(g.alias) ? g.alias : "", _ = t(v ? "active" : "inactive", v, !0), y = g.additional?.default_setting?.alias;
|
|
3747
3747
|
return typeof y == "string" && Z.test(y) && (_.defaultAlias = y), _;
|
|
3748
3748
|
} catch {
|
|
3749
|
-
return
|
|
3749
|
+
return t("unavailable", void 0, !1);
|
|
3750
3750
|
}
|
|
3751
3751
|
}
|
|
3752
3752
|
async function i() {
|
|
3753
|
-
let
|
|
3753
|
+
let h;
|
|
3754
3754
|
try {
|
|
3755
|
-
|
|
3755
|
+
h = await e.call("portal.status", {});
|
|
3756
3756
|
} catch {
|
|
3757
|
-
return e.isAdmin() ?
|
|
3757
|
+
return e.isAdmin() ? t("unavailable", void 0, !1) : t("unavailable");
|
|
3758
3758
|
}
|
|
3759
|
-
if (!e.isAdmin()) return a(
|
|
3760
|
-
const g = hO.find((_) => _ ===
|
|
3761
|
-
if (!g) return
|
|
3759
|
+
if (!e.isAdmin()) return a(h);
|
|
3760
|
+
const g = hO.find((_) => _ === h?.entry);
|
|
3761
|
+
if (!g) return t("unavailable", void 0, !1);
|
|
3762
3762
|
if (g === "registered") return { ...await o(), entry: g };
|
|
3763
|
-
const v = a(
|
|
3764
|
-
return { ...
|
|
3763
|
+
const v = a(h);
|
|
3764
|
+
return { ...t(g === "unregistered" ? "inactive" : v.state, v.alias, !0), entry: g };
|
|
3765
3765
|
}
|
|
3766
|
-
let s = Promise.resolve(), r,
|
|
3766
|
+
let s = Promise.resolve(), r, c, l = 0;
|
|
3767
3767
|
async function m() {
|
|
3768
|
-
const
|
|
3768
|
+
const h = ++l;
|
|
3769
3769
|
await s;
|
|
3770
|
-
const g = e.entry ? await i() : e.isAdmin() ? await o() : await
|
|
3771
|
-
return
|
|
3770
|
+
const g = e.entry ? await i() : e.isAdmin() ? await o() : await n();
|
|
3771
|
+
return h === l && (r = g), g;
|
|
3772
3772
|
}
|
|
3773
|
-
function
|
|
3774
|
-
return
|
|
3775
|
-
|
|
3773
|
+
function p() {
|
|
3774
|
+
return c ??= m().finally(() => {
|
|
3775
|
+
c = void 0;
|
|
3776
3776
|
});
|
|
3777
3777
|
}
|
|
3778
|
-
async function d(
|
|
3778
|
+
async function d(h) {
|
|
3779
3779
|
if (!e.isAdmin()) throw { code: "admin_required" };
|
|
3780
|
-
const g = e.call(
|
|
3780
|
+
const g = e.call(h, {});
|
|
3781
3781
|
s = g.catch(() => {
|
|
3782
|
-
}),
|
|
3782
|
+
}), c = void 0;
|
|
3783
3783
|
try {
|
|
3784
3784
|
await g;
|
|
3785
3785
|
} catch (v) {
|
|
@@ -3787,30 +3787,30 @@ function i6(e) {
|
|
|
3787
3787
|
}
|
|
3788
3788
|
return m();
|
|
3789
3789
|
}
|
|
3790
|
-
async function u(
|
|
3790
|
+
async function u(h) {
|
|
3791
3791
|
if (!e.isAdmin()) throw { code: "admin_required" };
|
|
3792
3792
|
try {
|
|
3793
|
-
await e.send("SYNO.Core.AppPortal", "set", 2, { id: e.appId, alias:
|
|
3793
|
+
await e.send("SYNO.Core.AppPortal", "set", 2, { id: e.appId, alias: h });
|
|
3794
3794
|
} catch (g) {
|
|
3795
3795
|
throw { code: gO[Q(g) ?? ""] ?? "portal_unavailable" };
|
|
3796
3796
|
}
|
|
3797
3797
|
return m();
|
|
3798
3798
|
}
|
|
3799
3799
|
const f = {
|
|
3800
|
-
messages:
|
|
3801
|
-
status:
|
|
3800
|
+
messages: j4(e.locale),
|
|
3801
|
+
status: p,
|
|
3802
3802
|
lastStatus: () => r,
|
|
3803
|
-
async apply(
|
|
3804
|
-
if (typeof
|
|
3805
|
-
if (pO.includes(
|
|
3806
|
-
return u(
|
|
3803
|
+
async apply(h) {
|
|
3804
|
+
if (typeof h != "string" || !Z.test(h)) throw { code: "portal_alias_invalid" };
|
|
3805
|
+
if (pO.includes(h)) throw { code: "portal_alias_reserved" };
|
|
3806
|
+
return u(h);
|
|
3807
3807
|
},
|
|
3808
3808
|
disable: () => u(null),
|
|
3809
3809
|
openControlPanel() {
|
|
3810
3810
|
e.launch("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Login.Main", tab: "applications" });
|
|
3811
3811
|
}
|
|
3812
3812
|
};
|
|
3813
|
-
return e.entry && (f.register = () => d("portal.register"), f.unregister = () => d("portal.unregister")),
|
|
3813
|
+
return e.entry && (f.register = () => d("portal.register"), f.unregister = () => d("portal.unregister")), p(), f;
|
|
3814
3814
|
}
|
|
3815
3815
|
const mO = {
|
|
3816
3816
|
"sharedfolder.title": "Freigegebene Ordner",
|
|
@@ -4066,25 +4066,25 @@ const mO = {
|
|
|
4066
4066
|
"sharedfolder.retry": "重試"
|
|
4067
4067
|
}, AO = /* @__PURE__ */ A(/* @__PURE__ */ Object.assign({ "../../i18n/sharedfolder/de.json": mO, "../../i18n/sharedfolder/en.json": fO, "../../i18n/sharedfolder/es.json": $O, "../../i18n/sharedfolder/fr.json": vO, "../../i18n/sharedfolder/it.json": bO, "../../i18n/sharedfolder/ja.json": SO, "../../i18n/sharedfolder/ko.json": _O, "../../i18n/sharedfolder/zh-CN.json": zO, "../../i18n/sharedfolder/zh-TW.json": yO }));
|
|
4068
4068
|
function U(e) {
|
|
4069
|
-
return Object.fromEntries(Object.entries(AO[z(e)]).map(([
|
|
4069
|
+
return Object.fromEntries(Object.entries(AO[z(e)]).map(([t, a]) => [t.slice(13), a]));
|
|
4070
4070
|
}
|
|
4071
4071
|
const X = ["none", "read", "write"], kO = ["ready", "pending", "missing", "ambiguous"], ee = (e) => e?.code, O = (e) => e && typeof e == "object" && !Array.isArray(e) ? e : void 0;
|
|
4072
4072
|
function wO(e) {
|
|
4073
|
-
const
|
|
4074
|
-
if (!
|
|
4075
|
-
const a = X.find((s) => s ===
|
|
4076
|
-
if (!a || !
|
|
4077
|
-
const i = { key:
|
|
4078
|
-
return typeof
|
|
4073
|
+
const t = O(e);
|
|
4074
|
+
if (!t || typeof t.key != "string" || typeof t.name != "string") return;
|
|
4075
|
+
const a = X.find((s) => s === t.required), n = X.find((s) => s === t.granted), o = kO.find((s) => s === t.state);
|
|
4076
|
+
if (!a || !n || !o) return;
|
|
4077
|
+
const i = { key: t.key, name: t.name, exists: t.exists === !0, required: a, granted: n, state: o };
|
|
4078
|
+
return typeof t.path == "string" && (i.path = t.path), typeof t.error == "string" && (i.error = t.error), i;
|
|
4079
4079
|
}
|
|
4080
4080
|
function DO(e) {
|
|
4081
|
-
const
|
|
4082
|
-
if (!
|
|
4083
|
-
const a =
|
|
4084
|
-
return a.every((
|
|
4081
|
+
const t = O(e);
|
|
4082
|
+
if (!t || typeof t.account != "string" || !Array.isArray(t.folders)) return;
|
|
4083
|
+
const a = t.folders.map(wO);
|
|
4084
|
+
return a.every((n) => n) ? { account: t.account, folders: a, pending: a.some((n) => n.state === "pending") } : void 0;
|
|
4085
4085
|
}
|
|
4086
4086
|
function me(e) {
|
|
4087
|
-
let
|
|
4087
|
+
let t;
|
|
4088
4088
|
async function a() {
|
|
4089
4089
|
let o;
|
|
4090
4090
|
try {
|
|
@@ -4094,34 +4094,34 @@ function me(e) {
|
|
|
4094
4094
|
}
|
|
4095
4095
|
const i = DO(o);
|
|
4096
4096
|
if (!i) throw { code: "shared_folder_unavailable" };
|
|
4097
|
-
return
|
|
4097
|
+
return t = i;
|
|
4098
4098
|
}
|
|
4099
4099
|
return {
|
|
4100
4100
|
messages: U(e.locale),
|
|
4101
4101
|
status: a,
|
|
4102
|
-
lastStatus: () =>
|
|
4102
|
+
lastStatus: () => t,
|
|
4103
4103
|
canGrant: () => e.isAdmin() && e.send !== void 0,
|
|
4104
4104
|
async grant(o) {
|
|
4105
4105
|
if (!e.isAdmin() || !e.send) throw { code: "admin_required" };
|
|
4106
|
-
const i = await a(), s = i.folders.find((
|
|
4106
|
+
const i = await a(), s = i.folders.find((l) => l.key === o);
|
|
4107
4107
|
if (!s || s.state === "missing" || s.state === "ambiguous") throw { code: "shared_folder_unavailable" };
|
|
4108
4108
|
if (s.state === "ready") return i;
|
|
4109
4109
|
if (s.required === "none") throw { code: "shared_folder_unavailable" };
|
|
4110
4110
|
const r = s.required === "write";
|
|
4111
4111
|
try {
|
|
4112
|
-
const
|
|
4113
|
-
if ((Array.isArray(
|
|
4114
|
-
} catch (
|
|
4115
|
-
if (ee(
|
|
4112
|
+
const l = O(await e.send("SYNO.Core.Share.Permission", "list", 1, { name: s.name, user_group_type: "system", offset: 0, limit: 1e3, with_inherit: !1, is_unite_permission: !1 }));
|
|
4113
|
+
if ((Array.isArray(l?.items) ? l.items : []).some((p) => p?.name === i.account && p.is_custom === !0)) throw { code: "shared_folder_custom_acl" };
|
|
4114
|
+
} catch (l) {
|
|
4115
|
+
if (ee(l) === "shared_folder_custom_acl") throw l;
|
|
4116
4116
|
}
|
|
4117
4117
|
try {
|
|
4118
4118
|
await e.send("SYNO.Core.Share.Permission", "set", 1, { name: s.name, user_group_type: "system", permissions: [{ name: i.account, is_readonly: !r, is_writable: r, is_deny: !1, is_custom: !1 }] });
|
|
4119
|
-
} catch (
|
|
4120
|
-
throw { code: ee(
|
|
4119
|
+
} catch (l) {
|
|
4120
|
+
throw { code: ee(l) === "dsm_105" ? "admin_required" : "shared_folder_grant_failed" };
|
|
4121
4121
|
}
|
|
4122
|
-
const
|
|
4123
|
-
if (
|
|
4124
|
-
return
|
|
4122
|
+
const c = await a();
|
|
4123
|
+
if (c.folders.find((l) => l.key === o)?.state !== "ready") throw { code: "shared_folder_grant_unverified" };
|
|
4124
|
+
return c;
|
|
4125
4125
|
},
|
|
4126
4126
|
openControlPanel() {
|
|
4127
4127
|
e.launch?.("SYNO.SDS.AdminCenter.Application", { fn: "SYNO.SDS.AdminCenter.Share.Main" });
|
|
@@ -4130,67 +4130,67 @@ function me(e) {
|
|
|
4130
4130
|
}
|
|
4131
4131
|
function s6(e) {
|
|
4132
4132
|
return me({
|
|
4133
|
-
call: (
|
|
4133
|
+
call: (t, a) => e.call(t, a),
|
|
4134
4134
|
send: e.webApi,
|
|
4135
4135
|
isAdmin: () => e.user?.isAdmin === !0,
|
|
4136
|
-
launch: (
|
|
4137
|
-
e.host.openApp(
|
|
4136
|
+
launch: (t) => {
|
|
4137
|
+
e.host.openApp(t);
|
|
4138
4138
|
},
|
|
4139
4139
|
locale: e.locale
|
|
4140
4140
|
});
|
|
4141
4141
|
}
|
|
4142
4142
|
function CO(e) {
|
|
4143
4143
|
if (!e || typeof e != "object" || !("code" in e) || e.code !== "shared_folder_permission" || !("details" in e)) return;
|
|
4144
|
-
const
|
|
4145
|
-
if (!(!
|
|
4146
|
-
return { account:
|
|
4144
|
+
const t = e.details;
|
|
4145
|
+
if (!(!t || typeof t != "object" || !("account" in t) || !("share" in t) || !("required" in t)) && !(typeof t.account != "string" || !t.account || typeof t.share != "string" || !t.share || t.required !== "read" && t.required !== "write"))
|
|
4146
|
+
return { account: t.account, share: t.share, required: t.required };
|
|
4147
4147
|
}
|
|
4148
|
-
function PO(e,
|
|
4149
|
-
const a = U(
|
|
4150
|
-
return Ee(a.steps, { account: e.account, folder: e.share, access: a[e.required] },
|
|
4148
|
+
function PO(e, t = "en") {
|
|
4149
|
+
const a = U(t);
|
|
4150
|
+
return Ee(a.steps, { account: e.account, folder: e.share, access: a[e.required] }, t);
|
|
4151
4151
|
}
|
|
4152
4152
|
function r6(e) {
|
|
4153
|
-
const
|
|
4153
|
+
const t = e.locale ?? "en", a = me({ call: e.call, locale: t, isAdmin: () => !1 }), n = /* @__PURE__ */ new Set();
|
|
4154
4154
|
let o = [], i, s, r = 0;
|
|
4155
|
-
function
|
|
4155
|
+
function c(p) {
|
|
4156
4156
|
const d = /* @__PURE__ */ new Map();
|
|
4157
|
-
for (const u of
|
|
4157
|
+
for (const u of p) d.set(JSON.stringify([u.account, u.share, u.required]), u);
|
|
4158
4158
|
o = [...d.values()];
|
|
4159
|
-
for (const u of
|
|
4159
|
+
for (const u of n) u(o);
|
|
4160
4160
|
}
|
|
4161
|
-
function
|
|
4161
|
+
function l(p) {
|
|
4162
4162
|
if (s) return s;
|
|
4163
4163
|
const d = r;
|
|
4164
4164
|
return s = a.status().then((u) => {
|
|
4165
|
-
const f = u.folders.filter((
|
|
4166
|
-
|
|
4165
|
+
const f = u.folders.filter((h) => h.state === "pending" && h.required !== "none").map((h) => ({ account: u.account, share: h.name, required: h.required }));
|
|
4166
|
+
p && d === r ? c(f) : f.length && c([...f, ...o]);
|
|
4167
4167
|
}).finally(() => {
|
|
4168
4168
|
s = void 0;
|
|
4169
4169
|
}), s;
|
|
4170
4170
|
}
|
|
4171
4171
|
const m = {
|
|
4172
|
-
messages: U(
|
|
4173
|
-
message: (
|
|
4172
|
+
messages: U(t),
|
|
4173
|
+
message: (p) => PO(p, t),
|
|
4174
4174
|
check() {
|
|
4175
|
-
return i ??=
|
|
4175
|
+
return i ??= l(!1);
|
|
4176
4176
|
},
|
|
4177
4177
|
retry() {
|
|
4178
|
-
return
|
|
4178
|
+
return l(!0);
|
|
4179
4179
|
},
|
|
4180
|
-
handle(
|
|
4181
|
-
const d = CO(
|
|
4182
|
-
return d ? (r++,
|
|
4180
|
+
handle(p) {
|
|
4181
|
+
const d = CO(p);
|
|
4182
|
+
return d ? (r++, c([...o, d]), !0) : !1;
|
|
4183
4183
|
},
|
|
4184
|
-
async call(
|
|
4184
|
+
async call(p, d, u) {
|
|
4185
4185
|
try {
|
|
4186
|
-
return await e.call(
|
|
4186
|
+
return await e.call(p, d, u);
|
|
4187
4187
|
} catch (f) {
|
|
4188
4188
|
throw m.handle(f), f;
|
|
4189
4189
|
}
|
|
4190
4190
|
},
|
|
4191
|
-
subscribe(
|
|
4192
|
-
return
|
|
4193
|
-
|
|
4191
|
+
subscribe(p) {
|
|
4192
|
+
return n.add(p), o.length && p(o), () => {
|
|
4193
|
+
n.delete(p);
|
|
4194
4194
|
};
|
|
4195
4195
|
},
|
|
4196
4196
|
openControlPanel: () => e.openControlPanel?.()
|
|
@@ -4359,35 +4359,35 @@ const MO = {
|
|
|
4359
4359
|
"root.start": { auth: "required", params: ["name", "params"], required: ["name"] },
|
|
4360
4360
|
status: { auth: "optional", params: [], required: [] },
|
|
4361
4361
|
"webapi.call": { auth: "optional", params: ["response_type", "delegation_id", "job_id", "api", "method", "version", "params"], required: ["delegation_id", "api", "method", "version", "params"] }
|
|
4362
|
-
}, c6 = Object.keys(qO), TO = 64 * 1024,
|
|
4362
|
+
}, c6 = Object.keys(qO), TO = 64 * 1024, te = (e) => !!e && typeof e == "object" && !Array.isArray(e);
|
|
4363
4363
|
function M() {
|
|
4364
4364
|
throw { code: "EXECUTOR_PROTOCOL" };
|
|
4365
4365
|
}
|
|
4366
|
-
function l6(e,
|
|
4367
|
-
const
|
|
4366
|
+
function l6(e, t, a) {
|
|
4367
|
+
const n = JSON.stringify({ v: 1, op: e, ...a ? { auth: a } : {}, params: t }) + `
|
|
4368
4368
|
`;
|
|
4369
|
-
if (new TextEncoder().encode(
|
|
4370
|
-
return
|
|
4369
|
+
if (new TextEncoder().encode(n).length > TO) throw { code: "REQUEST_TOO_LARGE" };
|
|
4370
|
+
return n;
|
|
4371
4371
|
}
|
|
4372
4372
|
function d6(e) {
|
|
4373
|
-
let
|
|
4373
|
+
let t;
|
|
4374
4374
|
try {
|
|
4375
|
-
|
|
4375
|
+
t = JSON.parse(e);
|
|
4376
4376
|
} catch {
|
|
4377
4377
|
M();
|
|
4378
4378
|
}
|
|
4379
|
-
if ((!
|
|
4380
|
-
return
|
|
4381
|
-
const a =
|
|
4382
|
-
return (MO[a]?.kind !== "refusal" || typeof
|
|
4379
|
+
if ((!te(t) || typeof t.ok != "boolean") && M(), t.ok)
|
|
4380
|
+
return te(t.result) || M(), { ok: !0, result: t.result };
|
|
4381
|
+
const a = t.code;
|
|
4382
|
+
return (MO[a]?.kind !== "refusal" || typeof t.message != "string") && M(), { ok: !1, code: a, message: t.message };
|
|
4383
4383
|
}
|
|
4384
4384
|
function EO(e) {
|
|
4385
|
-
return function(a,
|
|
4385
|
+
return function(a, n) {
|
|
4386
4386
|
return !Array.isArray(a) || a.length < 1 || a.length > 8 || a.some(function(o) {
|
|
4387
4387
|
return !o || typeof o.method != "string" || !/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/.test(o.method) || Object.keys(o).some(function(i) {
|
|
4388
4388
|
return i !== "method" && i !== "params";
|
|
4389
4389
|
});
|
|
4390
|
-
}) ? Promise.reject({ code: "bad_request", message: "Batch needs one to eight methods" }) : e({ v: 1, calls: a },
|
|
4390
|
+
}) ? Promise.reject({ code: "bad_request", message: "Batch needs one to eight methods" }) : e({ v: 1, calls: a }, n).then(function(o) {
|
|
4391
4391
|
var i = (
|
|
4392
4392
|
/** @type {{v?: unknown, results?: unknown}} */
|
|
4393
4393
|
o
|
|
@@ -4400,32 +4400,83 @@ function EO(e) {
|
|
|
4400
4400
|
};
|
|
4401
4401
|
}
|
|
4402
4402
|
function u6(e) {
|
|
4403
|
-
const
|
|
4404
|
-
async function a(
|
|
4403
|
+
const t = e.fetch ?? globalThis.fetch;
|
|
4404
|
+
async function a(n, o) {
|
|
4405
4405
|
const i = new AbortController(), s = { code: "request_canceled", message: "request canceled" };
|
|
4406
4406
|
let r;
|
|
4407
|
-
const
|
|
4407
|
+
const c = () => {
|
|
4408
4408
|
r = s, i.abort();
|
|
4409
|
-
},
|
|
4409
|
+
}, l = setTimeout(() => {
|
|
4410
4410
|
r = { code: "request_timeout", message: "request timeout" }, i.abort();
|
|
4411
4411
|
}, R(e.requestTimeout)), m = o?.signal;
|
|
4412
4412
|
if (m?.aborted)
|
|
4413
|
-
throw clearTimeout(
|
|
4414
|
-
m?.addEventListener("abort",
|
|
4413
|
+
throw clearTimeout(l), s;
|
|
4414
|
+
m?.addEventListener("abort", c);
|
|
4415
4415
|
try {
|
|
4416
|
-
if (e.ready && !e.token?.() && await Promise.race([e.ready(), new Promise((
|
|
4417
|
-
const
|
|
4416
|
+
if (e.ready && !e.token?.() && await Promise.race([e.ready(), new Promise((h) => i.signal.addEventListener("abort", () => h(), { once: !0 }))]), r) throw r;
|
|
4417
|
+
const p = e.token?.(), u = await (await t(e.endpoint, { method: "POST", mode: "same-origin", credentials: "same-origin", redirect: "error", cache: "no-store", headers: { "Content-Type": "application/json", ...p ? { "X-SYNO-TOKEN": p } : {} }, body: JSON.stringify(n), signal: i.signal })).json();
|
|
4418
4418
|
if (!u || typeof u != "object" || !("success" in u)) throw { code: "bad_response", message: "unexpected response" };
|
|
4419
4419
|
const f = u;
|
|
4420
4420
|
if (!f.success) throw f.error ?? { code: "bad_response", message: "unexpected response" };
|
|
4421
4421
|
return f.data;
|
|
4422
|
-
} catch (
|
|
4423
|
-
throw r ??
|
|
4422
|
+
} catch (p) {
|
|
4423
|
+
throw r ?? p;
|
|
4424
4424
|
} finally {
|
|
4425
|
-
clearTimeout(
|
|
4425
|
+
clearTimeout(l), m?.removeEventListener("abort", c);
|
|
4426
4426
|
}
|
|
4427
4427
|
}
|
|
4428
|
-
return { call: (
|
|
4428
|
+
return { call: (n, o, i) => a({ method: n, params: o ?? {} }, i), batch: EO(a) };
|
|
4429
|
+
}
|
|
4430
|
+
async function p6(e) {
|
|
4431
|
+
let t;
|
|
4432
|
+
const a = new AbortController();
|
|
4433
|
+
try {
|
|
4434
|
+
const n = async () => {
|
|
4435
|
+
if (e.webApi) return e.webApi("SYNO.Core.Service.PortInfo", "load", 1, {});
|
|
4436
|
+
const s = e.files?.token?.();
|
|
4437
|
+
if (!s) return;
|
|
4438
|
+
const r = await fetch("/webapi/entry.cgi", {
|
|
4439
|
+
method: "POST",
|
|
4440
|
+
credentials: "same-origin",
|
|
4441
|
+
mode: "same-origin",
|
|
4442
|
+
redirect: "error",
|
|
4443
|
+
cache: "no-store",
|
|
4444
|
+
signal: a.signal,
|
|
4445
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded", "X-SYNO-TOKEN": s },
|
|
4446
|
+
body: new URLSearchParams({ api: "SYNO.Core.Service.PortInfo", version: "1", method: "load", SynoToken: s })
|
|
4447
|
+
}), c = r.ok ? await r.json() : void 0;
|
|
4448
|
+
return c?.success === !0 ? c.data : void 0;
|
|
4449
|
+
}, o = await Promise.race([n(), new Promise((s) => {
|
|
4450
|
+
t = setTimeout(() => {
|
|
4451
|
+
a.abort(), s(void 0);
|
|
4452
|
+
}, 5e3);
|
|
4453
|
+
})]);
|
|
4454
|
+
if (!Array.isArray(o?.port_info)) return [];
|
|
4455
|
+
const i = (s) => typeof s == "string" ? s.trim() : "";
|
|
4456
|
+
return o.port_info.flatMap((s) => {
|
|
4457
|
+
if (!s || typeof s != "object") return [];
|
|
4458
|
+
const r = s, c = i(r.port_id), l = i(r.protocol);
|
|
4459
|
+
if (!c || !Array.isArray(r.dst_port)) return [];
|
|
4460
|
+
const m = r.dst_port.flatMap((p) => {
|
|
4461
|
+
const d = /^(\d{1,5})(?:[-:](\d{1,5}))?$/.exec(i(p));
|
|
4462
|
+
if (!d) return [];
|
|
4463
|
+
const u = Number(d[1]), f = Number(d[2] ?? d[1]);
|
|
4464
|
+
return u >= 1 && f <= 65535 && f >= u ? [{ first: u, last: f }] : [];
|
|
4465
|
+
});
|
|
4466
|
+
return [{
|
|
4467
|
+
id: c,
|
|
4468
|
+
name: i(r.name),
|
|
4469
|
+
desc: i(r.desc),
|
|
4470
|
+
protocol: l,
|
|
4471
|
+
ports: r.dst_port.map(i).filter((p) => /^\d{1,5}$/.test(p)).map(Number).filter((p) => p >= 1 && p <= 65535),
|
|
4472
|
+
ranges: m
|
|
4473
|
+
}];
|
|
4474
|
+
});
|
|
4475
|
+
} catch {
|
|
4476
|
+
return [];
|
|
4477
|
+
} finally {
|
|
4478
|
+
clearTimeout(t);
|
|
4479
|
+
}
|
|
4429
4480
|
}
|
|
4430
4481
|
export {
|
|
4431
4482
|
LO as DEFAULT_REQUEST_TIMEOUT,
|
|
@@ -4435,13 +4486,13 @@ export {
|
|
|
4435
4486
|
$e as MAX_LAUNCH_ROUTE,
|
|
4436
4487
|
KO as activePage,
|
|
4437
4488
|
j as appDenial,
|
|
4438
|
-
|
|
4489
|
+
ny as appLifecycle,
|
|
4439
4490
|
E as appRefusal,
|
|
4440
4491
|
Re as authorizationCatalogs,
|
|
4441
4492
|
je as authorizationCopy,
|
|
4442
4493
|
he as backgroundCatalogs,
|
|
4443
|
-
|
|
4444
|
-
|
|
4494
|
+
t6 as backgroundCopy,
|
|
4495
|
+
n6 as backgroundErrorCopy,
|
|
4445
4496
|
uO as bridgeCatalogs,
|
|
4446
4497
|
a6 as bridgeErrorCopy,
|
|
4447
4498
|
A as catalogs,
|
|
@@ -4460,7 +4511,7 @@ export {
|
|
|
4460
4511
|
fe as createStandaloneHost,
|
|
4461
4512
|
d6 as decodeResponse,
|
|
4462
4513
|
ue as delegateCatalogs,
|
|
4463
|
-
|
|
4514
|
+
ty as delegateCopy,
|
|
4464
4515
|
xO as dsmLaunchURL,
|
|
4465
4516
|
l6 as encodeRequest,
|
|
4466
4517
|
GO as errorCopy,
|
|
@@ -4481,14 +4532,15 @@ export {
|
|
|
4481
4532
|
QO as nasErrorCopy,
|
|
4482
4533
|
HO as openFileInFileStation,
|
|
4483
4534
|
FO as openFolderInFileStation,
|
|
4484
|
-
|
|
4485
|
-
|
|
4535
|
+
R4 as portalCatalogs,
|
|
4536
|
+
j4 as portalMessages,
|
|
4486
4537
|
MO as protocolCodes,
|
|
4487
4538
|
c6 as protocolOps,
|
|
4488
4539
|
qO as protocolSchemas,
|
|
4540
|
+
p6 as readDsmPorts,
|
|
4489
4541
|
WO as requestKey,
|
|
4490
4542
|
ge as saveCatalogs,
|
|
4491
|
-
|
|
4543
|
+
w4 as saveCopy,
|
|
4492
4544
|
o6 as saveError,
|
|
4493
4545
|
VO as scopedPicker,
|
|
4494
4546
|
s6 as sharedFolderAccessFor,
|