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.
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: \n"
4
- "POT-Creation-Date: 2026-03-27 13:52+0000\n"
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.8\n"
13
+ "X-Generator: Poedit 3.9\n"
14
14
 
15
- #: views/error.hbs:4 workers/api.js:7074
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&mldr;"
@@ -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. Klik dan <a%s>hier</a> om u opnieuw aan te melden."
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 aanmelden"
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> weer wilt aanmelden?"
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 weer aangemeld."
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 email in"
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 "Applicatie wachtwoord"
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
- "other ports EmailEngine falls back to using STARTTLS based encryption."
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
- "other ports EmailEngine falls back to using STARTTLS based encryption."
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
- "zit of verbinding maakt met de verkeerde poort."
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
- "not running, is overloaded, or you are connecting to the wrong host or port."
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:4990 lib/routes-ui.js:5025 lib/routes-ui.js:5140
311
- #: lib/routes-ui.js:5187 lib/routes-ui.js:5434 lib/routes-ui.js:5470
312
- #: workers/api.js:2251 workers/api.js:2578 lib/ui-routes/account-routes.js:554
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-mailaccountinstelling"
321
+ msgstr "E-mailaccount instellen"
318
322
 
319
- #: lib/routes-ui.js:5050 lib/routes-ui.js:5083 lib/routes-ui.js:8043
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 "Het valideren van de aanvraag-argumenten is mislukt."
326
+ msgstr "Ongeldige aanvraag. Controleer je invoer en probeer het opnieuw."
323
327
 
324
- #: lib/routes-ui.js:5243 lib/routes-ui.js:5254
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:5246 lib/routes-ui.js:5257
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:5260 lib/ui-routes/account-routes.js:828
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:5263 lib/ui-routes/account-routes.js:831
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:5266 lib/routes-ui.js:5270
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:5274 lib/ui-routes/account-routes.js:842
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 "Verbindingslimiet overschreden"
360
+ msgstr "Verbindingstime-out"
357
361
 
358
- #: lib/routes-ui.js:5277 lib/ui-routes/account-routes.js:845
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:5280 lib/ui-routes/account-routes.js:848
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:8006 lib/tools.js:950
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:8016 lib/routes-ui.js:8134 lib/routes-ui.js:8151
373
- #: lib/routes-ui.js:8187
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:7073 workers/api.js:7190
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
 
Binary file
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: \n"
4
- "POT-Creation-Date: 2026-03-27 13:52+0000\n"
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.8\n"
14
+ "X-Generator: Poedit 3.9\n"
15
15
 
16
- #: views/error.hbs:4 workers/api.js:7074
16
+ #: views/error.hbs:4 workers/api.js:7103
17
17
  msgid "Something went wrong"
18
- msgstr "Ups... Coś poszlo nie tak"
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 bledu: %s"
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&mldr;"
66
41
  msgstr "Kliknij <a href=\"%s\">tutaj</a>, aby kontynuować&mldr;"
@@ -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ł wyrejestrowany."
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 "konta %s wymagają hasła aplikacji dla %s."
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
- "other ports EmailEngine falls back to using STARTTLS based encryption."
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
- "other ports EmailEngine falls back to using STARTTLS based encryption."
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 polaczenie"
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 "Pomin weryfikacje"
232
+ msgstr "Pomiń weryfikację"
230
233
 
231
234
  #: views/accounts/register/imap-server.hbs:241
232
235
  msgid "Connection test failed"
233
- msgstr "Test polaczenia nie powiodl sie"
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 udalo sie polaczyc z tymi ustawieniami. Sprawdz bledy ponizej."
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 "Blad"
244
+ msgstr "Błąd"
242
245
 
243
246
  #: views/accounts/register/imap-server.hbs:320
244
247
  msgid "Invalid settings"
245
- msgstr "Nieprawidlowe ustawienia"
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 udalo sie polaczyc z serwerem IMAP"
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 "Odpowiedz serwera:"
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 udalo sie polaczyc z serwerem SMTP"
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 "Zadanie nie powiodlo sie."
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
- "próby połączenia z portem TLS bez włączonego protokołu TLS."
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
- "not running, is overloaded, or you are connecting to the wrong host or port."
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
- "jest przeciążony lub łączysz się z niewłaściwym hostem lub portem."
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:4990 lib/routes-ui.js:5025 lib/routes-ui.js:5140
313
- #: lib/routes-ui.js:5187 lib/routes-ui.js:5434 lib/routes-ui.js:5470
314
- #: workers/api.js:2251 workers/api.js:2578 lib/ui-routes/account-routes.js:554
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:5050 lib/routes-ui.js:5083 lib/routes-ui.js:8043
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 "Nie udało się zweryfikować argumentów żądania."
327
+ msgstr "Nieprawidłowe żądanie. Sprawdź wprowadzone dane i spróbuj ponownie."
325
328
 
326
- #: lib/routes-ui.js:5243 lib/routes-ui.js:5254
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:5246 lib/routes-ui.js:5257
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:5260 lib/ui-routes/account-routes.js:828
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:5263 lib/ui-routes/account-routes.js:831
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:5266 lib/routes-ui.js:5270
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:5274 lib/ui-routes/account-routes.js:842
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:5277 lib/ui-routes/account-routes.js:845
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:5280 lib/ui-routes/account-routes.js:848
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:8006 lib/tools.js:950
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:8016 lib/routes-ui.js:8134 lib/routes-ui.js:8151
375
- #: lib/routes-ui.js:8187
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:7073 workers/api.js:7190
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
- "aby bezpiecznie połączyć swoje konto."
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
- {{_ "EmailEngine requires all requested permissions to function properly. Some required permissions were not granted during sign-in." templateLocale}}
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'