diff --git a/frontend/src/lib/locales/de/admin.js b/frontend/src/lib/locales/de/admin.js index 094e8d09f..00e4f660f 100644 --- a/frontend/src/lib/locales/de/admin.js +++ b/frontend/src/lib/locales/de/admin.js @@ -836,6 +836,10 @@ export default { routeAuth_session: 'Sitzung', routeAuth_admin: 'Administrator', routeAuth_none: 'Öffentlich', + hostFunctionPermissions: 'Host-Funktionsberechtigungen', + permissionGranted: 'Erteilt', + permissionDenied: 'Verweigert', + permissionsDeniedNote: 'Einige deklarierte Berechtigungen sind nicht wirksam.', moduleSettingsNote: 'Änderungen an Moduleinstellungen werden sofort wirksam. Das Deaktivieren eines Moduls blendet es aus der Navigation aus.', failedToUpload: 'Hochladen fehlgeschlagen: {error}', failedToReload: 'Plugin konnte nicht neu geladen werden: {error}', diff --git a/frontend/src/lib/locales/en/admin.js b/frontend/src/lib/locales/en/admin.js index 57b3c741b..bbd42dab7 100644 --- a/frontend/src/lib/locales/en/admin.js +++ b/frontend/src/lib/locales/en/admin.js @@ -903,6 +903,10 @@ export default { routeAuth_session: 'Session', routeAuth_admin: 'Admin', routeAuth_none: 'Public', + hostFunctionPermissions: 'Host Function Permissions', + permissionGranted: 'Granted', + permissionDenied: 'Denied', + permissionsDeniedNote: 'Some declared permissions are not in effect.', moduleSettingsNote: 'Changes to module settings take effect immediately. Disabling a module will hide it from the navigation.', failedToUpload: 'Upload failed: {error}', diff --git a/frontend/src/lib/locales/fr/admin.js b/frontend/src/lib/locales/fr/admin.js index ff8e4469d..54cd92bcc 100644 --- a/frontend/src/lib/locales/fr/admin.js +++ b/frontend/src/lib/locales/fr/admin.js @@ -845,6 +845,10 @@ export default { routeAuth_session: 'Session', routeAuth_admin: 'Administrateur', routeAuth_none: 'Public', + hostFunctionPermissions: 'Permissions des fonctions hôtes', + permissionGranted: 'Accordée', + permissionDenied: 'Refusée', + permissionsDeniedNote: 'Certaines permissions déclarées ne sont pas effectives.', moduleSettingsNote: 'Les modifications des paramètres de module prennent effet immédiatement. Désactiver un module le masquera de la navigation.', failedToUpload: 'Échec du téléversement : {error}', diff --git a/frontend/src/lib/locales/ru/admin.js b/frontend/src/lib/locales/ru/admin.js index 5490cd9f7..c4e7c191a 100644 --- a/frontend/src/lib/locales/ru/admin.js +++ b/frontend/src/lib/locales/ru/admin.js @@ -942,6 +942,10 @@ export default { routeAuth_session: 'Сессия', routeAuth_admin: 'Администратор', routeAuth_none: 'Публичный', + hostFunctionPermissions: 'Разрешения хост-функций', + permissionGranted: 'Предоставлено', + permissionDenied: 'Отклонено', + permissionsDeniedNote: 'Некоторые объявленные разрешения не действуют.', moduleSettingsNote: 'Изменения настроек модулей применяются сразу. Отключённый модуль будет скрыт из навигации.', failedToUpload: 'Не удалось загрузить: {error}', diff --git a/frontend/src/lib/locales/zh-CN/admin.js b/frontend/src/lib/locales/zh-CN/admin.js index 3c37d065d..e2218cd3c 100644 --- a/frontend/src/lib/locales/zh-CN/admin.js +++ b/frontend/src/lib/locales/zh-CN/admin.js @@ -726,6 +726,10 @@ export default { routeAuth_session: '会话', routeAuth_admin: '管理员', routeAuth_none: '公开', + hostFunctionPermissions: '宿主函数权限', + permissionGranted: '已授予', + permissionDenied: '已拒绝', + permissionsDeniedNote: '部分声明的权限未生效。', moduleSettingsNote: '模块设置的更改会立即生效。禁用模块将从导航中隐藏它。', failedToUpload: '上传失败:{error}', failedToReload: '重新加载插件失败:{error}', diff --git a/frontend/src/lib/settings/ModuleSettings.svelte b/frontend/src/lib/settings/ModuleSettings.svelte index db2c6090a..98339f058 100644 --- a/frontend/src/lib/settings/ModuleSettings.svelte +++ b/frontend/src/lib/settings/ModuleSettings.svelte @@ -550,8 +550,34 @@ {/if} + + {#if plugin.requested_permissions && plugin.requested_permissions.length > 0} +
+

{t('settings.modules.hostFunctionPermissions')}:

+
+ {#each plugin.requested_permissions as permission, permissionIndex} + {@const granted = (plugin.effective_permissions || []).includes(permission)} + + {permission} + + {/each} +
+ {#if (plugin.effective_permissions || []).length < plugin.requested_permissions.length} +

{t('settings.modules.permissionsDeniedNote')}

+ {/if} +
+ {/if} - + {#if !pluginsDisabled}