From 702ab9fc6725ac2a13559c3844379dd01c28853a Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Jul 2026 19:36:54 +0200 Subject: [PATCH] fix(i18n): sync housekeeping translation keys to all 20 languages All languages now have the full housekeeping key set (78 keys) from en.json, including loading, pagination, presets, test, import/export, audit, etc. Previously only en.json and nl.json had these keys. --- src/messages/bg.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/cs.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/da.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/de.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/el.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/es.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/fr.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/hr.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/hu.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/it.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/no.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/pl.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/pt.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/ro.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/ru.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/sk.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/sr.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/sv.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/tr.json | 80 +++++++++++++++++++++++++++++++++++++++++++- src/messages/uk.json | 80 +++++++++++++++++++++++++++++++++++++++++++- 20 files changed, 1580 insertions(+), 20 deletions(-) diff --git a/src/messages/bg.json b/src/messages/bg.json index 1294df46..17f86f4b 100644 --- a/src/messages/bg.json +++ b/src/messages/bg.json @@ -1879,7 +1879,85 @@ "save": "Разрешение за запазване", "saving": "Запазва се...", "cancel": "Отказ" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Стаи", diff --git a/src/messages/cs.json b/src/messages/cs.json index 27620459..6616835b 100644 --- a/src/messages/cs.json +++ b/src/messages/cs.json @@ -1879,7 +1879,85 @@ "save": "Uložit oprávnění", "saving": "Ukládání…", "cancel": "Zrušit" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Pokoje", diff --git a/src/messages/da.json b/src/messages/da.json index b25476d9..f4af36c3 100644 --- a/src/messages/da.json +++ b/src/messages/da.json @@ -1879,7 +1879,85 @@ "save": "Gem tilladelse", "saving": "Gemmer...", "cancel": "Annuller" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Værelser", diff --git a/src/messages/de.json b/src/messages/de.json index 8d8b7167..002e30ca 100644 --- a/src/messages/de.json +++ b/src/messages/de.json @@ -1843,7 +1843,85 @@ "save": "Berechtigung speichern", "saving": "Wird gespeichert…", "cancel": "Abbrechen" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Räume", diff --git a/src/messages/el.json b/src/messages/el.json index 9fbcd213..0526f771 100644 --- a/src/messages/el.json +++ b/src/messages/el.json @@ -1879,7 +1879,85 @@ "save": "Αποθήκευση άδειας", "saving": "Αποθήκευση…", "cancel": "Ακύρωση" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Δωμάτια", diff --git a/src/messages/es.json b/src/messages/es.json index df9282bd..b6041c6f 100644 --- a/src/messages/es.json +++ b/src/messages/es.json @@ -1843,7 +1843,85 @@ "save": "Guardar permiso", "saving": "Guardando…", "cancel": "Cancelar" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Salas", diff --git a/src/messages/fr.json b/src/messages/fr.json index 9f0e6bbd..7cce0939 100644 --- a/src/messages/fr.json +++ b/src/messages/fr.json @@ -1843,7 +1843,85 @@ "save": "Enregistrer la permission", "saving": "Enregistrement…", "cancel": "Annuler" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Salons", diff --git a/src/messages/hr.json b/src/messages/hr.json index d7547a43..10d427fb 100644 --- a/src/messages/hr.json +++ b/src/messages/hr.json @@ -1879,7 +1879,85 @@ "save": "Spremi dopuštenje", "saving": "Spremanje...", "cancel": "Odustani" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Sobe", diff --git a/src/messages/hu.json b/src/messages/hu.json index d7ba4e01..85c3b57a 100644 --- a/src/messages/hu.json +++ b/src/messages/hu.json @@ -1879,7 +1879,85 @@ "save": "Mentse el az engedélyt", "saving": "Mentés…", "cancel": "Mégse" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Szobák", diff --git a/src/messages/it.json b/src/messages/it.json index 252e0dec..5e4d4075 100644 --- a/src/messages/it.json +++ b/src/messages/it.json @@ -1843,7 +1843,85 @@ "save": "Salva permesso", "saving": "Salvataggio…", "cancel": "Annulla" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Stanze", diff --git a/src/messages/no.json b/src/messages/no.json index b2adcf44..fb7f3f90 100644 --- a/src/messages/no.json +++ b/src/messages/no.json @@ -1879,7 +1879,85 @@ "save": "Lagre tillatelsen", "saving": "Lagrer …", "cancel": "Avbryt" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Rom", diff --git a/src/messages/pl.json b/src/messages/pl.json index b5987448..6096665b 100644 --- a/src/messages/pl.json +++ b/src/messages/pl.json @@ -1879,7 +1879,85 @@ "save": "Zapisz pozwolenie", "saving": "Zapisuję…", "cancel": "Anuluj" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Pokoje", diff --git a/src/messages/pt.json b/src/messages/pt.json index e8d6baf0..3b7095fb 100644 --- a/src/messages/pt.json +++ b/src/messages/pt.json @@ -1879,7 +1879,85 @@ "save": "Salvar permissão", "saving": "Salvando…", "cancel": "Cancelar" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Quartos", diff --git a/src/messages/ro.json b/src/messages/ro.json index 353c2901..1125f6f8 100644 --- a/src/messages/ro.json +++ b/src/messages/ro.json @@ -1879,7 +1879,85 @@ "save": "Salvați permisiunea", "saving": "Se salvează…", "cancel": "Anulează" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Camerele", diff --git a/src/messages/ru.json b/src/messages/ru.json index 8fcc5a8c..45b7c70d 100644 --- a/src/messages/ru.json +++ b/src/messages/ru.json @@ -1879,7 +1879,85 @@ "save": "Save permission", "saving": "Saving…", "cancel": "Cancel" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Rooms", diff --git a/src/messages/sk.json b/src/messages/sk.json index 849fa306..fcc59d96 100644 --- a/src/messages/sk.json +++ b/src/messages/sk.json @@ -1879,7 +1879,85 @@ "save": "Uložiť povolenie", "saving": "Ukladá sa…", "cancel": "Zrušiť" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Izby", diff --git a/src/messages/sr.json b/src/messages/sr.json index 7514a255..f50e88fb 100644 --- a/src/messages/sr.json +++ b/src/messages/sr.json @@ -1879,7 +1879,85 @@ "save": "Сачувај дозволу", "saving": "Чување…", "cancel": "Откажи" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Собе", diff --git a/src/messages/sv.json b/src/messages/sv.json index 3d4507a3..7b0f5f38 100644 --- a/src/messages/sv.json +++ b/src/messages/sv.json @@ -1879,7 +1879,85 @@ "save": "Spara behörighet", "saving": "Sparar...", "cancel": "Avbryt" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Rum", diff --git a/src/messages/tr.json b/src/messages/tr.json index 5c0915ec..eb6e6ac3 100644 --- a/src/messages/tr.json +++ b/src/messages/tr.json @@ -1879,7 +1879,85 @@ "save": "İzni kaydet", "saving": "Kaydediliyor…", "cancel": "İptal" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Odalar", diff --git a/src/messages/uk.json b/src/messages/uk.json index 364cafc8..a77ae7f6 100644 --- a/src/messages/uk.json +++ b/src/messages/uk.json @@ -1879,7 +1879,85 @@ "save": "Зберегти дозвіл", "saving": "Збереження…", "cancel": "Скасувати" - } + }, + "saved": "Saved!", + "deleted": "Deleted!", + "errorOccurred": "An error occurred", + "emptyInput": "Empty input", + "invalidJson": "Invalid JSON", + "imported": "Imported!", + "presetApplied": "Preset applied!", + "cleared": "All permissions cleared!", + "invalidRank": "Invalid rank", + "testDone": "Test done: {count} permissions found", + "testing": "Testing...", + "loading": "Loading...", + "prev": "Previous", + "next": "Next", + "confirmClearAll": "Delete ALL permissions? This action cannot be undone!", + "colGroup": "Group", + "colDepends": "Depends on", + "colPermission": "Permission", + "colDescription": "Description", + "colMinRank": "Min. Rank", + "permissionKey": "Permission key", + "minRank": "Min. rank", + "description": "Description", + "permissions": "Permissions", + "permissionsCount": "{count} permissions", + "permission": "permission", + "highestMinRank": "Highest min. rank: {rank}", + "totalMinRank": "Total min. rank sum: {total}", + "groupCount": "{count} groups", + "rankCount": "{count} ranks", + "missingDeps": "{count} missing dependencies", + "dependsOn": "depends on", + "notFound": "not found", + "missing": "(missing)", + "rank": "Rank", + "count": "Count", + "searchPermission": "Search permissions…", + "search": "Search", + "manage": "Manage", + "importSelection": "Import selection", + "noGroup": "No group", + "allGroups": "All groups", + "perGroup": "Permissions per group", + "perRank": "Permissions per rank", + "rankOverviewHint": "All permissions grouped by the rank they are assigned to.", + "tabOverview": "Overview", + "tabManage": "Manage", + "tabImport": "Import / Export", + "tabRanks": "Rank overview", + "tabPresets": "Presets", + "tabTest": "Test", + "tabAudit": "Audit log", + "importPermissions": "Import permissions", + "importHint": "Paste a JSON array of permission objects. Format: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]", + "importPlaceholder": "Paste JSON here…", + "import": "Import", + "exportTitle": "Export permissions", + "exportHint": "Export all permissions as JSON for backup or batch editing.", + "export": "Export JSON", + "copy": "Copy", + "copied": "Copied!", + "presets": "Permission presets", + "presetsHint": "Apply a predefined set of permissions for common staff roles.", + "presetModerator": "Moderator", + "presetModeratorDesc": "Basic moderation tools: user lookup, bans, CFH handling, chat logs.", + "presetAdmin": "Administrator", + "presetAdminDesc": "Full admin access: users, rooms, news, settings, shop, events, radio & more.", + "presetSuperAdmin": "Super Admin", + "presetSuperAdminDesc": "Complete access to every feature including permission management and asset import.", + "applyPreset": "Apply preset", + "clearAll": "Clear all permissions", + "testTitle": "Test rank access", + "testHint": "Enter a rank number to see which permissions would be granted.", + "test": "Test", + "auditTitle": "Permission audit log", + "auditHint": "All changes to housekeeping permissions are logged.", + "auditLogsAt": "Audit logs are available on the Audit log page.", + "viewAuditLogs": "View audit logs" }, "rooms": { "title": "Кімнати",