@synopackageland/sdk 0.25.0 → 0.27.0

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 CHANGED
@@ -482,6 +482,16 @@ const items = await ctx.call<Item[]>('items.list', {}, {signal: controller.signa
482
482
 
483
483
  ## Localized copy
484
484
 
485
+ For UI/locale copy we author, remove the final sentence-ending period in every
486
+ language, including `.` and `。`, even in multi-sentence text; keep periods
487
+ between sentences. Preserve question marks, exclamation marks, ellipses,
488
+ abbreviations (`etc.`), version numbers, URLs and trailing `{key}` placeholders.
489
+ This covers the SDK, UI package, templates, our Apps and UI copy we add under
490
+ an upstream fork's `synology/` (such as DSM install wizards and gateway pages).
491
+ Leave upstream UI/locale strings and release notes unchanged; future checks
492
+ must scan only our owned files. See the CLI skill's
493
+ [UI copy and i18n rule and examples](https://github.com/synopackageland/syno-pkg-land-cli/blob/main/skills/reference/ui-vue.md#ui-copy-and-i18n).
494
+
485
495
  `format(message, values, locale)` fills `{key}` placeholders from `values`; a
486
496
  placeholder with no value stays visible. A message may be plural forms keyed by
487
497
  the `Intl.PluralRules` categories (`zero`, `one`, `two`, `few`, `many`, `other`;
@@ -581,3 +591,17 @@ Protocol v1 includes `WebapiCallParams` for `webapi.call` and profile grants in
581
591
  bound. Node App services use Context.runtime (node/README.md); browser Apps
582
592
  expose their own app routes and never connect to the executor socket directly.
583
593
  Go workers use `delegate.CreateWebAPIGrant` and `JobContext.WebAPI().Call`.
594
+
595
+ ## DSM file session migration
596
+
597
+ `createNasProvider`, `FilesPage`, scope selection and file transfers now call
598
+ DSM directly on the browser's origin. The App's `nas.session.status` still
599
+ checks admission. `ctx.files.endpoint` is ignored; the reactive token callback
600
+ is retained, with a same-origin DSM token bootstrap outside the desktop.
601
+ For custom UIs, use the headless `createDsmFileStation` (shares, list, info,
602
+ createFolder, checkPermission, upload) and `createFileTransfers`. Await
603
+ `download()` for submission failures; it does not confirm transfer completion.
604
+ Browser permission results never authorize backend writes or grants.
605
+
606
+ See [DSM session transport and App migration](../docs/dsm-session-transport.md).
607
+ Do not add root/executor access to browser-only Apps such as OpenList.
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "App-Konto",
13
13
  "sharedfolder.grant": "Zugriff gewähren",
14
14
  "sharedfolder.openControlPanel": "Systemsteuerung öffnen",
15
- "sharedfolder.pendingNote": "Das App-Konto hat weniger Zugriff, als dieser Ordner erfordert. Ein Administrator kann ihn gewähren.",
15
+ "sharedfolder.pendingNote": "Das App-Konto hat weniger Zugriff, als dieser Ordner erfordert. Ein Administrator kann ihn gewähren",
16
16
  "sharedfolder.askAdmin": "Einen Administrator bitten, {account} den Zugriff {access} auf {folder} zu gewähren.",
17
- "sharedfolder.steps": "In der Systemsteuerung > Freigegebener Ordner {folder} auswählen und auf Bearbeiten > Berechtigungen klicken. Systeminterner Benutzer wählen und {account} den Zugriff {access} gewähren.",
17
+ "sharedfolder.steps": "Bitten Sie einen Administrator, Folgendes zu öffnen: Systemsteuerung > Gemeinsamer Ordner > {folder} > Bearbeiten > Berechtigungen > Interner Systembenutzer > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} existiert nicht mehr. Beim Upgrade der App einen anderen freigegebenen Ordner auswählen.",
19
19
  "sharedfolder.ambiguousHint": "Mehrere Volumes enthalten einen Ordner namens {folder}. Einen davon umbenennen.",
20
20
  "sharedfolder.allReady": "Das App-Konto hat den erforderlichen Zugriff.",
21
21
  "sharedfolder.done": "Zugriff gewährt.",
22
- "sharedfolder.shared_folder_unavailable": "Der Status der freigegebenen Ordner konnte nicht gelesen werden.",
22
+ "sharedfolder.shared_folder_unavailable": "Der Status der freigegebenen Ordner konnte nicht gelesen werden",
23
23
  "sharedfolder.admin_required": "Nur ein DSM-Administrator kann dies ändern.",
24
24
  "sharedfolder.shared_folder_custom_acl": "Dieser Ordner verwendet erweiterte Berechtigungen. Den Zugriff in der Systemsteuerung festlegen.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM hat die Änderung nicht akzeptiert. Den Zugriff in der Systemsteuerung festlegen.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM hat die Änderung akzeptiert, aber das App-Konto hat weiterhin keinen Zugriff. Die Berechtigungen des Ordners in der Systemsteuerung prüfen.",
27
- "sharedfolder.dismiss": "Schließen"
27
+ "sharedfolder.dismiss": "Schließen",
28
+ "sharedfolder.retry": "Neuer Versuch"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "App account",
13
13
  "sharedfolder.grant": "Grant access",
14
14
  "sharedfolder.openControlPanel": "Open Control Panel",
15
- "sharedfolder.pendingNote": "The app account has less access than this folder needs. An administrator can grant it.",
15
+ "sharedfolder.pendingNote": "The app account has less access than this folder needs. An administrator can grant it",
16
16
  "sharedfolder.askAdmin": "Ask an administrator to give {account} {access} access to {folder}.",
17
- "sharedfolder.steps": "In Control Panel > Shared Folder, select {folder}, then Edit > Permissions. Choose System internal user and give {account} {access} access.",
17
+ "sharedfolder.steps": "Ask an administrator to open Control Panel > Shared Folder > {folder} > Edit > Permissions > System internal user > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} no longer exists. Choose another Shared Folder when you upgrade the app.",
19
19
  "sharedfolder.ambiguousHint": "More than one volume has a folder named {folder}. Rename one of them.",
20
20
  "sharedfolder.allReady": "The app account has the access it needs.",
21
21
  "sharedfolder.done": "Access granted.",
22
- "sharedfolder.shared_folder_unavailable": "The Shared Folder status could not be read.",
22
+ "sharedfolder.shared_folder_unavailable": "The Shared Folder status could not be read",
23
23
  "sharedfolder.admin_required": "Only a DSM administrator can change this.",
24
24
  "sharedfolder.shared_folder_custom_acl": "This folder uses advanced permissions. Set the access in Control Panel.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM did not accept the change. Set the access in Control Panel.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM accepted the change, but the app account still lacks access. Check the folder’s permissions in Control Panel.",
27
- "sharedfolder.dismiss": "Dismiss"
27
+ "sharedfolder.dismiss": "Dismiss",
28
+ "sharedfolder.retry": "Retry"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "Cuenta de la aplicación",
13
13
  "sharedfolder.grant": "Conceder acceso",
14
14
  "sharedfolder.openControlPanel": "Abrir Panel de control",
15
- "sharedfolder.pendingNote": "La cuenta de la aplicación tiene menos acceso del que necesita esta carpeta. Un administrador puede concederlo.",
15
+ "sharedfolder.pendingNote": "La cuenta de la aplicación tiene menos acceso del que necesita esta carpeta. Un administrador puede concederlo",
16
16
  "sharedfolder.askAdmin": "Pedir a un administrador que conceda a {account} acceso de {access} a {folder}.",
17
- "sharedfolder.steps": "En Panel de control > Carpeta compartida, seleccionar {folder} y luego Editar > Permisos. Elegir Usuario interno del sistema y conceder a {account} acceso de {access}.",
17
+ "sharedfolder.steps": "Pida a un administrador que abra Panel de control > Carpeta compartida > {folder} > Editar > Permisos > Usuario interno del sistema > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} ya no existe. Seleccionar otra carpeta compartida al actualizar la aplicación.",
19
19
  "sharedfolder.ambiguousHint": "Más de un volumen contiene una carpeta llamada {folder}. Cambiar el nombre de una de ellas.",
20
20
  "sharedfolder.allReady": "La cuenta de la aplicación tiene el acceso necesario.",
21
21
  "sharedfolder.done": "Acceso concedido.",
22
- "sharedfolder.shared_folder_unavailable": "No se pudo leer el estado de las carpetas compartidas.",
22
+ "sharedfolder.shared_folder_unavailable": "No se pudo leer el estado de las carpetas compartidas",
23
23
  "sharedfolder.admin_required": "Solo un administrador de DSM puede cambiar esto.",
24
24
  "sharedfolder.shared_folder_custom_acl": "Esta carpeta usa permisos avanzados. Definir el acceso en Panel de control.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM no aceptó el cambio. Definir el acceso en Panel de control.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM aceptó el cambio, pero la cuenta de la aplicación sigue sin acceso. Revisar los permisos de la carpeta en Panel de control.",
27
- "sharedfolder.dismiss": "Cerrar"
27
+ "sharedfolder.dismiss": "Cerrar",
28
+ "sharedfolder.retry": "Volver a intentar"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "Compte de l’application",
13
13
  "sharedfolder.grant": "Accorder l’accès",
14
14
  "sharedfolder.openControlPanel": "Ouvrir le Panneau de configuration",
15
- "sharedfolder.pendingNote": "Le compte de l’application dispose de moins d’accès que ce dossier n’en exige. Un administrateur peut l’accorder.",
15
+ "sharedfolder.pendingNote": "Le compte de l’application dispose de moins d’accès que ce dossier n’en exige. Un administrateur peut l’accorder",
16
16
  "sharedfolder.askAdmin": "Demander à un administrateur d’accorder à {account} l’accès {access} à {folder}.",
17
- "sharedfolder.steps": "Dans Panneau de configuration > Dossier partagé, sélectionner {folder}, puis Modifier > Autorisations. Choisir Utilisateur système interne et accorder à {account} l’accès {access}.",
17
+ "sharedfolder.steps": "Demandez à un administrateur d’ouvrir Panneau de configuration > Dossier partagé > {folder} > Modifier > Permissions > Utilisateur interne du système > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} n’existe plus. Sélectionner un autre dossier partagé lors de la mise à niveau de l’application.",
19
19
  "sharedfolder.ambiguousHint": "Plusieurs volumes contiennent un dossier nommé {folder}. Renommer l’un d’eux.",
20
20
  "sharedfolder.allReady": "Le compte de l’application dispose de l’accès requis.",
21
21
  "sharedfolder.done": "Accès accordé.",
22
- "sharedfolder.shared_folder_unavailable": "Impossible de lire l’état des dossiers partagés.",
22
+ "sharedfolder.shared_folder_unavailable": "Impossible de lire l’état des dossiers partagés",
23
23
  "sharedfolder.admin_required": "Seul un administrateur DSM peut modifier ceci.",
24
24
  "sharedfolder.shared_folder_custom_acl": "Ce dossier utilise des autorisations avancées. Définir l’accès dans le Panneau de configuration.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM n’a pas accepté la modification. Définir l’accès dans le Panneau de configuration.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM a accepté la modification, mais le compte de l’application n’a toujours pas accès. Vérifier les autorisations du dossier dans le Panneau de configuration.",
27
- "sharedfolder.dismiss": "Fermer"
27
+ "sharedfolder.dismiss": "Fermer",
28
+ "sharedfolder.retry": "Réessayer"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "Account dell’app",
13
13
  "sharedfolder.grant": "Concedi accesso",
14
14
  "sharedfolder.openControlPanel": "Apri Pannello di controllo",
15
- "sharedfolder.pendingNote": "L’account dell’app ha meno accesso di quello richiesto da questa cartella. Un amministratore può concederlo.",
15
+ "sharedfolder.pendingNote": "L’account dell’app ha meno accesso di quello richiesto da questa cartella. Un amministratore può concederlo",
16
16
  "sharedfolder.askAdmin": "Chiedere a un amministratore di concedere a {account} l’accesso {access} a {folder}.",
17
- "sharedfolder.steps": "In Pannello di controllo > Cartella condivisa, selezionare {folder} e poi Modifica > Autorizzazioni. Scegliere Utente interno del sistema e concedere a {account} l’accesso {access}.",
17
+ "sharedfolder.steps": "Chiedere a un amministratore di aprire Pannello di controllo > Cartella condivisa > {folder} > Modifica > Permessi > Utente interno di sistema > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} non esiste più. Selezionare un’altra cartella condivisa durante l’aggiornamento dell’app.",
19
19
  "sharedfolder.ambiguousHint": "Più di un volume contiene una cartella denominata {folder}. Rinominarne una.",
20
20
  "sharedfolder.allReady": "L’account dell’app dispone dell’accesso richiesto.",
21
21
  "sharedfolder.done": "Accesso concesso.",
22
- "sharedfolder.shared_folder_unavailable": "Impossibile leggere lo stato delle cartelle condivise.",
22
+ "sharedfolder.shared_folder_unavailable": "Impossibile leggere lo stato delle cartelle condivise",
23
23
  "sharedfolder.admin_required": "Solo un amministratore DSM può modificare questa impostazione.",
24
24
  "sharedfolder.shared_folder_custom_acl": "Questa cartella usa autorizzazioni avanzate. Impostare l’accesso in Pannello di controllo.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM non ha accettato la modifica. Impostare l’accesso in Pannello di controllo.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM ha accettato la modifica, ma l’account dell’app non ha ancora accesso. Verificare le autorizzazioni della cartella in Pannello di controllo.",
27
- "sharedfolder.dismiss": "Chiudi"
27
+ "sharedfolder.dismiss": "Chiudi",
28
+ "sharedfolder.retry": "Riprova"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "アプリのアカウント",
13
13
  "sharedfolder.grant": "権限を付与",
14
14
  "sharedfolder.openControlPanel": "コントロール パネルを開く",
15
- "sharedfolder.pendingNote": "アプリのアカウントの権限が、このフォルダに必要な権限に足りていません。管理者が付与できます。",
15
+ "sharedfolder.pendingNote": "アプリのアカウントの権限が、このフォルダに必要な権限に足りていません。管理者が付与できます",
16
16
  "sharedfolder.askAdmin": "管理者に依頼して、{account} に {folder} の{access}権限を付与してください。",
17
- "sharedfolder.steps": "コントロール パネル > 共有フォルダで {folder} を選択し、編集 > 権限をクリックします。システム内部ユーザーを選択し、{account} に{access}権限を付与します。",
17
+ "sharedfolder.steps": "管理者に次の場所を開いてもらってください:コントロール パネル > 共有フォルダ > {folder} > 編集 > 権限 > システム内部ユーザー > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} は存在しません。アプリのアップグレード時に別の共有フォルダを選択してください。",
19
19
  "sharedfolder.ambiguousHint": "{folder} という名前のフォルダが複数のボリュームにあります。いずれかの名前を変更してください。",
20
20
  "sharedfolder.allReady": "アプリのアカウントに必要な権限があります。",
21
21
  "sharedfolder.done": "権限を付与しました。",
22
- "sharedfolder.shared_folder_unavailable": "共有フォルダの状態を読み取れませんでした。",
22
+ "sharedfolder.shared_folder_unavailable": "共有フォルダの状態を読み取れませんでした",
23
23
  "sharedfolder.admin_required": "この操作は DSM 管理者のみ実行できます。",
24
24
  "sharedfolder.shared_folder_custom_acl": "このフォルダは詳細な権限を使用しています。コントロール パネルで権限を設定してください。",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM が変更を受け付けませんでした。コントロール パネルで権限を設定してください。",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM は変更を受け付けましたが、アプリのアカウントにはまだ権限がありません。コントロール パネルでこのフォルダの権限を確認してください。",
27
- "sharedfolder.dismiss": "閉じる"
27
+ "sharedfolder.dismiss": "閉じる",
28
+ "sharedfolder.retry": "再試行"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "앱 계정",
13
13
  "sharedfolder.grant": "권한 부여",
14
14
  "sharedfolder.openControlPanel": "제어판 열기",
15
- "sharedfolder.pendingNote": "앱 계정의 권한이 이 폴더에 필요한 권한보다 낮습니다. 관리자가 권한을 부여할 수 있습니다.",
15
+ "sharedfolder.pendingNote": "앱 계정의 권한이 이 폴더에 필요한 권한보다 낮습니다. 관리자가 권한을 부여할 수 있습니다",
16
16
  "sharedfolder.askAdmin": "관리자에게 {account}에 {folder}의 {access} 권한을 부여하도록 요청하십시오.",
17
- "sharedfolder.steps": "제어판 > 공유 폴더에서 {folder}을(를) 선택한 후 편집 > 권한을 클릭합니다. 시스템 내부 사용자를 선택하고 {account}에 {access} 권한을 부여합니다.",
17
+ "sharedfolder.steps": "관리자에게 다음 경로를 열도록 요청하십시오: 제어판 > 공유 폴더 > {folder} > 편집 > 권한 > 시스템 내부 사용자 > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder}이(가) 더 이상 존재하지 않습니다. 앱을 업그레이드할 때 다른 공유 폴더를 선택하십시오.",
19
19
  "sharedfolder.ambiguousHint": "이름이 {folder}인 폴더가 둘 이상의 볼륨에 있습니다. 하나의 이름을 변경하십시오.",
20
20
  "sharedfolder.allReady": "앱 계정에 필요한 권한이 있습니다.",
21
21
  "sharedfolder.done": "권한을 부여했습니다.",
22
- "sharedfolder.shared_folder_unavailable": "공유 폴더 상태를 읽을 수 없습니다.",
22
+ "sharedfolder.shared_folder_unavailable": "공유 폴더 상태를 읽을 수 없습니다",
23
23
  "sharedfolder.admin_required": "DSM 관리자만 변경할 수 있습니다.",
24
24
  "sharedfolder.shared_folder_custom_acl": "이 폴더는 고급 권한을 사용합니다. 제어판에서 권한을 설정하십시오.",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM이 변경을 수락하지 않았습니다. 제어판에서 권한을 설정하십시오.",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM이 변경을 수락했지만 앱 계정에 아직 권한이 없습니다. 제어판에서 이 폴더의 권한을 확인하십시오.",
27
- "sharedfolder.dismiss": "닫기"
27
+ "sharedfolder.dismiss": "닫기",
28
+ "sharedfolder.retry": "재시도"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "App 账号",
13
13
  "sharedfolder.grant": "授予权限",
14
14
  "sharedfolder.openControlPanel": "打开控制面板",
15
- "sharedfolder.pendingNote": "App 账号的权限低于此文件夹所需,可由管理员授予。",
15
+ "sharedfolder.pendingNote": "App 账号的权限低于此文件夹所需,可由管理员授予",
16
16
  "sharedfolder.askAdmin": "请管理员授予 {account} 对 {folder} 的{access}权限。",
17
- "sharedfolder.steps": "在控制面板 > 共享文件夹中选择 {folder},再点击编辑 > 权限,选择系统内部用户,并授予 {account} {access}权限。",
17
+ "sharedfolder.steps": "请管理员打开控制面板 > 共享文件夹 > {folder} > 编辑 > 权限 > 系统内部用户 > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} 已不存在。升级 App 时请改选其他共享文件夹。",
19
19
  "sharedfolder.ambiguousHint": "有多个存储空间包含名为 {folder} 的文件夹,请将其中一个重命名。",
20
20
  "sharedfolder.allReady": "App 账号已具备所需权限。",
21
21
  "sharedfolder.done": "已授予权限。",
22
- "sharedfolder.shared_folder_unavailable": "无法读取共享文件夹状态。",
22
+ "sharedfolder.shared_folder_unavailable": "无法读取共享文件夹状态",
23
23
  "sharedfolder.admin_required": "只有 DSM 管理员可以更改。",
24
24
  "sharedfolder.shared_folder_custom_acl": "此文件夹使用高级权限,请在控制面板中设置权限。",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM 未接受此更改,请在控制面板中设置权限。",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM 已接受更改,但 App 账号仍无权限。请在控制面板中检查此文件夹的权限。",
27
- "sharedfolder.dismiss": "关闭"
27
+ "sharedfolder.dismiss": "关闭",
28
+ "sharedfolder.retry": "重试"
28
29
  }
@@ -12,17 +12,18 @@
12
12
  "sharedfolder.account": "App 帳號",
13
13
  "sharedfolder.grant": "授予權限",
14
14
  "sharedfolder.openControlPanel": "開啟控制台",
15
- "sharedfolder.pendingNote": "App 帳號的權限低於此資料夾所需,可由管理員授予。",
15
+ "sharedfolder.pendingNote": "App 帳號的權限低於此資料夾所需,可由管理員授予",
16
16
  "sharedfolder.askAdmin": "請管理員授予 {account} 對 {folder} 的{access}權限。",
17
- "sharedfolder.steps": "在控制台 > 共用資料夾中選取 {folder},再點選編輯 > 權限,選擇系統內部使用者,並授予 {account} {access}權限。",
17
+ "sharedfolder.steps": "請管理員開啟控制台 > 共用資料夾 > {folder} > 編輯 > 權限 > 系統內部使用者 > {account} > {access}",
18
18
  "sharedfolder.missingHint": "{folder} 已不存在。升級 App 時請改選其他共用資料夾。",
19
19
  "sharedfolder.ambiguousHint": "有多個磁碟區含有名為 {folder} 的資料夾,請將其中一個改名。",
20
20
  "sharedfolder.allReady": "App 帳號已具備所需權限。",
21
21
  "sharedfolder.done": "已授予權限。",
22
- "sharedfolder.shared_folder_unavailable": "無法讀取共用資料夾狀態。",
22
+ "sharedfolder.shared_folder_unavailable": "無法讀取共用資料夾狀態",
23
23
  "sharedfolder.admin_required": "只有 DSM 管理員可以變更。",
24
24
  "sharedfolder.shared_folder_custom_acl": "此資料夾使用進階權限,請在控制台設定權限。",
25
25
  "sharedfolder.shared_folder_grant_failed": "DSM 未接受此變更,請在控制台設定權限。",
26
26
  "sharedfolder.shared_folder_grant_unverified": "DSM 已接受變更,但 App 帳號仍無權限。請在控制台檢查此資料夾的權限。",
27
- "sharedfolder.dismiss": "關閉"
27
+ "sharedfolder.dismiss": "關閉",
28
+ "sharedfolder.retry": "重試"
28
29
  }