diff --git a/app/blueprints/admin/email.py b/app/blueprints/admin/email.py
index 74a360db..99b8aada 100644
--- a/app/blueprints/admin/email.py
+++ b/app/blueprints/admin/email.py
@@ -55,7 +55,7 @@ def send_single_email():
text = form.text.data
html = render_markdown(text)
- task = send_user_email.delay(user.email, form.subject.data, text, html)
+ task = send_user_email.delay(user.email, user.locale or "en",form.subject.data, text, html)
return redirect(url_for("tasks.check", id=task.id, r=next_url))
return render_template("admin/send_email.html", form=form, user=user)
@@ -72,7 +72,7 @@ def send_bulk_email():
text = form.text.data
html = render_markdown(text)
for user in User.query.filter(User.email != None).all():
- send_user_email.delay(user.email, form.subject.data, text, html)
+ send_user_email.delay(user.email, user.locale or "en", form.subject.data, text, html)
return redirect(url_for("admin.admin_page"))
diff --git a/app/blueprints/report/__init__.py b/app/blueprints/report/__init__.py
index 71327012..bf8a999d 100644
--- a/app/blueprints/report/__init__.py
+++ b/app/blueprints/report/__init__.py
@@ -54,7 +54,8 @@ def report():
task = None
for admin in User.query.filter_by(rank=UserRank.ADMIN).all():
- task = send_user_email.delay(admin.email, f"User report from {user_info}", text)
+ task = send_user_email.delay(admin.email, admin.locale or "en",
+ f"User report from {user_info}", text)
post_discord_webhook.delay(None if is_anon else current_user.username, f"**New Report**\n{url}\n\n{form.message.data}", True)
diff --git a/app/blueprints/users/account.py b/app/blueprints/users/account.py
index b8de2746..274340cf 100644
--- a/app/blueprints/users/account.py
+++ b/app/blueprints/users/account.py
@@ -17,7 +17,7 @@
from flask import *
-from flask_babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext, get_locale
from flask_login import current_user, login_required, logout_user, login_user
from flask_wtf import FlaskForm
from sqlalchemy import or_
@@ -142,7 +142,7 @@ def handle_register(form):
user_by_email = User.query.filter_by(email=form.email.data).first()
if user_by_email:
- send_anon_email.delay(form.email.data, gettext("Email already in use"),
+ send_anon_email.delay(form.email.data, get_locale().language, gettext("Email already in use"),
gettext("We were unable to create the account as the email is already in use by %(display_name)s. Try a different email address.",
display_name=user_by_email.display_name))
return redirect(url_for("users.email_sent"))
@@ -168,7 +168,7 @@ def handle_register(form):
db.session.add(ver)
db.session.commit()
- send_verify_email.delay(form.email.data, token)
+ send_verify_email.delay(form.email.data, token, get_locale().language)
return redirect(url_for("users.email_sent"))
@@ -209,25 +209,11 @@ def forgot_password():
db.session.add(ver)
db.session.commit()
- send_verify_email.delay(form.email.data, token)
+ send_verify_email.delay(form.email.data, token, get_locale().language)
else:
- send_anon_email.delay(email, "Unable to find account", """
-
- We were unable to perform the password reset as we could not find an account
- associated with this email.
-
-
- This may be because you used another email with your account, or because you never
- confirmed your email.
-
-
- You can use GitHub to log in if it is associated with your account.
- Otherwise, you may need to contact rubenwardy for help.
-
-
- If you weren't expecting to receive this email, then you can safely ignore it.
-
- """)
+ html = render_template("emails/unable_to_find_account.html")
+ send_anon_email.delay(email, get_locale().language, gettext("Unable to find account"),
+ html, html)
return redirect(url_for("users.email_sent"))
@@ -269,7 +255,7 @@ def handle_set_password(form):
user_by_email = User.query.filter_by(email=form.email.data).first()
if user_by_email:
- send_anon_email.delay(form.email.data, gettext("Email already in use"),
+ send_anon_email.delay(form.email.data, get_locale().language, gettext("Email already in use"),
gettext(u"We were unable to create the account as the email is already in use by %(display_name)s. Try a different email address.",
display_name=user_by_email.display_name))
else:
@@ -282,7 +268,7 @@ def handle_set_password(form):
db.session.add(ver)
db.session.commit()
- send_verify_email.delay(form.email.data, token)
+ send_verify_email.delay(form.email.data, token, get_locale().language)
flash(gettext("Your password has been changed successfully."), "success")
return redirect(url_for("users.email_sent"))
@@ -360,6 +346,7 @@ def verify_email():
if user.email:
send_user_email.delay(user.email,
+ user.locale or "en",
gettext("Email address changed"),
gettext("Your email address has changed. If you didn't request this, please contact an administrator."))
@@ -401,7 +388,7 @@ def unsubscribe_verify():
sub.token = randomString(32)
db.session.commit()
- send_unsubscribe_verify.delay(form.email.data)
+ send_unsubscribe_verify.delay(form.email.data, get_locale().language)
return redirect(url_for("users.email_sent"))
diff --git a/app/blueprints/users/settings.py b/app/blueprints/users/settings.py
index c277f59d..22e0da7b 100644
--- a/app/blueprints/users/settings.py
+++ b/app/blueprints/users/settings.py
@@ -1,5 +1,5 @@
from flask import *
-from flask_babel import gettext, lazy_gettext
+from flask_babel import gettext, lazy_gettext, get_locale
from flask_login import current_user, login_required, logout_user
from flask_wtf import FlaskForm
from sqlalchemy import or_
@@ -156,7 +156,7 @@ def handle_email_notifications(user, prefs: UserNotificationPreferences, is_new,
db.session.add(ver)
db.session.commit()
- send_verify_email.delay(newEmail, token)
+ send_verify_email.delay(newEmail, token, get_locale().language)
return redirect(url_for("users.email_sent"))
db.session.commit()
@@ -342,7 +342,7 @@ def modtools_set_email(username):
db.session.add(ver)
db.session.commit()
- send_verify_email.delay(user.email, token)
+ send_verify_email.delay(user.email, token, user.locale or "en")
flash(f"Set email and sent a password reset on {user.username}", "success")
return redirect(url_for("users.modtools", username=username))
diff --git a/app/maillogger.py b/app/maillogger.py
index 3b20949d..045efc8c 100644
--- a/app/maillogger.py
+++ b/app/maillogger.py
@@ -73,7 +73,7 @@ class FlaskMailHandler(logging.Handler):
text = self.format(record) if self.formatter else None
html = "{}
".format(text)
for email in self.send_to:
- send_user_email.delay(email, self.getSubject(record), text, html)
+ send_user_email.delay(email, "en", self.getSubject(record), text, html)
def build_handler(app):
diff --git a/app/tasks/emails.py b/app/tasks/emails.py
index c69d2436..602a089d 100644
--- a/app/tasks/emails.py
+++ b/app/tasks/emails.py
@@ -16,6 +16,7 @@
from flask import render_template, escape
+from flask_babel import force_locale, gettext
from flask_mail import Message
from app import mail
from app.models import Notification, db, EmailSubscription, User
@@ -36,112 +37,121 @@ def get_email_subscription(email):
@celery.task()
-def send_verify_email(email, token):
+def send_verify_email(email, token, locale):
sub = get_email_subscription(email)
if sub.blacklisted:
return
- msg = Message("Confirm email address", recipients=[email])
+ with force_locale(locale or "en"):
+ msg = Message("Confirm email address", recipients=[email])
- msg.body = """
- This email has been sent to you because someone (hopefully you)
- has entered your email address as a user's email.
+ msg.body = """
+ This email has been sent to you because someone (hopefully you)
+ has entered your email address as a user's email.
+
+ If it wasn't you, then just delete this email.
+
+ If this was you, then please click this link to confirm the address:
+
+ {}
+ """.format(abs_url_for('users.verify_email', token=token))
- If it wasn't you, then just delete this email.
-
- If this was you, then please click this link to confirm the address:
-
- {}
- """.format(abs_url_for('users.verify_email', token=token))
-
- msg.html = render_template("emails/verify.html", token=token, sub=sub)
- mail.send(msg)
+ msg.html = render_template("emails/verify.html", token=token, sub=sub)
+ mail.send(msg)
@celery.task()
-def send_unsubscribe_verify(email):
+def send_unsubscribe_verify(email, locale):
sub = get_email_subscription(email)
if sub.blacklisted:
return
- msg = Message("Confirm unsubscribe", recipients=[email])
+ with force_locale(locale or "en"):
+ msg = Message("Confirm unsubscribe", recipients=[email])
- msg.body = """
- We're sorry to see you go. You just need to do one more thing before your email is blacklisted.
-
- Click this link to blacklist email: {}
- """.format(abs_url_for('users.unsubscribe', token=sub.token))
+ msg.body = """
+ We're sorry to see you go. You just need to do one more thing before your email is blacklisted.
+
+ Click this link to blacklist email: {}
+ """.format(abs_url_for('users.unsubscribe', token=sub.token))
- msg.html = render_template("emails/verify_unsubscribe.html", sub=sub)
- mail.send(msg)
+ msg.html = render_template("emails/verify_unsubscribe.html", sub=sub)
+ mail.send(msg)
@celery.task()
-def send_email_with_reason(email, subject, text, html, reason):
+def send_email_with_reason(email: str, locale: str, subject: str, text: str, html: str, reason: str):
sub = get_email_subscription(email)
if sub.blacklisted:
return
- from flask_mail import Message
- msg = Message(subject, recipients=[email])
+ with force_locale(locale or "en"):
+ from flask_mail import Message
+ msg = Message(subject, recipients=[email])
- msg.body = text
- html = html or f"{escape(text)}
"
- msg.html = render_template("emails/base.html", subject=subject, content=html, reason=reason, sub=sub)
- mail.send(msg)
+ msg.body = text
+ html = html or f"{escape(text)}
"
+ msg.html = render_template("emails/base.html", subject=subject, content=html, reason=reason, sub=sub)
+ mail.send(msg)
@celery.task()
-def send_user_email(email: str, subject: str, text: str, html=None):
- return send_email_with_reason(email, subject, text, html,
- "You are receiving this email because you are a registered user of ContentDB.")
+def send_user_email(email: str, locale: str, subject: str, text: str, html=None):
+ with force_locale(locale or "en"):
+ return send_email_with_reason(email, locale, subject, text, html,
+ gettext("You are receiving this email because you are a registered user of ContentDB."))
@celery.task()
-def send_anon_email(email: str, subject: str, text: str, html=None):
- return send_email_with_reason(email, subject, text, html,
- "You are receiving this email because someone (hopefully you) entered your email address as a user's email.")
+def send_anon_email(email: str, locale: str, subject: str, text: str, html=None):
+ with force_locale(locale or "en"):
+ return send_email_with_reason(email, locale, subject, text, html,
+ gettext("You are receiving this email because someone (hopefully you) entered your email address as a user's email."))
-def send_single_email(notification):
+def send_single_email(notification, locale):
sub = get_email_subscription(notification.user.email)
if sub.blacklisted:
return
- msg = Message(notification.title, recipients=[notification.user.email])
+ with force_locale(locale or "en"):
+ msg = Message(notification.title, recipients=[notification.user.email])
- msg.body = """
- New notification: {}
-
- View: {}
-
- Manage email settings: {}
- Unsubscribe: {}
- """.format(notification.title, abs_url(notification.url),
- abs_url_for("users.email_notifications", username=notification.user.username),
- abs_url_for("users.unsubscribe", token=sub.token))
+ msg.body = """
+ New notification: {}
+
+ View: {}
+
+ Manage email settings: {}
+ Unsubscribe: {}
+ """.format(notification.title, abs_url(notification.url),
+ abs_url_for("users.email_notifications", username=notification.user.username),
+ abs_url_for("users.unsubscribe", token=sub.token))
- msg.html = render_template("emails/notification.html", notification=notification, sub=sub)
- mail.send(msg)
+ msg.html = render_template("emails/notification.html", notification=notification, sub=sub)
+ mail.send(msg)
-def send_notification_digest(notifications: [Notification]):
+def send_notification_digest(notifications: [Notification], locale):
user = notifications[0].user
sub = get_email_subscription(user.email)
if sub.blacklisted:
return
- msg = Message("{} new notifications".format(len(notifications)), recipients=[user.email])
+ with force_locale(locale or "en"):
+ msg = Message(gettext("%(num)d new notifications", len(notifications)), recipients=[user.email])
- msg.body = "".join(["<{}> {}\nView: {}\n\n".format(notification.causer.display_name, notification.title, abs_url(notification.url)) for notification in notifications])
+ msg.body = "".join(["<{}> {}\n{}: {}\n\n".format(notification.causer.display_name, notification.title, gettext("View"), abs_url(notification.url)) for notification in notifications])
- msg.body += "Manage email settings: {}\nUnsubscribe: {}".format(
- abs_url_for("users.email_notifications", username=user.username),
- abs_url_for("users.unsubscribe", token=sub.token))
+ msg.body += "{}: {}\n{}: {}".format(
+ gettext("Manage email settings"),
+ abs_url_for("users.email_notifications", username=user.username),
+ gettext("Unsubscribe"),
+ abs_url_for("users.unsubscribe", token=sub.token))
- msg.html = render_template("emails/notification_digest.html", notifications=notifications, user=user, sub=sub)
- mail.send(msg)
+ msg.html = render_template("emails/notification_digest.html", notifications=notifications, user=user, sub=sub)
+ mail.send(msg)
@celery.task()
@@ -154,7 +164,7 @@ def send_pending_digests():
notification.emailed = True
if len(to_send) > 0:
- send_notification_digest(to_send)
+ send_notification_digest(to_send, user.locale or "en")
db.session.commit()
@@ -174,6 +184,6 @@ def send_pending_notifications():
db.session.commit()
if len(to_send) > 1:
- send_notification_digest(to_send)
+ send_notification_digest(to_send, user.locale or "en")
elif len(to_send) > 0:
- send_single_email(to_send[0])
+ send_single_email(to_send[0], user.locale or "en")
diff --git a/app/templates/emails/unable_to_find_account.html b/app/templates/emails/unable_to_find_account.html
new file mode 100644
index 00000000..22971e6a
--- /dev/null
+++ b/app/templates/emails/unable_to_find_account.html
@@ -0,0 +1,13 @@
+
+ {{ _("We were unable to perform the password reset as we could not find an account associated with this email.") }}
+
+
+ {{ _("This may be because you used another email with your account, or because you never confirmed your email.") }}
+
+
+ {{ _("You can use GitHub to log in if it is associated with your account.") }}
+ {{ _("Otherwise, you may need to contact rubenwardy for help.") }}
+
+
+ {{ _("If you weren't expecting to receive this email, then you can safely ignore it.") }}
+
\ No newline at end of file
diff --git a/translations/de/LC_MESSAGES/messages.po b/translations/de/LC_MESSAGES/messages.po
index ac885946..74afe443 100644
--- a/translations/de/LC_MESSAGES/messages.po
+++ b/translations/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-22 20:28+0000\n"
"Last-Translator: debiankaios \n"
"Language: de\n"
@@ -46,7 +46,7 @@ msgstr "Auf Paket begrenzen"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -544,7 +544,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Nur a-zA-Z0-9._ sind erlaubt"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "E-Mail"
@@ -583,11 +583,11 @@ msgstr ""
"Dieser Benutzername/Anzeigename ist bereits in Gebrauch, bitte wählen Sie"
" einen anderen."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "E-Mail bereits in Benutzung"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -597,7 +597,7 @@ msgstr ""
"%(display_name)s verwendet wird. Versuchen Sie eine andere E-Mail-"
"Adresse."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -608,55 +608,59 @@ msgstr ""
msgid "Reset Password"
msgstr "Passwort zurücksetzen"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Neues Passwort"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Passwort bestätigen"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Passwörter müssen übereinstimmen"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Altes Passwort"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Passwörter stimmen nicht überein"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Ihr Passwort wurde erfolgreich geändert."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "Altes Passwort ist falsch"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "Unbekannter Verifizierungs-Token!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "Der Token ist abgelaufen"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Diese E-Mail wird bereits von einem anderen Benutzer verwendet"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Bestätigte E-Mail-Änderung"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "E-Mail Adresse geändert"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -664,15 +668,15 @@ msgstr ""
"Ihre E-Mail-Adresse hat sich geändert. Wenn Sie dies nicht beantragt "
"haben, wenden Sie sich bitte an einen Administrator."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Sie können sich jetzt anmelden"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Senden"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -967,6 +971,44 @@ msgstr "Genehmigen"
msgid "Delete"
msgstr "Löschen"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+"Sie empfangen diese E-Mail, weil jemand (hoffentlich Sie) die E-Mail-"
+"Adresse als Benutzer-E-Mail hinterlegt hat."
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr "Ansehen"
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr "Deabonnieren"
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Seite nicht gefunden"
@@ -1298,14 +1340,6 @@ msgstr "API-Dokumentation"
msgid "No tokens created"
msgstr "Keine Tokens erstellt"
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr "Deabonnieren"
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1352,6 +1386,32 @@ msgstr "Von %(username)s."
msgid "View Notifications"
msgstr "Benachrichtigungen anschauen"
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1384,14 +1444,6 @@ msgstr "E-Mail-Adresse bestätigen"
msgid "Or paste this into your browser:"
msgstr "Oder kopieren Sie dies in Ihren Browser:"
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-"Sie empfangen diese E-Mail, weil jemand (hoffentlich Sie) die E-Mail-"
-"Adresse als Benutzer-E-Mail hinterlegt hat."
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1421,12 +1473,6 @@ msgstr "Gelöschter Benutzer"
msgid "No audit log entries."
msgstr "Keine Audit-Log Einträge."
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr "Ansehen"
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr "Beginnen Sie mit der Eingabe, um Vorschläge zu sehen"
diff --git a/translations/es/LC_MESSAGES/messages.po b/translations/es/LC_MESSAGES/messages.po
index b2faad51..814ee64a 100644
--- a/translations/es/LC_MESSAGES/messages.po
+++ b/translations/es/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-22 20:27+0000\n"
"Last-Translator: rubenwardy \n"
"Language: es\n"
@@ -46,7 +46,7 @@ msgstr "Limitar al paquete"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -547,7 +547,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Sólo se admiten los caracteres a-zA-Z0-9._"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "Correo electrónico"
@@ -586,11 +586,11 @@ msgstr ""
"Ese nombre de usuario/nombre a mostrar ya está en uso, por favor elija "
"otro."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "Correo electrónico ya en uso"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -600,7 +600,7 @@ msgstr ""
"uso por %(display_name)s. Pruebe con otra dirección de correo "
"electrónico."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -611,55 +611,59 @@ msgstr ""
msgid "Reset Password"
msgstr "Restablecer la contraseña"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Nueva contraseña"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Verificar contraseña"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Las contraseñas deben coincidir"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Contraseña anterior"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Las contraseñas no coinciden"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Su contraseña ha sido cambiada satisfactoriamente."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "La contraseña antigua es incorrecta"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "¡Token de verificación desconocido!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "El token ha expirado"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Otro usuario está usando ese correo electrónico"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Cambio de correo electrónico confirmado"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "Dirección de correo electrónico cambiada"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -667,15 +671,15 @@ msgstr ""
"Su dirección de correo electrónico ha cambiado. Si no ha solicitado esto,"
" por favor póngase en contacto con un administrador."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Ahora puede iniciar sesión"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Enviar"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -964,6 +968,44 @@ msgstr "Aprobado"
msgid "Delete"
msgstr "Borrar"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+"Usted está recibiendo este correo electrónico porque alguien (con suerte,"
+" usted) ha introducido su dirección de correo electrónico como usuario."
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr "Ver"
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr "Anular la suscripción"
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Página web no encontrada"
@@ -1295,14 +1337,6 @@ msgstr "Documentación de la API"
msgid "No tokens created"
msgstr "No se han creado tokens"
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr "Anular la suscripción"
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1349,6 +1383,32 @@ msgstr "De %(username)s."
msgid "View Notifications"
msgstr "Ver notificaciones"
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1382,14 +1442,6 @@ msgstr "Confirmar dirección de correo electrónico"
msgid "Or paste this into your browser:"
msgstr "O pegue esto en su navegador:"
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-"Usted está recibiendo este correo electrónico porque alguien (con suerte,"
-" usted) ha introducido su dirección de correo electrónico como usuario."
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1420,12 +1472,6 @@ msgstr "Usuario eliminado"
msgid "No audit log entries."
msgstr "Sin entradas en el registro de auditoría."
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr "Ver"
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr "Empiece a escribir para ver sugerencias"
diff --git a/translations/fr/LC_MESSAGES/messages.po b/translations/fr/LC_MESSAGES/messages.po
index e35cf563..b6db9337 100644
--- a/translations/fr/LC_MESSAGES/messages.po
+++ b/translations/fr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-22 20:27+0000\n"
"Last-Translator: Lemente \n"
"Language: fr\n"
@@ -46,7 +46,7 @@ msgstr "Limiter au paquet"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -552,7 +552,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Seulement a-zA-Z0-9._ autorisé"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "Email"
@@ -591,11 +591,11 @@ msgstr ""
"Ce nom d'utilisateur/nom d'affichage est déjà utilisé, veuillez en "
"choisir un autre."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "E-mail déjà utilisé"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -604,7 +604,7 @@ msgstr ""
"Nous n'avons pas pu créer le compte car l'adresse électronique est déjà "
"utilisée par %(display_name)s. Essayez avec une autre adresse e-mail."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -615,55 +615,59 @@ msgstr ""
msgid "Reset Password"
msgstr "Réinitialiser le mot de passe"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Nouveau mot de passe"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Vérifier le mot de passe"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Les mots de passe doivent correspondre"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Ancien mot de passe"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Les mots de passe ne correspondent pas"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Votre mot de passe a été modifié avec succès."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "L'ancien mot de passe est incorrect"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "Jeton de vérification inconnu"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "Jeton de vérification expiré"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Un autre utilisateur utilise déjà cet e-mail"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Confirmation du changement d'e-mail"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "L'e-mail a changée"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -671,15 +675,15 @@ msgstr ""
"Votre adresse électronique a changé. Si vous ne l'avez pas demandé, "
"veuillez contacter un administrateur."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Vous pouvez maintenant vous connecter"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Envoyé"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -971,6 +975,44 @@ msgstr "Approuver"
msgid "Delete"
msgstr "Supprimer"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+"Vous recevez cet email car quelqu'un (vous-même on espère) à utilisé "
+"cette adresse email comme email d'utilisateur."
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr "Voir"
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr "Se désabonner"
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Page introuvable"
@@ -1304,14 +1346,6 @@ msgstr "Documentation de l'API"
msgid "No tokens created"
msgstr "Aucun token créé"
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr "Se désabonner"
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1358,6 +1392,32 @@ msgstr "de %(username)s."
msgid "View Notifications"
msgstr "Voir les notifications"
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1388,14 +1448,6 @@ msgstr "Confirmer l'adresse e-mail"
msgid "Or paste this into your browser:"
msgstr "Ou collez ceci dans votre navigateur :"
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-"Vous recevez cet email car quelqu'un (vous-même on espère) à utilisé "
-"cette adresse email comme email d'utilisateur."
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1425,12 +1477,6 @@ msgstr "Utilisateur supprimé"
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr "Voir"
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr "Commencez à taper pour voir les suggestions"
diff --git a/translations/hu/LC_MESSAGES/messages.po b/translations/hu/LC_MESSAGES/messages.po
index 54626bfd..8fb726f7 100644
--- a/translations/hu/LC_MESSAGES/messages.po
+++ b/translations/hu/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-13 22:35+0000\n"
"Last-Translator: pampogo kiraly \n"
"Language: hu\n"
@@ -46,7 +46,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -554,7 +554,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Csak a-zA-Z0-9._ engedélyezett"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "E-mail"
@@ -592,11 +592,11 @@ msgstr ""
"Ez a felhasználónév/megjelenítendő név már használatban van, kérjük, "
"válasszon másikat."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "Már használatban lévő e-mail"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -605,7 +605,7 @@ msgstr ""
"Nem tudtuk létrehozni a fiókot, mivel az e-mailt már használja "
"%(display_name)s. Próbáljon ki egy másik e-mail címet."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -615,56 +615,60 @@ msgstr ""
msgid "Reset Password"
msgstr "Jelszó Visszaállítása"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Új jelszó"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Jelszó megerösítése"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "A jelszavaknak egyezniük kell"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Régi jelszó"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "A jelszavak nem egyeznek"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "A jelszó sikeresen megváltozott."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "A régi jelszó helytelen"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
#, fuzzy
msgid "Unknown verification token!"
msgstr "Ismeretlen ellenőrző jelszó!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Egy másik felhasználó már használja ezt az e-mail címet"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Megerősített e-mail módosítás"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "Megváltozott az e-mail cím"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -672,15 +676,15 @@ msgstr ""
"Az e-mail címe megváltozott. Ha ezt nem kérte, forduljon egy "
"rendszergazdához."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Küldés"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -967,6 +971,42 @@ msgstr "Jóváhagyva"
msgid "Delete"
msgstr "Törlés"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1290,14 +1330,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1342,6 +1374,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1370,12 +1428,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1401,12 +1453,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/id/LC_MESSAGES/messages.po b/translations/id/LC_MESSAGES/messages.po
index 7625b36b..b9d0c711 100644
--- a/translations/id/LC_MESSAGES/messages.po
+++ b/translations/id/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-12 20:50+0000\n"
"Last-Translator: Muhammad Rifqi Priyo Susanto "
"\n"
@@ -47,7 +47,7 @@ msgstr "Batasi ke paket"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -547,7 +547,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Hanya a-zA-Z0-9_ yang dibolehkan"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "Surel"
@@ -582,11 +582,11 @@ msgstr "Akun lain dengan nama pengguna ini sudah ada, tetapi belum diklaim."
msgid "That username/display name is already in use, please choose another."
msgstr "Nama pengguna/tampilan ini sudah dipakai. Harap pilih lainnya."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "Surel telah dipakai"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -595,7 +595,7 @@ msgstr ""
"Kami tidak dapat membuat akun karena surelnya telah dipakai oleh "
"%(display_name)s. Harap pakai alamat surel yang berbeda."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr "Alamat surel ini telah berhenti langganan/dilarang dan tidak dapat dipakai"
@@ -604,55 +604,59 @@ msgstr "Alamat surel ini telah berhenti langganan/dilarang dan tidak dapat dipak
msgid "Reset Password"
msgstr "Reset Kata Sandi"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Kata sandi baru"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Tulis ulang kata sandi"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Kata sandi harus cocok"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Kata sandi lama"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Kata sandi tidak cocok"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Kata sandi Anda telah berhasil diganti."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "Kata sandi lama salah"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "Token verifikasi tidak dikenal!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "Token telah kedaluwarsa"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Pengguna lain telah memakai surel ini"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Konfirmasi perubahan surel"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "Alamat surel diubah"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -660,15 +664,15 @@ msgstr ""
"Alamat surel Anda telah berubah. Jika Anda tidak melakukannya, harap "
"hubungi administrator."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Anda dapat masuk sekarang"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Kirim"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -960,6 +964,44 @@ msgstr "Disetujui"
msgid "Delete"
msgstr "Hapus"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+"Anda menerima surel ini karena seseorang (semoga itu Anda) telah "
+"memasukkan alamat surel Anda sebagai surel pengguna."
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr "Lihat"
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr "Berhenti langganan"
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Halaman tidak ditemukan"
@@ -1289,14 +1331,6 @@ msgstr "Dokumentasi API"
msgid "No tokens created"
msgstr "Tidak ada token yang dibuat"
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr "Berhenti langganan"
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1343,6 +1377,32 @@ msgstr "dari %(username)s."
msgid "View Notifications"
msgstr "Lihat Pemberitahuan"
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1375,14 +1435,6 @@ msgstr "Konfirmasi Alamat Surel"
msgid "Or paste this into your browser:"
msgstr "Atau tempel ini ke peramban Anda:"
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-"Anda menerima surel ini karena seseorang (semoga itu Anda) telah "
-"memasukkan alamat surel Anda sebagai surel pengguna."
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1412,12 +1464,6 @@ msgstr "Pengguna yang Dihapus"
msgid "No audit log entries."
msgstr "Tidak ada entri log audit."
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr "Lihat"
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr "Mulai menulis untuk melihat saran"
diff --git a/translations/lzh/LC_MESSAGES/messages.po b/translations/lzh/LC_MESSAGES/messages.po
index 23c6e7c5..e1df153e 100644
--- a/translations/lzh/LC_MESSAGES/messages.po
+++ b/translations/lzh/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language: lzh\n"
@@ -44,7 +44,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -536,7 +536,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -570,18 +570,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -590,69 +590,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -929,6 +933,42 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1252,14 +1292,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1304,6 +1336,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1332,12 +1390,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1363,12 +1415,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/messages.pot b/translations/messages.pot
index 1de7a206..940a7e50 100644
--- a/translations/messages.pot
+++ b/translations/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -44,7 +44,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -536,7 +536,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -570,18 +570,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -590,69 +590,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -929,6 +933,42 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1252,14 +1292,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1304,6 +1336,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1332,12 +1390,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1363,12 +1415,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/ms/LC_MESSAGES/messages.po b/translations/ms/LC_MESSAGES/messages.po
index ab9fe698..3cba1808 100644
--- a/translations/ms/LC_MESSAGES/messages.po
+++ b/translations/ms/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-22 20:27+0000\n"
"Last-Translator: Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat "
"Yasuyoshi \n"
@@ -47,7 +47,7 @@ msgstr "Hadkan ke pakej"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -543,7 +543,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Hanya a-zA-Z0-9._ dibenarkan"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "E-mel"
@@ -580,11 +580,11 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr "Nama pengguna/nama paparan tersebut sudah digunakan, sila pilih yang lain."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "E-mel sudah digunakan"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -593,7 +593,7 @@ msgstr ""
"Kami tidak mampu mencipta akaun kerana e-mel tersebut sudah digunakan "
"oleh %(display_name)s. Cuba alamat e-mel yang lain."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -604,55 +604,59 @@ msgstr ""
msgid "Reset Password"
msgstr "Tetap Semula Kata Laluan"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Kata laluan baharu"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Sahkan kata laluan"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Kata laluan mestilah sepadan"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Kata laluan lama"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Kata laluan mestilah sepadan"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Kata laluan anda telah berjaya ditukar."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "Kata laluan lama tidak betul"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "Token pengesahan tidak diketahui!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "Token telah tamat tempoh"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Pengguna lain sudah menggunakan e-mel tersebut"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Pertukaran e-mel disahkan"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "Alamat e-mel telah ditukar"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -660,15 +664,15 @@ msgstr ""
"Alamat e-mel anda telah ditukar. Jika anda tidak memohon pertukaran ini, "
"sila hubungi pentadbir."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Anda boleh log masuk sekarang"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Hantar"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -963,6 +967,44 @@ msgstr "Luluskan"
msgid "Delete"
msgstr "Padam"
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+"Anda menerima e-mel ini kerana seseorang (harapnya anda) telah memasukkan"
+" alamat e-mel anda sebagai e-mel seorang pengguna."
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr "Lihat"
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr "Buang langganan"
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Halaman tidak dijumpai"
@@ -1295,14 +1337,6 @@ msgstr "Pendokumenan API"
msgid "No tokens created"
msgstr "Tiada token dicipta"
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr "Buang langganan"
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1349,6 +1383,32 @@ msgstr "daripada %(username)s."
msgid "View Notifications"
msgstr "Lihat Pemberitahuan"
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1379,14 +1439,6 @@ msgstr "Sahkan Alamat E-mel"
msgid "Or paste this into your browser:"
msgstr "Atau tampal ini ke dalam pelayar anda:"
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-"Anda menerima e-mel ini kerana seseorang (harapnya anda) telah memasukkan"
-" alamat e-mel anda sebagai e-mel seorang pengguna."
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1416,12 +1468,6 @@ msgstr "Pengguna Dipadam"
msgid "No audit log entries."
msgstr "Tiada masukan log audit."
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr "Lihat"
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr "Mula menaip untuk melihat cadangan"
diff --git a/translations/nb_NO/LC_MESSAGES/messages.po b/translations/nb_NO/LC_MESSAGES/messages.po
index afafcf32..3f16aa62 100644
--- a/translations/nb_NO/LC_MESSAGES/messages.po
+++ b/translations/nb_NO/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-10 15:53+0000\n"
"Last-Translator: Imre Kristoffer Eilertsen \n"
"Language: nb_NO\n"
@@ -46,7 +46,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -538,7 +538,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -572,18 +572,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -592,69 +592,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -932,6 +936,42 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1255,14 +1295,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1307,6 +1339,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1335,12 +1393,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1366,12 +1418,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/ru/LC_MESSAGES/messages.po b/translations/ru/LC_MESSAGES/messages.po
index 2e0b6ec0..4a3e8be2 100644
--- a/translations/ru/LC_MESSAGES/messages.po
+++ b/translations/ru/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-10 15:53+0000\n"
"Last-Translator: Mikitko \n"
"Language: ru\n"
@@ -47,7 +47,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -550,7 +550,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr "Только a-zA-Z0-9._ разрешены"
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr "Email"
@@ -585,11 +585,11 @@ msgstr "Аккаунт для этого имени пользователя у
msgid "That username/display name is already in use, please choose another."
msgstr "Это имя пользователя/отображаемое имя уже используется, выберите другое."
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr "Email уже используется"
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
@@ -598,7 +598,7 @@ msgstr ""
"У нас не получилось создать аккаунт так как email уже используется "
"%(display_name)s. Попробуйте другой email адрес."
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -609,55 +609,59 @@ msgstr ""
msgid "Reset Password"
msgstr "Сбросить пароль"
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr "Новый пароль"
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr "Подтвердить пароль"
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr "Пароли должны совпадать"
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr "Старый пароль"
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr "Пароли не совпадают"
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr "Ваш пароль был успешно изменён."
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr "Старый пароль неправильный"
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr "Неизвестный токен верификации!"
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr "Токен просрочен"
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr "Другой пользователь уже использует этот email"
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr "Подтвердить изменение email"
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr "Адрес email изменён"
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
@@ -665,15 +669,15 @@ msgstr ""
"Ваш email адрес был изменён. Если вы этого не запрашивали, пожалуйста, "
"свяжитесь с администратором."
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr "Теперь вы можете войти"
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr "Отправить"
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -964,6 +968,42 @@ msgstr "Проверен"
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr "Страница не найдена"
@@ -1289,14 +1329,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1341,6 +1373,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1369,12 +1427,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1400,12 +1452,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/tr/LC_MESSAGES/messages.po b/translations/tr/LC_MESSAGES/messages.po
index 44246afc..c7cbca01 100644
--- a/translations/tr/LC_MESSAGES/messages.po
+++ b/translations/tr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-17 15:22+0000\n"
"Last-Translator: Mehmet Ali <2045uuttb@relay.firefox.com>\n"
"Language: tr\n"
@@ -46,7 +46,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -538,7 +538,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -572,18 +572,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -592,69 +592,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -931,6 +935,42 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1254,14 +1294,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1306,6 +1338,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1334,12 +1392,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1365,12 +1417,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/zh_Hans/LC_MESSAGES/messages.po b/translations/zh_Hans/LC_MESSAGES/messages.po
index 688a4f3f..27dd696e 100644
--- a/translations/zh_Hans/LC_MESSAGES/messages.po
+++ b/translations/zh_Hans/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-20 21:45+0000\n"
"Last-Translator: Gao Tiesuan \n"
"Language: zh_Hans\n"
@@ -46,7 +46,7 @@ msgstr "软件包限制"
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -538,7 +538,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -572,18 +572,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -592,69 +592,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -931,6 +935,42 @@ msgstr ""
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1254,14 +1294,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1306,6 +1338,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1334,12 +1392,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1365,12 +1417,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""
diff --git a/translations/zh_Hant/LC_MESSAGES/messages.po b/translations/zh_Hant/LC_MESSAGES/messages.po
index b7b6b34b..3bbf1378 100644
--- a/translations/zh_Hant/LC_MESSAGES/messages.po
+++ b/translations/zh_Hant/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-01-22 20:28+0000\n"
+"POT-Creation-Date: 2022-01-22 21:22+0000\n"
"PO-Revision-Date: 2022-01-16 03:56+0000\n"
"Last-Translator: Yiu Man Ho \n"
"Language: zh_Hant\n"
@@ -46,7 +46,7 @@ msgstr ""
#: app/blueprints/packages/screenshots.py:35
#: app/blueprints/packages/screenshots.py:41
#: app/blueprints/packages/screenshots.py:46
-#: app/blueprints/users/account.py:242 app/blueprints/users/account.py:249
+#: app/blueprints/users/account.py:228 app/blueprints/users/account.py:235
#: app/blueprints/users/settings.py:53 app/blueprints/users/settings.py:115
#: app/blueprints/users/settings.py:269 app/templates/users/modtools.html:62
msgid "Save"
@@ -541,7 +541,7 @@ msgid "Only a-zA-Z0-9._ allowed"
msgstr ""
#: app/blueprints/users/account.py:106 app/blueprints/users/account.py:189
-#: app/blueprints/users/account.py:238 app/blueprints/users/account.py:389
+#: app/blueprints/users/account.py:224 app/blueprints/users/account.py:376
#: app/blueprints/users/settings.py:114
msgid "Email"
msgstr ""
@@ -575,18 +575,18 @@ msgstr ""
msgid "That username/display name is already in use, please choose another."
msgstr ""
-#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:272
+#: app/blueprints/users/account.py:145 app/blueprints/users/account.py:258
msgid "Email already in use"
msgstr ""
-#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:273
+#: app/blueprints/users/account.py:146 app/blueprints/users/account.py:259
#, python-format
msgid ""
"We were unable to create the account as the email is already in use by "
"%(display_name)s. Try a different email address."
msgstr ""
-#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:267
+#: app/blueprints/users/account.py:150 app/blueprints/users/account.py:253
#: app/blueprints/users/settings.py:142
msgid "That email address has been unsubscribed/blacklisted, and cannot be used"
msgstr ""
@@ -595,69 +595,73 @@ msgstr ""
msgid "Reset Password"
msgstr ""
-#: app/blueprints/users/account.py:239 app/blueprints/users/account.py:246
+#: app/blueprints/users/account.py:215
+msgid "Unable to find account"
+msgstr ""
+
+#: app/blueprints/users/account.py:225 app/blueprints/users/account.py:232
msgid "New password"
msgstr ""
-#: app/blueprints/users/account.py:240 app/blueprints/users/account.py:247
+#: app/blueprints/users/account.py:226 app/blueprints/users/account.py:233
msgid "Verify password"
msgstr ""
-#: app/blueprints/users/account.py:241 app/blueprints/users/account.py:248
+#: app/blueprints/users/account.py:227 app/blueprints/users/account.py:234
msgid "Passwords must match"
msgstr ""
-#: app/blueprints/users/account.py:245
+#: app/blueprints/users/account.py:231
msgid "Old password"
msgstr ""
-#: app/blueprints/users/account.py:256
+#: app/blueprints/users/account.py:242
msgid "Passwords do not match"
msgstr ""
-#: app/blueprints/users/account.py:287 app/blueprints/users/account.py:291
+#: app/blueprints/users/account.py:273 app/blueprints/users/account.py:277
msgid "Your password has been changed successfully."
msgstr ""
-#: app/blueprints/users/account.py:306
+#: app/blueprints/users/account.py:292
msgid "Old password is incorrect"
msgstr ""
-#: app/blueprints/users/account.py:336
+#: app/blueprints/users/account.py:322
msgid "Unknown verification token!"
msgstr ""
-#: app/blueprints/users/account.py:342
+#: app/blueprints/users/account.py:328
msgid "Token has expired"
msgstr ""
-#: app/blueprints/users/account.py:356
+#: app/blueprints/users/account.py:342
msgid "Another user is already using that email"
msgstr ""
-#: app/blueprints/users/account.py:359
+#: app/blueprints/users/account.py:345
msgid "Confirmed email change"
msgstr ""
-#: app/blueprints/users/account.py:363
+#: app/blueprints/users/account.py:350
msgid "Email address changed"
msgstr ""
-#: app/blueprints/users/account.py:364
+#: app/blueprints/users/account.py:351
msgid ""
"Your email address has changed. If you didn't request this, please "
"contact an administrator."
msgstr ""
-#: app/blueprints/users/account.py:382
+#: app/blueprints/users/account.py:369
msgid "You may now log in"
msgstr ""
-#: app/blueprints/users/account.py:390
+#: app/blueprints/users/account.py:377
msgid "Send"
msgstr ""
-#: app/blueprints/users/account.py:421
+#: app/blueprints/users/account.py:408
msgid ""
"That email is now blacklisted. Please contact an admin if you wish to "
"undo this."
@@ -935,6 +939,42 @@ msgstr "是否被批准"
msgid "Delete"
msgstr ""
+#: app/tasks/emails.py:102
+msgid ""
+"You are receiving this email because you are a registered user of "
+"ContentDB."
+msgstr ""
+
+#: app/tasks/emails.py:109 app/templates/emails/verify.html:30
+msgid ""
+"You are receiving this email because someone (hopefully you) entered your"
+" email address as a user's email."
+msgstr ""
+
+#: app/tasks/emails.py:143
+#, python-format
+msgid "%(num)d new notifications"
+msgstr ""
+
+#: app/tasks/emails.py:145 app/templates/macros/forms.html:52
+#: app/templates/packages/create_edit.html:41
+#: app/templates/todo/editor.html:155
+msgid "View"
+msgstr ""
+
+#: app/tasks/emails.py:148
+msgid "Manage email settings"
+msgstr ""
+
+#: app/tasks/emails.py:150 app/templates/emails/base.html:63
+#: app/templates/emails/notification.html:34
+#: app/templates/emails/notification_digest.html:37
+#: app/templates/emails/verify.html:33
+#: app/templates/emails/verify_unsubscribe.html:13
+#: app/templates/threads/view.html:31
+msgid "Unsubscribe"
+msgstr ""
+
#: app/templates/404.html:4
msgid "Page not found"
msgstr ""
@@ -1258,14 +1298,6 @@ msgstr ""
msgid "No tokens created"
msgstr ""
-#: app/templates/emails/base.html:63 app/templates/emails/notification.html:34
-#: app/templates/emails/notification_digest.html:37
-#: app/templates/emails/verify.html:33
-#: app/templates/emails/verify_unsubscribe.html:13
-#: app/templates/threads/view.html:31
-msgid "Unsubscribe"
-msgstr ""
-
#: app/templates/emails/notification.html:10
#, python-format
msgid "From %(username)s and on package %(package)s."
@@ -1310,6 +1342,32 @@ msgstr ""
msgid "View Notifications"
msgstr ""
+#: app/templates/emails/unable_to_find_account.html:2
+msgid ""
+"We were unable to perform the password reset as we could not find an "
+"account associated with this email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:5
+msgid ""
+"This may be because you used another email with your account, or because "
+"you never confirmed your email."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:8
+msgid "You can use GitHub to log in if it is associated with your account."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:9
+msgid "Otherwise, you may need to contact rubenwardy for help."
+msgstr ""
+
+#: app/templates/emails/unable_to_find_account.html:12
+msgid ""
+"If you weren't expecting to receive this email, then you can safely "
+"ignore it."
+msgstr ""
+
#: app/templates/emails/verify.html:4
#: app/templates/emails/verify_unsubscribe.html:5
msgid "Hello!"
@@ -1338,12 +1396,6 @@ msgstr ""
msgid "Or paste this into your browser:"
msgstr ""
-#: app/templates/emails/verify.html:30
-msgid ""
-"You are receiving this email because someone (hopefully you) entered your"
-" email address as a user's email."
-msgstr ""
-
#: app/templates/emails/verify_unsubscribe.html:9
msgid ""
"We're sorry to see you go. You just need to do one more thing before your"
@@ -1369,12 +1421,6 @@ msgstr ""
msgid "No audit log entries."
msgstr ""
-#: app/templates/macros/forms.html:52
-#: app/templates/packages/create_edit.html:41
-#: app/templates/todo/editor.html:155
-msgid "View"
-msgstr ""
-
#: app/templates/macros/forms.html:107
msgid "Start typing to see suggestions"
msgstr ""