mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-21 06:26:26 +00:00
feat(plugins): lifecycle polish — uninstall, error log, egress guard, widget slot (M8)
- Uninstall with data disposition: POST /api/admin/plugins/:id/uninstall kills the plugin, removes its code + DB metadata, and (deleteData) drops its data dir, error log and per-user settings. - Error log: GET/DELETE /api/admin/plugins/:id/errors — the plugin's own crash / request-failure log, surfaced in the admin panel. - Egress guard: the isolated child wraps global fetch and refuses any outbound host not in the plugin's declared egress[]; with none declared, all outbound is blocked. Process-level defense in depth (the container runtime enforces it at the network layer in v2). - Admin → Plugins is now actionable: activate / deactivate / uninstall, a registry browser (install), and per-plugin error log. i18n across all locales. - Dashboard widget slot: active widget plugins render as sandboxed cards. The trek:request core-data bridge + photo/calendar hook consumers remain follow-ups.
This commit is contained in:
@@ -178,6 +178,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'فشل الحفظ',
|
||||
'admin.tabs.addons': 'الإضافات',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -157,6 +157,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Falha ao salvar',
|
||||
'admin.tabs.addons': 'Complementos',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -158,6 +158,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Uložení se nezdařilo',
|
||||
'admin.tabs.addons': 'Doplňky',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -160,6 +160,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Fehler beim Speichern',
|
||||
'admin.tabs.addons': 'Addons',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Neu scannen',
|
||||
'admin.plugins.rescanned': 'Plugin-Ordner neu gescannt',
|
||||
'admin.plugins.browse': 'Plugins durchsuchen',
|
||||
'admin.plugins.installed': 'Installiert',
|
||||
'admin.plugins.install': 'Installieren',
|
||||
'admin.plugins.registryEmpty': 'Noch keine Plugins in der Registry verfügbar.',
|
||||
'admin.plugins.actionError': 'Aktion fehlgeschlagen',
|
||||
'admin.plugins.activate': 'Aktivieren',
|
||||
'admin.plugins.activated': 'Plugin aktiviert',
|
||||
'admin.plugins.deactivate': 'Deaktivieren',
|
||||
'admin.plugins.deactivated': 'Plugin deaktiviert',
|
||||
'admin.plugins.viewErrors': 'Fehlerprotokoll ansehen',
|
||||
'admin.plugins.errorLog': 'Fehlerprotokoll',
|
||||
'admin.plugins.noErrors': 'Keine Fehler protokolliert.',
|
||||
'admin.plugins.uninstalled': 'Plugin deinstalliert',
|
||||
'admin.plugins.uninstallTitle': 'Plugin deinstallieren?',
|
||||
'admin.plugins.uninstallBody': 'Das stoppt das Plugin, entfernt seinen Code und löscht alle seine Daten. Das kann nicht rückgängig gemacht werden.',
|
||||
'admin.plugins.trustNote': 'Plugins laufen isoliert mit nur den von dir freigegebenen Berechtigungen. Installiere nur Code von Autoren, denen du vertraust.',
|
||||
'plugins.notFound': 'Plugin nicht gefunden',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Plugins von Drittanbietern auf deiner Instanz installieren und verwalten.',
|
||||
|
||||
@@ -212,6 +212,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Failed to save',
|
||||
'admin.tabs.addons': 'Addons',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -159,6 +159,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Error al guardar',
|
||||
'admin.tabs.addons': 'Complementos',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -161,6 +161,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Erreur de sauvegarde',
|
||||
'admin.tabs.addons': 'Extensions',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -206,6 +206,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Αποτυχία αποθήκευσης',
|
||||
'admin.tabs.addons': 'Πρόσθετα',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -160,6 +160,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Nem sikerült menteni',
|
||||
'admin.tabs.addons': 'Bővítmények',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -202,6 +202,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Gagal menyimpan',
|
||||
'admin.tabs.addons': 'Addon',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -159,6 +159,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Impossibile salvare',
|
||||
'admin.tabs.addons': 'Moduli',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -191,6 +191,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': '保存に失敗しました',
|
||||
'admin.tabs.addons': 'アドオン',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -197,6 +197,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': '저장 실패',
|
||||
'admin.tabs.addons': '애드온',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -160,6 +160,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Fout bij opslaan',
|
||||
'admin.tabs.addons': 'Add-ons',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -153,6 +153,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Nie udało się zapisać szablonu',
|
||||
'admin.tabs.addons': 'Dodatki',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -160,6 +160,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Ошибка сохранения',
|
||||
'admin.tabs.addons': 'Дополнения',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -212,6 +212,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Det gick inte att spara',
|
||||
'admin.tabs.addons': 'Tillägg',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -204,6 +204,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Kaydedilemedi',
|
||||
'admin.tabs.addons': 'Eklentiler',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -160,6 +160,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Помилка збереження',
|
||||
'admin.tabs.addons': 'Дополнения',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -212,6 +212,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': 'Không lưu được',
|
||||
'admin.tabs.addons': 'Tiện ích bổ sung',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -194,6 +194,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': '儲存失敗',
|
||||
'admin.tabs.addons': '擴充套件',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
@@ -155,6 +155,24 @@ const admin: TranslationStrings = {
|
||||
'admin.packingTemplates.saveError': '保存失败',
|
||||
'admin.tabs.addons': '扩展',
|
||||
'admin.tabs.plugins': 'Plugins',
|
||||
'admin.plugins.rescan': 'Rescan',
|
||||
'admin.plugins.rescanned': 'Rescanned the plugins folder',
|
||||
'admin.plugins.browse': 'Browse plugins',
|
||||
'admin.plugins.installed': 'Installed',
|
||||
'admin.plugins.install': 'Install',
|
||||
'admin.plugins.registryEmpty': 'No plugins available in the registry yet.',
|
||||
'admin.plugins.actionError': 'Action failed',
|
||||
'admin.plugins.activate': 'Activate',
|
||||
'admin.plugins.activated': 'Plugin activated',
|
||||
'admin.plugins.deactivate': 'Deactivate',
|
||||
'admin.plugins.deactivated': 'Plugin deactivated',
|
||||
'admin.plugins.viewErrors': 'View error log',
|
||||
'admin.plugins.errorLog': 'Error log',
|
||||
'admin.plugins.noErrors': 'No errors logged.',
|
||||
'admin.plugins.uninstalled': 'Plugin uninstalled',
|
||||
'admin.plugins.uninstallTitle': 'Uninstall plugin?',
|
||||
'admin.plugins.uninstallBody': 'This stops the plugin, removes its code, and deletes all of its data. This cannot be undone.',
|
||||
'admin.plugins.trustNote': 'Plugins run isolated with only the permissions you approve. Only install code from authors you trust.',
|
||||
'plugins.notFound': 'Plugin not found',
|
||||
'admin.plugins.title': 'Plugins',
|
||||
'admin.plugins.subtitle': 'Install and manage third-party plugins on your instance.',
|
||||
|
||||
Reference in New Issue
Block a user