strapi-plugin-magic-link-v5 5.5.9 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +733 -0
- package/README.md +662 -928
- package/dist/admin/LicenseGuard-BgLA9go3.mjs +495 -0
- package/dist/admin/LicenseGuard-ewCjpc17.js +513 -0
- package/dist/admin/de-B1FNErPH.mjs +673 -0
- package/dist/admin/de-e75OECdq.js +673 -0
- package/dist/admin/en-CABKGbxH.js +673 -0
- package/dist/admin/en-HqDOFBCc.mjs +673 -0
- package/dist/admin/es-DpWl0Fax.js +673 -0
- package/dist/admin/es-jb94jqPR.mjs +673 -0
- package/dist/admin/fr-BQhLPvYw.js +673 -0
- package/dist/admin/fr-BseH1wrr.mjs +673 -0
- package/dist/admin/index-6ot9j1cN.js +5268 -0
- package/dist/admin/index-B390rccl.js +622 -0
- package/dist/admin/index-BPGKtruf.mjs +5266 -0
- package/dist/admin/index-BaTIQtnA.js +3869 -0
- package/dist/admin/index-CmG-93yx.js +141 -0
- package/dist/admin/index-DXe_ge4v.mjs +620 -0
- package/dist/admin/index-Dv5PVT1E.mjs +3867 -0
- package/dist/admin/index-k240ls6p.mjs +142 -0
- package/dist/admin/index.js +3 -3
- package/dist/admin/index.mjs +1 -2
- package/dist/admin/pt-CPkaveti.js +673 -0
- package/dist/admin/pt-DhlSCJn2.mjs +673 -0
- package/dist/admin/useUnsavedChangesGuard-BVZ4Mg4E.js +225 -0
- package/dist/admin/useUnsavedChangesGuard-QnkiZTLP.mjs +224 -0
- package/dist/server/i18n/de.json +32 -1
- package/dist/server/i18n/en.json +32 -1
- package/dist/server/i18n/es.json +32 -1
- package/dist/server/i18n/fr.json +32 -1
- package/dist/server/i18n/pt.json +32 -1
- package/dist/server/index.js +7092 -5971
- package/dist/server/index.mjs +7115 -5972
- package/package.json +42 -41
- package/strapi-admin.js +3 -1
- package/strapi-server.js +3 -2
- package/dist/_chunks/LicenseGuard-CiyjFnrw.js +0 -54
- package/dist/_chunks/LicenseGuard-DJ5fq2UZ.mjs +0 -55
- package/dist/_chunks/de-BSOk5suQ.js +0 -454
- package/dist/_chunks/de-CwhYs3O3.mjs +0 -454
- package/dist/_chunks/en-DnvSpXvu.js +0 -454
- package/dist/_chunks/en-gXXgGDV1.mjs +0 -454
- package/dist/_chunks/es-B-tnwByt.js +0 -407
- package/dist/_chunks/es-DG5gW3RZ.mjs +0 -407
- package/dist/_chunks/fr-BKo8t7Fx.js +0 -407
- package/dist/_chunks/fr-BQn1OHOR.mjs +0 -407
- package/dist/_chunks/index-01GHNxSr.js +0 -307
- package/dist/_chunks/index-5jsDgD-q.mjs +0 -330
- package/dist/_chunks/index-BWuj-5WE.js +0 -5068
- package/dist/_chunks/index-Bj3H_Z4B.js +0 -142
- package/dist/_chunks/index-CC4Eu9Dm.js +0 -332
- package/dist/_chunks/index-Csyi13vd.mjs +0 -2891
- package/dist/_chunks/index-DJqXiiP1.js +0 -2893
- package/dist/_chunks/index-DQUYFsLT.mjs +0 -143
- package/dist/_chunks/index-Dufv-daf.mjs +0 -305
- package/dist/_chunks/index-szeYJKpN.mjs +0 -5066
- package/dist/_chunks/pt-CjEkXBAz.js +0 -407
- package/dist/_chunks/pt-trziAOzT.mjs +0 -407
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const enTranslations = {
|
|
4
|
-
"magic-link.plugin.name": "Magic Link",
|
|
5
|
-
"magic-link.Header.Settings": "Magic Link",
|
|
6
|
-
"magic-link.Form.title.Settings": "Settings",
|
|
7
|
-
"magic-link.Form.title.License": "License",
|
|
8
|
-
"magic-link.Form.title.Upgrade": "Upgrade",
|
|
9
|
-
"magic-link.status.active": "ACTIVE",
|
|
10
|
-
"magic-link.status.inactive": "INACTIVE",
|
|
11
|
-
"magic-link.settings.page.title": "⚙️ Magic Link Settings",
|
|
12
|
-
"magic-link.settings.page.subtitle": "Configure passwordless authentication for your users",
|
|
13
|
-
"magic-link.settings.save.button": "Save Changes",
|
|
14
|
-
"magic-link.settings.save.saving": "Saving...",
|
|
15
|
-
"magic-link.settings.save.success": "Settings saved successfully",
|
|
16
|
-
"magic-link.settings.save.error": "Error saving settings",
|
|
17
|
-
"magic-link.settings.load.loading": "Loading settings...",
|
|
18
|
-
"magic-link.settings.load.error": "Error loading settings",
|
|
19
|
-
"magic-link.settings.language.label": "🌐 Interface Language",
|
|
20
|
-
"magic-link.settings.language.hint": "Select the language for the admin interface",
|
|
21
|
-
"magic-link.settings.language.en": "English",
|
|
22
|
-
"magic-link.settings.language.de": "Deutsch",
|
|
23
|
-
"magic-link.settings.language.fr": "Français",
|
|
24
|
-
"magic-link.settings.language.es": "Español",
|
|
25
|
-
"magic-link.settings.language.pt": "Português",
|
|
26
|
-
"magic-link.settings.info.header": "Important Configuration Notes",
|
|
27
|
-
"magic-link.settings.info.line1": "All changes take effect immediately after saving",
|
|
28
|
-
"magic-link.settings.info.line2": "Make sure all URLs are correctly configured",
|
|
29
|
-
"magic-link.settings.info.line3": "Test the configuration after saving with a test token",
|
|
30
|
-
"magic-link.settings.info.line4": "Green cards show ACTIVE features, grey cards are INACTIVE",
|
|
31
|
-
"magic-link.settings.section.general": "General Settings",
|
|
32
|
-
"magic-link.settings.section.general.description": "Basic configuration for Magic Link",
|
|
33
|
-
"magic-link.settings.section.auth": "Authentication",
|
|
34
|
-
"magic-link.settings.section.auth.description": "Configure user authentication and creation",
|
|
35
|
-
"magic-link.settings.section.email": "Email Settings",
|
|
36
|
-
"magic-link.settings.section.email.description": "Configure email templates and sender information",
|
|
37
|
-
"magic-link.settings.section.advanced": "Advanced Settings",
|
|
38
|
-
"magic-link.settings.section.advanced.description": "Additional configuration options",
|
|
39
|
-
"magic-link.settings.section.rateLimit": "Security & Rate Limiting",
|
|
40
|
-
"magic-link.settings.section.rateLimit.description": "Protect against abuse and brute-force attacks",
|
|
41
|
-
"magic-link.settings.features.title": "MAIN FEATURES",
|
|
42
|
-
"magic-link.settings.features.subtitle": "Enable or disable the main features of the Magic Link plugin",
|
|
43
|
-
"magic-link.settings.feature.enabled.title": "Enable Magic Link",
|
|
44
|
-
"magic-link.settings.feature.enabled.description": "Turns the entire Magic Link system on or off. When disabled, no Magic Links can be created or used.",
|
|
45
|
-
"magic-link.settings.feature.createUser.title": "Automatically Create Users",
|
|
46
|
-
"magic-link.settings.feature.createUser.description": "Automatically creates a new user account if the email address does not yet exist in your system.",
|
|
47
|
-
"magic-link.settings.feature.staysValid.title": "Token Multi-Use",
|
|
48
|
-
"magic-link.settings.feature.staysValid.description": "Token can be used multiple times. Less secure, but more convenient if users should open the link multiple times.",
|
|
49
|
-
"magic-link.settings.time.title": "TIME SETTINGS",
|
|
50
|
-
"magic-link.settings.expire.label": "⏱️ Magic Link Expiration Time",
|
|
51
|
-
"magic-link.settings.expire.hint": "How long does the Magic Link remain valid before it expires?",
|
|
52
|
-
"magic-link.settings.expire.placeholder": "3600",
|
|
53
|
-
"magic-link.settings.expire.recommendation": "💡 Recommendation: 3600 seconds (1 hour) is optimal for security and user-friendliness",
|
|
54
|
-
"magic-link.settings.tokenLength.label": "🔐 Token Length (Security)",
|
|
55
|
-
"magic-link.settings.tokenLength.hint": "The longer the token, the more secure it is against brute-force attacks",
|
|
56
|
-
"magic-link.settings.tokenLength.placeholder": "20",
|
|
57
|
-
"magic-link.settings.tokenLength.recommendation": "✓ Secure: 20-40 characters. Current: {length} characters",
|
|
58
|
-
"magic-link.settings.security.title": "SECURITY SETTINGS",
|
|
59
|
-
"magic-link.settings.maxAttempts.label": "🚫 Maximum Login Attempts",
|
|
60
|
-
"magic-link.settings.maxAttempts.hint": "How many failed attempts are allowed before a user is blocked?",
|
|
61
|
-
"magic-link.settings.maxAttempts.placeholder": "5",
|
|
62
|
-
"magic-link.settings.maxAttempts.warning": "⚠️ Note: At 0 this feature is disabled (unlimited attempts)",
|
|
63
|
-
"magic-link.settings.context.title": "CONTEXT FIELD CONTROL",
|
|
64
|
-
"magic-link.settings.context.whitelist.label": "✅ Whitelist (Allowed Fields)",
|
|
65
|
-
"magic-link.settings.context.whitelist.hint": "Comma-separated list of allowed context fields. Empty = all allowed.",
|
|
66
|
-
"magic-link.settings.context.whitelist.placeholder": "redirectTo, role, source",
|
|
67
|
-
"magic-link.settings.context.whitelist.info": "💡 When set, ONLY these fields are accepted in context. Others are ignored.",
|
|
68
|
-
"magic-link.settings.context.blacklist.label": "🚫 Blacklist (Blocked Fields)",
|
|
69
|
-
"magic-link.settings.context.blacklist.hint": "Comma-separated list of blocked context fields.",
|
|
70
|
-
"magic-link.settings.context.blacklist.placeholder": "password, secret, apiKey, token",
|
|
71
|
-
"magic-link.settings.context.blacklist.info": "⚠️ These fields are ALWAYS removed from context, even if in whitelist.",
|
|
72
|
-
"magic-link.settings.api.title": "API CONFIGURATION",
|
|
73
|
-
"magic-link.settings.loginPath.label": "🔗 Login API Path",
|
|
74
|
-
"magic-link.settings.loginPath.hint": "The API endpoint through which users log in with the Magic Link",
|
|
75
|
-
"magic-link.settings.loginPath.placeholder": "/magic-link/login",
|
|
76
|
-
"magic-link.settings.loginPath.fullPath": "Full path: http://localhost:1337/api{path}?loginToken=XXX",
|
|
77
|
-
"magic-link.settings.confirmationUrl.label": "🌐 Confirmation URL (Important!)",
|
|
78
|
-
"magic-link.settings.confirmationUrl.hint": "The base URL used in the email. Users click on it to log in.",
|
|
79
|
-
"magic-link.settings.confirmationUrl.placeholder": "https://yourapp.com/auth/magic-link",
|
|
80
|
-
"magic-link.settings.confirmationUrl.example": "📧 Example email link: {url}?loginToken=abc123...",
|
|
81
|
-
"magic-link.settings.callbackUrl.label": "↪️ Callback URL (After Login)",
|
|
82
|
-
"magic-link.settings.callbackUrl.hint": "Where should users be redirected after successful login? (Optional)",
|
|
83
|
-
"magic-link.settings.callbackUrl.placeholder": "https://yourapp.com/dashboard",
|
|
84
|
-
"magic-link.settings.callbackUrl.note": "If empty: Users stay on the login page",
|
|
85
|
-
"magic-link.settings.auth.options.title": "AUTHENTICATION OPTIONS",
|
|
86
|
-
"magic-link.settings.auth.options.subtitle": "Configure how users are authenticated and managed",
|
|
87
|
-
"magic-link.settings.auth.verifyEmail.title": "Email Verification",
|
|
88
|
-
"magic-link.settings.auth.verifyEmail.description": "Requires users to confirm their email address before they can log in. Increases security.",
|
|
89
|
-
"magic-link.settings.auth.welcomeEmail.title": "Welcome Email",
|
|
90
|
-
"magic-link.settings.auth.welcomeEmail.description": "Automatically sends a welcome email to newly registered users.",
|
|
91
|
-
"magic-link.settings.auth.useJwt.title": "Use JWT Token",
|
|
92
|
-
"magic-link.settings.auth.useJwt.description": "Uses JWT (JSON Web Tokens) for authentication instead of session cookies. Recommended for modern apps.",
|
|
93
|
-
"magic-link.settings.auth.storeLoginInfo.title": "Store Login Data",
|
|
94
|
-
"magic-link.settings.auth.storeLoginInfo.description": "Stores IP address and browser information for each login for security monitoring.",
|
|
95
|
-
"magic-link.settings.auth.management.title": "USER MANAGEMENT",
|
|
96
|
-
"magic-link.settings.auth.strategy.label": "👤 User Creation Strategy",
|
|
97
|
-
"magic-link.settings.auth.strategy.email": "Email only - Account is created with email address only",
|
|
98
|
-
"magic-link.settings.auth.strategy.emailUsername": "Email + Username - Username is automatically generated from email",
|
|
99
|
-
"magic-link.settings.auth.strategy.manual": "Manual - No automatic creation, users must exist beforehand",
|
|
100
|
-
"magic-link.settings.auth.strategy.current": "Currently selected: {strategy}",
|
|
101
|
-
"magic-link.settings.auth.jwtExpiration.label": "🕒 JWT Token Validity Period",
|
|
102
|
-
"magic-link.settings.auth.jwtExpiration.hint": "How long does a JWT token remain valid after login?",
|
|
103
|
-
"magic-link.settings.auth.jwtExpiration.placeholder": "30d",
|
|
104
|
-
"magic-link.settings.auth.jwtExpiration.examples": "✓ Examples: 1h (1 hour) • 7d (7 days) • 30d (30 days) • 90d (3 months)",
|
|
105
|
-
"magic-link.settings.email.sender.title": "📨 SENDER INFORMATION",
|
|
106
|
-
"magic-link.settings.email.sender.subtitle": "This information appears in emails sent to users",
|
|
107
|
-
"magic-link.settings.email.fromName.label": "👤 Sender Name",
|
|
108
|
-
"magic-link.settings.email.fromName.hint": "The name displayed to users in their email",
|
|
109
|
-
"magic-link.settings.email.fromName.placeholder": "My App",
|
|
110
|
-
"magic-link.settings.email.fromName.example": 'Example: "My App" appears as "My App <noreply@...>"',
|
|
111
|
-
"magic-link.settings.email.fromEmail.label": "📧 Sender Email",
|
|
112
|
-
"magic-link.settings.email.fromEmail.hint": "The email address from which all Magic Links are sent",
|
|
113
|
-
"magic-link.settings.email.fromEmail.placeholder": "noreply@yourapp.com",
|
|
114
|
-
"magic-link.settings.email.fromEmail.note": "Must be a valid, configured email address",
|
|
115
|
-
"magic-link.settings.email.responseEmail.label": "💬 Reply Email",
|
|
116
|
-
"magic-link.settings.email.responseEmail.hint": "Email address for user replies (optional)",
|
|
117
|
-
"magic-link.settings.email.responseEmail.placeholder": "support@yourapp.com",
|
|
118
|
-
"magic-link.settings.email.responseEmail.note": "If users reply to the email, it goes here",
|
|
119
|
-
"magic-link.settings.email.subject.label": "✉️ Email Subject Line",
|
|
120
|
-
"magic-link.settings.email.subject.hint": "The subject line that users see in their email",
|
|
121
|
-
"magic-link.settings.email.subject.placeholder": "Your Magic Link to Sign In",
|
|
122
|
-
"magic-link.settings.email.subject.note": "Formulate clearly so users don't mark the email as spam",
|
|
123
|
-
"magic-link.settings.email.designer.title": "📧 Email Designer Integration",
|
|
124
|
-
"magic-link.settings.email.designer.subtitle": "Use professional email templates from Strapi Email Designer v5",
|
|
125
|
-
"magic-link.settings.email.designer.installed": "Email Designer v5 is installed and ready to use!",
|
|
126
|
-
"magic-link.settings.email.designer.useTemplate": "Use Email Designer Template",
|
|
127
|
-
"magic-link.settings.email.designer.useTemplateHint": "When enabled, magic link emails will use the selected Email Designer template instead of the HTML/Text templates below",
|
|
128
|
-
"magic-link.settings.email.designer.selectTemplate": "Select Email Template",
|
|
129
|
-
"magic-link.settings.email.designer.placeholder": "Choose a template...",
|
|
130
|
-
"magic-link.settings.email.designer.templatesAvailable": "{count} template(s) available",
|
|
131
|
-
"magic-link.settings.email.designer.noTemplates": "No templates found. Create one in Email Designer first.",
|
|
132
|
-
"magic-link.settings.email.designer.variables": "Template Variables: Use {{user.email}}, {{user.username}}, {{magicLink}}, and {{token}} in your Email Designer template",
|
|
133
|
-
"magic-link.settings.email.designer.fallbackBadge": "Fallback only",
|
|
134
|
-
"magic-link.settings.email.designer.fallbackDescription": "These templates are used as fallback if Email Designer fails",
|
|
135
|
-
"magic-link.settings.email.templates.title": "📝 EMAIL TEMPLATES",
|
|
136
|
-
"magic-link.settings.email.templates.subtitle": "Design the emails sent to users. Use placeholders for dynamic content.",
|
|
137
|
-
"magic-link.settings.email.placeholders.title": "📌 Available Placeholders (click to copy):",
|
|
138
|
-
"magic-link.settings.email.placeholders.clickToCopy": "Click to copy",
|
|
139
|
-
"magic-link.settings.email.placeholders.copyLabel": "Copy",
|
|
140
|
-
"magic-link.settings.email.placeholders.url": "<%= URL %>",
|
|
141
|
-
"magic-link.settings.email.placeholders.url.description": "→ Your Confirmation URL",
|
|
142
|
-
"magic-link.settings.email.placeholders.url.example": "Example: https://yourapp.com/auth/magic-link",
|
|
143
|
-
"magic-link.settings.email.placeholders.code": "<%= CODE %>",
|
|
144
|
-
"magic-link.settings.email.placeholders.code.description": "→ The generated Magic Link token",
|
|
145
|
-
"magic-link.settings.email.placeholders.code.example": "Unique for each user & login",
|
|
146
|
-
"magic-link.settings.email.placeholders.expiry": "<%= EXPIRY_TEXT %>",
|
|
147
|
-
"magic-link.settings.email.placeholders.expiry.description": "→ Dynamic expiry text",
|
|
148
|
-
"magic-link.settings.email.placeholders.expiry.example": "Example: 1 hour / 30 minutes",
|
|
149
|
-
"magic-link.settings.email.placeholders.link": "{link}",
|
|
150
|
-
"magic-link.settings.email.placeholders.link.description": "→ Full login link (URL + token)",
|
|
151
|
-
"magic-link.settings.email.placeholders.link.example": "Example: https://yourapp.com/...loginToken=abc123",
|
|
152
|
-
"magic-link.settings.email.placeholders.username": "{username}",
|
|
153
|
-
"magic-link.settings.email.placeholders.username.description": "→ User's username",
|
|
154
|
-
"magic-link.settings.email.placeholders.username.example": "johndoe",
|
|
155
|
-
"magic-link.settings.email.placeholders.email": "{email}",
|
|
156
|
-
"magic-link.settings.email.placeholders.email.description": "→ User's email address",
|
|
157
|
-
"magic-link.settings.email.placeholders.email.example": "user@example.com",
|
|
158
|
-
"magic-link.settings.email.placeholders.copied": "{placeholder} copied to clipboard!",
|
|
159
|
-
"magic-link.settings.email.html.title": "🎨 HTML Email Template",
|
|
160
|
-
"magic-link.settings.email.html.badge": "Main Template",
|
|
161
|
-
"magic-link.settings.email.html.description": "HTML template for your Magic Link emails. Use the placeholders <%= URL %> and <%= CODE %>",
|
|
162
|
-
"magic-link.settings.email.html.loadDefault": "📋 Load Default Template",
|
|
163
|
-
"magic-link.settings.email.html.filename": "editor.html",
|
|
164
|
-
"magic-link.settings.email.html.placeholder": "<p>Hello, <a href='<%= URL %>?loginToken=<%= CODE %>'>Click here to login</a></p>",
|
|
165
|
-
"magic-link.settings.email.html.copy": "📋 Copy Template",
|
|
166
|
-
"magic-link.settings.email.html.info": "ℹ️ Template Info",
|
|
167
|
-
"magic-link.settings.email.html.stats": "Template has {lines} lines and {chars} characters",
|
|
168
|
-
"magic-link.settings.email.html.defaultLoaded": "Simple default template loaded!",
|
|
169
|
-
"magic-link.settings.email.text.title": "📄 Text Email Template",
|
|
170
|
-
"magic-link.settings.email.text.badge": "Fallback",
|
|
171
|
-
"magic-link.settings.email.text.description": "Text version (without HTML) as fallback for older email clients",
|
|
172
|
-
"magic-link.settings.email.text.loadDefault": "📋 Load Default Template",
|
|
173
|
-
"magic-link.settings.email.text.filename": "editor.txt",
|
|
174
|
-
"magic-link.settings.email.text.placeholder": "Hello, click here to login: <%= URL %>?loginToken=<%= CODE %>",
|
|
175
|
-
"magic-link.settings.email.text.copy": "📋 Copy Template",
|
|
176
|
-
"magic-link.settings.email.text.defaultLoaded": "Simple default template loaded!",
|
|
177
|
-
"magic-link.settings.advanced.title": "🔧 ADDITIONAL OPTIONS",
|
|
178
|
-
"magic-link.settings.advanced.subtitle": "Advanced features for special use cases",
|
|
179
|
-
"magic-link.settings.advanced.publicRegistration.title": "🌍 Magic Links on Public Registration",
|
|
180
|
-
"magic-link.settings.advanced.publicRegistration.description": "Allows users to sign in with Magic Links through public registration forms without having created an account beforehand.",
|
|
181
|
-
"magic-link.settings.footer.quickhelp": "💡 Quick Help",
|
|
182
|
-
"magic-link.settings.footer.reminder": "Don't forget: After saving, create a test token and test the Magic Link!",
|
|
183
|
-
"magic-link.settings.rateLimit.title": "RATE LIMITING",
|
|
184
|
-
"magic-link.settings.rateLimit.subtitle": "Prevent abuse by limiting the number of requests per IP and email",
|
|
185
|
-
"magic-link.settings.rateLimit.enable.title": "Enable Rate Limiting",
|
|
186
|
-
"magic-link.settings.rateLimit.enable.description": "Protects against brute-force attacks and spam by limiting token creation requests.",
|
|
187
|
-
"magic-link.settings.rateLimit.config.title": "RATE LIMIT CONFIGURATION",
|
|
188
|
-
"magic-link.settings.rateLimit.maxAttempts.label": "Maximum Attempts",
|
|
189
|
-
"magic-link.settings.rateLimit.maxAttempts.hint": "How many requests are allowed before blocking",
|
|
190
|
-
"magic-link.settings.rateLimit.windowMinutes.label": "Time Window (Minutes)",
|
|
191
|
-
"magic-link.settings.rateLimit.windowMinutes.hint": "Time period for counting requests (1-1440 minutes)",
|
|
192
|
-
"magic-link.settings.rateLimit.stats.title": "CURRENT STATISTICS",
|
|
193
|
-
"magic-link.settings.rateLimit.stats.total": "Total Entries",
|
|
194
|
-
"magic-link.settings.rateLimit.stats.blocked": "Currently Blocked",
|
|
195
|
-
"magic-link.settings.rateLimit.stats.ipLimits": "IP Limits",
|
|
196
|
-
"magic-link.settings.rateLimit.stats.emailLimits": "Email Limits",
|
|
197
|
-
"magic-link.settings.rateLimit.cleanup": "Cleanup Expired",
|
|
198
|
-
"magic-link.settings.rateLimit.reset": "Reset All Limits",
|
|
199
|
-
"magic-link.settings.rateLimit.cleanupSuccess": "Expired entries cleaned up successfully",
|
|
200
|
-
"magic-link.settings.rateLimit.cleanupError": "Error cleaning up expired entries",
|
|
201
|
-
"magic-link.settings.rateLimit.resetSuccess": "All rate limits reset successfully",
|
|
202
|
-
"magic-link.settings.rateLimit.resetError": "Error resetting rate limits",
|
|
203
|
-
"magic-link.settings.rateLimit.resetConfirm": "Are you sure you want to reset all rate limits? This will allow all blocked IPs and emails to make requests again.",
|
|
204
|
-
"magic-link.tokens.title": "Magic Link Tokens",
|
|
205
|
-
"magic-link.tokens.page.title": "Token Management",
|
|
206
|
-
"magic-link.tokens.page.subtitle": "Manage your Magic Link Tokens and JWT Sessions with style",
|
|
207
|
-
"magic-link.tokens.stats.total": "Total",
|
|
208
|
-
"magic-link.tokens.stats.active": "Active",
|
|
209
|
-
"magic-link.tokens.stats.expired": "Expired",
|
|
210
|
-
"magic-link.tokens.stats.used": "Used",
|
|
211
|
-
"magic-link.tokens.tabs.magicLinks": "Magic Link Tokens",
|
|
212
|
-
"magic-link.tokens.tabs.jwtSessions": "JWT Sessions",
|
|
213
|
-
"magic-link.tokens.tabs.ipBans": "IP Bans",
|
|
214
|
-
"magic-link.tokens.actions.newToken": "New Token",
|
|
215
|
-
"magic-link.tokens.actions.refresh": "Refresh",
|
|
216
|
-
"magic-link.tokens.actions.settings": "Settings",
|
|
217
|
-
"magic-link.tokens.actions.bulkDelete": "Delete Selected",
|
|
218
|
-
"magic-link.tokens.actions.clearSelection": "Clear Selection",
|
|
219
|
-
"magic-link.tokens.actions.resend": "Resend",
|
|
220
|
-
"magic-link.tokens.actions.reactivate": "New Token",
|
|
221
|
-
"magic-link.tokens.actions.extend": "Extend",
|
|
222
|
-
"magic-link.tokens.actions.block": "Block",
|
|
223
|
-
"magic-link.tokens.actions.activate": "Activate",
|
|
224
|
-
"magic-link.tokens.actions.delete": "Delete",
|
|
225
|
-
"magic-link.tokens.actions.viewDetails": "View Details",
|
|
226
|
-
"magic-link.tokens.search.placeholder": "Search by email or token...",
|
|
227
|
-
"magic-link.tokens.search.clear": "Clear",
|
|
228
|
-
"magic-link.tokens.filter.all": "Show All",
|
|
229
|
-
"magic-link.tokens.filter.active": "Active Only",
|
|
230
|
-
"magic-link.tokens.filter.expired": "Expired Only",
|
|
231
|
-
"magic-link.tokens.filter.used": "Used Only",
|
|
232
|
-
"magic-link.tokens.filter.status": "Filter by status",
|
|
233
|
-
"magic-link.tokens.pageSize.10": "10 entries",
|
|
234
|
-
"magic-link.tokens.pageSize.25": "25 entries",
|
|
235
|
-
"magic-link.tokens.pageSize.50": "50 entries",
|
|
236
|
-
"magic-link.tokens.pageSize.100": "100 entries",
|
|
237
|
-
"magic-link.tokens.pageSize.label": "Entries per page",
|
|
238
|
-
"magic-link.tokens.table.email": "Email",
|
|
239
|
-
"magic-link.tokens.table.token": "Token",
|
|
240
|
-
"magic-link.tokens.table.reference": "Reference",
|
|
241
|
-
"magic-link.tokens.table.usedAt": "Used",
|
|
242
|
-
"magic-link.tokens.table.status": "Status",
|
|
243
|
-
"magic-link.tokens.table.created": "Created",
|
|
244
|
-
"magic-link.tokens.table.expiresAt": "Valid until",
|
|
245
|
-
"magic-link.tokens.table.actions": "Actions",
|
|
246
|
-
"magic-link.tokens.table.sortBy": "Sort by",
|
|
247
|
-
"magic-link.tokens.status.active": "Active",
|
|
248
|
-
"magic-link.tokens.status.expired": "Expired",
|
|
249
|
-
"magic-link.tokens.status.used": "Used",
|
|
250
|
-
"magic-link.tokens.details.title": "Token Details",
|
|
251
|
-
"magic-link.tokens.details.reference": "Reference",
|
|
252
|
-
"magic-link.tokens.details.token": "Token",
|
|
253
|
-
"magic-link.tokens.details.magicLink": "Magic Link URL",
|
|
254
|
-
"magic-link.tokens.details.curlCommand": "cURL Command (Postman/Terminal)",
|
|
255
|
-
"magic-link.tokens.details.status": "Status",
|
|
256
|
-
"magic-link.tokens.details.created": "Created",
|
|
257
|
-
"magic-link.tokens.details.expiresAt": "Valid until",
|
|
258
|
-
"magic-link.tokens.details.usedAt": "Used",
|
|
259
|
-
"magic-link.tokens.details.lastUsedAt": "Last used",
|
|
260
|
-
"magic-link.tokens.details.unlimited": "Unlimited",
|
|
261
|
-
"magic-link.tokens.details.never": "Never",
|
|
262
|
-
"magic-link.tokens.details.expiredSuffix": " (Expired)",
|
|
263
|
-
"magic-link.tokens.details.close": "Close",
|
|
264
|
-
"magic-link.tokens.details.clickToCopy": "🔗 Click to copy",
|
|
265
|
-
"magic-link.tokens.details.clickToCopyCurl": "💻 Click to copy",
|
|
266
|
-
"magic-link.tokens.details.technicalInfo": "Technical Information",
|
|
267
|
-
"magic-link.tokens.details.context": "Context Data",
|
|
268
|
-
"magic-link.tokens.details.actions": "Actions",
|
|
269
|
-
"magic-link.tokens.user.new": "New User",
|
|
270
|
-
"magic-link.tokens.user.id": "User ID: {id}",
|
|
271
|
-
"magic-link.tokens.selected": "{count} token(s) selected",
|
|
272
|
-
"magic-link.tokens.empty.title": "No Tokens Found",
|
|
273
|
-
"magic-link.tokens.empty.description": "Create your first Magic Link token or change your filter criteria",
|
|
274
|
-
"magic-link.tokens.empty.createFirst": "Create First Token",
|
|
275
|
-
"magic-link.tokens.empty.resetFilters": "Reset Filters",
|
|
276
|
-
"magic-link.tokens.loading": "Loading token data...",
|
|
277
|
-
"magic-link.tokens.notifications.refreshed": "Data has been refreshed",
|
|
278
|
-
"magic-link.tokens.notifications.deleted": "Token successfully deleted",
|
|
279
|
-
"magic-link.tokens.notifications.bulkDeleted": "{count} tokens deleted",
|
|
280
|
-
"magic-link.tokens.notifications.bulkDeleteSuccess": "Bulk delete successful",
|
|
281
|
-
"magic-link.tokens.notifications.created": "Magic Link sent to {email}",
|
|
282
|
-
"magic-link.tokens.notifications.createSuccess": "Token created",
|
|
283
|
-
"magic-link.tokens.notifications.extended": "Token extended by {days} days",
|
|
284
|
-
"magic-link.tokens.notifications.extendSuccess": "Token extended",
|
|
285
|
-
"magic-link.tokens.notifications.tokenCopied": "Token copied to clipboard",
|
|
286
|
-
"magic-link.tokens.notifications.linkCopied": "Magic Link copied!",
|
|
287
|
-
"magic-link.tokens.notifications.curlCopied": "cURL command copied!",
|
|
288
|
-
"magic-link.tokens.notifications.error": "Error",
|
|
289
|
-
"magic-link.tokens.notifications.success": "Success",
|
|
290
|
-
"magic-link.tokens.notifications.loadError": "Error loading tokens",
|
|
291
|
-
"magic-link.tokens.notifications.deleteError": "Error deleting token",
|
|
292
|
-
"magic-link.tokens.notifications.createError": "Error creating token",
|
|
293
|
-
"magic-link.tokens.notifications.extendError": "Error extending token",
|
|
294
|
-
"magic-link.tokens.notifications.validationError": "Please enter an email address",
|
|
295
|
-
"magic-link.tokens.notifications.validation": "Validation",
|
|
296
|
-
"magic-link.tokens.notifications.resendSuccess": "Magic Link sent again",
|
|
297
|
-
"magic-link.tokens.notifications.resendError": "Error resending",
|
|
298
|
-
"magic-link.tokens.notifications.reactivateSuccess": "New token created",
|
|
299
|
-
"magic-link.tokens.notifications.reactivateError": "Error reactivating",
|
|
300
|
-
"magic-link.tokens.notifications.blockSuccess": "Token blocked",
|
|
301
|
-
"magic-link.tokens.notifications.blockError": "Error blocking token",
|
|
302
|
-
"magic-link.tokens.notifications.activateSuccess": "Token activated",
|
|
303
|
-
"magic-link.tokens.pagination.previous": "Previous",
|
|
304
|
-
"magic-link.tokens.pagination.next": "Next",
|
|
305
|
-
"magic-link.tokens.create.title": "✨ Create Magic Link Token",
|
|
306
|
-
"magic-link.tokens.create.email.label": "Email Address *",
|
|
307
|
-
"magic-link.tokens.create.email.placeholder": "user@example.com",
|
|
308
|
-
"magic-link.tokens.create.email.hint": "The Magic Link will be sent to this email address",
|
|
309
|
-
"magic-link.tokens.create.ttl.label": "Validity Period (Hours)",
|
|
310
|
-
"magic-link.tokens.create.ttl.hint": "How long the token should be valid (1-168 hours)",
|
|
311
|
-
"magic-link.tokens.create.sendEmail.label": "Send Email Automatically",
|
|
312
|
-
"magic-link.tokens.create.sendEmail.hint": "The user immediately receives an email with the Magic Link",
|
|
313
|
-
"magic-link.tokens.create.context.label": "JSON Context (Optional)",
|
|
314
|
-
"magic-link.tokens.create.context.placeholder": '{ "key": "value" }',
|
|
315
|
-
"magic-link.tokens.create.context.hint": "Additional data to be passed with the token (must be valid JSON)",
|
|
316
|
-
"magic-link.tokens.create.context.error": "Invalid JSON format",
|
|
317
|
-
"magic-link.tokens.create.submit": "Create Token",
|
|
318
|
-
"magic-link.tokens.create.cancel": "Cancel",
|
|
319
|
-
"magic-link.tokens.created.title": "Token Created Successfully!",
|
|
320
|
-
"magic-link.tokens.created.warning": "⚠️ Important: This is the only time you can see the full token! Copy it now if you need to manually send it to a user. After closing this dialog, only a masked version will be shown.",
|
|
321
|
-
"magic-link.tokens.created.plaintextToken": "Full Token (copyable)",
|
|
322
|
-
"magic-link.tokens.created.copyLink": "Copy Link",
|
|
323
|
-
"magic-link.tokens.created.done": "Done",
|
|
324
|
-
"magic-link.tokens.extend.title": "🕒 Extend Token",
|
|
325
|
-
"magic-link.tokens.extend.currentExpiry": "Currently valid until",
|
|
326
|
-
"magic-link.tokens.extend.selectExtension": "Select extension",
|
|
327
|
-
"magic-link.tokens.extend.customDays": "Custom number of days",
|
|
328
|
-
"magic-link.tokens.extend.customPlaceholder": "e.g. 14",
|
|
329
|
-
"magic-link.tokens.extend.preset1": "+1 Day",
|
|
330
|
-
"magic-link.tokens.extend.preset7": "+7 Days",
|
|
331
|
-
"magic-link.tokens.extend.preset30": "+30 Days",
|
|
332
|
-
"magic-link.tokens.extend.preset90": "+90 Days",
|
|
333
|
-
"magic-link.tokens.extend.custom": "Custom",
|
|
334
|
-
"magic-link.tokens.extend.newExpiry": "New expiry date",
|
|
335
|
-
"magic-link.tokens.extend.submit": "Extend Token",
|
|
336
|
-
"magic-link.tokens.extend.cancel": "Cancel",
|
|
337
|
-
"magic-link.jwt.stats.total": "Total",
|
|
338
|
-
"magic-link.jwt.stats.active": "Active",
|
|
339
|
-
"magic-link.jwt.stats.expired": "Expired",
|
|
340
|
-
"magic-link.jwt.stats.revoked": "Revoked",
|
|
341
|
-
"magic-link.jwt.filter.all": "Show All",
|
|
342
|
-
"magic-link.jwt.filter.active": "Active Only",
|
|
343
|
-
"magic-link.jwt.filter.expired": "Expired Only",
|
|
344
|
-
"magic-link.jwt.filter.revoked": "Revoked Only",
|
|
345
|
-
"magic-link.jwt.status.active": "Active",
|
|
346
|
-
"magic-link.jwt.status.expired": "Expired",
|
|
347
|
-
"magic-link.jwt.status.revoked": "Revoked",
|
|
348
|
-
"magic-link.jwt.actions.cleanup": "Cleanup",
|
|
349
|
-
"magic-link.jwt.actions.refresh": "Refresh",
|
|
350
|
-
"magic-link.jwt.actions.revoke": "Revoke",
|
|
351
|
-
"magic-link.jwt.actions.unrevoke": "Unrevoke",
|
|
352
|
-
"magic-link.jwt.empty.title": "No JWT Sessions Found",
|
|
353
|
-
"magic-link.jwt.empty.description": "No JWT sessions are currently active or change your filter criteria",
|
|
354
|
-
"magic-link.jwt.empty.resetFilters": "Reset Filters",
|
|
355
|
-
"magic-link.jwt.notifications.revokeSuccess": "Session revoked successfully",
|
|
356
|
-
"magic-link.jwt.notifications.revokeError": "Error revoking session",
|
|
357
|
-
"magic-link.jwt.notifications.unrevokeSuccess": "Session unrevoked successfully",
|
|
358
|
-
"magic-link.jwt.notifications.unrevokeError": "Error unrevoking session",
|
|
359
|
-
"magic-link.jwt.notifications.cleanupSuccess": "Sessions cleaned up successfully",
|
|
360
|
-
"magic-link.jwt.notifications.cleanupError": "Error cleaning up sessions",
|
|
361
|
-
"magic-link.jwt.notifications.refreshSuccess": "Data has been refreshed",
|
|
362
|
-
"magic-link.ipban.stats.total": "Banned IPs",
|
|
363
|
-
"magic-link.ipban.title": "Banned IP Addresses",
|
|
364
|
-
"magic-link.ipban.actions.ban": "Ban IP",
|
|
365
|
-
"magic-link.ipban.actions.unban": "Unban",
|
|
366
|
-
"magic-link.ipban.actions.refresh": "Refresh",
|
|
367
|
-
"magic-link.ipban.modal.title": "Ban IP Address",
|
|
368
|
-
"magic-link.ipban.modal.subtitle": "Add an IP address to the block list",
|
|
369
|
-
"magic-link.ipban.modal.warning": "Warning: This IP address will be immediately blocked and all associated tokens will be deactivated.",
|
|
370
|
-
"magic-link.ipban.modal.label": "IP Address",
|
|
371
|
-
"magic-link.ipban.modal.placeholder": "e.g. 192.168.1.1",
|
|
372
|
-
"magic-link.ipban.modal.hint": "Enter an IPv4 or IPv6 address",
|
|
373
|
-
"magic-link.ipban.modal.invalidIP": "Please enter a valid IP address",
|
|
374
|
-
"magic-link.ipban.modal.cancel": "Cancel",
|
|
375
|
-
"magic-link.ipban.modal.submit": "Ban IP",
|
|
376
|
-
"magic-link.ipban.status.banned": "Banned",
|
|
377
|
-
"magic-link.ipban.empty.title": "No Banned IPs",
|
|
378
|
-
"magic-link.ipban.empty.description": "No IP addresses are currently banned. Add an IP to block it.",
|
|
379
|
-
"magic-link.ipban.empty.action": "Ban First IP",
|
|
380
|
-
"magic-link.ipban.notifications.banSuccess": "IP {ip} has been banned",
|
|
381
|
-
"magic-link.ipban.notifications.unbanSuccess": "IP {ip} has been unbanned",
|
|
382
|
-
"magic-link.ipban.notifications.banError": "Error banning IP",
|
|
383
|
-
"magic-link.ipban.notifications.unbanError": "Error unbanning IP",
|
|
384
|
-
"magic-link.ipban.notifications.refreshSuccess": "IP list updated",
|
|
385
|
-
"magic-link.common.loading": "Loading...",
|
|
386
|
-
"magic-link.common.loadingSessions": "Loading JWT sessions...",
|
|
387
|
-
"magic-link.common.loadingBannedIPs": "Loading banned IP addresses...",
|
|
388
|
-
"magic-link.common.search": "Search",
|
|
389
|
-
"magic-link.common.searchPlaceholder": "Search by email, username or IP...",
|
|
390
|
-
"magic-link.common.searchIPPlaceholder": "Search by IP address...",
|
|
391
|
-
"magic-link.common.clear": "Clear",
|
|
392
|
-
"magic-link.common.clearLabel": "Clear",
|
|
393
|
-
"magic-link.common.previous": "Previous",
|
|
394
|
-
"magic-link.common.next": "Next",
|
|
395
|
-
"magic-link.common.user": "User",
|
|
396
|
-
"magic-link.common.ipAddress": "IP Address",
|
|
397
|
-
"magic-link.common.userAgent": "User Agent",
|
|
398
|
-
"magic-link.common.status": "Status",
|
|
399
|
-
"magic-link.common.created": "Created",
|
|
400
|
-
"magic-link.common.expiresAt": "Expires At",
|
|
401
|
-
"magic-link.common.actions": "Actions",
|
|
402
|
-
"magic-link.common.tokens": "Tokens",
|
|
403
|
-
"magic-link.common.close": "Close",
|
|
404
|
-
"magic-link.common.cancel": "Cancel",
|
|
405
|
-
"magic-link.common.submit": "Submit",
|
|
406
|
-
"magic-link.common.entriesPerPage": "Entries per page",
|
|
407
|
-
"magic-link.common.entries": "{count} entries",
|
|
408
|
-
"magic-link.common.selectedCount": "{count} selected",
|
|
409
|
-
"magic-link.common.selectedSessions": "{count} session(s) selected",
|
|
410
|
-
"magic-link.common.clearSelection": "Clear selection",
|
|
411
|
-
"magic-link.common.tableHeaders.ipAddress": "IP Address",
|
|
412
|
-
"magic-link.common.tableHeaders.tokens": "Tokens",
|
|
413
|
-
"magic-link.common.tableHeaders.sortByUser": "Sort by user",
|
|
414
|
-
"magic-link.common.tableHeaders.sortByStatus": "Sort by status",
|
|
415
|
-
"magic-link.common.tableHeaders.sortByCreated": "Sort by created date",
|
|
416
|
-
"magic-link.common.tableHeaders.sortByExpiry": "Sort by expiry date",
|
|
417
|
-
"magic-link.settings.section.compatibility": "Compatibility",
|
|
418
|
-
"magic-link.settings.section.compatibility.description": "Migration support for other plugins",
|
|
419
|
-
"magic-link.settings.compatibility.title": "PLUGIN COMPATIBILITY",
|
|
420
|
-
"magic-link.settings.compatibility.subtitle": "Enable compatibility modes for seamless migration from other plugins",
|
|
421
|
-
"magic-link.settings.compatibility.info.title": "Easy Migration",
|
|
422
|
-
"magic-link.settings.compatibility.info.description": "These settings allow you to continue using existing API calls from other plugins without modifying your frontend code.",
|
|
423
|
-
"magic-link.settings.compatibility.passwordless.title": "Passwordless Plugin Compatibility",
|
|
424
|
-
"magic-link.settings.compatibility.passwordless.description": "Enables /api/passwordless/* routes for migration from strapi-plugin-passwordless",
|
|
425
|
-
"magic-link.settings.compatibility.emailDesigner.title": "Email Designer 5 Integration",
|
|
426
|
-
"magic-link.settings.compatibility.emailDesigner.description": "Use professional email templates from strapi-plugin-email-designer-5",
|
|
427
|
-
"magic-link.settings.compatibility.migration.title": "Migration Note",
|
|
428
|
-
"magic-link.settings.compatibility.migration.description": "After successful migration, you can gradually switch to the Magic Link API (/api/magic-link/*) and then disable the compatibility modes.",
|
|
429
|
-
"magic-link.Form.title.WhatsApp": "WhatsApp",
|
|
430
|
-
"magic-link.whatsapp.title": "WhatsApp Integration",
|
|
431
|
-
"magic-link.whatsapp.subtitle": "Send Magic Links via WhatsApp instead of Email",
|
|
432
|
-
"magic-link.whatsapp.notInstalled.title": "Baileys Not Installed",
|
|
433
|
-
"magic-link.whatsapp.notInstalled.description": "To use WhatsApp integration, you need to install the Baileys package. Run the following command in your Strapi project:",
|
|
434
|
-
"magic-link.whatsapp.connection.title": "WhatsApp Connection",
|
|
435
|
-
"magic-link.whatsapp.connection.generating": "Generating QR Code...",
|
|
436
|
-
"magic-link.whatsapp.connection.clickToConnect": "Click the button below to generate a QR code",
|
|
437
|
-
"magic-link.whatsapp.qr.instruction": "Open WhatsApp on your phone → Settings → Linked Devices → Link a Device → Scan this QR code",
|
|
438
|
-
"magic-link.whatsapp.connected.title": "WhatsApp Connected",
|
|
439
|
-
"magic-link.whatsapp.test.title": "Send Test Message",
|
|
440
|
-
"magic-link.whatsapp.test.phoneLabel": "Phone Number",
|
|
441
|
-
"magic-link.whatsapp.test.phoneHint": "Enter phone number with country code (e.g., 491234567890)",
|
|
442
|
-
"magic-link.whatsapp.actions.connect": "Connect WhatsApp",
|
|
443
|
-
"magic-link.whatsapp.actions.disconnect": "Disconnect",
|
|
444
|
-
"magic-link.whatsapp.actions.sendTest": "Send Test",
|
|
445
|
-
"magic-link.whatsapp.actions.refresh": "Refresh Status",
|
|
446
|
-
"magic-link.whatsapp.info.title": "How to Use",
|
|
447
|
-
"magic-link.whatsapp.info.description": "Once connected, you can send Magic Links via WhatsApp by including a phone number in the API request. The user will receive the login link directly in their WhatsApp app.",
|
|
448
|
-
"magic-link.whatsapp.info.apiExample": "API Example:",
|
|
449
|
-
"magic-link.whatsapp.notifications.connecting": "Connecting to WhatsApp...",
|
|
450
|
-
"magic-link.whatsapp.notifications.disconnected": "WhatsApp disconnected",
|
|
451
|
-
"magic-link.whatsapp.notifications.phoneRequired": "Please enter a phone number",
|
|
452
|
-
"magic-link.whatsapp.notifications.messageSent": "Test message sent successfully!"
|
|
453
|
-
};
|
|
454
|
-
exports.default = enTranslations;
|