@synopackageland/sdk 0.9.8 → 0.9.9

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.
Files changed (76) hide show
  1. package/README.md +12 -1
  2. package/dist/i18n/background/de.json +0 -1
  3. package/dist/i18n/background/en.json +0 -1
  4. package/dist/i18n/background/es.json +0 -1
  5. package/dist/i18n/background/fr.json +0 -1
  6. package/dist/i18n/background/it.json +0 -1
  7. package/dist/i18n/background/ja.json +2 -3
  8. package/dist/i18n/background/ko.json +0 -1
  9. package/dist/i18n/background/zh-CN.json +0 -1
  10. package/dist/i18n/background/zh-TW.json +0 -1
  11. package/dist/i18n/delegate/de.json +10 -2
  12. package/dist/i18n/delegate/en.json +10 -2
  13. package/dist/i18n/delegate/es.json +10 -2
  14. package/dist/i18n/delegate/fr.json +10 -2
  15. package/dist/i18n/delegate/it.json +10 -2
  16. package/dist/i18n/delegate/ja.json +10 -2
  17. package/dist/i18n/delegate/ko.json +10 -2
  18. package/dist/i18n/delegate/zh-CN.json +10 -2
  19. package/dist/i18n/delegate/zh-TW.json +10 -2
  20. package/dist/i18n/files/de.json +1 -0
  21. package/dist/i18n/files/en.json +1 -0
  22. package/dist/i18n/files/es.json +1 -0
  23. package/dist/i18n/files/fr.json +1 -0
  24. package/dist/i18n/files/it.json +1 -0
  25. package/dist/i18n/files/ja.json +1 -0
  26. package/dist/i18n/files/ko.json +1 -0
  27. package/dist/i18n/files/zh-CN.json +1 -0
  28. package/dist/i18n/files/zh-TW.json +1 -0
  29. package/dist/i18n/identity/de.json +2 -0
  30. package/dist/i18n/identity/en.json +2 -0
  31. package/dist/i18n/identity/es.json +2 -0
  32. package/dist/i18n/identity/fr.json +2 -0
  33. package/dist/i18n/identity/it.json +2 -0
  34. package/dist/i18n/identity/ja.json +2 -0
  35. package/dist/i18n/identity/ko.json +2 -0
  36. package/dist/i18n/identity/zh-CN.json +2 -0
  37. package/dist/i18n/identity/zh-TW.json +2 -0
  38. package/dist/i18n/portal/de.json +21 -0
  39. package/dist/i18n/portal/en.json +21 -0
  40. package/dist/i18n/portal/es.json +21 -0
  41. package/dist/i18n/portal/fr.json +21 -0
  42. package/dist/i18n/portal/it.json +21 -0
  43. package/dist/i18n/portal/ja.json +21 -0
  44. package/dist/i18n/portal/ko.json +21 -0
  45. package/dist/i18n/portal/zh-CN.json +21 -0
  46. package/dist/i18n/portal/zh-TW.json +21 -0
  47. package/dist/i18n/save/de.json +12 -2
  48. package/dist/i18n/save/en.json +12 -2
  49. package/dist/i18n/save/es.json +12 -2
  50. package/dist/i18n/save/fr.json +12 -2
  51. package/dist/i18n/save/it.json +12 -2
  52. package/dist/i18n/save/ja.json +12 -2
  53. package/dist/i18n/save/ko.json +12 -2
  54. package/dist/i18n/save/zh-CN.json +12 -2
  55. package/dist/i18n/save/zh-TW.json +12 -2
  56. package/dist/index.js +2622 -2162
  57. package/dist/src/background/BackgroundPanel.vue.d.ts +4 -1
  58. package/dist/src/background/i18n.d.ts +0 -1
  59. package/dist/src/background/picker-provider.d.ts +1 -1
  60. package/dist/src/context.d.ts +4 -1
  61. package/dist/src/delegate/BackgroundSavePanel.vue.d.ts +6 -1
  62. package/dist/src/delegate/DelegatePanel.vue.d.ts +3 -1
  63. package/dist/src/delegate/ExecutorSettings.vue.d.ts +4 -1
  64. package/dist/src/delegate/copy.d.ts +18 -2
  65. package/dist/src/delegate/save-copy.d.ts +34 -4
  66. package/dist/src/i18n.d.ts +2 -0
  67. package/dist/src/identity/i18n.d.ts +2 -0
  68. package/dist/src/index.d.ts +4 -1
  69. package/dist/src/nas/NasPicker.vue.d.ts +3 -0
  70. package/dist/src/nas/locale.d.ts +1 -0
  71. package/dist/src/nas/provider.d.ts +2 -2
  72. package/dist/src/portal/access.d.ts +16 -0
  73. package/dist/src/portal/i18n.d.ts +3 -0
  74. package/dist/style.css +1 -1
  75. package/dist/vue.js +1816 -1560
  76. package/package.json +3 -3
package/README.md CHANGED
@@ -6,7 +6,7 @@ App's `backend/go.mod`.
6
6
 
7
7
  | Import | Contents |
8
8
  |---|---|
9
- | `@synopackageland/sdk` | Headless: `Context` and the other types, `createBackgroundSaveFacade`, `createNasProvider`, `scopedPicker`, copy catalogs (`uiLocale`, `saveCopy`, …). Never imports Vue. |
9
+ | `@synopackageland/sdk` | Headless: `Context` and the other types, `createBackgroundSaveFacade`, `createNasProvider`, `scopedPicker`, `createPortalAccess`, copy catalogs (`uiLocale`, `saveCopy`, …). Never imports Vue. |
10
10
  | `@synopackageland/sdk/vue` | Everything above plus the components (`AppShell`, `FilesPage`, `NasPicker`, `LoginPage`, `PortalSettings`, `BackgroundPanel`, `ExecutorSettings`, `DelegatePanel`, `BackgroundSavePanel`, `AuthorizationGate`, `AuthorizationSettings`) and composables (`createSession`, `useExecutorSetup`, `ExecutorSetupKey`, `useAuthorization`). |
11
11
  | `@synopackageland/sdk/vue/style.css` | The component stylesheet. Import it once next to `@synopackageland/ui`'s theme in the App entry. |
12
12
  | `@synopackageland/sdk/i18n/<capability>/<locale>.json` | Copy in `en`, `zh-TW`, `zh-CN`, `ja`, `ko`, `de`, `fr`, `es`, `it`. |
@@ -23,6 +23,17 @@ was launched: outside DSM, for an empty path, or when DSM reports File Station
23
23
  disabled or not launchable. File Station reports no completion and applies the
24
24
  signed-in user's own permissions.
25
25
 
26
+ ## Application Portal
27
+
28
+ The DSM window that synopkgland generates hands a portal App `ctx.portal`. An
29
+ App that mounts itself in DSM builds the same access with
30
+ `createPortalAccess({appId, defaultAlias, locale, location, call, send, isAdmin, launch, entry})`
31
+ and passes it to `PortalSettings`. `call` reaches the package backend's
32
+ `portal.status` (and, with `entry` below DSM 7.2, `portal.register` and
33
+ `portal.unregister`); `send` is DSM's WebAPI in the signed-in user's session.
34
+ Its `messages` are `portalMessages(locale)`, the panel text from
35
+ `i18n/portal/<locale>.json` (`portalCatalogs`). It has no plain `mountPanel`.
36
+
26
37
  ## Localized copy
27
38
 
28
39
  `format(message, values, locale)` fills `{key}` placeholders from `values`; a
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "Datei zum Importieren auswählen",
10
10
  "pickerConsent": "Die ausgewählte Datei wird einmalig mit Ihrer aktuellen DSM-Anmeldung gelesen und an den Hintergrundjob übergeben. Es wird keine Berechtigung gespeichert.",
11
11
  "submit": "Importieren und senden",
12
- "refresh": "Aktualisieren",
13
12
  "cancel": "Abbrechen",
14
13
  "result": "Ergebnis",
15
14
  "download": "Ergebnis herunterladen",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "Choose a file to import",
10
10
  "pickerConsent": "The selected file is read once with your current DSM sign-in and handed to the background job. No permission is saved.",
11
11
  "submit": "Import and submit",
12
- "refresh": "Refresh",
13
12
  "cancel": "Cancel",
14
13
  "result": "Result",
15
14
  "download": "Download result",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "Elegir un archivo para importar",
10
10
  "pickerConsent": "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.",
11
11
  "submit": "Importar y enviar",
12
- "refresh": "Actualizar",
13
12
  "cancel": "Cancelar",
14
13
  "result": "Resultado",
15
14
  "download": "Descargar resultado",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "Choisir un fichier à importer",
10
10
  "pickerConsent": "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.",
11
11
  "submit": "Importer et envoyer",
12
- "refresh": "Actualiser",
13
12
  "cancel": "Annuler",
14
13
  "result": "Résultat",
15
14
  "download": "Télécharger le résultat",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "Scegli un file da importare",
10
10
  "pickerConsent": "Il file selezionato viene letto una sola volta con l'accesso DSM corrente e passato al processo in background. Nessuna autorizzazione viene salvata.",
11
11
  "submit": "Importa e invia",
12
- "refresh": "Aggiorna",
13
12
  "cancel": "Annulla",
14
13
  "result": "Risultato",
15
14
  "download": "Scarica il risultato",
@@ -5,11 +5,10 @@
5
5
  "workerRunning": "ワーカーは {user} として実行中です",
6
6
  "workerStopped": "ワーカーは停止しています",
7
7
  "chooseFile": "ファイルを選択",
8
- "chosen": "選択したファイル: {path}",
8
+ "chosen": "選択したファイル:{path}",
9
9
  "pickerTitle": "インポートするファイルを選択",
10
10
  "pickerConsent": "選択したファイルは現在の DSM サインインで一度だけ読み取られ、バックグラウンドジョブに渡されます。権限は保存されません。",
11
11
  "submit": "インポートして送信",
12
- "refresh": "最新の情報に更新",
13
12
  "cancel": "キャンセル",
14
13
  "result": "結果",
15
14
  "download": "結果をダウンロード",
@@ -28,7 +27,7 @@
28
27
  "other": "{done} / {count} 項目"
29
28
  },
30
29
  "progressBytes": "{done} / {total}",
31
- "progressItem": "現在の項目: {item}",
30
+ "progressItem": "現在の項目:{item}",
32
31
  "limits": "1 ファイル最大 {size} KB、キュー {queue} 件、1 ジョブ {seconds} 秒。",
33
32
  "errors": {
34
33
  "jobs_busy": "処理が混み合っています。しばらくしてから再試行してください。",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "가져올 파일 선택",
10
10
  "pickerConsent": "선택한 파일은 현재 DSM 로그인으로 한 번만 읽어 백그라운드 작업에 전달됩니다. 권한은 저장되지 않습니다.",
11
11
  "submit": "가져오기 및 제출",
12
- "refresh": "새로 고침",
13
12
  "cancel": "취소",
14
13
  "result": "결과",
15
14
  "download": "결과 다운로드",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "选择要导入的文件",
10
10
  "pickerConsent": "所选文件会使用你当前的 DSM 登录读取一次并交给后台任务,不会保存授权。",
11
11
  "submit": "导入并提交",
12
- "refresh": "刷新",
13
12
  "cancel": "取消",
14
13
  "result": "结果",
15
14
  "download": "下载结果",
@@ -9,7 +9,6 @@
9
9
  "pickerTitle": "選擇要匯入的檔案",
10
10
  "pickerConsent": "選取的檔案會用你目前的 DSM 登入讀取一次並交給背景工作,不會保存授權。",
11
11
  "submit": "匯入並送出",
12
- "refresh": "重新整理",
13
12
  "cancel": "取消",
14
13
  "result": "結果",
15
14
  "download": "下載結果",
@@ -13,7 +13,6 @@
13
13
  "blocked": "Der Dateizugriff im Hintergrund ist nicht verfügbar. Bitten Sie einen Administrator, die App-Einrichtung zu prüfen.",
14
14
  "loading": "Wird geladen…",
15
15
  "details": "Details",
16
- "refresh": "Aktualisieren",
17
16
  "revoke": "Widerrufen",
18
17
  "cancel": "Auftrag abbrechen",
19
18
  "noDelegations": "Sie haben keine aktiven Delegierungen.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "Die Vorauswahl bei der Installation weicht vom bestätigten Bereich ab. Speichervorgänge im Hintergrund folgen dem bestätigten Bereich.",
47
46
  "scopeChangeHelp": "Eine Änderung des Bereichs widerruft vorhandene Ziele und bricht ausstehende Speichervorgänge ab. Benutzer müssen ihre Ziele neu auswählen. Bereits gespeicherte Dateien bleiben erhalten.",
48
47
  "confirmScope": "Bereichsänderung bestätigen",
49
- "waiting_executor": "Warten auf den Start der Systemdienste"
48
+ "waiting_executor": "Warten auf den Start der Systemdienste",
49
+ "status": "Status",
50
+ "statusReady": "Bereit",
51
+ "statusNeeds": "Genehmigung erforderlich",
52
+ "statusScope": "Freigegebener Ordner erforderlich",
53
+ "statusBlocked": "Nicht verfügbar",
54
+ "statusConfirming": "Wird bestätigt",
55
+ "hintPassword": "Geben Sie das DSM-Passwort ein, um zu bestätigen.",
56
+ "hintUnchanged": "Wählen Sie einen anderen Bereich, um ihn zu ändern.",
57
+ "retry": "Neuer Versuch"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "Background file access is unavailable. Ask an administrator to check the app setup.",
14
14
  "loading": "Loading…",
15
15
  "details": "Details",
16
- "refresh": "Refresh",
17
16
  "revoke": "Revoke",
18
17
  "cancel": "Cancel job",
19
18
  "noDelegations": "You have no active delegations.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "The installer pre-selection differs from the confirmed scope. Background saves follow the confirmed scope.",
47
46
  "scopeChangeHelp": "Changing the scope revokes existing destinations and cancels pending saves. Users must choose destinations again. Saved files remain.",
48
47
  "confirmScope": "Confirm scope change",
49
- "waiting_executor": "Waiting for system services to start"
48
+ "waiting_executor": "Waiting for system services to start",
49
+ "status": "Status",
50
+ "statusReady": "Ready",
51
+ "statusNeeds": "Needs approval",
52
+ "statusScope": "Needs a shared folder",
53
+ "statusBlocked": "Unavailable",
54
+ "statusConfirming": "Confirming",
55
+ "hintPassword": "Enter the DSM password to confirm.",
56
+ "hintUnchanged": "Choose a different scope to change it.",
57
+ "retry": "Retry"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "El acceso a archivos en segundo plano no está disponible. Pida a un administrador que revise la configuración de la aplicación.",
14
14
  "loading": "Cargando…",
15
15
  "details": "Detalles",
16
- "refresh": "Actualizar",
17
16
  "revoke": "Revocar",
18
17
  "cancel": "Cancelar tarea",
19
18
  "noDelegations": "No tiene delegaciones activas.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "La preselección de la instalación difiere del ámbito confirmado. Los guardados en segundo plano siguen el ámbito confirmado.",
47
46
  "scopeChangeHelp": "Cambiar el ámbito revoca los destinos existentes y cancela los guardados pendientes. Los usuarios deben elegir de nuevo sus destinos. Los archivos ya guardados se conservan.",
48
47
  "confirmScope": "Confirmar cambio de ámbito",
49
- "waiting_executor": "Esperando a que se inicien los servicios del sistema"
48
+ "waiting_executor": "Esperando a que se inicien los servicios del sistema",
49
+ "status": "Estado",
50
+ "statusReady": "Listo",
51
+ "statusNeeds": "Requiere aprobación",
52
+ "statusScope": "Falta confirmar la carpeta compartida",
53
+ "statusBlocked": "No disponible",
54
+ "statusConfirming": "Confirmando",
55
+ "hintPassword": "Introduzca la contraseña de DSM para confirmar.",
56
+ "hintUnchanged": "Elija otro ámbito para cambiarlo.",
57
+ "retry": "Volver a intentar"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "L’accès aux fichiers en arrière-plan n’est pas disponible. Demandez à un administrateur de vérifier la configuration de l’application.",
14
14
  "loading": "Chargement…",
15
15
  "details": "Détails",
16
- "refresh": "Actualiser",
17
16
  "revoke": "Révoquer",
18
17
  "cancel": "Annuler la tâche",
19
18
  "noDelegations": "Vous n’avez aucune délégation active.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "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.",
47
46
  "scopeChangeHelp": "Changer la portée révoque les destinations existantes et annule les enregistrements en attente. Les utilisateurs doivent choisir à nouveau leurs destinations. Les fichiers déjà enregistrés sont conservés.",
48
47
  "confirmScope": "Confirmer le changement de portée",
49
- "waiting_executor": "En attente du démarrage des services système"
48
+ "waiting_executor": "En attente du démarrage des services système",
49
+ "status": "Statut",
50
+ "statusReady": "Prêt",
51
+ "statusNeeds": "Approbation requise",
52
+ "statusScope": "Dossier partagé à confirmer",
53
+ "statusBlocked": "Indisponible",
54
+ "statusConfirming": "Confirmation",
55
+ "hintPassword": "Saisissez le mot de passe DSM pour confirmer.",
56
+ "hintUnchanged": "Choisissez une autre étendue pour la modifier.",
57
+ "retry": "Réessayer"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "L’accesso ai file in background non è disponibile. Chiedere a un amministratore di controllare la configurazione dell’app.",
14
14
  "loading": "Caricamento…",
15
15
  "details": "Dettagli",
16
- "refresh": "Aggiorna",
17
16
  "revoke": "Revoca",
18
17
  "cancel": "Annulla processo",
19
18
  "noDelegations": "Nessuna delega attiva.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "La preselezione dell’installazione è diversa dall’ambito confermato. I salvataggi in background seguono l’ambito confermato.",
47
46
  "scopeChangeHelp": "La modifica dell’ambito revoca le destinazioni esistenti e annulla i salvataggi in sospeso. Gli utenti devono scegliere di nuovo le destinazioni. I file già salvati restano.",
48
47
  "confirmScope": "Conferma modifica dell’ambito",
49
- "waiting_executor": "In attesa dell’avvio dei servizi di sistema"
48
+ "waiting_executor": "In attesa dell’avvio dei servizi di sistema",
49
+ "status": "Stato",
50
+ "statusReady": "Pronto",
51
+ "statusNeeds": "Approvazione necessaria",
52
+ "statusScope": "Cartella condivisa da confermare",
53
+ "statusBlocked": "Non disponibile",
54
+ "statusConfirming": "Conferma in corso",
55
+ "hintPassword": "Inserire la password DSM per confermare.",
56
+ "hintUnchanged": "Scegliere un ambito diverso per cambiarlo.",
57
+ "retry": "Riprova"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "バックグラウンドのファイルアクセスを利用できません。アプリの設定を確認するよう管理者に依頼してください。",
14
14
  "loading": "読み込み中…",
15
15
  "details": "詳細",
16
- "refresh": "最新の情報に更新",
17
16
  "revoke": "取り消す",
18
17
  "cancel": "ジョブをキャンセル",
19
18
  "noDelegations": "有効な委任はありません。",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "インストール時の事前選択が確認済みの範囲と異なります。バックグラウンド保存は確認済みの範囲に従います。",
47
46
  "scopeChangeHelp": "範囲を変更すると、既存の保存先が取り消され、保留中の保存がキャンセルされます。ユーザーは保存先を選び直す必要があります。保存済みのファイルは残ります。",
48
47
  "confirmScope": "範囲の変更を確認",
49
- "waiting_executor": "システムサービスの起動を待っています"
48
+ "waiting_executor": "システムサービスの起動を待っています",
49
+ "status": "状態",
50
+ "statusReady": "準備完了",
51
+ "statusNeeds": "承認が必要",
52
+ "statusScope": "共有フォルダの確認が必要",
53
+ "statusBlocked": "使用不可",
54
+ "statusConfirming": "確認中",
55
+ "hintPassword": "DSM パスワードを入力すると確認できます。",
56
+ "hintUnchanged": "別の範囲を選ぶと変更できます。",
57
+ "retry": "再試行"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "백그라운드 파일 액세스를 사용할 수 없습니다. 관리자에게 앱 설정을 확인하도록 요청하십시오.",
14
14
  "loading": "불러오는 중…",
15
15
  "details": "세부 사항",
16
- "refresh": "새로 고침",
17
16
  "revoke": "취소",
18
17
  "cancel": "작업 취소",
19
18
  "noDelegations": "활성 위임이 없습니다.",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "설치 시 사전 선택이 확인된 범위와 다릅니다. 백그라운드 저장은 확인된 범위를 따릅니다.",
47
46
  "scopeChangeHelp": "범위를 변경하면 기존 대상이 취소되고 대기 중인 저장이 취소됩니다. 사용자는 대상을 다시 선택해야 합니다. 저장된 파일은 유지됩니다.",
48
47
  "confirmScope": "범위 변경 확인",
49
- "waiting_executor": "시스템 서비스 시작을 기다리는 중"
48
+ "waiting_executor": "시스템 서비스 시작을 기다리는 중",
49
+ "status": "상태",
50
+ "statusReady": "준비됨",
51
+ "statusNeeds": "승인 필요",
52
+ "statusScope": "공유 폴더 확인 필요",
53
+ "statusBlocked": "사용 불가",
54
+ "statusConfirming": "확인 중",
55
+ "hintPassword": "DSM 비밀번호를 입력하면 확인할 수 있습니다.",
56
+ "hintUnchanged": "다른 범위를 선택해야 변경할 수 있습니다.",
57
+ "retry": "재시도"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "后台文件访问不可用,请管理员检查 App 设置。",
14
14
  "loading": "正在加载…",
15
15
  "details": "详情",
16
- "refresh": "刷新",
17
16
  "revoke": "撤销",
18
17
  "cancel": "取消任务",
19
18
  "noDelegations": "目前没有有效委托。",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "安装时的预选与已确认范围不同。后台保存将按已确认范围执行。",
47
46
  "scopeChangeHelp": "更改范围会撤销现有目标,并取消待完成的保存。用户必须重新选择目标。已保存的文件会保留。",
48
47
  "confirmScope": "确认更改范围",
49
- "waiting_executor": "等待系统服务启动"
48
+ "waiting_executor": "等待系统服务启动",
49
+ "status": "状态",
50
+ "statusReady": "就绪",
51
+ "statusNeeds": "需要批准",
52
+ "statusScope": "需要确认共享文件夹",
53
+ "statusBlocked": "无法使用",
54
+ "statusConfirming": "确认中",
55
+ "hintPassword": "输入 DSM 密码后即可确认。",
56
+ "hintUnchanged": "选择不同的范围后才能更换。",
57
+ "retry": "重试"
50
58
  }
@@ -13,7 +13,6 @@
13
13
  "blocked": "背景檔案存取無法使用,請管理員檢查 App 設定。",
14
14
  "loading": "載入中…",
15
15
  "details": "詳情",
16
- "refresh": "重新整理",
17
16
  "revoke": "撤銷",
18
17
  "cancel": "取消工作",
19
18
  "noDelegations": "目前沒有有效委託。",
@@ -46,5 +45,14 @@
46
45
  "scopeMismatch": "安裝時的預選與已確認範圍不同。背景儲存會依已確認範圍執行。",
47
46
  "scopeChangeHelp": "更換範圍會撤銷既有目的地,並取消待完成的儲存。使用者必須重新選擇目的地。已儲存的檔案會保留。",
48
47
  "confirmScope": "確認更換範圍",
49
- "waiting_executor": "等待系統服務啟動"
48
+ "waiting_executor": "等待系統服務啟動",
49
+ "status": "狀態",
50
+ "statusReady": "就緒",
51
+ "statusNeeds": "需要核准",
52
+ "statusScope": "需要確認共用資料夾",
53
+ "statusBlocked": "無法使用",
54
+ "statusConfirming": "確認中",
55
+ "hintPassword": "輸入 DSM 密碼後即可確認。",
56
+ "hintUnchanged": "選擇不同的範圍後才能更換。",
57
+ "retry": "重試"
50
58
  }
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station ist nicht verfügbar oder der Sitzungsadapter fehlt. Aktualisieren Sie später.",
25
25
  "errorCanceled": "Aufruf abgebrochen. Aktualisieren Sie vor dem Fortfahren.",
26
26
  "errorTimeout": "Zeitüberschreitung. Aktualisieren Sie die Liste vor dem Fortfahren.",
27
+ "errorOrigin": "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.",
27
28
  "metadata": "Metadaten",
28
29
  "fileKind": "Datei",
29
30
  "directoryKind": "Ordner",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station is unavailable or this package lacks the session adapter. Refresh later.",
25
25
  "errorCanceled": "Request canceled. Refresh before continuing.",
26
26
  "errorTimeout": "The request timed out. Refresh the listing before continuing.",
27
+ "errorOrigin": "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.",
27
28
  "metadata": "Metadata",
28
29
  "fileKind": "File",
29
30
  "directoryKind": "Folder",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station no está disponible o falta el adaptador de sesión. Actualice más tarde.",
25
25
  "errorCanceled": "Solicitud cancelada. Actualice antes de continuar.",
26
26
  "errorTimeout": "La solicitud agotó el tiempo. Actualice la lista antes de continuar.",
27
+ "errorOrigin": "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.",
27
28
  "metadata": "Metadatos",
28
29
  "fileKind": "Archivo",
29
30
  "directoryKind": "Carpeta",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station est indisponible ou l’adaptateur de session manque. Actualisez plus tard.",
25
25
  "errorCanceled": "Requête annulée. Actualisez avant de continuer.",
26
26
  "errorTimeout": "Délai dépassé. Actualisez la liste avant de continuer.",
27
+ "errorOrigin": "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.",
27
28
  "metadata": "Métadonnées",
28
29
  "fileKind": "Fichier",
29
30
  "directoryKind": "Dossier",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station non disponibile o adattatore di sessione mancante. Aggiornare più tardi.",
25
25
  "errorCanceled": "Richiesta annullata. Aggiornare prima di continuare.",
26
26
  "errorTimeout": "Tempo scaduto. Aggiornare l’elenco prima di continuare.",
27
+ "errorOrigin": "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.",
27
28
  "metadata": "Metadati",
28
29
  "fileKind": "File",
29
30
  "directoryKind": "Cartella",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station が利用できないか、このパッケージにセッション adapter がありません。後で最新の情報に更新してください。",
25
25
  "errorCanceled": "リクエストをキャンセルしました。最新の情報に更新してから続けてください。",
26
26
  "errorTimeout": "リクエストがタイムアウトしました。一覧を最新の情報に更新してください。",
27
+ "errorOrigin": "リクエストは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで DSM から App を開き直してください。",
27
28
  "metadata": "情報",
28
29
  "fileKind": "ファイル",
29
30
  "directoryKind": "フォルダ",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station을 사용할 수 없거나 패키지에 세션 adapter가 없습니다. 나중에 새로 고치십시오.",
25
25
  "errorCanceled": "요청이 취소되었습니다. 새로 고친 후 계속하십시오.",
26
26
  "errorTimeout": "요청 시간이 초과되었습니다. 목록을 새로 고치십시오.",
27
+ "errorOrigin": "요청이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 DSM으로 App을 다시 여십시오.",
27
28
  "metadata": "정보",
28
29
  "fileKind": "파일",
29
30
  "directoryKind": "폴더",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station 不可用,或此套件未提供会话 adapter。请稍后刷新。",
25
25
  "errorCanceled": "请求已取消。请刷新后继续。",
26
26
  "errorTimeout": "请求超时。请刷新列表后继续。",
27
+ "errorOrigin": "请求已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器,从 DSM 重新打开 App。",
27
28
  "metadata": "信息",
28
29
  "fileKind": "文件",
29
30
  "directoryKind": "文件夹",
@@ -24,6 +24,7 @@
24
24
  "errorUnavailable": "File Station 無法使用,或此套件未提供工作階段 adapter。請稍後重新整理。",
25
25
  "errorCanceled": "請求已取消。請重新整理後繼續。",
26
26
  "errorTimeout": "請求逾時。請重新整理清單後繼續。",
27
+ "errorOrigin": "要求已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器,從 DSM 重新開啟 App。",
27
28
  "metadata": "資訊",
28
29
  "fileKind": "檔案",
29
30
  "directoryKind": "資料夾",
@@ -17,6 +17,8 @@
17
17
  "https_required": "Öffnen Sie diese App über HTTPS, um sich anzumelden.",
18
18
  "auth_unavailable": "Die DSM-Anmeldung ist nicht verfügbar. Versuchen Sie es erneut.",
19
19
  "session_required": "Melden Sie sich in diesem Browser bei DSM an und versuchen Sie es dann erneut.",
20
+ "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.",
21
+ "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.",
20
22
  "failed": "Die Anmeldung konnte nicht abgeschlossen werden. Prüfen Sie Ihre Anmeldedaten oder wenden Sie sich an Ihren Administrator."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "Open this app using HTTPS to sign in.",
18
18
  "auth_unavailable": "DSM sign-in is unavailable. Try again.",
19
19
  "session_required": "Sign in to DSM in this browser, then try again.",
20
+ "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.",
21
+ "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.",
20
22
  "failed": "Sign-in could not be completed. Check your credentials or contact your administrator."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "Abra esta aplicación con HTTPS para iniciar sesión.",
18
18
  "auth_unavailable": "El inicio de sesión de DSM no está disponible. Inténtelo de nuevo.",
19
19
  "session_required": "Inicie sesión en DSM en este navegador e inténtelo de nuevo.",
20
+ "cross_origin": "Se rechazó el inicio de sesión: el navegador no indicó que procediera de la página de esta App. Vuelva a abrir la App en un navegador actual.",
21
+ "origin_required": "Se rechazó el inicio de sesión: el navegador no indicó que procediera de la página de esta App. Vuelva a abrir la App en un navegador actual.",
20
22
  "failed": "No se pudo completar el inicio de sesión. Compruebe sus credenciales o póngase en contacto con su administrador."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "Ouvrez cette application en HTTPS pour vous connecter.",
18
18
  "auth_unavailable": "La connexion DSM n’est pas disponible. Réessayez.",
19
19
  "session_required": "Connectez-vous à DSM dans ce navigateur, puis réessayez.",
20
+ "cross_origin": "La connexion a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App dans un navigateur récent.",
21
+ "origin_required": "La connexion a été refusée : le navigateur n’a pas indiqué qu’elle provenait de la page de cette App. Rouvrez l’App dans un navigateur récent.",
20
22
  "failed": "La connexion n’a pas pu aboutir. Vérifiez vos identifiants ou contactez votre administrateur."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "Aprire questa app tramite HTTPS per accedere.",
18
18
  "auth_unavailable": "L’accesso a DSM non è disponibile. Riprovare.",
19
19
  "session_required": "Accedere a DSM in questo browser, quindi riprovare.",
20
+ "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.",
21
+ "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.",
20
22
  "failed": "Impossibile completare l’accesso. Controllare le credenziali o contattare l’amministratore."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "サインインするには HTTPS でこのアプリを開いてください。",
18
18
  "auth_unavailable": "DSM サインインを利用できません。もう一度お試しください。",
19
19
  "session_required": "このブラウザーで DSM にサインインしてから、もう一度お試しください。",
20
+ "cross_origin": "サインインは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで App を開き直してください。",
21
+ "origin_required": "サインインは拒否されました。ブラウザーがこの App のページからのリクエストであることを示しませんでした。最新のブラウザーで App を開き直してください。",
20
22
  "failed": "サインインを完了できませんでした。アカウントとパスワードを確認するか、管理者に連絡してください。"
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "로그인하려면 HTTPS로 이 앱을 여십시오.",
18
18
  "auth_unavailable": "DSM 로그인을 사용할 수 없습니다. 다시 시도하십시오.",
19
19
  "session_required": "이 브라우저에서 DSM에 로그인한 후 다시 시도하십시오.",
20
+ "cross_origin": "로그인이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 App을 다시 여십시오.",
21
+ "origin_required": "로그인이 거부되었습니다. 브라우저가 이 App 페이지에서 보낸 요청임을 알리지 않았습니다. 최신 브라우저에서 App을 다시 여십시오.",
20
22
  "failed": "로그인을 완료할 수 없습니다. 계정과 암호를 확인하거나 관리자에게 문의하십시오."
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "请使用 HTTPS 打开此 App 以登录。",
18
18
  "auth_unavailable": "DSM 登录暂时不可用,请重试。",
19
19
  "session_required": "请先在此浏览器中登录 DSM,然后重试。",
20
+ "cross_origin": "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。",
21
+ "origin_required": "登录已被拒绝:浏览器没有表明它来自此 App 的页面。请使用新版浏览器重新打开 App。",
20
22
  "failed": "无法完成登录。请检查帐户和密码,或联系管理员。"
21
23
  },
22
24
  "notices": {
@@ -17,6 +17,8 @@
17
17
  "https_required": "請使用 HTTPS 開啟此 App 以登入。",
18
18
  "auth_unavailable": "DSM 登入目前無法使用,請再試一次。",
19
19
  "session_required": "請先在此瀏覽器登入 DSM,然後再試一次。",
20
+ "cross_origin": "登入已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器重新開啟 App。",
21
+ "origin_required": "登入已被拒絕:瀏覽器沒有表明它來自這個 App 的頁面。請使用新版瀏覽器重新開啟 App。",
20
22
  "failed": "無法完成登入。請檢查帳號與密碼,或聯絡管理員。"
21
23
  },
22
24
  "notices": {
@@ -0,0 +1,21 @@
1
+ {
2
+ "portal.title": "Anwendungsportal",
3
+ "portal.link": "Direkter Link nach der DSM-Anmeldung:",
4
+ "portal.inactive": "Nicht aktiv. Wenden Sie einen Alias an, damit Benutzer diese App nach der DSM-Anmeldung direkt öffnen können.",
5
+ "portal.askAdmin": "Bitten Sie einen Administrator, dies einzurichten",
6
+ "portal.alias": "Alias",
7
+ "portal.apply": "Übernehmen",
8
+ "portal.disable": "Ausschalten",
9
+ "portal.advanced": "Erweiterte Einstellungen in der Systemsteuerung",
10
+ "portal.controlPanel": "Application Portal in der Systemsteuerung öffnen",
11
+ "portal.entryOff": "Diese App hat noch keinen Eintrag im Anwendungsportal. Aktivieren Sie den Eintrag, damit ein Alias sie nach der DSM-Anmeldung öffnet.",
12
+ "portal.cleanupRequired": "Der Eintrag im Anwendungsportal wurde nicht vollständig entfernt. Entfernen Sie den Eintrag erneut.",
13
+ "portal.register": "Eintrag aktivieren",
14
+ "portal.unregister": "Eintrag entfernen",
15
+ "portal.portal_alias_invalid": "Verwenden Sie 1–64 Kleinbuchstaben, Ziffern oder Bindestriche, ohne Bindestrich am Anfang oder Ende.",
16
+ "portal.portal_alias_reserved": "DSM verwendet diesen Alias bereits. Wählen Sie einen anderen.",
17
+ "portal.portal_alias_in_use": "Eine andere App verwendet diesen Alias bereits. Wählen Sie einen anderen.",
18
+ "portal.admin_required": "Nur ein DSM-Administrator kann dies ändern.",
19
+ "portal.portal_unavailable": "DSM hat die Änderung nicht übernommen. Versuchen Sie es erneut oder verwenden Sie die Systemsteuerung.",
20
+ "portal.PORTAL_FAILED": "DSM hat die Änderung am Anwendungsportal nicht übernommen. Versuchen Sie es erneut."
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "portal.title": "Application Portal",
3
+ "portal.link": "Direct link after DSM sign-in:",
4
+ "portal.inactive": "Not active. Apply an alias to let users open this app directly after DSM sign-in.",
5
+ "portal.askAdmin": "Ask an administrator to set this up",
6
+ "portal.alias": "Alias",
7
+ "portal.apply": "Apply",
8
+ "portal.disable": "Turn off",
9
+ "portal.advanced": "Advanced settings in Control Panel",
10
+ "portal.controlPanel": "Open Control Panel Application Portal",
11
+ "portal.entryOff": "This app has no Application Portal entry yet. Enable the entry so that an alias can open it after DSM sign-in.",
12
+ "portal.cleanupRequired": "The Application Portal entry was not fully removed. Remove the entry again.",
13
+ "portal.register": "Enable entry",
14
+ "portal.unregister": "Remove entry",
15
+ "portal.portal_alias_invalid": "Use 1-64 lowercase letters, digits or hyphens, not starting or ending with a hyphen.",
16
+ "portal.portal_alias_reserved": "DSM already uses this alias. Choose another one.",
17
+ "portal.portal_alias_in_use": "Another app already uses this alias. Choose another one.",
18
+ "portal.admin_required": "Only a DSM administrator can change this.",
19
+ "portal.portal_unavailable": "DSM did not accept the change. Try again or use Control Panel.",
20
+ "portal.PORTAL_FAILED": "DSM did not accept the Application Portal change. Try again."
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "portal.title": "Portal de aplicaciones",
3
+ "portal.link": "Enlace directo tras iniciar sesión en DSM:",
4
+ "portal.inactive": "Inactivo. Aplique un alias para abrir esta aplicación directamente tras iniciar sesión en DSM.",
5
+ "portal.askAdmin": "Pida a un administrador que lo configure",
6
+ "portal.alias": "Alias",
7
+ "portal.apply": "Aplicar",
8
+ "portal.disable": "Desactivar",
9
+ "portal.advanced": "Ajustes avanzados en el Panel de control",
10
+ "portal.controlPanel": "Abrir Application Portal en el Panel de control",
11
+ "portal.entryOff": "Esta aplicación aún no tiene una entrada en el Portal de aplicaciones. Active la entrada para que un alias la abra tras iniciar sesión en DSM.",
12
+ "portal.cleanupRequired": "La entrada del Portal de aplicaciones no se eliminó por completo. Elimine la entrada de nuevo.",
13
+ "portal.register": "Activar entrada",
14
+ "portal.unregister": "Eliminar entrada",
15
+ "portal.portal_alias_invalid": "Use de 1 a 64 letras minúsculas, dígitos o guiones, sin guion al principio ni al final.",
16
+ "portal.portal_alias_reserved": "DSM ya usa este alias. Elija otro.",
17
+ "portal.portal_alias_in_use": "Otra aplicación ya usa este alias. Elija otro.",
18
+ "portal.admin_required": "Solo un administrador de DSM puede cambiar esto.",
19
+ "portal.portal_unavailable": "DSM no aceptó el cambio. Inténtelo de nuevo o use el Panel de control.",
20
+ "portal.PORTAL_FAILED": "DSM no aceptó el cambio en el Portal de aplicaciones. Inténtelo de nuevo."
21
+ }