emailengine-app 2.66.0 → 2.67.1
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/.github/workflows/deploy.yml +1 -1
- package/.github/workflows/release.yaml +2 -2
- package/.github/workflows/test.yml +2 -2
- package/.ncurc.js +4 -1
- package/CHANGELOG.md +25 -0
- package/data/google-crawlers.json +1 -1
- package/lib/consts.js +2 -0
- package/lib/email-client/imap/mailbox.js +10 -2
- package/lib/email-client/imap/sync-operations.js +31 -6
- package/lib/email-client/imap-client.js +19 -3
- package/lib/email-client/outlook-client.js +154 -0
- package/lib/passkeys.js +56 -15
- package/lib/routes-ui.js +34 -25
- package/package.json +21 -21
- package/sbom.json +1 -1
- package/static/licenses.html +85 -144
- package/translations/de.mo +0 -0
- package/translations/de.po +98 -106
- package/translations/en.mo +0 -0
- package/translations/en.po +50 -46
- package/translations/et.mo +0 -0
- package/translations/et.po +67 -64
- package/translations/fr.mo +0 -0
- package/translations/fr.po +74 -71
- package/translations/ja.mo +0 -0
- package/translations/ja.po +64 -60
- package/translations/messages.pot +55 -51
- package/translations/nl.mo +0 -0
- package/translations/nl.po +66 -62
- package/translations/pl.mo +0 -0
- package/translations/pl.po +74 -71
- package/views/oauth-scope-error.hbs +10 -1
- package/workers/api.js +28 -2
- package/workers/imap.js +4 -0
package/translations/nl.po
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: \n"
|
|
4
|
-
"POT-Creation-Date: 2026-03-
|
|
4
|
+
"POT-Creation-Date: 2026-03-31 08:47+0000\n"
|
|
5
5
|
"PO-Revision-Date: \n"
|
|
6
6
|
"Last-Translator: \n"
|
|
7
7
|
"Language-Team: \n"
|
|
@@ -10,9 +10,9 @@ msgstr ""
|
|
|
10
10
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
11
11
|
"Content-Transfer-Encoding: 8bit\n"
|
|
12
12
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
13
|
-
"X-Generator: Poedit 3.
|
|
13
|
+
"X-Generator: Poedit 3.9\n"
|
|
14
14
|
|
|
15
|
-
#: views/error.hbs:4 workers/api.js:
|
|
15
|
+
#: views/error.hbs:4 workers/api.js:7103
|
|
16
16
|
msgid "Something went wrong"
|
|
17
17
|
msgstr "Er ging iets mis"
|
|
18
18
|
|
|
@@ -31,32 +31,8 @@ msgstr "Dashboard"
|
|
|
31
31
|
#: views/config/license.hbs:45 lib/routes-ui.js:2497
|
|
32
32
|
msgid "%d day"
|
|
33
33
|
msgid_plural "%d days"
|
|
34
|
-
msgstr[0] "dag"
|
|
35
|
-
msgstr[1] "dagen"
|
|
36
|
-
|
|
37
|
-
#: views/oauth-scope-error.hbs:2
|
|
38
|
-
msgid "Insufficient Permissions"
|
|
39
|
-
msgstr "Onvoldoende rechten"
|
|
40
|
-
|
|
41
|
-
#: views/oauth-scope-error.hbs:8
|
|
42
|
-
msgid ""
|
|
43
|
-
"EmailEngine requires all requested permissions to function properly. Some "
|
|
44
|
-
"required permissions were not granted during sign-in."
|
|
45
|
-
msgstr ""
|
|
46
|
-
"EmailEngine heeft alle gevraagde machtigingen nodig om correct te kunnen "
|
|
47
|
-
"werken. Bij het inloggen zijn sommige vereiste machtigingen niet verleend."
|
|
48
|
-
|
|
49
|
-
#: views/oauth-scope-error.hbs:12
|
|
50
|
-
msgid ""
|
|
51
|
-
"Please try again and make sure all permission checkboxes are selected on the "
|
|
52
|
-
"Google consent screen."
|
|
53
|
-
msgstr ""
|
|
54
|
-
"Probeer het nog eens en zorg ervoor dat alle selectievakjes voor toestemming "
|
|
55
|
-
"op het toestemmingsscherm van Google zijn aangevinkt."
|
|
56
|
-
|
|
57
|
-
#: views/oauth-scope-error.hbs:18
|
|
58
|
-
msgid "Try Again"
|
|
59
|
-
msgstr "Probeer opnieuw"
|
|
34
|
+
msgstr[0] "%d dag"
|
|
35
|
+
msgstr[1] "%d dagen"
|
|
60
36
|
|
|
61
37
|
#: views/redirect.hbs:1
|
|
62
38
|
msgid "Click <a href=\"%s\">here</a> to continue…"
|
|
@@ -73,15 +49,15 @@ msgstr "Je e-mailadres is uitgeschreven."
|
|
|
73
49
|
#: views/unsubscribe.hbs:7
|
|
74
50
|
msgid "Was this a mistake? Click <a%s>here</a> to re-subscribe."
|
|
75
51
|
msgstr ""
|
|
76
|
-
"Was dit een vergissing
|
|
52
|
+
"Was dit een vergissing? Klik dan <a%s>hier</a> om je opnieuw te abonneren."
|
|
77
53
|
|
|
78
54
|
#: views/unsubscribe.hbs:15
|
|
79
55
|
msgid "Re-subscribe"
|
|
80
|
-
msgstr "Opnieuw
|
|
56
|
+
msgstr "Opnieuw abonneren"
|
|
81
57
|
|
|
82
58
|
#: views/unsubscribe.hbs:21
|
|
83
59
|
msgid "Are you sure you want to re-subscribe your email address <em>%s</em>?"
|
|
84
|
-
msgstr "Weet je zeker dat je je e-mailadres <em>%s</em>
|
|
60
|
+
msgstr "Weet je zeker dat je je e-mailadres <em>%s</em> opnieuw wilt abonneren?"
|
|
85
61
|
|
|
86
62
|
#: views/unsubscribe.hbs:32 views/accounts/register/imap-server.hbs:251
|
|
87
63
|
msgid "Close"
|
|
@@ -97,7 +73,7 @@ msgstr "Abonnement hervat"
|
|
|
97
73
|
|
|
98
74
|
#: views/unsubscribe.hbs:58
|
|
99
75
|
msgid "Your email address <em>%s</em> was re-subscribed."
|
|
100
|
-
msgstr "Je e-mailadres <em>%s</em> is
|
|
76
|
+
msgstr "Je e-mailadres <em>%s</em> is opnieuw geabonneerd."
|
|
101
77
|
|
|
102
78
|
#: views/unsubscribe.hbs:75 views/accounts/register/imap.hbs:21
|
|
103
79
|
msgid "Email address"
|
|
@@ -105,7 +81,35 @@ msgstr "E-mailadres"
|
|
|
105
81
|
|
|
106
82
|
#: views/unsubscribe.hbs:81 views/accounts/register/imap.hbs:27
|
|
107
83
|
msgid "Enter your email address"
|
|
108
|
-
msgstr "Vul je
|
|
84
|
+
msgstr "Vul je e-mailadres in"
|
|
85
|
+
|
|
86
|
+
#: views/oauth-scope-error.hbs:2
|
|
87
|
+
msgid "Insufficient Permissions"
|
|
88
|
+
msgstr "Onvoldoende rechten"
|
|
89
|
+
|
|
90
|
+
#: views/oauth-scope-error.hbs:8
|
|
91
|
+
msgid ""
|
|
92
|
+
"All requested permissions are required for this service to function properly. "
|
|
93
|
+
"Some required permissions were not granted during sign-in."
|
|
94
|
+
msgstr ""
|
|
95
|
+
"Alle gevraagde machtigingen zijn vereist om deze dienst correct te laten "
|
|
96
|
+
"werken. Bij het inloggen zijn sommige vereiste machtigingen niet verleend."
|
|
97
|
+
|
|
98
|
+
#: views/oauth-scope-error.hbs:12
|
|
99
|
+
msgid "The following permissions were not granted:"
|
|
100
|
+
msgstr "De volgende machtigingen zijn niet verleend:"
|
|
101
|
+
|
|
102
|
+
#: views/oauth-scope-error.hbs:21
|
|
103
|
+
msgid ""
|
|
104
|
+
"Please try again and make sure all permission checkboxes are selected on the "
|
|
105
|
+
"Google consent screen."
|
|
106
|
+
msgstr ""
|
|
107
|
+
"Probeer het nog eens en zorg ervoor dat alle selectievakjes voor toestemming "
|
|
108
|
+
"op het toestemmingsscherm van Google zijn aangevinkt."
|
|
109
|
+
|
|
110
|
+
#: views/oauth-scope-error.hbs:27
|
|
111
|
+
msgid "Try Again"
|
|
112
|
+
msgstr "Probeer opnieuw"
|
|
109
113
|
|
|
110
114
|
#: views/accounts/register/imap.hbs:11
|
|
111
115
|
msgid "Your name"
|
|
@@ -156,7 +160,7 @@ msgstr "Belangrijk"
|
|
|
156
160
|
#: views/accounts/register/imap-server.hbs:144
|
|
157
161
|
#: views/accounts/register/imap-server.hbs:151
|
|
158
162
|
msgid "Application Password"
|
|
159
|
-
msgstr "
|
|
163
|
+
msgstr "Applicatiewachtwoord"
|
|
160
164
|
|
|
161
165
|
#: views/accounts/register/imap-server.hbs:54
|
|
162
166
|
#: views/accounts/register/imap-server.hbs:145
|
|
@@ -184,8 +188,8 @@ msgstr "TLS voor IMAP"
|
|
|
184
188
|
|
|
185
189
|
#: views/accounts/register/imap-server.hbs:100
|
|
186
190
|
msgid ""
|
|
187
|
-
"TLS (also known as SSL) is usually only needed when using port 993. For "
|
|
188
|
-
"
|
|
191
|
+
"TLS (also known as SSL) is usually only needed when using port 993. For other "
|
|
192
|
+
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
189
193
|
msgstr ""
|
|
190
194
|
"TLS (ook wel SSL genoemd) is meestal alleen nodig bij het gebruik van poort "
|
|
191
195
|
"993. Voor andere poorten schakelt EmailEngine over op STARTTLS-versleuteling."
|
|
@@ -205,8 +209,8 @@ msgstr "TLS voor SMTP"
|
|
|
205
209
|
|
|
206
210
|
#: views/accounts/register/imap-server.hbs:191
|
|
207
211
|
msgid ""
|
|
208
|
-
"TLS (also known as SSL) is usually only needed when using port 465. For "
|
|
209
|
-
"
|
|
212
|
+
"TLS (also known as SSL) is usually only needed when using port 465. For other "
|
|
213
|
+
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
210
214
|
msgstr ""
|
|
211
215
|
"TLS (ook wel SSL genoemd) is meestal alleen nodig bij het gebruik van poort "
|
|
212
216
|
"465. Voor andere poorten schakelt EmailEngine over op STARTTLS-versleuteling."
|
|
@@ -271,8 +275,8 @@ msgid ""
|
|
|
271
275
|
"Connection timed out. This usually occurs if you are behind a firewall or "
|
|
272
276
|
"connecting to the wrong port."
|
|
273
277
|
msgstr ""
|
|
274
|
-
"De verbinding is verlopen. Dit gebeurt meestal als je achter een firewall "
|
|
275
|
-
"
|
|
278
|
+
"De verbinding is verlopen. Dit gebeurt meestal als je achter een firewall zit "
|
|
279
|
+
"of verbinding maakt met de verkeerde poort."
|
|
276
280
|
|
|
277
281
|
#: lib/routes-ui.js:438 lib/ui-routes/account-routes.js:114
|
|
278
282
|
msgid "The server unexpectedly closed the connection."
|
|
@@ -288,8 +292,8 @@ msgstr ""
|
|
|
288
292
|
|
|
289
293
|
#: lib/routes-ui.js:446 lib/ui-routes/account-routes.js:122
|
|
290
294
|
msgid ""
|
|
291
|
-
"The server refused the connection. This typically occurs if the server is "
|
|
292
|
-
"
|
|
295
|
+
"The server refused the connection. This typically occurs if the server is not "
|
|
296
|
+
"running, is overloaded, or you are connecting to the wrong host or port."
|
|
293
297
|
msgstr ""
|
|
294
298
|
"De server weigerde de verbinding. Dit gebeurt meestal als de server niet "
|
|
295
299
|
"draait, overbelast is, of als je verbinding maakt met de verkeerde host of "
|
|
@@ -307,74 +311,74 @@ msgstr "Onbekend"
|
|
|
307
311
|
msgid "Indefinite"
|
|
308
312
|
msgstr "Voor onbepaalde tijd"
|
|
309
313
|
|
|
310
|
-
#: lib/routes-ui.js:
|
|
311
|
-
#: lib/routes-ui.js:
|
|
312
|
-
#: workers/api.js:
|
|
314
|
+
#: lib/routes-ui.js:5133 lib/routes-ui.js:5168 lib/routes-ui.js:5283
|
|
315
|
+
#: lib/routes-ui.js:5330 lib/routes-ui.js:5577 lib/routes-ui.js:5613
|
|
316
|
+
#: workers/api.js:2279 workers/api.js:2607 lib/ui-routes/account-routes.js:554
|
|
313
317
|
#: lib/ui-routes/account-routes.js:590 lib/ui-routes/account-routes.js:707
|
|
314
318
|
#: lib/ui-routes/account-routes.js:754 lib/ui-routes/account-routes.js:1003
|
|
315
319
|
#: lib/ui-routes/account-routes.js:1039
|
|
316
320
|
msgid "Email Account Setup"
|
|
317
|
-
msgstr "E-
|
|
321
|
+
msgstr "E-mailaccount instellen"
|
|
318
322
|
|
|
319
|
-
#: lib/routes-ui.js:
|
|
323
|
+
#: lib/routes-ui.js:5193 lib/routes-ui.js:5226 lib/routes-ui.js:8186
|
|
320
324
|
#: lib/ui-routes/account-routes.js:615 lib/ui-routes/account-routes.js:649
|
|
321
325
|
msgid "Invalid request. Check your input and try again."
|
|
322
|
-
msgstr "
|
|
326
|
+
msgstr "Ongeldige aanvraag. Controleer je invoer en probeer het opnieuw."
|
|
323
327
|
|
|
324
|
-
#: lib/routes-ui.js:
|
|
328
|
+
#: lib/routes-ui.js:5386 lib/routes-ui.js:5397
|
|
325
329
|
#: lib/ui-routes/account-routes.js:811 lib/ui-routes/account-routes.js:822
|
|
326
330
|
#: lib/ui-routes/admin-entities-routes.js:2020
|
|
327
331
|
msgid "Server hostname was not found"
|
|
328
332
|
msgstr "De serverhostnaam kon niet worden gevonden."
|
|
329
333
|
|
|
330
|
-
#: lib/routes-ui.js:
|
|
334
|
+
#: lib/routes-ui.js:5389 lib/routes-ui.js:5400
|
|
331
335
|
#: lib/ui-routes/account-routes.js:814 lib/ui-routes/account-routes.js:825
|
|
332
336
|
#: lib/ui-routes/admin-entities-routes.js:2023
|
|
333
337
|
msgid "Invalid username or password"
|
|
334
338
|
msgstr "Ongeldige gebruikersnaam of wachtwoord"
|
|
335
339
|
|
|
336
|
-
#: lib/routes-ui.js:
|
|
340
|
+
#: lib/routes-ui.js:5403 lib/ui-routes/account-routes.js:828
|
|
337
341
|
#: lib/ui-routes/admin-entities-routes.js:2026
|
|
338
342
|
msgid "Authentication credentials were not provided"
|
|
339
343
|
msgstr "Er zijn geen authenticatiegegevens verstrekt"
|
|
340
344
|
|
|
341
|
-
#: lib/routes-ui.js:
|
|
345
|
+
#: lib/routes-ui.js:5406 lib/ui-routes/account-routes.js:831
|
|
342
346
|
#: lib/ui-routes/admin-entities-routes.js:2029
|
|
343
347
|
msgid "OAuth2 authentication failed"
|
|
344
348
|
msgstr "OAuth2-authenticatie mislukt"
|
|
345
349
|
|
|
346
|
-
#: lib/routes-ui.js:
|
|
350
|
+
#: lib/routes-ui.js:5409 lib/routes-ui.js:5413
|
|
347
351
|
#: lib/ui-routes/account-routes.js:834 lib/ui-routes/account-routes.js:838
|
|
348
352
|
#: lib/ui-routes/admin-entities-routes.js:2032
|
|
349
353
|
#: lib/ui-routes/admin-entities-routes.js:2036
|
|
350
354
|
msgid "TLS protocol error"
|
|
351
355
|
msgstr "TLS-protocolfout"
|
|
352
356
|
|
|
353
|
-
#: lib/routes-ui.js:
|
|
357
|
+
#: lib/routes-ui.js:5417 lib/ui-routes/account-routes.js:842
|
|
354
358
|
#: lib/ui-routes/admin-entities-routes.js:2040
|
|
355
359
|
msgid "Connection timed out"
|
|
356
|
-
msgstr "
|
|
360
|
+
msgstr "Verbindingstime-out"
|
|
357
361
|
|
|
358
|
-
#: lib/routes-ui.js:
|
|
362
|
+
#: lib/routes-ui.js:5420 lib/ui-routes/account-routes.js:845
|
|
359
363
|
#: lib/ui-routes/admin-entities-routes.js:2043
|
|
360
364
|
msgid "Could not connect to server"
|
|
361
365
|
msgstr "Kan geen verbinding maken met de server"
|
|
362
366
|
|
|
363
|
-
#: lib/routes-ui.js:
|
|
367
|
+
#: lib/routes-ui.js:5423 lib/ui-routes/account-routes.js:848
|
|
364
368
|
#: lib/ui-routes/admin-entities-routes.js:2046
|
|
365
369
|
msgid "Unexpected server response"
|
|
366
370
|
msgstr "Onverwachte serverreactie"
|
|
367
371
|
|
|
368
|
-
#: lib/routes-ui.js:
|
|
372
|
+
#: lib/routes-ui.js:8149 lib/tools.js:950
|
|
369
373
|
msgid "Invalid input"
|
|
370
374
|
msgstr "Ongeldige invoer"
|
|
371
375
|
|
|
372
|
-
#: lib/routes-ui.js:
|
|
373
|
-
#: lib/routes-ui.js:
|
|
376
|
+
#: lib/routes-ui.js:8159 lib/routes-ui.js:8277 lib/routes-ui.js:8294
|
|
377
|
+
#: lib/routes-ui.js:8330
|
|
374
378
|
msgid "Subscription Management"
|
|
375
379
|
msgstr "Abonnementenbeheer"
|
|
376
380
|
|
|
377
|
-
#: workers/api.js:
|
|
381
|
+
#: workers/api.js:7102 workers/api.js:7219
|
|
378
382
|
msgid "Requested page not found"
|
|
379
383
|
msgstr "Opgevraagde pagina niet gevonden"
|
|
380
384
|
|
package/translations/pl.mo
CHANGED
|
Binary file
|
package/translations/pl.po
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: \n"
|
|
4
|
-
"POT-Creation-Date: 2026-03-
|
|
4
|
+
"POT-Creation-Date: 2026-03-31 08:47+0000\n"
|
|
5
5
|
"PO-Revision-Date: \n"
|
|
6
6
|
"Last-Translator: \n"
|
|
7
7
|
"Language-Team: \n"
|
|
@@ -11,15 +11,15 @@ msgstr ""
|
|
|
11
11
|
"Content-Transfer-Encoding: 8bit\n"
|
|
12
12
|
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 "
|
|
13
13
|
"|| n%100>14) ? 1 : 2);\n"
|
|
14
|
-
"X-Generator: Poedit 3.
|
|
14
|
+
"X-Generator: Poedit 3.9\n"
|
|
15
15
|
|
|
16
|
-
#: views/error.hbs:4 workers/api.js:
|
|
16
|
+
#: views/error.hbs:4 workers/api.js:7103
|
|
17
17
|
msgid "Something went wrong"
|
|
18
|
-
msgstr "Ups... Coś
|
|
18
|
+
msgstr "Ups... Coś poszło nie tak"
|
|
19
19
|
|
|
20
20
|
#: views/error.hbs:6
|
|
21
21
|
msgid "Error code: %s"
|
|
22
|
-
msgstr "Kod
|
|
22
|
+
msgstr "Kod błędu: %s"
|
|
23
23
|
|
|
24
24
|
#: views/error.hbs:14
|
|
25
25
|
msgid "Go back"
|
|
@@ -36,31 +36,6 @@ msgstr[0] "%d dzień"
|
|
|
36
36
|
msgstr[1] "%d dni"
|
|
37
37
|
msgstr[2] "%d dni"
|
|
38
38
|
|
|
39
|
-
#: views/oauth-scope-error.hbs:2
|
|
40
|
-
msgid "Insufficient Permissions"
|
|
41
|
-
msgstr "Niewystarczające uprawnienia"
|
|
42
|
-
|
|
43
|
-
#: views/oauth-scope-error.hbs:8
|
|
44
|
-
msgid ""
|
|
45
|
-
"EmailEngine requires all requested permissions to function properly. Some "
|
|
46
|
-
"required permissions were not granted during sign-in."
|
|
47
|
-
msgstr ""
|
|
48
|
-
"Aby aplikacja EmailEngine działała poprawnie, potrzebuje wszystkich "
|
|
49
|
-
"wymaganych uprawnień. Niektóre z nich nie zostały przyznane podczas "
|
|
50
|
-
"logowania."
|
|
51
|
-
|
|
52
|
-
#: views/oauth-scope-error.hbs:12
|
|
53
|
-
msgid ""
|
|
54
|
-
"Please try again and make sure all permission checkboxes are selected on the "
|
|
55
|
-
"Google consent screen."
|
|
56
|
-
msgstr ""
|
|
57
|
-
"Spróbuj ponownie i upewnij się, że na ekranie zgody Google zaznaczone są "
|
|
58
|
-
"wszystkie pola wyboru dotyczące uprawnień."
|
|
59
|
-
|
|
60
|
-
#: views/oauth-scope-error.hbs:18
|
|
61
|
-
msgid "Try Again"
|
|
62
|
-
msgstr "Spróbuj ponownie"
|
|
63
|
-
|
|
64
39
|
#: views/redirect.hbs:1
|
|
65
40
|
msgid "Click <a href=\"%s\">here</a> to continue…"
|
|
66
41
|
msgstr "Kliknij <a href=\"%s\">tutaj</a>, aby kontynuować…"
|
|
@@ -71,7 +46,7 @@ msgstr "Wypisz się"
|
|
|
71
46
|
|
|
72
47
|
#: views/unsubscribe.hbs:5
|
|
73
48
|
msgid "Your email address was unsubscribed."
|
|
74
|
-
msgstr "Twój adres e-mail został
|
|
49
|
+
msgstr "Twój adres e-mail został wypisany z listy."
|
|
75
50
|
|
|
76
51
|
#: views/unsubscribe.hbs:7
|
|
77
52
|
msgid "Was this a mistake? Click <a%s>here</a> to re-subscribe."
|
|
@@ -110,6 +85,34 @@ msgstr "Adres e-mail"
|
|
|
110
85
|
msgid "Enter your email address"
|
|
111
86
|
msgstr "Wprowadź swój adres e-mail"
|
|
112
87
|
|
|
88
|
+
#: views/oauth-scope-error.hbs:2
|
|
89
|
+
msgid "Insufficient Permissions"
|
|
90
|
+
msgstr "Niewystarczające uprawnienia"
|
|
91
|
+
|
|
92
|
+
#: views/oauth-scope-error.hbs:8
|
|
93
|
+
msgid ""
|
|
94
|
+
"All requested permissions are required for this service to function properly. "
|
|
95
|
+
"Some required permissions were not granted during sign-in."
|
|
96
|
+
msgstr ""
|
|
97
|
+
"Wszystkie wymagane uprawnienia są niezbędne do prawidłowego działania tej "
|
|
98
|
+
"usługi. Niektóre z nich nie zostały przyznane podczas logowania."
|
|
99
|
+
|
|
100
|
+
#: views/oauth-scope-error.hbs:12
|
|
101
|
+
msgid "The following permissions were not granted:"
|
|
102
|
+
msgstr "Nie przyznano następujących uprawnień:"
|
|
103
|
+
|
|
104
|
+
#: views/oauth-scope-error.hbs:21
|
|
105
|
+
msgid ""
|
|
106
|
+
"Please try again and make sure all permission checkboxes are selected on the "
|
|
107
|
+
"Google consent screen."
|
|
108
|
+
msgstr ""
|
|
109
|
+
"Spróbuj ponownie i upewnij się, że na ekranie zgody Google zaznaczone są "
|
|
110
|
+
"wszystkie pola wyboru dotyczące uprawnień."
|
|
111
|
+
|
|
112
|
+
#: views/oauth-scope-error.hbs:27
|
|
113
|
+
msgid "Try Again"
|
|
114
|
+
msgstr "Spróbuj ponownie"
|
|
115
|
+
|
|
113
116
|
#: views/accounts/register/imap.hbs:11
|
|
114
117
|
msgid "Your name"
|
|
115
118
|
msgstr "Twoje imię"
|
|
@@ -164,7 +167,7 @@ msgstr "Hasło aplikacji"
|
|
|
164
167
|
#: views/accounts/register/imap-server.hbs:54
|
|
165
168
|
#: views/accounts/register/imap-server.hbs:145
|
|
166
169
|
msgid "%s accounts require an application password for %s."
|
|
167
|
-
msgstr "
|
|
170
|
+
msgstr "Konta %s wymagają hasła aplikacji dla %s."
|
|
168
171
|
|
|
169
172
|
#: views/accounts/register/imap-server.hbs:55
|
|
170
173
|
#: views/accounts/register/imap-server.hbs:145
|
|
@@ -187,8 +190,8 @@ msgstr "TLS dla IMAP"
|
|
|
187
190
|
|
|
188
191
|
#: views/accounts/register/imap-server.hbs:100
|
|
189
192
|
msgid ""
|
|
190
|
-
"TLS (also known as SSL) is usually only needed when using port 993. For "
|
|
191
|
-
"
|
|
193
|
+
"TLS (also known as SSL) is usually only needed when using port 993. For other "
|
|
194
|
+
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
192
195
|
msgstr ""
|
|
193
196
|
"TLS (znany również jako SSL) jest zwykle potrzebny tylko w przypadku "
|
|
194
197
|
"korzystania z portu 993. W przypadku innych portów EmailEngine powraca do "
|
|
@@ -209,8 +212,8 @@ msgstr "TLS dla SMTP"
|
|
|
209
212
|
|
|
210
213
|
#: views/accounts/register/imap-server.hbs:191
|
|
211
214
|
msgid ""
|
|
212
|
-
"TLS (also known as SSL) is usually only needed when using port 465. For "
|
|
213
|
-
"
|
|
215
|
+
"TLS (also known as SSL) is usually only needed when using port 465. For other "
|
|
216
|
+
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
214
217
|
msgstr ""
|
|
215
218
|
"TLS (znany również jako SSL) jest zwykle potrzebny tylko w przypadku "
|
|
216
219
|
"korzystania z portu 465. W przypadku innych portów EmailEngine powraca do "
|
|
@@ -218,7 +221,7 @@ msgstr ""
|
|
|
218
221
|
|
|
219
222
|
#: views/accounts/register/imap-server.hbs:209
|
|
220
223
|
msgid "Verify connection"
|
|
221
|
-
msgstr "Zweryfikuj
|
|
224
|
+
msgstr "Zweryfikuj połączenie"
|
|
222
225
|
|
|
223
226
|
#: views/accounts/register/imap-server.hbs:218
|
|
224
227
|
msgid "Save and continue"
|
|
@@ -226,40 +229,40 @@ msgstr "Zapisz i kontynuuj"
|
|
|
226
229
|
|
|
227
230
|
#: views/accounts/register/imap-server.hbs:226
|
|
228
231
|
msgid "Skip verification"
|
|
229
|
-
msgstr "
|
|
232
|
+
msgstr "Pomiń weryfikację"
|
|
230
233
|
|
|
231
234
|
#: views/accounts/register/imap-server.hbs:241
|
|
232
235
|
msgid "Connection test failed"
|
|
233
|
-
msgstr "Test
|
|
236
|
+
msgstr "Test połączenia nie powiódł się"
|
|
234
237
|
|
|
235
238
|
#: views/accounts/register/imap-server.hbs:247
|
|
236
239
|
msgid "We couldn't connect with these settings. Check the errors below."
|
|
237
|
-
msgstr "Nie
|
|
240
|
+
msgstr "Nie udało się połączyć z tymi ustawieniami. Sprawdź błędy poniżej."
|
|
238
241
|
|
|
239
242
|
#: views/accounts/register/imap-server.hbs:318
|
|
240
243
|
msgid "Error"
|
|
241
|
-
msgstr "
|
|
244
|
+
msgstr "Błąd"
|
|
242
245
|
|
|
243
246
|
#: views/accounts/register/imap-server.hbs:320
|
|
244
247
|
msgid "Invalid settings"
|
|
245
|
-
msgstr "
|
|
248
|
+
msgstr "Nieprawidłowe ustawienia"
|
|
246
249
|
|
|
247
250
|
#: views/accounts/register/imap-server.hbs:326
|
|
248
251
|
msgid "Couldn't connect to IMAP server"
|
|
249
|
-
msgstr "Nie
|
|
252
|
+
msgstr "Nie udało się połączyć z serwerem IMAP"
|
|
250
253
|
|
|
251
254
|
#: views/accounts/register/imap-server.hbs:328
|
|
252
255
|
#: views/accounts/register/imap-server.hbs:337
|
|
253
256
|
msgid "Server response:"
|
|
254
|
-
msgstr "
|
|
257
|
+
msgstr "Odpowiedź serwera:"
|
|
255
258
|
|
|
256
259
|
#: views/accounts/register/imap-server.hbs:335
|
|
257
260
|
msgid "Couldn't connect to SMTP server"
|
|
258
|
-
msgstr "Nie
|
|
261
|
+
msgstr "Nie udało się połączyć z serwerem SMTP"
|
|
259
262
|
|
|
260
263
|
#: views/accounts/register/imap-server.hbs:395
|
|
261
264
|
msgid "Request failed."
|
|
262
|
-
msgstr "
|
|
265
|
+
msgstr "Żądanie nie powiodło się."
|
|
263
266
|
|
|
264
267
|
#: lib/routes-ui.js:384 lib/ui-routes/account-routes.js:60
|
|
265
268
|
msgid "Delegated"
|
|
@@ -286,16 +289,16 @@ msgid ""
|
|
|
286
289
|
"The server unexpectedly closed the connection. This usually happens when "
|
|
287
290
|
"attempting to connect to a TLS port without TLS enabled."
|
|
288
291
|
msgstr ""
|
|
289
|
-
"Serwer nieoczekiwanie zamknął połączenie. Zwykle dzieje się tak podczas "
|
|
290
|
-
"
|
|
292
|
+
"Serwer nieoczekiwanie zamknął połączenie. Zwykle dzieje się tak podczas próby "
|
|
293
|
+
"połączenia z portem TLS bez włączonego protokołu TLS."
|
|
291
294
|
|
|
292
295
|
#: lib/routes-ui.js:446 lib/ui-routes/account-routes.js:122
|
|
293
296
|
msgid ""
|
|
294
|
-
"The server refused the connection. This typically occurs if the server is "
|
|
295
|
-
"
|
|
297
|
+
"The server refused the connection. This typically occurs if the server is not "
|
|
298
|
+
"running, is overloaded, or you are connecting to the wrong host or port."
|
|
296
299
|
msgstr ""
|
|
297
|
-
"Serwer odmówił połączenia. Zwykle dzieje się tak, gdy serwer nie działa, "
|
|
298
|
-
"
|
|
300
|
+
"Serwer odmówił połączenia. Zwykle dzieje się tak, gdy serwer nie działa, jest "
|
|
301
|
+
"przeciążony lub łączysz się z niewłaściwym hostem lub portem."
|
|
299
302
|
|
|
300
303
|
#: lib/routes-ui.js:573
|
|
301
304
|
msgid "Invalid API key for OpenAI"
|
|
@@ -309,74 +312,74 @@ msgstr "Nieznany"
|
|
|
309
312
|
msgid "Indefinite"
|
|
310
313
|
msgstr "Na czas nieokreślony"
|
|
311
314
|
|
|
312
|
-
#: lib/routes-ui.js:
|
|
313
|
-
#: lib/routes-ui.js:
|
|
314
|
-
#: workers/api.js:
|
|
315
|
+
#: lib/routes-ui.js:5133 lib/routes-ui.js:5168 lib/routes-ui.js:5283
|
|
316
|
+
#: lib/routes-ui.js:5330 lib/routes-ui.js:5577 lib/routes-ui.js:5613
|
|
317
|
+
#: workers/api.js:2279 workers/api.js:2607 lib/ui-routes/account-routes.js:554
|
|
315
318
|
#: lib/ui-routes/account-routes.js:590 lib/ui-routes/account-routes.js:707
|
|
316
319
|
#: lib/ui-routes/account-routes.js:754 lib/ui-routes/account-routes.js:1003
|
|
317
320
|
#: lib/ui-routes/account-routes.js:1039
|
|
318
321
|
msgid "Email Account Setup"
|
|
319
322
|
msgstr "Konfiguracja konta e-mail"
|
|
320
323
|
|
|
321
|
-
#: lib/routes-ui.js:
|
|
324
|
+
#: lib/routes-ui.js:5193 lib/routes-ui.js:5226 lib/routes-ui.js:8186
|
|
322
325
|
#: lib/ui-routes/account-routes.js:615 lib/ui-routes/account-routes.js:649
|
|
323
326
|
msgid "Invalid request. Check your input and try again."
|
|
324
|
-
msgstr "
|
|
327
|
+
msgstr "Nieprawidłowe żądanie. Sprawdź wprowadzone dane i spróbuj ponownie."
|
|
325
328
|
|
|
326
|
-
#: lib/routes-ui.js:
|
|
329
|
+
#: lib/routes-ui.js:5386 lib/routes-ui.js:5397
|
|
327
330
|
#: lib/ui-routes/account-routes.js:811 lib/ui-routes/account-routes.js:822
|
|
328
331
|
#: lib/ui-routes/admin-entities-routes.js:2020
|
|
329
332
|
msgid "Server hostname was not found"
|
|
330
333
|
msgstr "Nie znaleziono nazwy hosta serwera"
|
|
331
334
|
|
|
332
|
-
#: lib/routes-ui.js:
|
|
335
|
+
#: lib/routes-ui.js:5389 lib/routes-ui.js:5400
|
|
333
336
|
#: lib/ui-routes/account-routes.js:814 lib/ui-routes/account-routes.js:825
|
|
334
337
|
#: lib/ui-routes/admin-entities-routes.js:2023
|
|
335
338
|
msgid "Invalid username or password"
|
|
336
339
|
msgstr "Nieprawidłowa nazwa użytkownika lub hasło"
|
|
337
340
|
|
|
338
|
-
#: lib/routes-ui.js:
|
|
341
|
+
#: lib/routes-ui.js:5403 lib/ui-routes/account-routes.js:828
|
|
339
342
|
#: lib/ui-routes/admin-entities-routes.js:2026
|
|
340
343
|
msgid "Authentication credentials were not provided"
|
|
341
344
|
msgstr "Nie podano danych uwierzytelniających"
|
|
342
345
|
|
|
343
|
-
#: lib/routes-ui.js:
|
|
346
|
+
#: lib/routes-ui.js:5406 lib/ui-routes/account-routes.js:831
|
|
344
347
|
#: lib/ui-routes/admin-entities-routes.js:2029
|
|
345
348
|
msgid "OAuth2 authentication failed"
|
|
346
349
|
msgstr "Uwierzytelnianie OAuth2 nie powiodło się"
|
|
347
350
|
|
|
348
|
-
#: lib/routes-ui.js:
|
|
351
|
+
#: lib/routes-ui.js:5409 lib/routes-ui.js:5413
|
|
349
352
|
#: lib/ui-routes/account-routes.js:834 lib/ui-routes/account-routes.js:838
|
|
350
353
|
#: lib/ui-routes/admin-entities-routes.js:2032
|
|
351
354
|
#: lib/ui-routes/admin-entities-routes.js:2036
|
|
352
355
|
msgid "TLS protocol error"
|
|
353
356
|
msgstr "Błąd protokołu TLS"
|
|
354
357
|
|
|
355
|
-
#: lib/routes-ui.js:
|
|
358
|
+
#: lib/routes-ui.js:5417 lib/ui-routes/account-routes.js:842
|
|
356
359
|
#: lib/ui-routes/admin-entities-routes.js:2040
|
|
357
360
|
msgid "Connection timed out"
|
|
358
361
|
msgstr "Przekroczono limit czasu połączenia"
|
|
359
362
|
|
|
360
|
-
#: lib/routes-ui.js:
|
|
363
|
+
#: lib/routes-ui.js:5420 lib/ui-routes/account-routes.js:845
|
|
361
364
|
#: lib/ui-routes/admin-entities-routes.js:2043
|
|
362
365
|
msgid "Could not connect to server"
|
|
363
366
|
msgstr "Nie można połączyć się z serwerem"
|
|
364
367
|
|
|
365
|
-
#: lib/routes-ui.js:
|
|
368
|
+
#: lib/routes-ui.js:5423 lib/ui-routes/account-routes.js:848
|
|
366
369
|
#: lib/ui-routes/admin-entities-routes.js:2046
|
|
367
370
|
msgid "Unexpected server response"
|
|
368
371
|
msgstr "Nieoczekiwana odpowiedź serwera"
|
|
369
372
|
|
|
370
|
-
#: lib/routes-ui.js:
|
|
373
|
+
#: lib/routes-ui.js:8149 lib/tools.js:950
|
|
371
374
|
msgid "Invalid input"
|
|
372
375
|
msgstr "Nieprawidłowe dane wejściowe"
|
|
373
376
|
|
|
374
|
-
#: lib/routes-ui.js:
|
|
375
|
-
#: lib/routes-ui.js:
|
|
377
|
+
#: lib/routes-ui.js:8159 lib/routes-ui.js:8277 lib/routes-ui.js:8294
|
|
378
|
+
#: lib/routes-ui.js:8330
|
|
376
379
|
msgid "Subscription Management"
|
|
377
380
|
msgstr "Zarządzanie subskrypcjami"
|
|
378
381
|
|
|
379
|
-
#: workers/api.js:
|
|
382
|
+
#: workers/api.js:7102 workers/api.js:7219
|
|
380
383
|
msgid "Requested page not found"
|
|
381
384
|
msgstr "Nie znaleziono żądanej strony"
|
|
382
385
|
|
|
@@ -397,8 +400,8 @@ msgid ""
|
|
|
397
400
|
msgstr ""
|
|
398
401
|
"Firma Microsoft wyłączyła logowanie oparte na hasłach (w tym hasłach "
|
|
399
402
|
"aplikacji) dla kont e-mail w usługach Outlook.com, Hotmail.com i Microsoft "
|
|
400
|
-
"365. Aby kontynuować, użyj przycisku \"Zaloguj się za pomocą Microsoft\", "
|
|
401
|
-
"
|
|
403
|
+
"365. Aby kontynuować, użyj przycisku \"Zaloguj się za pomocą Microsoft\", aby "
|
|
404
|
+
"bezpiecznie połączyć swoje konto."
|
|
402
405
|
|
|
403
406
|
#: lib/ui-routes/account-routes.js:747 lib/ui-routes/account-routes.js:1032
|
|
404
407
|
msgid "Couldn't set up account. Try again."
|
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
<div class="mb-4">
|
|
6
6
|
<div class="alert alert-danger">
|
|
7
7
|
<i class="fas fa-exclamation-triangle mr-2"></i>
|
|
8
|
-
{{_ "
|
|
8
|
+
{{_ "All requested permissions are required for this service to function properly. Some required permissions were not granted during sign-in." templateLocale}}
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
|
+
{{#if missingScopesList}}
|
|
12
|
+
<p class="font-weight-bold mb-2">{{_ "The following permissions were not granted:" templateLocale}}</p>
|
|
13
|
+
<ul class="mb-3">
|
|
14
|
+
{{#each missingScopesList}}
|
|
15
|
+
<li>{{this}}</li>
|
|
16
|
+
{{/each}}
|
|
17
|
+
</ul>
|
|
18
|
+
{{/if}}
|
|
19
|
+
|
|
11
20
|
<p class="text-muted">
|
|
12
21
|
{{_ "Please try again and make sure all permission checkboxes are selected on the Google consent screen." templateLocale}}
|
|
13
22
|
</p>
|
package/workers/api.js
CHANGED
|
@@ -203,6 +203,29 @@ const FLAG_SORT_ORDER = ['\\Inbox', '\\Flagged', '\\Sent', '\\Drafts', '\\All',
|
|
|
203
203
|
const { GMAIL_SCOPES, OPENID_SCOPES } = require('../lib/oauth/gmail');
|
|
204
204
|
const { MAIL_RU_SCOPES } = require('../lib/oauth/mail-ru');
|
|
205
205
|
|
|
206
|
+
const GMAIL_SCOPE_DESCRIPTIONS = {
|
|
207
|
+
'https://mail.google.com/': 'Full email access (IMAP and SMTP)',
|
|
208
|
+
'https://www.googleapis.com/auth/gmail.modify': 'Read, compose, send, and modify emails',
|
|
209
|
+
'https://www.googleapis.com/auth/gmail.readonly': 'Read email messages and settings',
|
|
210
|
+
'https://www.googleapis.com/auth/gmail.send': 'Send email on your behalf',
|
|
211
|
+
'https://www.googleapis.com/auth/gmail.labels': 'Manage email labels',
|
|
212
|
+
'https://www.googleapis.com/auth/pubsub': 'Cloud Pub/Sub notifications'
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
function formatScopeDescription(scope) {
|
|
216
|
+
if (GMAIL_SCOPE_DESCRIPTIONS[scope]) {
|
|
217
|
+
return GMAIL_SCOPE_DESCRIPTIONS[scope];
|
|
218
|
+
}
|
|
219
|
+
let shortName = scope;
|
|
220
|
+
try {
|
|
221
|
+
const url = new URL(scope);
|
|
222
|
+
shortName = url.pathname.split('/').pop() || scope;
|
|
223
|
+
} catch (e) {
|
|
224
|
+
// Not a URL, use as-is
|
|
225
|
+
}
|
|
226
|
+
return shortName.replace(/\./g, ' ').replace(/\b\w/g, c => c.toUpperCase());
|
|
227
|
+
}
|
|
228
|
+
|
|
206
229
|
const REDACTED_KEYS = ['req.headers.authorization', 'req.headers.cookie', 'err.rawPacket'];
|
|
207
230
|
|
|
208
231
|
const SMTP_TEST_HOST = 'https://api.nodemailer.com';
|
|
@@ -2085,7 +2108,7 @@ Include your token in requests using one of these methods:
|
|
|
2085
2108
|
|
|
2086
2109
|
// Route recognized lifecycle events to the IMAP worker
|
|
2087
2110
|
// so the live client with its OAuth state handles them
|
|
2088
|
-
if (entry.lifecycleEvent === 'reauthorizationRequired' || entry.lifecycleEvent === 'subscriptionRemoved') {
|
|
2111
|
+
if (entry.lifecycleEvent === 'reauthorizationRequired' || entry.lifecycleEvent === 'subscriptionRemoved' || entry.lifecycleEvent === 'missed') {
|
|
2089
2112
|
const dedupeKey = `${entry.lifecycleEvent}:${entry.subscriptionId}`;
|
|
2090
2113
|
if (seenLifecycleEvents.has(dedupeKey)) {
|
|
2091
2114
|
request.logger.debug({
|
|
@@ -2248,12 +2271,15 @@ Include your token in requests using one of these methods:
|
|
|
2248
2271
|
email: accountData.email
|
|
2249
2272
|
});
|
|
2250
2273
|
|
|
2274
|
+
const missingScopesList = missingScopes.map(formatScopeDescription);
|
|
2275
|
+
|
|
2251
2276
|
return h.view(
|
|
2252
2277
|
'oauth-scope-error',
|
|
2253
2278
|
{
|
|
2254
2279
|
pageTitleFull: request.app.gt.gettext('Email Account Setup'),
|
|
2255
2280
|
templateLocale: request.app.locale,
|
|
2256
|
-
reAuthUrl
|
|
2281
|
+
reAuthUrl,
|
|
2282
|
+
missingScopesList
|
|
2257
2283
|
},
|
|
2258
2284
|
{
|
|
2259
2285
|
layout: 'public'
|