strapi-plugin-magic-sessionmanager 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/admin/src/components/LicenseGuard.jsx +6 -6
- package/admin/src/components/OnlineUsersWidget.jsx +11 -7
- package/admin/src/components/SessionDetailModal.jsx +45 -41
- package/admin/src/components/SessionInfoCard.jsx +3 -3
- package/admin/src/components/SessionInfoPanel.jsx +31 -21
- package/admin/src/index.js +9 -0
- package/admin/src/pages/Analytics.jsx +2 -2
- package/admin/src/pages/HomePage.jsx +129 -165
- package/admin/src/pages/License.jsx +5 -5
- package/admin/src/pages/Settings.jsx +148 -144
- package/admin/src/pages/SettingsNew.jsx +21 -21
- package/admin/src/pages/UpgradePage.jsx +448 -0
- package/admin/src/pluginId.js +1 -0
- package/admin/src/translations/de.json +294 -15
- package/admin/src/translations/en.json +293 -14
- package/admin/src/translations/es.json +284 -18
- package/admin/src/translations/fr.json +284 -18
- package/admin/src/translations/pt.json +284 -18
- package/admin/src/utils/parseUserAgent.js +6 -6
- package/admin/src/utils/theme.js +85 -0
- package/dist/_chunks/{Analytics-mYu_uGwU.mjs → Analytics-DTE_zmRV.mjs} +4 -4
- package/dist/_chunks/{Analytics-ioaeEh-E.js → Analytics-lw_JaOVy.js} +4 -4
- package/dist/_chunks/{App-DdnUYWbC.js → App-DDKYCjKw.js} +221 -216
- package/dist/_chunks/{App-BXpIS12l.mjs → App-DJW1ZNl5.mjs} +221 -216
- package/dist/_chunks/{License-C03C2j9P.mjs → License-DaOFuImm.mjs} +6 -10
- package/dist/_chunks/{License-DZYrOgcx.js → License-Tk-6UfPl.js} +6 -10
- package/dist/_chunks/{OnlineUsersWidget-B8JS1xZu.js → OnlineUsersWidget-C1qTpsws.js} +11 -7
- package/dist/_chunks/{OnlineUsersWidget-ArMl0nen.mjs → OnlineUsersWidget-CADphbXG.mjs} +11 -7
- package/dist/_chunks/{Settings-0ocB3qHk.mjs → Settings-C9xvckgq.mjs} +200 -188
- package/dist/_chunks/{Settings-C6_CqpCC.js → Settings-DyEAuTNQ.js} +200 -188
- package/dist/_chunks/UpgradePage-Dssk8A0Z.js +354 -0
- package/dist/_chunks/UpgradePage-cINvE9zY.mjs +352 -0
- package/dist/_chunks/de-CDA1V0rF.mjs +292 -0
- package/dist/_chunks/de-I-Q-pWqu.js +292 -0
- package/dist/_chunks/en-Bd7_h-4e.js +292 -0
- package/dist/_chunks/en-DzmOCyzQ.mjs +292 -0
- package/dist/_chunks/es-BcAx18XG.js +277 -0
- package/dist/_chunks/es-Cx-SN6qV.mjs +277 -0
- package/dist/_chunks/fr-DCzYMuJ-.js +277 -0
- package/dist/_chunks/fr-DXlXE5Eo.mjs +277 -0
- package/dist/_chunks/{index-DC8Y0qxx.js → index-CWcvrfXc.js} +52 -49
- package/dist/_chunks/{index-DBRS3kt5.mjs → index-DQO9bNP7.mjs} +52 -49
- package/dist/_chunks/pt-21-MAb72.js +277 -0
- package/dist/_chunks/pt-zsdTSjba.mjs +277 -0
- package/dist/_chunks/{useLicense-qgGfMvse.js → useLicense-DtvJOszr.js} +1 -1
- package/dist/_chunks/{useLicense-DSLL9n3Y.mjs → useLicense-DxbD4Wf8.mjs} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +142 -33
- package/dist/server/index.mjs +142 -33
- package/package.json +1 -1
- package/server/src/bootstrap.js +76 -4
- package/server/src/controllers/session.js +59 -9
- package/server/src/middlewares/last-seen.js +5 -4
- package/server/src/routes/content-api.js +11 -2
- package/server/src/services/notifications.js +10 -10
- package/server/src/services/session.js +24 -4
- package/dist/_chunks/de-BxFx1pwE.js +0 -23
- package/dist/_chunks/de-CdO3s01z.mjs +0 -23
- package/dist/_chunks/en-CsPpPJL3.mjs +0 -23
- package/dist/_chunks/en-RqmpDHdS.js +0 -23
- package/dist/_chunks/es-CuLHazN1.js +0 -23
- package/dist/_chunks/es-Dkmjhy9c.mjs +0 -23
- package/dist/_chunks/fr-BAJp2yhI.js +0 -23
- package/dist/_chunks/fr-Bssg_3UF.mjs +0 -23
- package/dist/_chunks/pt-BAP9cKs3.js +0 -23
- package/dist/_chunks/pt-BVNoNcuY.mjs +0 -23
|
@@ -1,20 +1,299 @@
|
|
|
1
1
|
{
|
|
2
2
|
"plugin.name": "Session Manager",
|
|
3
|
-
"plugin.description": "
|
|
3
|
+
"plugin.description": "Benutzer-Login/Logout und Session-Aktivität verfolgen",
|
|
4
|
+
|
|
5
|
+
"Session": "Sitzung",
|
|
6
|
+
"User": "Benutzer",
|
|
7
|
+
"session.user": "Benutzer",
|
|
8
|
+
"session.ipAddress": "IP-Adresse",
|
|
9
|
+
"session.userAgent": "Browser-Agent",
|
|
10
|
+
"session.loginTime": "Anmeldezeit",
|
|
11
|
+
"session.logoutTime": "Abmeldezeit",
|
|
12
|
+
"session.lastActive": "Letzte Aktivität",
|
|
13
|
+
"session.isActive": "Aktiv",
|
|
14
|
+
"session.token": "Token",
|
|
15
|
+
"session.EditorX": "Editor X",
|
|
16
|
+
|
|
4
17
|
"settings.section": "Session Manager",
|
|
5
18
|
"settings.sessions": "Aktive Sitzungen",
|
|
6
|
-
"settings.
|
|
7
|
-
"settings.
|
|
8
|
-
"settings.
|
|
9
|
-
"settings.
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
"
|
|
19
|
+
"settings.upgrade": "Upgrade",
|
|
20
|
+
"settings.general": "Allgemein",
|
|
21
|
+
"settings.analytics": "Analysen",
|
|
22
|
+
"settings.license": "Lizenz",
|
|
23
|
+
|
|
24
|
+
"widget.online-users.title": "Online-Benutzer",
|
|
25
|
+
"widget.stats.onlineNow": "Jetzt online",
|
|
26
|
+
"widget.stats.offline": "Offline",
|
|
27
|
+
"widget.stats.last15min": "Letzte 15 Min",
|
|
28
|
+
"widget.stats.last30min": "Letzte 30 Min",
|
|
29
|
+
"widget.stats.totalUsers": "Benutzer gesamt",
|
|
30
|
+
"widget.stats.blocked": "Blockiert",
|
|
31
|
+
|
|
32
|
+
"homepage.title": "Session Manager",
|
|
33
|
+
"homepage.subtitle": "Benutzersitzungen in Echtzeit überwachen und verwalten",
|
|
34
|
+
"homepage.stats.active": "Aktiv",
|
|
35
|
+
"homepage.stats.idle": "Inaktiv",
|
|
36
|
+
"homepage.stats.loggedOut": "Abgemeldet",
|
|
37
|
+
"homepage.stats.terminated": "Beendet",
|
|
38
|
+
"homepage.stats.total": "Gesamt",
|
|
39
|
+
"homepage.export.csv": "CSV exportieren",
|
|
40
|
+
"homepage.export.json": "JSON exportieren",
|
|
41
|
+
"homepage.loading": "Sitzungen werden geladen...",
|
|
42
|
+
"homepage.allSessions": "Alle Sitzungen",
|
|
43
|
+
"homepage.search.placeholder": "Nach Benutzer, IP-Adresse oder Gerät suchen...",
|
|
44
|
+
"homepage.filter.all": "Alle Sitzungen",
|
|
45
|
+
"homepage.filter.active": "Aktiv (weniger als 15 Min)",
|
|
46
|
+
"homepage.filter.idle": "Inaktiv (mehr als 15 Min)",
|
|
47
|
+
"homepage.filter.loggedout": "Abgemeldet",
|
|
48
|
+
"homepage.filter.terminated": "Beendet",
|
|
49
|
+
"homepage.entries.10": "10 Einträge",
|
|
50
|
+
"homepage.entries.25": "25 Einträge",
|
|
51
|
+
"homepage.entries.50": "50 Einträge",
|
|
52
|
+
"homepage.entries.100": "100 Einträge",
|
|
53
|
+
"homepage.showing": "Zeige {count} von {total} Sitzungen",
|
|
54
|
+
"homepage.showingFiltered": "Zeige {count} von {total} Sitzungen (gefiltert nach \"{query}\")",
|
|
55
|
+
"homepage.table.status": "Status",
|
|
56
|
+
"homepage.table.user": "Benutzer",
|
|
57
|
+
"homepage.table.device": "Gerät",
|
|
58
|
+
"homepage.table.ipAddress": "IP-Adresse",
|
|
59
|
+
"homepage.table.loginTime": "Anmeldezeit",
|
|
60
|
+
"homepage.table.lastActive": "Zuletzt aktiv",
|
|
61
|
+
"homepage.table.actions": "Aktionen",
|
|
62
|
+
"homepage.status.active": "Aktiv",
|
|
63
|
+
"homepage.status.idle": "Inaktiv",
|
|
64
|
+
"homepage.status.loggedOut": "Abgemeldet",
|
|
65
|
+
"homepage.status.terminated": "Beendet",
|
|
66
|
+
"homepage.user.unknown": "Unbekannt",
|
|
67
|
+
"homepage.time.minAgo": "vor {minutes} Min",
|
|
68
|
+
"homepage.actions.viewDetails": "Details anzeigen",
|
|
69
|
+
"homepage.actions.terminate": "Beenden (Abmelden)",
|
|
70
|
+
"homepage.actions.alreadyInactive": "Bereits inaktiv",
|
|
71
|
+
"homepage.actions.deletePermanently": "Dauerhaft löschen",
|
|
72
|
+
"homepage.empty.title": "Noch keine Sitzungen",
|
|
73
|
+
"homepage.empty.description": "Sitzungen erscheinen hier, wenn sich Benutzer bei Ihrer Anwendung anmelden",
|
|
74
|
+
"homepage.noResults.title": "Keine Sitzungen gefunden",
|
|
75
|
+
"homepage.noResults.description": "Versuchen Sie, Ihre Suchanfrage oder Filter anzupassen, um Sitzungen zu finden",
|
|
76
|
+
"homepage.confirm.terminate": "Möchten Sie diese Sitzung wirklich beenden?\n\nDies setzt isActive auf false (Benutzer wird abgemeldet).",
|
|
77
|
+
"homepage.confirm.delete": "[WARNUNG] Dies wird diese Sitzung DAUERHAFT aus der Datenbank löschen!\n\nDiese Aktion kann nicht rückgängig gemacht werden.\n\nSind Sie sicher?",
|
|
78
|
+
|
|
79
|
+
"modal.title": "Sitzungsdetails",
|
|
80
|
+
"modal.id": "ID: {id}",
|
|
81
|
+
"modal.status.online": "ONLINE",
|
|
82
|
+
"modal.status.offline": "OFFLINE",
|
|
83
|
+
"modal.section.user": "Benutzer",
|
|
84
|
+
"modal.section.device": "Gerät",
|
|
85
|
+
"modal.section.timeline": "Zeitverlauf",
|
|
86
|
+
"modal.section.security": "Standort und Sicherheit",
|
|
87
|
+
"modal.section.technical": "Technische Details",
|
|
88
|
+
"modal.user.username": "Benutzername",
|
|
89
|
+
"modal.user.email": "E-Mail",
|
|
90
|
+
"modal.user.id": "Benutzer-ID",
|
|
91
|
+
"modal.user.na": "K.A.",
|
|
92
|
+
"modal.device.device": "Gerät",
|
|
93
|
+
"modal.device.browser": "Browser",
|
|
94
|
+
"modal.device.os": "Betriebssystem",
|
|
95
|
+
"modal.device.ip": "IP",
|
|
96
|
+
"modal.timeline.login": "Anmeldung",
|
|
97
|
+
"modal.timeline.lastActive": "Zuletzt aktiv",
|
|
98
|
+
"modal.timeline.idleTime": "Inaktive Zeit",
|
|
99
|
+
"modal.timeline.logout": "Abmeldung",
|
|
100
|
+
"modal.timeline.minutes": "{minutes} Min",
|
|
101
|
+
"modal.security.loading": "Standortdaten werden geladen...",
|
|
102
|
+
"modal.security.country": "Land",
|
|
103
|
+
"modal.security.city": "Stadt",
|
|
104
|
+
"modal.security.timezone": "Zeitzone",
|
|
105
|
+
"modal.security.score": "Sicherheit",
|
|
106
|
+
"modal.security.vpn": "VPN",
|
|
107
|
+
"modal.security.proxy": "Proxy",
|
|
108
|
+
"modal.security.vpnWarning": "[WARNUNG] Ja",
|
|
109
|
+
"modal.security.no": "Nein",
|
|
110
|
+
"modal.premium.title": "Standort- und Sicherheitsanalyse",
|
|
111
|
+
"modal.premium.description": "Schalten Sie Premium-Funktionen frei, um IP-Geolokalisierung, Sicherheitsbewertung und VPN/Proxy-Erkennung für jede Sitzung zu erhalten",
|
|
112
|
+
"modal.premium.upgrade": "Auf Premium upgraden",
|
|
113
|
+
"modal.technical.show": "Details anzeigen",
|
|
114
|
+
"modal.technical.hide": "Details ausblenden",
|
|
115
|
+
"modal.actions.close": "Schließen",
|
|
116
|
+
"modal.actions.terminate": "Sitzung beenden",
|
|
117
|
+
"modal.confirm.terminate": "Möchten Sie diese Sitzung wirklich beenden?",
|
|
118
|
+
|
|
119
|
+
"panel.title": "Sitzungsinfo",
|
|
120
|
+
"panel.loading": "Wird geladen...",
|
|
121
|
+
"panel.status.active": "AKTIV",
|
|
122
|
+
"panel.status.offline": "OFFLINE",
|
|
123
|
+
"panel.sessions.count": "{count} aktive Sitzung(en)",
|
|
124
|
+
"panel.sessions.title": "Aktive Sitzungen",
|
|
125
|
+
"panel.sessions.active": "Aktiv",
|
|
126
|
+
"panel.sessions.activeNow": "Jetzt aktiv",
|
|
127
|
+
"panel.sessions.activeAgo": "Aktiv vor {minutes} Min",
|
|
128
|
+
"panel.sessions.more": "+{count} weitere Sitzung(en)",
|
|
129
|
+
"panel.blocked.title": "Benutzer ist blockiert",
|
|
130
|
+
"panel.blocked.description": "Authentifizierung deaktiviert",
|
|
131
|
+
"panel.empty.title": "Keine aktiven Sitzungen",
|
|
132
|
+
"panel.empty.description": "Benutzer hat sich noch nicht angemeldet",
|
|
133
|
+
"panel.actions.title": "Aktionen",
|
|
134
|
+
"panel.actions.terminateAll": "Alle Sitzungen beenden",
|
|
135
|
+
"panel.actions.blockUser": "Benutzer blockieren",
|
|
136
|
+
"panel.actions.unblockUser": "Benutzer entsperren",
|
|
137
|
+
|
|
138
|
+
"settings.title": "Session Manager Einstellungen",
|
|
139
|
+
"settings.subtitle": "Sitzungsverfolgung, Sicherheit und E-Mail-Benachrichtigungen konfigurieren",
|
|
140
|
+
"settings.save": "Änderungen speichern",
|
|
141
|
+
"settings.saving": "Speichern...",
|
|
142
|
+
"settings.noChanges": "Keine Änderungen",
|
|
143
|
+
"settings.reset": "Zurücksetzen",
|
|
144
|
+
"settings.license.title": "Aktueller Lizenzstatus",
|
|
145
|
+
"settings.license.premium": "Premium",
|
|
146
|
+
"settings.license.advanced": "Advanced",
|
|
147
|
+
"settings.license.enterprise": "Enterprise",
|
|
148
|
+
|
|
149
|
+
"settings.general.title": "Allgemeine Einstellungen",
|
|
150
|
+
"settings.general.description": "Grundlegende Sitzungsverfolgungskonfiguration",
|
|
151
|
+
"settings.general.timeout.title": "SITZUNGS-TIMEOUT",
|
|
152
|
+
"settings.general.timeout.inactivity": "Inaktivitäts-Timeout",
|
|
153
|
+
"settings.general.timeout.inactivityHint": "Sitzungen, die länger als {minutes} Minuten inaktiv sind, werden als offline markiert",
|
|
154
|
+
"settings.general.timeout.5min": "5 Minuten (Sehr streng)",
|
|
155
|
+
"settings.general.timeout.10min": "10 Minuten (Streng)",
|
|
156
|
+
"settings.general.timeout.15min": "15 Minuten (Empfohlen)",
|
|
157
|
+
"settings.general.timeout.30min": "30 Minuten (Moderat)",
|
|
158
|
+
"settings.general.timeout.1hour": "1 Stunde (Entspannt)",
|
|
159
|
+
"settings.general.timeout.2hours": "2 Stunden (Sehr entspannt)",
|
|
160
|
+
"settings.general.rateLimit.title": "Zuletzt gesehen Rate Limit",
|
|
161
|
+
"settings.general.rateLimit.hint": "Verhindert übermäßige Datenbankschreibvorgänge. Updates werden auf einmal alle {seconds} Sekunden gedrosselt",
|
|
162
|
+
"settings.general.rateLimit.10sec": "10 Sekunden",
|
|
163
|
+
"settings.general.rateLimit.30sec": "30 Sekunden (Empfohlen)",
|
|
164
|
+
"settings.general.rateLimit.1min": "1 Minute",
|
|
165
|
+
"settings.general.rateLimit.2min": "2 Minuten",
|
|
166
|
+
"settings.general.rateLimit.5min": "5 Minuten",
|
|
167
|
+
"settings.general.cleanup.title": "AUTO-BEREINIGUNG & AUFBEWAHRUNG",
|
|
168
|
+
"settings.general.cleanup.interval": "Bereinigungsintervall",
|
|
169
|
+
"settings.general.cleanup.intervalHint": "Inaktive Sitzungen werden automatisch alle {minutes} Minuten bereinigt",
|
|
170
|
+
"settings.general.cleanup.15min": "15 Minuten",
|
|
171
|
+
"settings.general.cleanup.30min": "30 Minuten (Empfohlen)",
|
|
172
|
+
"settings.general.cleanup.1hour": "1 Stunde",
|
|
173
|
+
"settings.general.cleanup.2hours": "2 Stunden",
|
|
174
|
+
"settings.general.retention.title": "Aufbewahrungszeitraum",
|
|
175
|
+
"settings.general.retention.hint": "Alte Sitzungen werden nach {days} gelöscht",
|
|
176
|
+
"settings.general.retention.hintNever": "Alte Sitzungen werden nie gelöscht",
|
|
177
|
+
"settings.general.retention.7days": "7 Tage",
|
|
178
|
+
"settings.general.retention.30days": "30 Tage",
|
|
179
|
+
"settings.general.retention.60days": "60 Tage",
|
|
180
|
+
"settings.general.retention.90days": "90 Tage (Empfohlen)",
|
|
181
|
+
"settings.general.retention.180days": "180 Tage",
|
|
182
|
+
"settings.general.retention.1year": "1 Jahr",
|
|
183
|
+
"settings.general.retention.forever": "Für immer",
|
|
184
|
+
"settings.general.danger.title": "Gefahrenzone",
|
|
185
|
+
"settings.general.danger.description": "Alle Inaktiven bereinigen: Löscht dauerhaft alle inaktiven Sitzungen. Dies kann nicht rückgängig gemacht werden.",
|
|
186
|
+
"settings.general.danger.cleanNow": "Jetzt bereinigen",
|
|
187
|
+
"settings.general.danger.confirm": "[WARNUNG] Dies wird ALLE inaktiven Sitzungen dauerhaft löschen.\n\nFortfahren?",
|
|
188
|
+
|
|
189
|
+
"settings.security.title": "Sicherheitseinstellungen",
|
|
190
|
+
"settings.security.description": "Sicherheitsrichtlinien und Bedrohungsschutz",
|
|
191
|
+
"settings.security.options": "SICHERHEITSOPTIONEN",
|
|
192
|
+
"settings.security.encryption.title": "JWT-Verschlüsselungsschlüssel-Generator",
|
|
193
|
+
"settings.security.encryption.description": "Generieren Sie einen sicheren 32-Zeichen-Verschlüsselungsschlüssel für die JWT-Token-Speicherung. Dieser Schlüssel wird verwendet, um Tokens vor dem Speichern in der Datenbank zu verschlüsseln.",
|
|
194
|
+
"settings.security.encryption.important": "Wichtig",
|
|
195
|
+
"settings.security.encryption.envHint": "Fügen Sie diesen Schlüssel Ihrer .env-Datei als SESSION_ENCRYPTION_KEY für die Produktion hinzu.",
|
|
196
|
+
"settings.security.encryption.label": "Generierter Verschlüsselungsschlüssel",
|
|
197
|
+
"settings.security.encryption.placeholder": "Klicken Sie auf 'Schlüssel generieren', um einen sicheren Schlüssel zu erstellen",
|
|
198
|
+
"settings.security.encryption.show": "Anzeigen",
|
|
199
|
+
"settings.security.encryption.hide": "Ausblenden",
|
|
200
|
+
"settings.security.encryption.generate": "Schlüssel generieren",
|
|
201
|
+
"settings.security.encryption.copy": "In Zwischenablage kopieren",
|
|
202
|
+
"settings.security.encryption.copyEnv": "Für .env kopieren",
|
|
203
|
+
"settings.security.encryption.envLabel": "Zur .env-Datei hinzufügen:",
|
|
204
|
+
"settings.security.blockSuspicious.title": "Verdächtige Sitzungen blockieren",
|
|
205
|
+
"settings.security.blockSuspicious.description": "Sitzungen von VPNs, Proxys oder Bedrohungs-IPs automatisch blockieren",
|
|
206
|
+
"settings.security.geolocation.title": "IP-Geolokalisierung",
|
|
207
|
+
"settings.security.geolocation.description": "Standortdaten für jede Sitzung abrufen (Premium)",
|
|
208
|
+
"settings.security.scoring.title": "Sicherheitsbewertung",
|
|
209
|
+
"settings.security.scoring.description": "Sicherheitsbewertungen berechnen und Bedrohungen erkennen (Premium)",
|
|
210
|
+
"settings.security.maxFailed.title": "Max. fehlgeschlagene Anmeldeversuche",
|
|
211
|
+
"settings.security.maxFailed.hint": "Benutzer wird nach {count} fehlgeschlagenen Versuchen blockiert",
|
|
212
|
+
|
|
213
|
+
"settings.email.title": "E-Mail-Benachrichtigungen (Advanced)",
|
|
214
|
+
"settings.email.description": "E-Mail-Alarme für Sicherheitsereignisse",
|
|
215
|
+
"settings.email.alerts.title": "E-MAIL-ALARME",
|
|
216
|
+
"settings.email.alerts.subtitle": "Sicherheitsalarme per E-Mail an Benutzer senden",
|
|
217
|
+
"settings.email.enable.title": "E-Mail-Alarme aktivieren",
|
|
218
|
+
"settings.email.enable.description": "Sicherheitsalarme für verdächtige Anmeldungen, neue Standorte und VPN/Proxy-Nutzung senden",
|
|
219
|
+
"settings.email.types.title": "ALARMTYPEN",
|
|
220
|
+
"settings.email.types.suspicious": "Verdächtige Anmeldung",
|
|
221
|
+
"settings.email.types.newLocation": "Neuer Standort",
|
|
222
|
+
"settings.email.types.vpnProxy": "VPN/Proxy",
|
|
223
|
+
"settings.email.templates.title": "E-MAIL-VORLAGEN",
|
|
224
|
+
"settings.email.templates.subtitle": "E-Mail-Benachrichtigungsvorlagen mit dynamischen Variablen anpassen",
|
|
225
|
+
"settings.email.templates.subject": "E-Mail-Betreff",
|
|
226
|
+
"settings.email.templates.subjectPlaceholder": "E-Mail-Betreff eingeben...",
|
|
227
|
+
"settings.email.templates.variables": "Verfügbare Variablen (zum Kopieren klicken)",
|
|
228
|
+
"settings.email.templates.html.title": "HTML-Vorlage",
|
|
229
|
+
"settings.email.templates.html.badge": "Hauptvorlage",
|
|
230
|
+
"settings.email.templates.html.description": "HTML-Vorlage für E-Mail-Benachrichtigungen. Verwenden Sie Variablen wie {{user.email}} für dynamischen Inhalt.",
|
|
231
|
+
"settings.email.templates.html.loadDefault": "Standard laden",
|
|
232
|
+
"settings.email.templates.html.copy": "Vorlage kopieren",
|
|
233
|
+
"settings.email.templates.html.validate": "Validieren",
|
|
234
|
+
"settings.email.templates.html.info": "Vorlagen-Info",
|
|
235
|
+
"settings.email.templates.text.title": "Text-Vorlage",
|
|
236
|
+
"settings.email.templates.text.badge": "Fallback",
|
|
237
|
+
"settings.email.templates.text.description": "Klartextversion (kein HTML) als Fallback für ältere E-Mail-Clients",
|
|
238
|
+
"settings.email.templates.text.loadDefault": "Standard laden",
|
|
239
|
+
"settings.email.templates.text.copy": "Vorlage kopieren",
|
|
240
|
+
"settings.email.templates.tab.suspicious": "Verdächtige Anmeldung",
|
|
241
|
+
"settings.email.templates.tab.newLocation": "Neuer Standort",
|
|
242
|
+
"settings.email.templates.tab.vpnProxy": "VPN/Proxy",
|
|
243
|
+
|
|
244
|
+
"settings.webhooks.title": "Webhook-Integration (Advanced)",
|
|
245
|
+
"settings.webhooks.description": "Discord & Slack Integration",
|
|
246
|
+
"settings.webhooks.enable.title": "Webhooks aktivieren",
|
|
247
|
+
"settings.webhooks.enable.description": "Sitzungsereignisse an Discord, Slack oder benutzerdefinierte Endpunkte senden",
|
|
248
|
+
"settings.webhooks.discord.title": "Discord Webhook-URL",
|
|
249
|
+
"settings.webhooks.discord.placeholder": "https://discord.com/api/webhooks/123456789/abcdefghijklmnopqrstuvwxyz...",
|
|
250
|
+
"settings.webhooks.discord.hint": "Optional: Sitzungsalarme in Ihrem Discord-Kanal posten",
|
|
251
|
+
"settings.webhooks.slack.title": "Slack Webhook-URL",
|
|
252
|
+
"settings.webhooks.slack.placeholder": "https://hooks.slack.com/services/XXXX/XXXX/XXXX",
|
|
253
|
+
"settings.webhooks.slack.hint": "Optional: Sitzungsalarme in Ihrem Slack-Workspace posten",
|
|
254
|
+
"settings.webhooks.characters": "{count} Zeichen",
|
|
255
|
+
|
|
256
|
+
"settings.footer.title": "Datenbankgestützte Einstellungen",
|
|
257
|
+
"settings.footer.description": "Alle Einstellungen werden in Ihrer Strapi-Datenbank gespeichert und von allen Admin-Benutzern geteilt. Änderungen werden sofort wirksam - kein Server-Neustart erforderlich! E-Mail-Vorlagen, Webhooks und Sicherheitsoptionen werden alle von dieser Oberfläche aus verwaltet.",
|
|
258
|
+
|
|
259
|
+
"common.loading": "Wird geladen...",
|
|
260
|
+
"common.save": "Speichern",
|
|
261
|
+
"common.cancel": "Abbrechen",
|
|
262
|
+
"common.close": "Schließen",
|
|
263
|
+
"common.delete": "Löschen",
|
|
264
|
+
"common.confirm": "Bestätigen",
|
|
265
|
+
"common.yes": "Ja",
|
|
266
|
+
"common.no": "Nein",
|
|
267
|
+
"common.on": "am",
|
|
268
|
+
"common.active": "AKTIV",
|
|
269
|
+
"common.inactive": "INAKTIV",
|
|
270
|
+
|
|
271
|
+
"notifications.success.saved": "Einstellungen erfolgreich in Datenbank gespeichert!",
|
|
272
|
+
"notifications.success.deleted": "Sitzung dauerhaft gelöscht",
|
|
273
|
+
"notifications.success.terminated": "Sitzung erfolgreich beendet",
|
|
274
|
+
"notifications.success.terminatedAll": "Alle Sitzungen erfolgreich beendet",
|
|
275
|
+
"notifications.success.blocked": "Benutzer erfolgreich blockiert",
|
|
276
|
+
"notifications.success.unblocked": "Benutzer erfolgreich entsperrt",
|
|
277
|
+
"notifications.success.exported": "{count} Sitzungen als {format} exportiert",
|
|
278
|
+
"notifications.success.cleaned": "{count} inaktive Sitzungen erfolgreich gelöscht!",
|
|
279
|
+
"notifications.success.keyCopied": "Verschlüsselungsschlüssel in Zwischenablage kopiert!",
|
|
280
|
+
"notifications.success.keyGenerated": "32-Zeichen-Verschlüsselungsschlüssel generiert!",
|
|
281
|
+
"notifications.success.envCopied": "Als .env-Format kopiert!",
|
|
282
|
+
"notifications.success.templateCopied": "Vorlage kopiert!",
|
|
283
|
+
"notifications.success.htmlCopied": "HTML-Vorlage kopiert!",
|
|
284
|
+
"notifications.success.textCopied": "Text-Vorlage kopiert!",
|
|
285
|
+
"notifications.success.defaultLoaded": "Standardvorlage geladen!",
|
|
286
|
+
"notifications.success.variableCopied": "{variable} kopiert!",
|
|
287
|
+
"notifications.success.validated": "Vorlage gültig! {found}/{total} Variablen gefunden.",
|
|
288
|
+
"notifications.warning.premiumRequired": "Premium-Lizenz für Export-Funktion erforderlich",
|
|
289
|
+
"notifications.warning.noVariables": "[WARNUNG] Keine Variablen gefunden. Fügen Sie mindestens eine Variable hinzu.",
|
|
290
|
+
"notifications.warning.settingsLoad": "Einstellungen konnten nicht vom Server geladen werden. Verwende Standardwerte.",
|
|
291
|
+
"notifications.error.terminate": "Sitzung konnte nicht beendet werden",
|
|
292
|
+
"notifications.error.terminateAll": "Sitzungen konnten nicht beendet werden",
|
|
293
|
+
"notifications.error.delete": "Sitzung konnte nicht gelöscht werden",
|
|
294
|
+
"notifications.error.block": "Benutzerstatus konnte nicht aktualisiert werden",
|
|
295
|
+
"notifications.error.save": "Einstellungen konnten nicht auf dem Server gespeichert werden",
|
|
296
|
+
"notifications.error.clean": "Inaktive Sitzungen konnten nicht gelöscht werden",
|
|
297
|
+
"notifications.error.export": "Sitzungen konnten nicht exportiert werden",
|
|
298
|
+
"notifications.info.templateStats": "Vorlage hat {lines} Zeilen und {chars} Zeichen"
|
|
20
299
|
}
|
|
@@ -1,20 +1,299 @@
|
|
|
1
1
|
{
|
|
2
2
|
"plugin.name": "Session Manager",
|
|
3
3
|
"plugin.description": "Track user login/logout and session activity",
|
|
4
|
+
|
|
5
|
+
"Session": "Session",
|
|
6
|
+
"User": "User",
|
|
7
|
+
"session.user": "User",
|
|
8
|
+
"session.ipAddress": "IP Address",
|
|
9
|
+
"session.userAgent": "Browser Agent",
|
|
10
|
+
"session.loginTime": "Login Time",
|
|
11
|
+
"session.logoutTime": "Logout Time",
|
|
12
|
+
"session.lastActive": "Last Active",
|
|
13
|
+
"session.isActive": "Active",
|
|
14
|
+
"session.token": "Token",
|
|
15
|
+
"session.EditorX": "Editor X",
|
|
16
|
+
|
|
4
17
|
"settings.section": "Session Manager",
|
|
5
18
|
"settings.sessions": "Active Sessions",
|
|
6
|
-
"settings.
|
|
7
|
-
"settings.
|
|
8
|
-
"settings.
|
|
9
|
-
"settings.
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
"
|
|
19
|
+
"settings.upgrade": "Upgrade",
|
|
20
|
+
"settings.general": "General",
|
|
21
|
+
"settings.analytics": "Analytics",
|
|
22
|
+
"settings.license": "License",
|
|
23
|
+
|
|
24
|
+
"widget.online-users.title": "Online Users",
|
|
25
|
+
"widget.stats.onlineNow": "Online Now",
|
|
26
|
+
"widget.stats.offline": "Offline",
|
|
27
|
+
"widget.stats.last15min": "Last 15 min",
|
|
28
|
+
"widget.stats.last30min": "Last 30 min",
|
|
29
|
+
"widget.stats.totalUsers": "Total Users",
|
|
30
|
+
"widget.stats.blocked": "Blocked",
|
|
31
|
+
|
|
32
|
+
"homepage.title": "Session Manager",
|
|
33
|
+
"homepage.subtitle": "Monitor and manage user sessions in real-time",
|
|
34
|
+
"homepage.stats.active": "Active",
|
|
35
|
+
"homepage.stats.idle": "Idle",
|
|
36
|
+
"homepage.stats.loggedOut": "Logged Out",
|
|
37
|
+
"homepage.stats.terminated": "Terminated",
|
|
38
|
+
"homepage.stats.total": "Total",
|
|
39
|
+
"homepage.export.csv": "Export CSV",
|
|
40
|
+
"homepage.export.json": "Export JSON",
|
|
41
|
+
"homepage.loading": "Loading sessions...",
|
|
42
|
+
"homepage.allSessions": "All Sessions",
|
|
43
|
+
"homepage.search.placeholder": "Search by user, IP address, or device...",
|
|
44
|
+
"homepage.filter.all": "All Sessions",
|
|
45
|
+
"homepage.filter.active": "Active (less than 15 min)",
|
|
46
|
+
"homepage.filter.idle": "Idle (more than 15 min)",
|
|
47
|
+
"homepage.filter.loggedout": "Logged Out",
|
|
48
|
+
"homepage.filter.terminated": "Terminated",
|
|
49
|
+
"homepage.entries.10": "10 entries",
|
|
50
|
+
"homepage.entries.25": "25 entries",
|
|
51
|
+
"homepage.entries.50": "50 entries",
|
|
52
|
+
"homepage.entries.100": "100 entries",
|
|
53
|
+
"homepage.showing": "Showing {count} of {total} sessions",
|
|
54
|
+
"homepage.showingFiltered": "Showing {count} of {total} sessions (filtered by \"{query}\")",
|
|
55
|
+
"homepage.table.status": "Status",
|
|
56
|
+
"homepage.table.user": "User",
|
|
57
|
+
"homepage.table.device": "Device",
|
|
58
|
+
"homepage.table.ipAddress": "IP Address",
|
|
59
|
+
"homepage.table.loginTime": "Login Time",
|
|
60
|
+
"homepage.table.lastActive": "Last Active",
|
|
61
|
+
"homepage.table.actions": "Actions",
|
|
62
|
+
"homepage.status.active": "Active",
|
|
63
|
+
"homepage.status.idle": "Idle",
|
|
64
|
+
"homepage.status.loggedOut": "Logged Out",
|
|
65
|
+
"homepage.status.terminated": "Terminated",
|
|
66
|
+
"homepage.user.unknown": "Unknown",
|
|
67
|
+
"homepage.time.minAgo": "{minutes} min ago",
|
|
68
|
+
"homepage.actions.viewDetails": "View Details",
|
|
69
|
+
"homepage.actions.terminate": "Terminate (Logout)",
|
|
70
|
+
"homepage.actions.alreadyInactive": "Already inactive",
|
|
71
|
+
"homepage.actions.deletePermanently": "Delete Permanently",
|
|
72
|
+
"homepage.empty.title": "No sessions yet",
|
|
73
|
+
"homepage.empty.description": "Sessions will appear here when users log in to your application",
|
|
74
|
+
"homepage.noResults.title": "No sessions found",
|
|
75
|
+
"homepage.noResults.description": "Try adjusting your search query or filters to find sessions",
|
|
76
|
+
"homepage.confirm.terminate": "Are you sure you want to terminate this session?\n\nThis will set isActive to false (user will be logged out).",
|
|
77
|
+
"homepage.confirm.delete": "[WARNING] This will PERMANENTLY delete this session from the database!\n\nThis action cannot be undone.\n\nAre you sure?",
|
|
78
|
+
|
|
79
|
+
"modal.title": "Session Details",
|
|
80
|
+
"modal.id": "ID: {id}",
|
|
81
|
+
"modal.status.online": "ONLINE",
|
|
82
|
+
"modal.status.offline": "OFFLINE",
|
|
83
|
+
"modal.section.user": "User",
|
|
84
|
+
"modal.section.device": "Device",
|
|
85
|
+
"modal.section.timeline": "Timeline",
|
|
86
|
+
"modal.section.security": "Location and Security",
|
|
87
|
+
"modal.section.technical": "Technical Details",
|
|
88
|
+
"modal.user.username": "Username",
|
|
89
|
+
"modal.user.email": "Email",
|
|
90
|
+
"modal.user.id": "User ID",
|
|
91
|
+
"modal.user.na": "N/A",
|
|
92
|
+
"modal.device.device": "Device",
|
|
93
|
+
"modal.device.browser": "Browser",
|
|
94
|
+
"modal.device.os": "OS",
|
|
95
|
+
"modal.device.ip": "IP",
|
|
96
|
+
"modal.timeline.login": "Login",
|
|
97
|
+
"modal.timeline.lastActive": "Last Active",
|
|
98
|
+
"modal.timeline.idleTime": "Idle Time",
|
|
99
|
+
"modal.timeline.logout": "Logout",
|
|
100
|
+
"modal.timeline.minutes": "{minutes} min",
|
|
101
|
+
"modal.security.loading": "Loading location data...",
|
|
102
|
+
"modal.security.country": "Country",
|
|
103
|
+
"modal.security.city": "City",
|
|
104
|
+
"modal.security.timezone": "Timezone",
|
|
105
|
+
"modal.security.score": "Security",
|
|
106
|
+
"modal.security.vpn": "VPN",
|
|
107
|
+
"modal.security.proxy": "Proxy",
|
|
108
|
+
"modal.security.vpnWarning": "[WARNING] Yes",
|
|
109
|
+
"modal.security.no": "No",
|
|
110
|
+
"modal.premium.title": "Location and Security Analysis",
|
|
111
|
+
"modal.premium.description": "Unlock premium features to get IP geolocation, security scoring, and VPN/Proxy detection for every session",
|
|
112
|
+
"modal.premium.upgrade": "Upgrade to Premium",
|
|
113
|
+
"modal.technical.show": "Show Details",
|
|
114
|
+
"modal.technical.hide": "Hide Details",
|
|
115
|
+
"modal.actions.close": "Close",
|
|
116
|
+
"modal.actions.terminate": "Terminate Session",
|
|
117
|
+
"modal.confirm.terminate": "Are you sure you want to terminate this session?",
|
|
118
|
+
|
|
119
|
+
"panel.title": "Session Info",
|
|
120
|
+
"panel.loading": "Loading...",
|
|
121
|
+
"panel.status.active": "ACTIVE",
|
|
122
|
+
"panel.status.offline": "OFFLINE",
|
|
123
|
+
"panel.sessions.count": "{count} active session{count, plural, one {} other {s}}",
|
|
124
|
+
"panel.sessions.title": "Active Sessions",
|
|
125
|
+
"panel.sessions.active": "Active",
|
|
126
|
+
"panel.sessions.activeNow": "Active now",
|
|
127
|
+
"panel.sessions.activeAgo": "Active {minutes} min ago",
|
|
128
|
+
"panel.sessions.more": "+{count} more session{count, plural, one {} other {s}}",
|
|
129
|
+
"panel.blocked.title": "User is blocked",
|
|
130
|
+
"panel.blocked.description": "Authentication disabled",
|
|
131
|
+
"panel.empty.title": "No active sessions",
|
|
132
|
+
"panel.empty.description": "User has not logged in yet",
|
|
133
|
+
"panel.actions.title": "Actions",
|
|
134
|
+
"panel.actions.terminateAll": "Terminate All Sessions",
|
|
135
|
+
"panel.actions.blockUser": "Block User",
|
|
136
|
+
"panel.actions.unblockUser": "Unblock User",
|
|
137
|
+
|
|
138
|
+
"settings.title": "Session Manager Settings",
|
|
139
|
+
"settings.subtitle": "Configure session tracking, security, and email notifications",
|
|
140
|
+
"settings.save": "Save Changes",
|
|
141
|
+
"settings.saving": "Saving...",
|
|
142
|
+
"settings.noChanges": "No Changes",
|
|
143
|
+
"settings.reset": "Reset",
|
|
144
|
+
"settings.license.title": "Current License Status",
|
|
145
|
+
"settings.license.premium": "Premium",
|
|
146
|
+
"settings.license.advanced": "Advanced",
|
|
147
|
+
"settings.license.enterprise": "Enterprise",
|
|
148
|
+
|
|
149
|
+
"settings.general.title": "General Settings",
|
|
150
|
+
"settings.general.description": "Basic session tracking configuration",
|
|
151
|
+
"settings.general.timeout.title": "SESSION TIMEOUT",
|
|
152
|
+
"settings.general.timeout.inactivity": "Inactivity Timeout",
|
|
153
|
+
"settings.general.timeout.inactivityHint": "Sessions inactive for more than {minutes} minutes will be marked as offline",
|
|
154
|
+
"settings.general.timeout.5min": "5 minutes (Very Strict)",
|
|
155
|
+
"settings.general.timeout.10min": "10 minutes (Strict)",
|
|
156
|
+
"settings.general.timeout.15min": "15 minutes (Recommended)",
|
|
157
|
+
"settings.general.timeout.30min": "30 minutes (Moderate)",
|
|
158
|
+
"settings.general.timeout.1hour": "1 hour (Relaxed)",
|
|
159
|
+
"settings.general.timeout.2hours": "2 hours (Very Relaxed)",
|
|
160
|
+
"settings.general.rateLimit.title": "Last Seen Rate Limit",
|
|
161
|
+
"settings.general.rateLimit.hint": "Prevents excessive database writes. Updates throttled to once every {seconds} seconds",
|
|
162
|
+
"settings.general.rateLimit.10sec": "10 seconds",
|
|
163
|
+
"settings.general.rateLimit.30sec": "30 seconds (Recommended)",
|
|
164
|
+
"settings.general.rateLimit.1min": "1 minute",
|
|
165
|
+
"settings.general.rateLimit.2min": "2 minutes",
|
|
166
|
+
"settings.general.rateLimit.5min": "5 minutes",
|
|
167
|
+
"settings.general.cleanup.title": "AUTO-CLEANUP & RETENTION",
|
|
168
|
+
"settings.general.cleanup.interval": "Cleanup Interval",
|
|
169
|
+
"settings.general.cleanup.intervalHint": "Inactive sessions are automatically cleaned every {minutes} minutes",
|
|
170
|
+
"settings.general.cleanup.15min": "15 minutes",
|
|
171
|
+
"settings.general.cleanup.30min": "30 minutes (Recommended)",
|
|
172
|
+
"settings.general.cleanup.1hour": "1 hour",
|
|
173
|
+
"settings.general.cleanup.2hours": "2 hours",
|
|
174
|
+
"settings.general.retention.title": "Retention Period",
|
|
175
|
+
"settings.general.retention.hint": "Old sessions deleted after {days}",
|
|
176
|
+
"settings.general.retention.hintNever": "Old sessions deleted after never",
|
|
177
|
+
"settings.general.retention.7days": "7 days",
|
|
178
|
+
"settings.general.retention.30days": "30 days",
|
|
179
|
+
"settings.general.retention.60days": "60 days",
|
|
180
|
+
"settings.general.retention.90days": "90 days (Recommended)",
|
|
181
|
+
"settings.general.retention.180days": "180 days",
|
|
182
|
+
"settings.general.retention.1year": "1 year",
|
|
183
|
+
"settings.general.retention.forever": "Forever",
|
|
184
|
+
"settings.general.danger.title": "Danger Zone",
|
|
185
|
+
"settings.general.danger.description": "Clean All Inactive: Permanently deletes all inactive sessions. This cannot be undone.",
|
|
186
|
+
"settings.general.danger.cleanNow": "Clean Now",
|
|
187
|
+
"settings.general.danger.confirm": "[WARNING] This will permanently delete ALL inactive sessions.\n\nContinue?",
|
|
188
|
+
|
|
189
|
+
"settings.security.title": "Security Settings",
|
|
190
|
+
"settings.security.description": "Security policies and threat protection",
|
|
191
|
+
"settings.security.options": "SECURITY OPTIONS",
|
|
192
|
+
"settings.security.encryption.title": "JWT Encryption Key Generator",
|
|
193
|
+
"settings.security.encryption.description": "Generate a secure 32-character encryption key for JWT token storage. This key is used to encrypt tokens before saving them to the database.",
|
|
194
|
+
"settings.security.encryption.important": "Important",
|
|
195
|
+
"settings.security.encryption.envHint": "Add this key to your .env file as SESSION_ENCRYPTION_KEY for production.",
|
|
196
|
+
"settings.security.encryption.label": "Generated Encryption Key",
|
|
197
|
+
"settings.security.encryption.placeholder": "Click 'Generate Key' to create a secure key",
|
|
198
|
+
"settings.security.encryption.show": "Show",
|
|
199
|
+
"settings.security.encryption.hide": "Hide",
|
|
200
|
+
"settings.security.encryption.generate": "Generate Key",
|
|
201
|
+
"settings.security.encryption.copy": "Copy to Clipboard",
|
|
202
|
+
"settings.security.encryption.copyEnv": "Copy for .env",
|
|
203
|
+
"settings.security.encryption.envLabel": "Add to .env file:",
|
|
204
|
+
"settings.security.blockSuspicious.title": "Block Suspicious Sessions",
|
|
205
|
+
"settings.security.blockSuspicious.description": "Automatically block sessions from VPNs, proxies, or threat IPs",
|
|
206
|
+
"settings.security.geolocation.title": "IP Geolocation",
|
|
207
|
+
"settings.security.geolocation.description": "Fetch location data for each session (Premium)",
|
|
208
|
+
"settings.security.scoring.title": "Security Scoring",
|
|
209
|
+
"settings.security.scoring.description": "Calculate security scores and detect threats (Premium)",
|
|
210
|
+
"settings.security.maxFailed.title": "Max Failed Login Attempts",
|
|
211
|
+
"settings.security.maxFailed.hint": "User will be blocked after {count} failed attempts",
|
|
212
|
+
|
|
213
|
+
"settings.email.title": "Email Notifications (Advanced)",
|
|
214
|
+
"settings.email.description": "Email alerts for security events",
|
|
215
|
+
"settings.email.alerts.title": "EMAIL ALERTS",
|
|
216
|
+
"settings.email.alerts.subtitle": "Send security alerts to users via email",
|
|
217
|
+
"settings.email.enable.title": "Enable Email Alerts",
|
|
218
|
+
"settings.email.enable.description": "Send security alerts for suspicious logins, new locations, and VPN/Proxy usage",
|
|
219
|
+
"settings.email.types.title": "ALERT TYPES",
|
|
220
|
+
"settings.email.types.suspicious": "Suspicious Login",
|
|
221
|
+
"settings.email.types.newLocation": "New Location",
|
|
222
|
+
"settings.email.types.vpnProxy": "VPN/Proxy",
|
|
223
|
+
"settings.email.templates.title": "EMAIL TEMPLATES",
|
|
224
|
+
"settings.email.templates.subtitle": "Customize email notification templates with dynamic variables",
|
|
225
|
+
"settings.email.templates.subject": "Email Subject",
|
|
226
|
+
"settings.email.templates.subjectPlaceholder": "Enter email subject...",
|
|
227
|
+
"settings.email.templates.variables": "Available Variables (click to copy)",
|
|
228
|
+
"settings.email.templates.html.title": "HTML Template",
|
|
229
|
+
"settings.email.templates.html.badge": "Main Template",
|
|
230
|
+
"settings.email.templates.html.description": "HTML template for email notifications. Use variables like {{user.email}} for dynamic content.",
|
|
231
|
+
"settings.email.templates.html.loadDefault": "Load Default",
|
|
232
|
+
"settings.email.templates.html.copy": "Copy Template",
|
|
233
|
+
"settings.email.templates.html.validate": "Validate",
|
|
234
|
+
"settings.email.templates.html.info": "Template Info",
|
|
235
|
+
"settings.email.templates.text.title": "Text Template",
|
|
236
|
+
"settings.email.templates.text.badge": "Fallback",
|
|
237
|
+
"settings.email.templates.text.description": "Plain text version (no HTML) as fallback for older email clients",
|
|
238
|
+
"settings.email.templates.text.loadDefault": "Load Default",
|
|
239
|
+
"settings.email.templates.text.copy": "Copy Template",
|
|
240
|
+
"settings.email.templates.tab.suspicious": "Suspicious Login",
|
|
241
|
+
"settings.email.templates.tab.newLocation": "New Location",
|
|
242
|
+
"settings.email.templates.tab.vpnProxy": "VPN/Proxy",
|
|
243
|
+
|
|
244
|
+
"settings.webhooks.title": "Webhook Integration (Advanced)",
|
|
245
|
+
"settings.webhooks.description": "Discord & Slack integration",
|
|
246
|
+
"settings.webhooks.enable.title": "Enable Webhooks",
|
|
247
|
+
"settings.webhooks.enable.description": "Send session events to Discord, Slack, or custom endpoints",
|
|
248
|
+
"settings.webhooks.discord.title": "Discord Webhook URL",
|
|
249
|
+
"settings.webhooks.discord.placeholder": "https://discord.com/api/webhooks/123456789/abcdefghijklmnopqrstuvwxyz...",
|
|
250
|
+
"settings.webhooks.discord.hint": "Optional: Post session alerts to your Discord channel",
|
|
251
|
+
"settings.webhooks.slack.title": "Slack Webhook URL",
|
|
252
|
+
"settings.webhooks.slack.placeholder": "https://hooks.slack.com/services/XXXX/XXXX/XXXX",
|
|
253
|
+
"settings.webhooks.slack.hint": "Optional: Post session alerts to your Slack workspace",
|
|
254
|
+
"settings.webhooks.characters": "{count} characters",
|
|
255
|
+
|
|
256
|
+
"settings.footer.title": "Database-Backed Settings",
|
|
257
|
+
"settings.footer.description": "All settings are stored in your Strapi database and shared across all admin users. Changes take effect immediately - no server restart required! Email templates, webhooks, and security options are all managed from this interface.",
|
|
258
|
+
|
|
259
|
+
"common.loading": "Loading...",
|
|
260
|
+
"common.save": "Save",
|
|
261
|
+
"common.cancel": "Cancel",
|
|
262
|
+
"common.close": "Close",
|
|
263
|
+
"common.delete": "Delete",
|
|
264
|
+
"common.confirm": "Confirm",
|
|
265
|
+
"common.yes": "Yes",
|
|
266
|
+
"common.no": "No",
|
|
267
|
+
"common.on": "on",
|
|
268
|
+
"common.active": "ACTIVE",
|
|
269
|
+
"common.inactive": "INACTIVE",
|
|
270
|
+
|
|
271
|
+
"notifications.success.saved": "Settings saved successfully to database!",
|
|
272
|
+
"notifications.success.deleted": "Session permanently deleted",
|
|
273
|
+
"notifications.success.terminated": "Session terminated successfully",
|
|
274
|
+
"notifications.success.terminatedAll": "All sessions terminated successfully",
|
|
275
|
+
"notifications.success.blocked": "User blocked successfully",
|
|
276
|
+
"notifications.success.unblocked": "User unblocked successfully",
|
|
277
|
+
"notifications.success.exported": "Exported {count} sessions to {format}",
|
|
278
|
+
"notifications.success.cleaned": "Successfully deleted {count} inactive sessions!",
|
|
279
|
+
"notifications.success.keyCopied": "Encryption key copied to clipboard!",
|
|
280
|
+
"notifications.success.keyGenerated": "32-character encryption key generated!",
|
|
281
|
+
"notifications.success.envCopied": "Copied as .env format!",
|
|
282
|
+
"notifications.success.templateCopied": "Template copied!",
|
|
283
|
+
"notifications.success.htmlCopied": "HTML template copied!",
|
|
284
|
+
"notifications.success.textCopied": "Text template copied!",
|
|
285
|
+
"notifications.success.defaultLoaded": "Default template loaded!",
|
|
286
|
+
"notifications.success.variableCopied": "{variable} copied!",
|
|
287
|
+
"notifications.success.validated": "Template valid! Found {found}/{total} variables.",
|
|
288
|
+
"notifications.warning.premiumRequired": "Premium license required for export functionality",
|
|
289
|
+
"notifications.warning.noVariables": "[WARNING] No variables found. Add at least one variable.",
|
|
290
|
+
"notifications.warning.settingsLoad": "Could not load settings from server. Using defaults.",
|
|
291
|
+
"notifications.error.terminate": "Failed to terminate session",
|
|
292
|
+
"notifications.error.terminateAll": "Failed to terminate sessions",
|
|
293
|
+
"notifications.error.delete": "Failed to delete session",
|
|
294
|
+
"notifications.error.block": "Failed to update user status",
|
|
295
|
+
"notifications.error.save": "Failed to save settings to server",
|
|
296
|
+
"notifications.error.clean": "Failed to delete inactive sessions",
|
|
297
|
+
"notifications.error.export": "Failed to export sessions",
|
|
298
|
+
"notifications.info.templateStats": "Template has {lines} lines and {chars} characters"
|
|
20
299
|
}
|