emailengine-app 2.69.0 → 2.71.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.
Files changed (97) hide show
  1. package/.github/workflows/deploy.yml +6 -3
  2. package/.github/workflows/release.yaml +2 -0
  3. package/.github/workflows/test.yml +73 -12
  4. package/.ncurc.js +3 -3
  5. package/CHANGELOG.md +37 -0
  6. package/Gruntfile.js +21 -23
  7. package/bin/emailengine.js +8 -1
  8. package/config/default.toml +5 -0
  9. package/config/test.toml +5 -0
  10. package/data/google-crawlers.json +1 -1
  11. package/getswagger.sh +44 -4
  12. package/gettext-extract.js +163 -0
  13. package/lib/account.js +104 -72
  14. package/lib/api-routes/account-routes.js +231 -71
  15. package/lib/api-routes/blocklist-routes.js +25 -18
  16. package/lib/api-routes/chat-routes.js +32 -14
  17. package/lib/api-routes/delivery-test-routes.js +30 -5
  18. package/lib/api-routes/export-routes.js +27 -2
  19. package/lib/api-routes/gateway-routes.js +63 -12
  20. package/lib/api-routes/license-routes.js +18 -4
  21. package/lib/api-routes/mailbox-routes.js +33 -7
  22. package/lib/api-routes/message-routes.js +291 -145
  23. package/lib/api-routes/oauth2-app-routes.js +90 -24
  24. package/lib/api-routes/outbox-routes.js +16 -4
  25. package/lib/api-routes/pubsub-routes.js +8 -4
  26. package/lib/api-routes/route-helpers.js +14 -1
  27. package/lib/api-routes/settings-routes.js +51 -25
  28. package/lib/api-routes/stats-routes.js +37 -3
  29. package/lib/api-routes/submit-routes.js +31 -42
  30. package/lib/api-routes/template-routes.js +54 -21
  31. package/lib/api-routes/token-routes.js +67 -67
  32. package/lib/api-routes/webhook-route-routes.js +37 -8
  33. package/lib/autodetect-imap-settings.js +0 -2
  34. package/lib/consts.js +5 -0
  35. package/lib/document-store.js +22 -1
  36. package/lib/email-client/base-client.js +31 -8
  37. package/lib/email-client/gmail-client.js +119 -112
  38. package/lib/email-client/imap/mailbox.js +2 -2
  39. package/lib/email-client/imap/subconnection.js +0 -1
  40. package/lib/email-client/imap/sync-operations.js +1 -1
  41. package/lib/email-client/imap-client.js +36 -17
  42. package/lib/email-client/notification-handler.js +3 -6
  43. package/lib/email-client/outlook-client.js +49 -62
  44. package/lib/export.js +49 -1
  45. package/lib/feature-flags.js +8 -2
  46. package/lib/gateway.js +4 -9
  47. package/lib/get-raw-email.js +5 -5
  48. package/lib/imapproxy/imap-core/lib/imap-connection.js +0 -1
  49. package/lib/license-beacon.js +367 -0
  50. package/lib/logger.js +35 -22
  51. package/lib/metrics-collector.js +0 -2
  52. package/lib/oauth2-apps.js +13 -4
  53. package/lib/outbox.js +24 -40
  54. package/lib/redis-operations.js +1 -1
  55. package/lib/routes-ui.js +2 -1
  56. package/lib/schemas.js +403 -83
  57. package/lib/sentry.js +139 -0
  58. package/lib/settings.js +9 -3
  59. package/lib/stream-encrypt.js +1 -1
  60. package/lib/templates.js +1 -1
  61. package/lib/tokens.js +5 -3
  62. package/lib/tools.js +28 -6
  63. package/lib/ui-routes/account-routes.js +7 -4
  64. package/lib/ui-routes/admin-config-routes.js +20 -6
  65. package/lib/ui-routes/document-store-routes.js +7 -1
  66. package/lib/ui-routes/oauth-config-routes.js +0 -2
  67. package/lib/ui-routes/route-helpers.js +0 -2
  68. package/lib/ui-routes/unsubscribe-routes.js +0 -2
  69. package/lib/webhooks.js +8 -4
  70. package/package.json +23 -19
  71. package/sbom.json +1 -1
  72. package/server.js +38 -31
  73. package/static/licenses.html +171 -391
  74. package/translations/de.mo +0 -0
  75. package/translations/de.po +154 -142
  76. package/translations/et.mo +0 -0
  77. package/translations/et.po +129 -131
  78. package/translations/fr.mo +0 -0
  79. package/translations/fr.po +133 -136
  80. package/translations/ja.mo +0 -0
  81. package/translations/ja.po +126 -129
  82. package/translations/messages.pot +107 -107
  83. package/translations/nl.mo +0 -0
  84. package/translations/nl.po +128 -130
  85. package/translations/pl.mo +0 -0
  86. package/translations/pl.po +125 -128
  87. package/update-info.sh +19 -1
  88. package/views/config/logging.hbs +48 -0
  89. package/views/dashboard.hbs +22 -0
  90. package/workers/api.js +33 -37
  91. package/workers/documents.js +2 -22
  92. package/workers/export.js +73 -92
  93. package/workers/imap-proxy.js +3 -23
  94. package/workers/imap.js +2 -22
  95. package/workers/smtp.js +2 -22
  96. package/workers/submit.js +6 -24
  97. package/workers/webhooks.js +2 -22
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: \n"
4
- "POT-Creation-Date: 2026-03-31 08:47+0000\n"
4
+ "POT-Creation-Date: 2026-06-15 18:35+0000\n"
5
5
  "PO-Revision-Date: \n"
6
6
  "Last-Translator: \n"
7
7
  "Language-Team: \n"
@@ -12,7 +12,7 @@ msgstr ""
12
12
  "Plural-Forms: nplurals=1; plural=0;\n"
13
13
  "X-Generator: Poedit 3.9\n"
14
14
 
15
- #: views/error.hbs:4 workers/api.js:7103
15
+ #: views/error.hbs:4 workers/api.js:2957
16
16
  msgid "Something went wrong"
17
17
  msgstr "問題がありました"
18
18
 
@@ -28,14 +28,42 @@ msgstr "戻る"
28
28
  msgid "Dashboard"
29
29
  msgstr "ダッシュボード"
30
30
 
31
- #: views/config/license.hbs:45 lib/routes-ui.js:2497
31
+ #: views/config/license.hbs:45 lib/ui-routes/oauth-config-routes.js:217
32
32
  msgid "%d day"
33
33
  msgid_plural "%d days"
34
34
  msgstr[0] "%d日"
35
35
 
36
36
  #: views/redirect.hbs:1
37
37
  msgid "Click <a href=\"%s\">here</a> to continue&mldr;"
38
- msgstr "続けるには<a href=\"%s\">ここ</a>をクリックしてください。"
38
+ msgstr "続き<a href=\"%s\">はこちら</a>をクリック&mldr;"
39
+
40
+ #: views/oauth-scope-error.hbs:2
41
+ msgid "Insufficient Permissions"
42
+ msgstr "権限不足"
43
+
44
+ #: views/oauth-scope-error.hbs:8
45
+ msgid ""
46
+ "All requested permissions are required for this service to function "
47
+ "properly. Some required permissions were not granted during sign-in."
48
+ msgstr ""
49
+ "このサービスが正常に動作するには、要求されたすべての権限が必要です。サインイ"
50
+ "ン時に、必要な権限の一部が付与されませんでした。"
51
+
52
+ #: views/oauth-scope-error.hbs:12
53
+ msgid "The following permissions were not granted:"
54
+ msgstr "以下の権限は付与されませんでした:"
55
+
56
+ #: views/oauth-scope-error.hbs:21
57
+ msgid ""
58
+ "Please try again and make sure all permission checkboxes are selected on the "
59
+ "Google consent screen."
60
+ msgstr ""
61
+ "もう一度お試しいただき、Googleの同意画面で全ての権限のチェックボックスが選択"
62
+ "されていることをご確認ください。"
63
+
64
+ #: views/oauth-scope-error.hbs:27
65
+ msgid "Try Again"
66
+ msgstr "もう一度試してください"
39
67
 
40
68
  #: views/unsubscribe.hbs:3 views/unsubscribe.hbs:62 views/unsubscribe.hbs:85
41
69
  msgid "Unsubscribe"
@@ -81,34 +109,6 @@ msgstr "メールアドレス"
81
109
  msgid "Enter your email address"
82
110
  msgstr "メールアドレスを入力してください"
83
111
 
84
- #: views/oauth-scope-error.hbs:2
85
- msgid "Insufficient Permissions"
86
- msgstr "権限不足"
87
-
88
- #: views/oauth-scope-error.hbs:8
89
- msgid ""
90
- "All requested permissions are required for this service to function properly. "
91
- "Some required permissions were not granted during sign-in."
92
- msgstr ""
93
- "このサービスが正常に動作するには、要求されたすべての権限が必要です。サインイン"
94
- "時に、必要な権限の一部が付与されませんでした。"
95
-
96
- #: views/oauth-scope-error.hbs:12
97
- msgid "The following permissions were not granted:"
98
- msgstr "以下の権限は付与されませんでした:"
99
-
100
- #: views/oauth-scope-error.hbs:21
101
- msgid ""
102
- "Please try again and make sure all permission checkboxes are selected on the "
103
- "Google consent screen."
104
- msgstr ""
105
- "もう一度お試しいただき、Googleの同意画面で全ての権限のチェックボックスが選択さ"
106
- "れていることをご確認ください。"
107
-
108
- #: views/oauth-scope-error.hbs:27
109
- msgid "Try Again"
110
- msgstr "もう一度試してください"
111
-
112
112
  #: views/accounts/register/imap.hbs:11
113
113
  msgid "Your name"
114
114
  msgstr "名前"
@@ -186,8 +186,8 @@ msgstr "IMAPのTLS"
186
186
 
187
187
  #: views/accounts/register/imap-server.hbs:100
188
188
  msgid ""
189
- "TLS (also known as SSL) is usually only needed when using port 993. For other "
190
- "ports EmailEngine falls back to using STARTTLS based encryption."
189
+ "TLS (also known as SSL) is usually only needed when using port 993. For "
190
+ "other ports EmailEngine falls back to using STARTTLS based encryption."
191
191
  msgstr ""
192
192
  "TLS(SSLとも呼ばれます)は、通常ポート993を使用する場合にのみ必要です。その他"
193
193
  "のポートではEmailEngineがSTARTTLSベースの暗号化にフォールバックします。"
@@ -207,8 +207,8 @@ msgstr "SMTPのTLS"
207
207
 
208
208
  #: views/accounts/register/imap-server.hbs:191
209
209
  msgid ""
210
- "TLS (also known as SSL) is usually only needed when using port 465. For other "
211
- "ports EmailEngine falls back to using STARTTLS based encryption."
210
+ "TLS (also known as SSL) is usually only needed when using port 465. For "
211
+ "other ports EmailEngine falls back to using STARTTLS based encryption."
212
212
  msgstr ""
213
213
  "TLS(SSLとも呼ばれます)は、通常ポート465を使用する場合にのみ必要です。その他"
214
214
  "のポートではEmailEngineがSTARTTLSベースの暗号化にフォールバックします。"
@@ -258,150 +258,147 @@ msgstr "SMTPサーバーに接続できませんでした"
258
258
  msgid "Request failed."
259
259
  msgstr "リクエストに失敗しました。"
260
260
 
261
- #: lib/routes-ui.js:384 lib/ui-routes/account-routes.js:60
262
- msgid "Delegated"
263
- msgstr "委任された"
264
-
265
- #: lib/routes-ui.js:385 lib/ui-routes/account-routes.js:61
266
- msgid "Using credentials from \"%s\""
267
- msgstr "\"%s\"の認証情報を使用"
268
-
269
- #: lib/routes-ui.js:435 lib/ui-routes/account-routes.js:111
270
- msgid ""
271
- "Connection timed out. This usually occurs if you are behind a firewall or "
272
- "connecting to the wrong port."
273
- msgstr ""
274
- "接続がタイムアウトしました。これは通常、ファイアウォールの内側にいるか、間違っ"
275
- "たポートに接続している場合に発生します。"
276
-
277
- #: lib/routes-ui.js:438 lib/ui-routes/account-routes.js:114
278
- msgid "The server unexpectedly closed the connection."
279
- msgstr "サーバーが予期せず接続を閉じました。"
280
-
281
- #: lib/routes-ui.js:441 lib/ui-routes/account-routes.js:117
282
- msgid ""
283
- "The server unexpectedly closed the connection. This usually happens when "
284
- "attempting to connect to a TLS port without TLS enabled."
285
- msgstr ""
286
- "サーバーが予期せず接続を切断しました。これは通常、TLSが有効になっていないTLS"
287
- "ポートに接続しようとしたときに発生します。"
288
-
289
- #: lib/routes-ui.js:446 lib/ui-routes/account-routes.js:122
261
+ #: lib/autodetect-imap-settings.js:80
290
262
  msgid ""
291
- "The server refused the connection. This typically occurs if the server is not "
292
- "running, is overloaded, or you are connecting to the wrong host or port."
263
+ "Microsoft has disabled password-based sign-ins (including app passwords) for "
264
+ "Outlook.com, Hotmail.com, and Microsoft 365 email accounts. To continue, "
265
+ "please use the \"Sign in with Microsoft\" button to securely connect your "
266
+ "account."
293
267
  msgstr ""
294
- "サーバーが接続を拒否しました。これは通常、サーバーが稼動していないか、過負荷に"
295
- "なっているか、間違ったホストまたはポートに接続している場合に発生します。"
268
+ "マイクロソフトは、Outlook.com、Hotmail.com、およびMicrosoft 365メールアカウン"
269
+ "トのパスワードベースのサインイン(アプリのパスワードを含む)を無効にしていま"
270
+ "す。続行するには、「Microsoftでサインイン」ボタンを使用してアカウントを安全に"
271
+ "接続してください。"
296
272
 
297
- #: lib/routes-ui.js:573
298
- msgid "Invalid API key for OpenAI"
299
- msgstr "OpenAIの無効なAPIキー"
273
+ #: lib/tools.js:975 lib/ui-routes/unsubscribe-routes.js:28
274
+ msgid "Invalid input"
275
+ msgstr "無効な入力"
300
276
 
301
- #: lib/routes-ui.js:2490
302
- msgid "Unknown"
303
- msgstr "不明"
277
+ #: lib/tools.js:1742
278
+ msgid "Signature validation failed"
279
+ msgstr "署名の検証に失敗しました"
304
280
 
305
- #: lib/routes-ui.js:2499
306
- msgid "Indefinite"
307
- msgstr "不定"
281
+ #: lib/tools.js:1751 lib/tools.js:1756
282
+ msgid "Invalid or expired account setup URL"
283
+ msgstr "無効または期限切れのアカウント設定URL"
308
284
 
309
- #: lib/routes-ui.js:5133 lib/routes-ui.js:5168 lib/routes-ui.js:5283
310
- #: lib/routes-ui.js:5330 lib/routes-ui.js:5577 lib/routes-ui.js:5613
311
- #: workers/api.js:2279 workers/api.js:2607 lib/ui-routes/account-routes.js:554
312
- #: lib/ui-routes/account-routes.js:590 lib/ui-routes/account-routes.js:707
313
- #: lib/ui-routes/account-routes.js:754 lib/ui-routes/account-routes.js:1003
314
- #: lib/ui-routes/account-routes.js:1039
285
+ #: lib/ui-routes/account-routes.js:402 lib/ui-routes/account-routes.js:437
286
+ #: lib/ui-routes/account-routes.js:552 lib/ui-routes/account-routes.js:599
287
+ #: lib/ui-routes/account-routes.js:846 lib/ui-routes/account-routes.js:882
288
+ #: workers/api.js:2158 workers/api.js:2486
315
289
  msgid "Email Account Setup"
316
290
  msgstr "メールアカウント設定"
317
291
 
318
- #: lib/routes-ui.js:5193 lib/routes-ui.js:5226 lib/routes-ui.js:8186
319
- #: lib/ui-routes/account-routes.js:615 lib/ui-routes/account-routes.js:649
292
+ #: lib/ui-routes/account-routes.js:462 lib/ui-routes/account-routes.js:495
293
+ #: lib/ui-routes/unsubscribe-routes.js:65
320
294
  msgid "Invalid request. Check your input and try again."
321
295
  msgstr "無効なリクエストです。入力内容を確認して、もう一度お試しください。"
322
296
 
323
- #: lib/routes-ui.js:5386 lib/routes-ui.js:5397
324
- #: lib/ui-routes/account-routes.js:811 lib/ui-routes/account-routes.js:822
297
+ #: lib/ui-routes/account-routes.js:592 lib/ui-routes/account-routes.js:875
298
+ msgid "Couldn't set up account. Try again."
299
+ msgstr "アカウントを設定できませんでした。もう一度お試しください。"
300
+
301
+ #: lib/ui-routes/account-routes.js:655 lib/ui-routes/account-routes.js:666
325
302
  #: lib/ui-routes/admin-entities-routes.js:2020
326
303
  msgid "Server hostname was not found"
327
304
  msgstr "サーバーホスト名が見つかりませんでした"
328
305
 
329
- #: lib/routes-ui.js:5389 lib/routes-ui.js:5400
330
- #: lib/ui-routes/account-routes.js:814 lib/ui-routes/account-routes.js:825
306
+ #: lib/ui-routes/account-routes.js:658 lib/ui-routes/account-routes.js:669
331
307
  #: lib/ui-routes/admin-entities-routes.js:2023
332
308
  msgid "Invalid username or password"
333
309
  msgstr "無効なユーザー名またはパスワード"
334
310
 
335
- #: lib/routes-ui.js:5403 lib/ui-routes/account-routes.js:828
311
+ #: lib/ui-routes/account-routes.js:672
336
312
  #: lib/ui-routes/admin-entities-routes.js:2026
337
313
  msgid "Authentication credentials were not provided"
338
314
  msgstr "認証情報が提供されませんでした"
339
315
 
340
- #: lib/routes-ui.js:5406 lib/ui-routes/account-routes.js:831
316
+ #: lib/ui-routes/account-routes.js:675
341
317
  #: lib/ui-routes/admin-entities-routes.js:2029
342
318
  msgid "OAuth2 authentication failed"
343
319
  msgstr "OAuth2認証に失敗しました"
344
320
 
345
- #: lib/routes-ui.js:5409 lib/routes-ui.js:5413
346
- #: lib/ui-routes/account-routes.js:834 lib/ui-routes/account-routes.js:838
321
+ #: lib/ui-routes/account-routes.js:678 lib/ui-routes/account-routes.js:682
347
322
  #: lib/ui-routes/admin-entities-routes.js:2032
348
323
  #: lib/ui-routes/admin-entities-routes.js:2036
349
324
  msgid "TLS protocol error"
350
325
  msgstr "TLSプロトコルエラー"
351
326
 
352
- #: lib/routes-ui.js:5417 lib/ui-routes/account-routes.js:842
327
+ #: lib/ui-routes/account-routes.js:686
353
328
  #: lib/ui-routes/admin-entities-routes.js:2040
354
329
  msgid "Connection timed out"
355
330
  msgstr "接続タイムアウト"
356
331
 
357
- #: lib/routes-ui.js:5420 lib/ui-routes/account-routes.js:845
332
+ #: lib/ui-routes/account-routes.js:689
358
333
  #: lib/ui-routes/admin-entities-routes.js:2043
359
334
  msgid "Could not connect to server"
360
335
  msgstr "サーバーに接続できませんでした"
361
336
 
362
- #: lib/routes-ui.js:5423 lib/ui-routes/account-routes.js:848
337
+ #: lib/ui-routes/account-routes.js:692
363
338
  #: lib/ui-routes/admin-entities-routes.js:2046
364
339
  msgid "Unexpected server response"
365
340
  msgstr "予期しないサーバー応答"
366
341
 
367
- #: lib/routes-ui.js:8149 lib/tools.js:950
368
- msgid "Invalid input"
369
- msgstr "無効な入力"
342
+ #: lib/ui-routes/admin-config-routes.js:145
343
+ msgid "Invalid API key for OpenAI"
344
+ msgstr "OpenAIの無効なAPIキー"
370
345
 
371
- #: lib/routes-ui.js:8159 lib/routes-ui.js:8277 lib/routes-ui.js:8294
372
- #: lib/routes-ui.js:8330
373
- msgid "Subscription Management"
374
- msgstr "サブスクリプション管理"
346
+ #: lib/ui-routes/oauth-config-routes.js:210
347
+ msgid "Unknown"
348
+ msgstr "不明"
375
349
 
376
- #: workers/api.js:7102 workers/api.js:7219
377
- msgid "Requested page not found"
378
- msgstr "リクエストされたページが見つかりません"
350
+ #: lib/ui-routes/oauth-config-routes.js:219
351
+ msgid "Indefinite"
352
+ msgstr "不定"
379
353
 
380
- #: lib/tools.js:1653
381
- msgid "Signature validation failed"
382
- msgstr "署名の検証に失敗しました"
354
+ #: lib/ui-routes/route-helpers.js:81
355
+ msgid "Delegated"
356
+ msgstr "委任された"
383
357
 
384
- #: lib/tools.js:1662 lib/tools.js:1667
385
- msgid "Invalid or expired account setup URL"
386
- msgstr "無効または期限切れのアカウント設定URL"
358
+ #: lib/ui-routes/route-helpers.js:82
359
+ msgid "Using credentials from \"%s\""
360
+ msgstr "\"%s\"の認証情報を使用"
387
361
 
388
- #: lib/autodetect-imap-settings.js:80
362
+ #: lib/ui-routes/route-helpers.js:132
389
363
  msgid ""
390
- "Microsoft has disabled password-based sign-ins (including app passwords) for "
391
- "Outlook.com, Hotmail.com, and Microsoft 365 email accounts. To continue, "
392
- "please use the \"Sign in with Microsoft\" button to securely connect your "
393
- "account."
364
+ "Connection timed out. This usually occurs if you are behind a firewall or "
365
+ "connecting to the wrong port."
394
366
  msgstr ""
395
- "マイクロソフトは、Outlook.com、Hotmail.com、およびMicrosoft 365メールアカウン"
396
- "トのパスワードベースのサインイン(アプリのパスワードを含む)を無効にしていま"
397
- "す。続行するには、「Microsoftでサインイン」ボタンを使用してアカウントを安全に"
398
- "接続してください。"
367
+ "接続がタイムアウトしました。これは通常、ファイアウォールの内側にいるか、間"
368
+ "違ったポートに接続している場合に発生します。"
399
369
 
400
- #: lib/ui-routes/account-routes.js:747 lib/ui-routes/account-routes.js:1032
401
- msgid "Couldn't set up account. Try again."
402
- msgstr "アカウントを設定できませんでした。もう一度お試しください。"
370
+ #: lib/ui-routes/route-helpers.js:135
371
+ msgid "The server unexpectedly closed the connection."
372
+ msgstr "サーバーが予期せず接続を閉じました。"
403
373
 
404
- #, fuzzy
405
- #~| msgid "Failed to process request"
406
- #~ msgid "Couldn't process request. Try again."
407
- #~ msgstr "リクエストの処理に失敗しました"
374
+ #: lib/ui-routes/route-helpers.js:138
375
+ msgid ""
376
+ "The server unexpectedly closed the connection. This usually happens when "
377
+ "attempting to connect to a TLS port without TLS enabled."
378
+ msgstr ""
379
+ "サーバーが予期せず接続を切断しました。これは通常、TLSが有効になっていないTLS"
380
+ "ポートに接続しようとしたときに発生します。"
381
+
382
+ #: lib/ui-routes/route-helpers.js:143
383
+ msgid ""
384
+ "The server refused the connection. This typically occurs if the server is "
385
+ "not running, is overloaded, or you are connecting to the wrong host or port."
386
+ msgstr ""
387
+ "サーバーが接続を拒否しました。これは通常、サーバーが稼動していないか、過負荷"
388
+ "になっているか、間違ったホストまたはポートに接続している場合に発生します。"
389
+
390
+ #: lib/ui-routes/unsubscribe-routes.js:38
391
+ #: lib/ui-routes/unsubscribe-routes.js:156
392
+ #: lib/ui-routes/unsubscribe-routes.js:173
393
+ #: lib/ui-routes/unsubscribe-routes.js:209
394
+ msgid "Subscription Management"
395
+ msgstr "サブスクリプション管理"
396
+
397
+ #: lib/ui-routes/unsubscribe-routes.js:167
398
+ #: lib/ui-routes/unsubscribe-routes.js:202
399
+ msgid "Couldn't process request. Try again."
400
+ msgstr "リクエストを処理できませんでした。もう一度お試しください。"
401
+
402
+ #: workers/api.js:2956 workers/api.js:3071
403
+ msgid "Requested page not found"
404
+ msgstr "リクエストされたページが見つかりません"