diff --git a/warehouse/locale/am/LC_MESSAGES/messages.po b/warehouse/locale/am/LC_MESSAGES/messages.po
index fc829d00b2b5..05098657288c 100644
--- a/warehouse/locale/am/LC_MESSAGES/messages.po
+++ b/warehouse/locale/am/LC_MESSAGES/messages.po
@@ -149,21 +149,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "የይለፍ ቃሉ ተቀባይነት የለውም ፤ ድጋሜ ይሞክሩ።"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -171,185 +171,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -358,29 +358,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1998,8 +1998,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2582,11 +2582,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ang/LC_MESSAGES/messages.po b/warehouse/locale/ang/LC_MESSAGES/messages.po
index 95638e1de131..cc89b149b85e 100644
--- a/warehouse/locale/ang/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ang/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ar/LC_MESSAGES/messages.po b/warehouse/locale/ar/LC_MESSAGES/messages.po
index cb00024afd71..9a316d85ba1a 100644
--- a/warehouse/locale/ar/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ar/LC_MESSAGES/messages.po
@@ -173,7 +173,7 @@ msgstr "تم استخدام رمز الاسترداد مسبقًا."
msgid "The username isn't valid. Try again."
msgstr "اسم المستخدم غير صالح. حاول مرة أخرى."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -182,7 +182,7 @@ msgstr ""
"كانت هناك محاولات تسجيل دخول كثيرة فاشلة. تم توقيفك حتى {}. رجاء أعد "
"المحاولة لاحقا."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -191,7 +191,7 @@ msgstr ""
"تمت إضافة عدد كبير جدًا من رسائل البريد الإلكتروني إلى هذا الحساب دون التحقق "
"منها. تحقق من بريدك الوارد واتبع روابط التحقق. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -201,25 +201,25 @@ msgstr ""
"تم طلب تغيير كلمة السر لهذا الحساب مراتٍ كثيرة دون اكمالها. تحقق من بريدك "
"الوارد واتبع روابط التحقق. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "تسجيل دخول ثنائي العامل غير صالح أو منتهي الصلاحية."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "موثق بالفعل"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "توكيد WebAuthn ناجح"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "تم قبول رمز الاسترداد. لا يمكن استخدام الرمز مرة أخرى."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -227,140 +227,140 @@ msgstr ""
"تسجيل المستخدمين الجدد موقوف مؤقتاً. للتفاصيل: https://pypi.org/help#admin-"
"intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "رمز منتهي الصلاحية: برجاء طلب رابط جديد لتغيير كلمة السر"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "رمز غير صحيح: برجاء طلب رابط جديد لتغيير كلمة السر"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "رمز غير صحيح: لا يوجد رمز"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "رمز غير صحيح: ليس رمزاً لتغيير كلمة السر"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "رمز غير صحيح: لم يتم العثور على المستخدم"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "رمز غير صحيح: المستخدم سجل الدخول منذ وقت طلب هذا الرمز"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "رمز غير صحيح: كلمة السر تغيرت بالفعل منذ وقت طلب هذا الرمز"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "لقد قمت بتغيير كلمة السر الخاصة بك"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "رمز منتهي الصلاحية: برجاء طلب رابط جديد لتأكيد البريد الاليكتروني"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "رمز غير صحيح: برجاء طلب رابط جديد لتأكيد البريد الاليكتروني"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "رمز غير صحيح: ليس رمزاً لتأكيد البريد الاليكتروني"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "لم يتم العثور على البريد الاليكتروني"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "تم تأكيد البريد الاليكتروني بالفعل"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "تستطيع الآن استخدام هذا البريد الاليكتروني كبريدك الاليكتروني الأساسي"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "هذا بريدك الاليكتروني الأساسي"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "تم تأكيد البريد الاليكتروني ${email_address}. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "رمز منتهي الصلاحية: قم بطلب رابط دعوة جديد للمنظمة"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "رمز غير صالح: قم بطلب دعوة جديدة"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "رمز غير صالح: ليس رمزاً لدعوة إلى مؤسسة"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "دعوة المنظمة غير صالحة."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "دعوة المنظمة لم تعد صالحة."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "تم رفض دعوة '${organization_name}'."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "تم تحديث صلاحياتك لتكن ${role} فى المشروع ${organization_name}."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "رمز منتهي الصلاحية: قم بطلب رابط دعوة جديد لدور في المشروع"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "رمز منتهي الصلاحية: قم بطلب رابط دعوة جديد لدور في المشروع"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "رمز غير صحيح: ليس رمزاً لدعوة مشاركة"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "دعوة الدور غير صالحة."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "دعوة الدور لم تعد صالحة."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "دعوة '${project_name}' تم رفضها."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "تم تحديث صلاحياتك لتكن ${role} فى المشروع ${project_name}."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -369,13 +369,13 @@ msgstr ""
"النشر الموثوق موقوف مؤقتاً. للتفاصيل: https://pypi.org/help#admin-"
"intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"تسجيل المستخدمين الجدد موقوف مؤقتاً. للتفاصيل انظر : https://pypi.org/"
"help#admin-intervention."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -383,11 +383,11 @@ msgstr ""
"يجب أن يكون لديك بريد إلكتروني تم التحقق منه حتى تتمكن من التسجيل كناشر "
"موثوق قيد المراجعة. إطّلع على https://pypi.org/help#openid-connect للتفاصيل."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "لا يمكنك تسجيل أكثر من 3 ناشرين موثوقين قيد المراجعة مرّة واحدة."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -396,14 +396,14 @@ msgid ""
"again later."
msgstr "كانت هناك محاولات تسجيل دخول فاشلة كثيرة جداً. حاول مرة أخرى لاحقًا."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "حساب الناشر الموثوق لا يمكن تسجيله"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -411,16 +411,16 @@ msgstr ""
"هذا الناشر الموثوق قد تم تسجيله بالفعل. قم بمراسلة مسؤلي PyPI إن لم يكن هذا "
"مقصودا."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "تم تسجيل حساب ناشر جديد للإنشاء تحت المراجعة. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "مُعَرّف ناشر غير صالح"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "تمت إزالة ناشر موثوق لمشروع. "
@@ -2197,8 +2197,8 @@ msgstr "تم إرسال رسالة تغيير كلمة السر"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "تم إرسال رسالة للبريد الاليكتروني المسجل الخاص بك."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2928,11 +2928,49 @@ msgstr[3] "هذا الرابط سوف تنتهي صلاحيته خلال %(n_ho
msgstr[4] "هذا الرابط سوف تنتهي صلاحيته خلال %(n_hours)s ساعة."
msgstr[5] "هذا الرابط سوف تنتهي صلاحيته خلال %(n_hours)s ساعة."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "إذا لم تقم بتقديم هذا الطلب، يمكنك تجاهل هذه الرسالة بأمان."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"أحد ما، ربما أنت، طلب تغيير كلمة السر الخاصة بحساب PyPI الخاص بك "
+"\"%(username)s\"."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "أو تصفح المشاريع"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/be/LC_MESSAGES/messages.po b/warehouse/locale/be/LC_MESSAGES/messages.po
index 377db8f0a6f0..763131897f59 100644
--- a/warehouse/locale/be/LC_MESSAGES/messages.po
+++ b/warehouse/locale/be/LC_MESSAGES/messages.po
@@ -155,7 +155,7 @@ msgstr "Код узнаўлення ўжо выкарыстаны."
msgid "The username isn't valid. Try again."
msgstr "Імя карыстальніка няслушнае. Паспрабуйце яшчэ раз."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -164,7 +164,7 @@ msgstr ""
"Зашмат непаспяховых уводаў логіну. Увод заблакаваны на {}. Калі ласка, "
"паспрабуйце пазней."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -174,7 +174,7 @@ msgstr ""
"Праверце скрынку электроннай пошты і перайдзіце па спасылцы спраўджання. "
"(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -184,25 +184,25 @@ msgstr ""
"Зашмат запытаў на скід паролю для гэтага ўліковага запісу. Праверце вашу "
"скрынку электроннай пошты і перайдзіце па спасылцы спраўджання. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Няслушны або пратэрмінаваны уваход з двухфактарнай аўтэнтыфікацыяй."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Ужо аўтэнтыфікаваны"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Паспяховае цверджанне WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Код узнаўлення прыняты. Дадзены код не можа выкарыстоўвацца зноўку."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -210,166 +210,166 @@ msgstr ""
"Рэгістрацыя новых карыстальнікаў часова перапыненая. Глядзіце ў https://pypi."
"org/help#admin-intervention for details."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Пратэрмінаваны токен: запытайце спасылку на скід паролю"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Няслушны токен: запытайце спасылку на скід паролю"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Няслушны токен: токен не падтрымліваецца"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Няслушны токен: гэта не токен для скіду паролю"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Няслушны токен: карыстальнік не знойдзены"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Няслушны токен: карыстальнік ужо ўвайшоў у сістэму з моманту запыту гэтага "
"токену"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Няслушны токен: пароль ужо быў зменены перад тым, як гэты токен быў запытаны"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Вы скінулі пароль"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"Пратэрмінаваны токен: запытайце спасылку на спраўджанне электроннай пошты"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Няслушны токен: запытайце спасылку на спраўджанне электроннай пошты"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Няслушны токен: гэта не токен спраўджання электроннай пошты"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Электронная пошта не знойдзеная"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Электронная пошта ўжо спраўджаная"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Вы цяпер можаце ўсталяваць асноўны адрас электроннай пошты"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Гэта ваш асноўны адрас электроннай пошты"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"Адрас электроннчй пошты ${email_address} спраўджаны. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Пратэрмінаваны токен: запытайце запрашэнне ў новую арганізацыю"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Няслушны токен: запытайце запрашэнне ў новую арганізацыю"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Няслушны токен: гэта не токен запрашэння ў арганізацыю"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Запрашэнне ў арганізацыю няслушнае."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Запрашэнне ў арганізацыю больш не існуе."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Запрашэнне ў «${organization_name}» адхілены."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Цяпер вы ${role} у арганізацыі «${organization_name}» ."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Пратэрмінаваны токен: запытайце новую ролю ў праекце"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Няслушны токен: запытайце новую ролю ў праекце"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Няслушны токен: гэта не токен на запрашэнне ў супрацоўніцтве"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Няслушнае запрашэнне на ролю."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Запрашэнне на ролю больш не існуе."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Запрашэнне для «${project_name}» адхіленае."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Вы цяпер ${role} у праекце «${project_name}»."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -378,29 +378,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Несапраўдны ID выдаўца"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Выдалены давераны выдавец для праекту "
@@ -2041,8 +2041,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2625,11 +2625,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/bn/LC_MESSAGES/messages.po b/warehouse/locale/bn/LC_MESSAGES/messages.po
index 8b937db18b27..0e622f590db7 100644
--- a/warehouse/locale/bn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/bn/LC_MESSAGES/messages.po
@@ -165,7 +165,7 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "ইমেলটি বৈধ নয়। আবার চেষ্টা করুন |"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -174,7 +174,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "অনেকবার ব্যর্থ লগইন প্রচেষ্টা করা হয়েছে । পরে আবার চেষ্টা করুন।"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -186,7 +186,7 @@ msgstr ""
"এই অ্যাকাউন্টে অনেকগুলি ইমেলগুলি যাচাই না করে যুক্ত করা হয়েছে। আপনার ইনবক্সটি "
"পরীক্ষা করুন এবং যাচাইকরণ লিঙ্কগুলি অনুসরণ করুন।"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -199,25 +199,25 @@ msgstr ""
"এই অ্যাকাউন্টে অনেকগুলি ইমেলগুলি যাচাই না করে যুক্ত করা হয়েছে। আপনার ইনবক্সটি "
"পরীক্ষা করুন এবং যাচাইকরণ লিঙ্কগুলি অনুসরণ করুন।"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "অবৈধ বা মেয়াদোত্তীর্ণ টু ফ্যাক্টর লগইন।"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "ইতিমধ্যে প্রমাণীকৃত"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "পুনরুদ্ধার কোড গৃহীত। সরবরাহকৃত কোডটি দ্বিতীয়বার ব্যবহার করা যাবে না।"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -225,77 +225,77 @@ msgstr ""
"নতুন সদস্য নিবন্ধন সাময়িকভাবে বন্ধ আছে. আরো তথ্যের জন্য https://pypi.org/"
"help#admin-intervention দেখুন।"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "অবৈধ্য টোকেন: সদস্য খুঁজে পাওয়া যায় নি"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new organization invitation"
@@ -303,7 +303,7 @@ msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Invalid token: request a new organization invitation"
@@ -311,7 +311,7 @@ msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Invalid token: not an organization invitation token"
@@ -319,25 +319,25 @@ msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
@@ -345,7 +345,7 @@ msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
@@ -353,34 +353,34 @@ msgstr ""
"মেয়াদ উত্তীর্ণ টোকেন: একটি নতুন পাসওয়ার্ড পুনরায় সেট করার জন্য রিসেট লিঙ্কের অনুরোধ "
"করুন"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -393,7 +393,7 @@ msgstr ""
"নতুন সদস্য নিবন্ধন সাময়িকভাবে বন্ধ আছে. আরো তথ্যের জন্য https://pypi.org/"
"help#admin-intervention দেখুন।"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -403,17 +403,17 @@ msgstr ""
"নতুন সদস্য নিবন্ধন সাময়িকভাবে বন্ধ আছে. আরো তথ্যের জন্য https://pypi.org/"
"help#admin-intervention দেখুন।"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -425,29 +425,29 @@ msgid ""
"again later."
msgstr "অনেকবার ব্যর্থ লগইন প্রচেষ্টা করা হয়েছে । পরে আবার চেষ্টা করুন।"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2178,8 +2178,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2766,11 +2766,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/brx/LC_MESSAGES/messages.po b/warehouse/locale/brx/LC_MESSAGES/messages.po
index 3cfc78589374..43e3bf1aa1f6 100644
--- a/warehouse/locale/brx/LC_MESSAGES/messages.po
+++ b/warehouse/locale/brx/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ca/LC_MESSAGES/messages.po b/warehouse/locale/ca/LC_MESSAGES/messages.po
index 3ae08da79310..db093d8f1e62 100644
--- a/warehouse/locale/ca/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ca/LC_MESSAGES/messages.po
@@ -160,7 +160,7 @@ msgstr "El codi de recuperació ja s’havia utilitzat."
msgid "The username isn't valid. Try again."
msgstr "L’adreça electrònica no és vàlida. Torneu-ho a provar."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -171,7 +171,7 @@ msgstr ""
"Hi ha hagut massa intents d’inici de sessió fallits. Torneu-ho a provar més "
"tard."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -180,7 +180,7 @@ msgstr ""
"S’han afegit massa adreces electròniques al compte sense verificar-les. "
"Reviseu la vostra bústia i seguiu els enllaços de verificació. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -191,27 +191,27 @@ msgstr ""
"s'hagin completat. Reviseu la vostra bústia i seguiu els enllaços de "
"verificació. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "L’inici de sessió de dues passes no és vàlid o ha caducat."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Ja us heu autenticat"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "L’asserció del WebAuthn és correcta"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"S’ha acceptat el codi de recuperació. El codi proporcionat no es pot "
"utilitzar novament."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -219,40 +219,40 @@ msgstr ""
"El registre d’usuaris nous s’ha inhabilitat temporalment. Vegeu https://pypi."
"org/help#admin-intervention per a més detalls."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"El testimoni ha caducat: sol·liciteu un enllaç de reinicialització de "
"contrasenya nou"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"El testimoni no és vàlid: sol·liciteu un enllaç de reinicialització de "
"contrasenya nou"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "El testimoni no és vàlid: no se n’ha proporcionat cap"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
"El testimoni no és vàlid: no és un testimoni de reinicialització de "
"contrasenya"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "El testimoni no és vàlid: no s’ha trobat l’usuari"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"El testimoni no és vàlid: l’usuari ha iniciat una sessió des que aquest "
"testimoni es va sol·licitar"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -260,48 +260,48 @@ msgstr ""
"El testimoni no és vàlid: la contrasenya ja s’ha canviat des que aquest "
"testimoni va sol·licitar-se"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Heu reinicialitzat la vostra contrasenya"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"El testimoni ha caducat: sol·liciteu un enllaç de verificació d’adreça nou"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
"El testimoni no és vàlid: sol·liciteu un enllaç de verificació d’adreça nou"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "El testimoni no és vàlid: no és un testimoni de verificació d’adreça"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "No s’ha trobat l’adreça electrònica"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Ja s’ha verificat l’adreça electrònica"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "D’ara endavant podeu definir aquesta adreça com a primària"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Aquesta és la vostra adreça primària"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"L’adreça electrònica ${email_address} ha estat verificada. "
"${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
@@ -309,7 +309,7 @@ msgstr ""
"El testimoni ha caducat: sol·liciteu una invitació nova per a incorporar-se "
"al projecte"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
@@ -317,31 +317,31 @@ msgstr ""
"El testimoni no és vàlid: sol·liciteu una invitació nova per a incorporar-se "
"al projecte"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr "El testimoni no és vàlid: no és un testimoni d’invitació a col·laborar"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "La invitació de l'organització no és vàlida."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "La invitació de l'organització ja no existeix."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "S’ha rebutjat la invitació a «${organization_name}»."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Ara sou ${role} de l'organització «${organization_name}»."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
@@ -349,7 +349,7 @@ msgstr ""
"El testimoni ha caducat: sol·liciteu una invitació nova per a incorporar-se "
"al projecte"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
@@ -357,34 +357,34 @@ msgstr ""
"El testimoni no és vàlid: sol·liciteu una invitació nova per a incorporar-se "
"al projecte"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "El testimoni no és vàlid: no és un testimoni d’invitació a col·laborar"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "S’ha rebutjat la invitació a «${project_name}»."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Ara sou ${role} del projecte «${project_name}»."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -397,7 +397,7 @@ msgstr ""
"El registre d’usuaris nous s’ha inhabilitat temporalment. Vegeu https://pypi."
"org/help#admin-intervention per a més detalls."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -407,17 +407,17 @@ msgstr ""
"El registre d’usuaris nous s’ha inhabilitat temporalment. Vegeu https://pypi."
"org/help#admin-intervention per a més detalls."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -431,33 +431,33 @@ msgstr ""
"Hi ha hagut massa intents d’inici de sessió fallits. Torneu-ho a provar més "
"tard."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage current providers"
msgid "Registered a new pending publisher to create "
msgstr "Gestiona els proveïdors actuals"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "Gestiona la versió"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2260,8 +2260,8 @@ msgstr ""
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "S’ha enviat un missatge a la vostra adreça electrònica."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2982,6 +2982,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Aquest enllaç caducarà d’aquí a %(n_hours)s hora."
msgstr[1] "Aquest enllaç caducarà d’aquí a %(n_hours)s hores."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2989,6 +2990,43 @@ msgstr ""
"Si no heu fet aquesta sol·licitud, podeu ignorar aquest missatge amb "
"seguretat."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Algú, potser vós, ha sol·licitat reinicialitzar la contrasenya del compte "
+"«%(username)s» del PyPI."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "O exploreu els projectes"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ckb/LC_MESSAGES/messages.po b/warehouse/locale/ckb/LC_MESSAGES/messages.po
index f93f379fc7c9..060bf5f78173 100644
--- a/warehouse/locale/ckb/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ckb/LC_MESSAGES/messages.po
@@ -158,7 +158,7 @@ msgstr "کۆدی هێنانەوەکەت پێشووتر بەکارهاتووە
msgid "The username isn't valid. Try again."
msgstr "ناونیشانی پۆستی ئەلیکترۆنیەکەت ڕەوا نیە. دووبارەی بکەوە."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -167,14 +167,14 @@ msgid ""
"out for {}. Please try again later."
msgstr "ژمارەیەکی زۆر چونە ژورەوەی هەڵە ئەنجام درا. دواتر دووبارەی بکەوە."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -185,26 +185,26 @@ msgstr ""
"سەردانی ئەو نامانە بکە کە بۆت هاتووە وە بەستەرەی پشتراستکردنەوە قبوڵ بکە."
"(IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "چوونەژوورەوەی دوو فاکتەر هەڵەیە یاخوود بەسەرچووە."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "پێشووتر ڕەسەنایەتی کراوە"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "جەختکردنەوەیەکی سەرکەوتووی ڕەسەنایەتی پەڕە"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"کۆدی هێنانەوە وەرگیراوە. کۆدی نێردراو ناتوانرێت دووبارە بەکاربهێندرێتەوە."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -212,142 +212,142 @@ msgstr ""
"تۆمارکردنی بەکارهێنەری نوێ بۆ ماوەیەکی کاتی راگیراوە. بڕوانە https://pypi."
"org/help#admin-intervention بۆ وردەکاریەکان."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "پولێكی بەسەرچووە: داواکاری بەستەرەیەکی نوێی وشەی نهێنی"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "پولێکی هەڵە: داواکاری بەستەریەکی نوێی گۆرینی وشەی نهێنی"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "پولێکی هەڵە: هیچ پولێک نەنێردراوە"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "پولێکی هەڵە: پولێکی گۆرینی وشەی نهێنی نیە"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "پولێکی هەڵە: بەکارهێنەر نەدۆزرایەوە"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "پولێکی هەڵە: بەکارهێنەر چۆتەوە ژوورەوە کاتێک ئەو پولە داواکراوە پێشتر"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "پولێکی هەڵە: وشەی نهێنی پێشتر گۆردراوە کاتێک ئەو پولە داواکراوە"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "وشەی نهێنی خۆتت گۆریوەتەوە"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "پولێکی بەسەرچوون: داواکاری بەستەریەکی نوێی پۆستی ئەلیکترۆنی سەڵماندن"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "پولێکی هەڵە: داواکاری بەستەریەکی نوێی پۆستی ئەلیکترۆنی سەڵماندن"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "پولێکی هەڵە: پولی پۆستی ئەلیکترۆنی سەڵماندن نیە"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "پۆستی ئەلیکترۆنی نەدۆزرایەوە"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "پۆستی ئەلیکترۆنیەکە پێشووتر پشتراستکراوەتەوە"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "ئێستا دەتوانیت ئەم ئیمەیڵە وەک ناونیشانی سەرەکی خۆت دابنێیت"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "ئەمە ناونیشانی سەرەکی تۆیە"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, fuzzy, python-brace-format
#| msgid "Email address ${email_address} verified. ${confirm_message}."
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"ناونیشانی ئیمەیڵ ${email_address} پشتڕاستکرایەوە. ${پەیام_دڵنیاکردنەوە}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "نیشانەی بەسەرچوو: داوای بانگهێشتی ڕێکخراوێکی نوێ بکە"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "نیشانەیەکی هەڵە: داوای بانگێشتنامەی رێکخراوێکی نوێ بکە"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "نیشانەی هەڵە:نەک نیشانەی بانگهێشتی ڕێکخراو"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "بانگهێشتی ڕێکخراوەکە ڕەوا نییە."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "بانگهێشتی ڕێکخراو چیتر بوونی نییە."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "بانگهێشتنامە بۆ '${organization_name}' ڕەتکراوەتەوە."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "ئێستا تۆ ${role} ی ڕێکخراوی '${organization_name}'یت."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "نیشانەی بەسەرچوو: داوای بانگهێشتی ڕۆڵی پڕۆژەی نوێ بکە"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "نیشانەی هەڵە:داوای بانگهێشتی ڕۆڵی پڕۆژەی نوێ بکە"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "نیشانەی نادروست: نیشانەی بانگهێشتی هاوکاری نییە"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "بانگهێشتی ڕۆڵ ڕەوا نییە."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "بانگهێشتی ڕۆڵ چیتر بوونی نییە."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "بانگهێشتنامە بۆ '${project_name}' ڕەتکراوەتەوە."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "ئێستا تۆ ${role} ی پڕۆژەی '${project_name}' ی."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -360,7 +360,7 @@ msgstr ""
"تۆمارکردنی بەکارهێنەری نوێ بۆ ماوەیەکی کاتی راگیراوە. بڕوانە https://pypi."
"org/help#admin-intervention بۆ وردەکاریەکان."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -370,17 +370,17 @@ msgstr ""
"تۆمارکردنی بەکارهێنەری نوێ بۆ ماوەیەکی کاتی راگیراوە. بڕوانە https://pypi."
"org/help#admin-intervention بۆ وردەکاریەکان."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -393,29 +393,29 @@ msgid ""
"again later."
msgstr "زۆر هەوڵی تۆمارکردنی OpenID Connect دراوە. دواتر هه ولٓبه ره وه."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2274,8 +2274,8 @@ msgstr "ئیمەیڵی نێردراو دووبارە دانانەوەی بکە"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "ئیمەیڵێک بۆ ناونیشانی ئیمەیڵی تۆمارکراوت نێردراوە."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3044,12 +3044,50 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "ئەم بەستەرە لە %(n_hours)s کاتژمێردا بەسەر دەچێت."
msgstr[1] "ئەم بەستەرە لە %(n_hours)s کاتژمێردا بەسەر دەچێت."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"ئەگەر ئەم داواکاریەت نەکرد، دەتوانیت بە سەلامەتی ئەم ئیمەیڵە پشتگوێ بخەیت."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"کەسێک، ڕەنگە تۆ، داواکاری ڕێستکردنی وشەی نهێنی بۆ ئەژمێری PyPI "
+"'%(username)s'ت کردووە."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "یان گەڕان بە پڕۆژەکان"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/cs/LC_MESSAGES/messages.po b/warehouse/locale/cs/LC_MESSAGES/messages.po
index c62903ea2af4..ee6837be7bb2 100644
--- a/warehouse/locale/cs/LC_MESSAGES/messages.po
+++ b/warehouse/locale/cs/LC_MESSAGES/messages.po
@@ -165,7 +165,7 @@ msgstr "Kód pro obnovy již byl použit."
msgid "The username isn't valid. Try again."
msgstr "Neplatná emailová adresa. Zkuste to znovu."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -175,7 +175,7 @@ msgid ""
msgstr ""
"Přiliš mnoho neúspěšných pokusů o přihlášení. Zkuste to prosím později."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -185,7 +185,7 @@ msgstr ""
"Zkontrolujte svou e-mailovou schránku a klikněte na ověřovací odkaz. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -196,25 +196,25 @@ msgstr ""
"Zkontrolujte svou e-mailovou schránku a klikněte na ověřovací odkaz. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Neplatné či expirované dvoufaktorové přihlášení."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Již autenizován"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Úspšená aserce WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Obnovovací kód byl již přijat. Poskytnutý kód nelze použít znovu."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -222,140 +222,140 @@ msgstr ""
"Nový registrace jsou dočasně zakázány. Více informací na https://pypi.org/"
"help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Expirovaný token: požádejte o novou adresu pro reset hesla"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Neplatný token: požádejte o novou adresu pro reset hesla"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Neplatný token: žádný token nebyl poskytnut"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Neplatný token: nejedná se o token pro reset hesla"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Neplatný token: uživatel nenalezen"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Neplatný token: uživatel se po vygenerování tokenu již přihlásil"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Neplatný token: heslo již bylo po vygenerování tokenu změněno"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Vaše heslo bylo změněno"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Expirovaný token: vyžádejte nový odkaz pro reset hesla"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Neplatný token: vyžádejte nový odkaz pro reset hesla"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Neplatný token: nejedná se o token pro reset e-mailové adresy"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail nenalezen"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail již byl ověřen"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Nyní můžete nastavit tento e-mail jako vaši primární adresu"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Toto je vaše primární adresa"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-mailová adresa ${email_address} byla oveřena. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Expirovaný token: požádejte o novou pozvánku do organizace"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Neplatný token: požádejte o novou pozvánku do organizace"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Neplatný token: nejedná se o token pozvánky do organizace"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Pozvánka do organizace je neplatná."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Pozvánka do organizace už neexistuje."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Pozvánka do '${organization_name}' byla odmítnuta."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Nyní jste ${role} organizace '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Expirovaný token: požádejte o novou pozvánku pro roli v projektu"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Neplatný token: požádejte o novou pozvánku pro roli v projektu"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Neplatný token: nejedná se o token pozvánky ke spolupráci"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Pozvánka pro roli je neplatná."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Pozvánka pre rolu už neexistuje."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Pozvánka pro '${project_name}' byla odmítnuta."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Nyní jste ${role} projektu '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -368,7 +368,7 @@ msgstr ""
"Nový registrace jsou dočasně zakázány. Více informací na https://pypi.org/"
"help#admin-intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -378,17 +378,17 @@ msgstr ""
"Nový registrace jsou dočasně zakázány. Více informací na https://pypi.org/"
"help#admin-intervention."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -403,33 +403,33 @@ msgstr ""
"Příliš mnoho neúspěšných pokusů o registraci pomocí OpenID Connect. Zkuste "
"to prosím později."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "Spravovat tento projekt"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "Spravovat verzi"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2243,8 +2243,8 @@ msgstr "E-mail pro reset hesla odeslán"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "E-mail byl odeslán na e-mailovou adresu k vašemu účtu."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2974,11 +2974,49 @@ msgstr[0] "Tento odkaz expiruje za %(n_hours)s hodinu."
msgstr[1] "Tento odkaz expiruje za %(n_hours)s hodiny."
msgstr[2] "Tento odkaz expiruje za %(n_hours)s hodin."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Pokud jste nevytořili tento požadavek, můžete tento email ignorovat."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Někdo, pravděpodobně vy, požádal o reset hesla k vašemu PyPI účtu "
+"%(username)s."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Vydání verze %(version)s vytvořeno"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/da/LC_MESSAGES/messages.po b/warehouse/locale/da/LC_MESSAGES/messages.po
index 86f0d3070129..8abac7812e7c 100644
--- a/warehouse/locale/da/LC_MESSAGES/messages.po
+++ b/warehouse/locale/da/LC_MESSAGES/messages.po
@@ -155,7 +155,7 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "E-mail-adressen er ugyldig. Prøv igen."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -164,7 +164,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "Der har været for mange mislykkede loginforsøg. Prøv igen senere."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -173,7 +173,7 @@ msgstr ""
"For mange e-mailadresser er blevet føjet til denne konto uden at bekræfte "
"dem. Tjek din indbakke, og følg bekræftelseslinkene. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -186,25 +186,25 @@ msgstr ""
"For mange e-mailadresser er blevet føjet til denne konto uden at bekræfte "
"dem. Tjek din indbakke, og følg bekræftelseslinkene. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Ugyldigt eller udløbet to-faktor login."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Allerede godkendt"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Succesfuld WebAuthn assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Gendannelseskode accepteret. Koden kan ikke bruges igen."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -212,33 +212,33 @@ msgstr ""
"Registrering af nye brugere er midlertidigt deaktiveret. Se https://pypi.org/"
"help#admin-intervention for flere detaljer."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Udløbet token: anmod om et nyt link til nulstilling af adgangskode"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Ugyldig token: anmod om et nyt link til nulstilling af adgangskode"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ugyldig token: ingen token blev givet"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ugyldig token: Ikke en token til gendannelse af adgangskode"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ugyldig token: brugeren blev ikke fundet"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Ugyldig token: Brugeren har logget ind siden denne token blev anmodet om"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -246,125 +246,125 @@ msgstr ""
"Ugyldig token: adgangskoden er allerede blevet ændret, siden denne token "
"blev anmodet om"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Du har nulstillet din adgangskode"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Udløbet token: anmod om et nyt link til bekræftelse af e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ugyldig token: anmod om et nyt e-mail-bekræftelseslink"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ugyldig token: ikke en e-mail-bekræftelsestoken"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail ikke fundet"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail allerede bekræftet"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Du kan nu sætte denne e-mail som din primære adresse"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Dette er din primære adresse"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-mail adresse ${email_address} verificeret. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
msgstr "Udløbe token: anmod om en ny projektrolleinvitation"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
msgstr "Ugyldig token: anmod om en ny projektrolleinvitation"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr "Ugyldig token: ikke en token til invitation til samarbejde"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "Rolleinvitationen er ikke gyldig."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
#| msgid "Role invitation no longer exists."
msgid "Organization invitation no longer exists."
msgstr "Rolleinvitationen findes ikke længere."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "Invitationen til '${project_name}' er blevet afvist."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Du er nu ${role} for '${project_name}' projektet."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "Udløbe token: anmod om en ny projektrolleinvitation"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "Ugyldig token: anmod om en ny projektrolleinvitation"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Ugyldig token: ikke en token til invitation til samarbejde"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rolleinvitationen er ikke gyldig."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Rolleinvitationen findes ikke længere."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Invitationen til '${project_name}' er blevet afvist."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Du er nu ${role} for '${project_name}' projektet."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -377,7 +377,7 @@ msgstr ""
"Registrering af nye brugere er midlertidigt deaktiveret. Se https://pypi.org/"
"help#admin-intervention for flere detaljer."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -387,17 +387,17 @@ msgstr ""
"Registrering af nye brugere er midlertidigt deaktiveret. Se https://pypi.org/"
"help#admin-intervention for flere detaljer."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -409,29 +409,29 @@ msgid ""
"again later."
msgstr "Der har været for mange mislykkede loginforsøg. Prøv igen senere."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2251,8 +2251,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2842,11 +2842,43 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "Eller gennemse projekter"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/de/LC_MESSAGES/messages.po b/warehouse/locale/de/LC_MESSAGES/messages.po
index aff6aa72e8af..478454f5ca4d 100644
--- a/warehouse/locale/de/LC_MESSAGES/messages.po
+++ b/warehouse/locale/de/LC_MESSAGES/messages.po
@@ -195,7 +195,7 @@ msgstr "Wiederherstellungscode wurde bereits benutzt."
msgid "The username isn't valid. Try again."
msgstr "Der Benutzername ist nicht gültig. Bitte erneut versuchen."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -204,7 +204,7 @@ msgstr ""
"Es gab zu viele erfolglose Anmeldeversuche. Sie wurden für {} ausgesperrt. "
"Bitte versuchen Sie es später erneut."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -214,7 +214,7 @@ msgstr ""
"Überprüfen Sie Ihren Posteingang und folgen Sie den Verifizierungslinks. "
"(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -225,27 +225,27 @@ msgstr ""
"diese zu bestätigen. Überprüfen Sie Ihren Posteingang und folgen Sie den "
"Verifizierungslinks. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Ungültiger oder abgelaufener Zweifaktor-Login."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Schon authentifiziert"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Erfolgreiche WebAuthn-Assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Wiederherstellungscode akzeptiert. Der eingegebene Code kann nicht erneut "
"verwendet werden."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -253,145 +253,145 @@ msgstr ""
"Die Registrierung neuer Benutzer ist vorübergehend deaktiviert. Siehe "
"https://pypi.org/help#admin-intervention für Details."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Abgelaufener Token: Bitte neuen Passwort-Zurücksetzen-Link anfordern"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Ungültiges Token: bitte neuen Passwort-Zurücksetzen-Link anfordern"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ungültiges Token: kein Token angegeben"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ungültiges Token: dies ist kein Passwort-Zurücksetzen-Token"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ungültiges Token: Benutzer nicht gefunden"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Ungültiges Token: Benutzer hat sich angemeldet seit dieses Token angefordert "
"wurde"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Ungültiges Token: Passwort wurde geändert seit dieses Token angefordert wurde"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Sie haben Ihr Passwort zurückgesetzt"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Abgelaufenes Token: bitte neuen E-Mail-Bestätigungslink anfordern"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ungültiges Token: bitte neuen E-Mail-Bestätigungslink anfordern"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ungültiges Token: dies ist kein E-Mail-Bestätigungs-Token"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-Mail nicht gefunden"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-Mail-Adresse ist schon verifiziert"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Diese E-Mail-Adresse kann nun als Haupt-Addresse markiert werden"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Dies ist Ihre primäre E-Mail-Adresse"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-Mail-Adresse ${email_address} bestätigt. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Abgelaufenes Token: Bitte neue Organisation-Einladung anfordern"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Ungültiges Token: Fordere eine neue Organisationseinladung an"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Ungültiges Token: kein Token für eine Organisationseinladung"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Die Einladung der Organisation ist nicht gültig."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Die Einladung der Organisation existiert nicht mehr."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Die Einladung für „${organization_name}“ wurde abgelehnt."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Sie sind nun '${role}' von der Organisation '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Abgelaufenes Token: Bitte neue Projekt-Rollen-Einladung anfordern"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Ungültiges Token: Bitte neue Projekt-Rollen-Einladung anfordern"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Ungültiges Token: Dies ist keine Einladung für eine Zusammenarbeit"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rolleneinladung ist nicht gültig."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Rolleneinladung ist nicht mehr existent."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Die Einladung für '${project_name}' wurde abgelehnt."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Sie sind nun '${role}' vom Projekt '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Bitte lesen Sie unsere aktualisierten Nutzungsbedingungen."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -400,13 +400,13 @@ msgstr ""
"Die vertrauenswürdige Veröffentlichung ist vorübergehend deaktiviert. Siehe "
"https://pypi.org/help#admin-intervention für weitere Informationen."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"deaktiviert. Siehe https://pypi.org/help#admin-intervention für weitere "
"Informationen."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -415,13 +415,13 @@ msgstr ""
"vertrauenswürdigen Herausgeber zu registrieren. Siehe auch https://pypi.org/"
"help#openid-connect für weitere Informationen."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Sie können nicht mehr als 3 ausstehende vertrauenswürdige Publisher "
"gleichzeitig registrieren."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -432,14 +432,14 @@ msgstr ""
"Es wurden zu viele Versuche unternommen, einen vertrauenswürdigen "
"Herausgeber zu registrieren. Versuchen Sie es später noch einmal."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Der vertrauenswürdige Herausgeber konnte nicht registriert werden"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -447,17 +447,17 @@ msgstr ""
"Dieser vertrauenswürdige Herausgeber wurde bereits registriert. Bitte "
"kontaktieren Sie die PyPI-Administratoren, wenn dies nicht beabsichtigt war."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
"Ein neuer ausstehender Herausgeber wurde registriert, zum Ersellen von "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Ungültige Herausgeber-ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Vertrauenswürdigen Herausgeber für Projekt entfernt "
@@ -2307,8 +2307,8 @@ msgstr "E-Mail zum Zurücksetzen des Passwortes gesendet"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Wir haben eine E-Mail an Ihre registrierte E-Mail-Adresse geschickt."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3065,6 +3065,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Dieser Link läuft in %(n_hours)s Stunde ab."
msgstr[1] "Dieser Link läuft in %(n_hours)s Stunden ab."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -3072,6 +3073,48 @@ msgstr ""
"Falls Sie diese Anfrage nicht gestellt haben, können Sie diese E-Mail "
"einfach ignorieren."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Jemand, möglicherweise Sie selbst, hat eine Anfrage zum Zurücksetzen des "
+"Passwort des PyPI-Kontos „%(username)s“ gestellt."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+# | msgid "Emails associated with your account"
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+"Sie haben den Zugriff auf die mit Ihrem Konto verbundene E-Mail-Adresse "
+"verloren"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Version %(version)s erstellt"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/el/LC_MESSAGES/messages.po b/warehouse/locale/el/LC_MESSAGES/messages.po
index 82b6b3fae362..8df71118e637 100644
--- a/warehouse/locale/el/LC_MESSAGES/messages.po
+++ b/warehouse/locale/el/LC_MESSAGES/messages.po
@@ -177,7 +177,7 @@ msgstr "Ο Κωδικός Ανάκτησης έχει ήδη χρησιμοπο
msgid "The username isn't valid. Try again."
msgstr "Το όνομα χρήστη δεν είναι έγκυρο. Δοκιμάστε ξανά."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -186,7 +186,7 @@ msgstr ""
"Υπήρξαν πάρα πολλές ανεπιτυχείς προσπάθειες σύνδεσης. Έχετε αποκλειστεί για "
"{}. Παρακαλώ δοκιμάστε ξανά αργότερα."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -196,7 +196,7 @@ msgstr ""
"λογαριασμό χωρίς να τα επαληθεύσετε. Ελέγξτε τα εισερχόμενά σας και "
"ακολουθήστε τους συνδέσμους επαλήθευσης. (IP: ${ip}"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -207,27 +207,27 @@ msgstr ""
"λογαριασμό που δεν ολοκληρώνονται. Ελέγξτε τα εισερχόμενά σας και "
"ακολουθήστε τους συνδέσμους επαλήθευσης. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Μη έγκυρη ή ληγμένη σύνδεση δύο βημάτων."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Ήδη πιστοποιημένος"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Επιτυχής WebAuthn assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Ο κωδικός ανάκτησης έγινε δεκτός. Ο παρεχόμενος κωδικός δεν μπορεί να "
"χρησιμοποιηθεί ξανά."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -235,33 +235,33 @@ msgstr ""
"Η εγγραφή του νέου χρήστη είναι προσωρινά απενεργοποιημένη. Δείτε στο "
"https://pypi.org/help#admin-intervention για λεπτομέρειες."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Ληγμένο token: ζητήστε ένα νέο σύνδεσμο επαναφοράς κωδικού"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Μη έγκυρο token: ζητήστε ένα νέο σύνδεσμο επαναφοράς κωδικού"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Μη έγκυρο token: δεν έγινε παροχή του token"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Μη έγκυρο token: δεν αποτελεί token επαναφοράς κωδικού"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Μη έγκυρο token: ο χρήστης δεν βρέθηκε"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Μη έγκυρο token: ο χρήστης συνδέθηκε από τότε που ζητήθηκε αυτό το token"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -269,123 +269,123 @@ msgstr ""
"Μη έγκυρο token: ο κωδικός έχει ήδη αλλάξει από τότε που ζητήθηκε αυτό το "
"token"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Έχετε μηδενίσει τον κωδικό χρήστη σας"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Ληγμένο token: ζητήστε ένα νέο email επιβεβαίωσης συνδέσμου"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Μη έγκυρο token: ζητήστε ένα νέο email επιβεβαίωσης συνδέσμου"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Μη έγκυρο token: αυτό δεν αποτελεί ένα email επιβεβαίωσης token"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Το email δεν βρέθηκε"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Το email είναι ήδη επιβεβαιωμένο"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Μπορείτε, πλέον, να θέσετε αυτό το email ως την κύρια διεύθυνση σας"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Αυτή είναι η κύρια διεύθυνση σας"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Η διεύθυνση email ${email_address} επιβεβαιώθηκε. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
msgstr "Λειγμένο token: ζητήστε πρόσκληση για νέο ρόλο έργου"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new organization invitation"
msgstr "Μη έγκυρο token: ζητήστε ένα νέο σύνδεσμο επαναφοράς κωδικού"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not an organization invitation token"
msgstr "Μη έγκυρο token: αυτό δεν αποτελεί ένα email επιβεβαίωσης token"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Η πρόσκληση του οργανισμού δεν είναι έγκυρη."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Η πρόσκληση οργανισμού δεν υπάρχει πλέον."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Η πρόσκληση για το '${organization_name}' απορρίφθηκε."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are not an owner of this project"
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Δεν είστε ο κάτοχος αυτού του project"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "Λειγμένο token: ζητήστε πρόσκληση για νέο ρόλο έργου"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr "Μη έγκυρο token: ζητήστε ένα νέο σύνδεσμο επαναφοράς κωδικού"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not a collaboration invitation token"
msgstr "Μη έγκυρο token: αυτό δεν αποτελεί ένα email επιβεβαίωσης token"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Η πρόσκληση ρόλων δεν είναι έγκυρη."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Πρόσκληση ρόλου δεν υπάρχει πλέον."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Η πρόσκληση για το '${project_name}' απορρίφθηκε."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, fuzzy, python-brace-format
#| msgid "You are not an owner of this project"
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Δεν είστε ο κάτοχος αυτού του project"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -398,7 +398,7 @@ msgstr ""
"Η εγγραφή του νέου χρήστη είναι προσωρινά απενεργοποιημένη. Δείτε στο "
"https://pypi.org/help#admin-intervention για λεπτομέρειες."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -408,7 +408,7 @@ msgstr ""
"Η εγγραφή του νέου χρήστη είναι προσωρινά απενεργοποιημένη. Δείτε στο "
"https://pypi.org/help#admin-intervention για λεπτομέρειες."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -417,13 +417,13 @@ msgstr ""
"εκδότη σε εκκρεμότητα. Ανατρέξτε στη διεύθυνση https://pypi.org/help#openid-"
"connect for details."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Δεν μπορείτε να εγγράψετε περισσότερους από 3 αξιόπιστους εκδότες σε "
"εκκρεμότητα ταυτόχρονα."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -435,33 +435,33 @@ msgid ""
"again later."
msgstr "Έγιναν πολλές ανεπιτυχείς απόπειρες σύνδεσης. Δοκιμάστε ξανά αργότερα."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "Διαχείριση αυτού του project"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "Διαχείριση έκδοσης"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2343,8 +2343,8 @@ msgstr "Το email, για μηδενισμό του κωδικού χρήστη
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Ένα email έχει αποσταλεί στην καταχωρημένη διεύθυνση email σας."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3136,11 +3136,52 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Αυτός ο σύνδεσμος θα λήξει σε %(n_hours)s ώρα."
msgstr[1] "Αυτός ο σύνδεσμος θα λήξει σε %(n_hours)s ώρες."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Αν δεν κάνατε αυτή την αίτηση, μπορείτε να αγνοήσετε αυτό το email."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Κάποιος, ίσως εσείς, έκανε μια αίτηση μηδενισμού κωδικού για τον λογαριασμό "
+"PyPI '%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+# | msgid "Emails associated with your account"
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Emails που συσχετίζονται με τον λογαριασμό σας"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr ""
+"Η εκδοση κυκλοφορίας %(version)s δημιουργήθηκε"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/enm/LC_MESSAGES/messages.po b/warehouse/locale/enm/LC_MESSAGES/messages.po
index f2ffe58edc46..54c633638bfa 100644
--- a/warehouse/locale/enm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/enm/LC_MESSAGES/messages.po
@@ -140,21 +140,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -162,185 +162,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -349,29 +349,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1989,8 +1989,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2573,11 +2573,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/eo/LC_MESSAGES/messages.po b/warehouse/locale/eo/LC_MESSAGES/messages.po
index 4d5d8251ecd1..a8945a0aee87 100644
--- a/warehouse/locale/eo/LC_MESSAGES/messages.po
+++ b/warehouse/locale/eo/LC_MESSAGES/messages.po
@@ -153,7 +153,7 @@ msgstr "Realira kodo estas jam uzita."
msgid "The username isn't valid. Try again."
msgstr "La salutnomo ne validas. Reprovu."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -162,7 +162,7 @@ msgstr ""
"Okazis troo da nesukcesaj salutaj provoj. Vi ne povos saluti dum {}. Reprovu "
"poste."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -171,7 +171,7 @@ msgstr ""
"Troo da retpoŝtaj adresoj aldoniĝis al ĉi tiu konto sen kontrolado. Kontrolu "
"vian enirkeston kaj sekvu la kontrolajn ligilojn. (IP-adreso: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -181,25 +181,25 @@ msgstr ""
"Estas troo da nekompletaj petoj por restarigi pasvorton pri ĉi tiu konto. "
"Kontrolu vian enirkeston kaj sekvu la kontrolajn ligilojn. (IP-adreso: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Nevalida aŭ eksvalidiĝinta dupaŝa saluto."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Jam aŭtentikigita"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Sukcesa WebAuthn-aserto"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Realira kodo akceptiĝis. La submetita kodo ne estas reuzebla."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -207,141 +207,141 @@ msgstr ""
"Portempe malebliĝis registrado de novaj uzantoj. Vidu la paĝon https://pypi."
"org/help#admin-intervention por detaloj."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Eksvalidiĝinta ĵetono: petu novan ligilon por restarigo de pasvorto"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Ne valida ĵetono: petu novan ligilon por restarigo de pasvorto"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ne valida ĵetono: neniu ĵetono donita"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ne valida ĵetono: ne estas pasvorto-restariga ĵetono"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ne valida ĵetono: uzanto ne trovita"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Nevalida ĵetono: la uzanto jam salutis post peto por ĉi tiu ĵetono"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Ne valida ĵetono: la pasvorto jam ŝanĝiĝis post peto por ĉi tiu ĵetono"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Vi restarigis vian pasvorton"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Eksvalidiĝinta ĵetono: petu por nova retpoŝto-kontrola ligilo"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ne valida ĵetono: petu por nova retpoŝto-kontrola ligilo"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ne valida ĵetono: ne estas ĵetono por retpoŝta kontrolo"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Retpoŝta adreso ne troviĝis"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Retpoŝta adreso jam kontrolita"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
"Vi povas nun uzi ĉi tiun retpoŝtan adreson kiel vian ĉefan retpoŝtan adreson"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Jen via ĉefa retpoŝta adreso"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Retpoŝta adreso ${email_address} kontrolita. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Eksvalidiĝinta ĵetono: petu novan inviton al organizaĵo"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Nevalida ĵetono: petu novan inviton al organizaĵo"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Eksvalidigita ĵetono: ne estas organizaĵa invita ĵetono"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Invito al organizaĵo ne validas."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Invito al orgainzaĵo ne plu ekzistas."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Invito al «${organization_name}» estas malakceptita."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Vi estas nun ${role} de la organizaĵo «${organization_name}»."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Eksvalidiĝinta ĵetono: petu novan inviton al projekta rolo"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Nevalida ĵetono: petu novan inviton al projekta rolo"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Nevalida ĵetono: ne estas ĵetono por invito al kunlaborado"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Invito al rolo ne estas valida."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Invito al rolo ne plu ekzistas."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Invito al '${project_name}' estas malakceptita."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Vi estas nun ${role} de la projekto '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr "Bonvolu legi la ĝisdatigitajn Uzkondiĉojn."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -350,11 +350,11 @@ msgstr ""
"Fidata eldonado estas provizore malebligita. Vidu la paĝon https://pypi.org/"
"help#admin-intervention por detaloj."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr "malŝaltita. Vidu https://pypi.org/help#admin-intervention por detaloj."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -362,11 +362,11 @@ msgstr ""
"Vi devas konfirmi vian retpoŝtan adreson por starigi estontan fidatan "
"eldonanton. Legu https://pypi.org/help#openid-connect por detaloj."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "Vi ne rajtas samtempe starigi pli ol 3 estontajn fidatajn eldonantojn."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -375,14 +375,14 @@ msgid ""
"again later."
msgstr "Okazis troo da provoj registri fidatajn eldonantojn. Reprovu poste."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Ne eblis registri la fidatan eldonanton"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -390,16 +390,16 @@ msgstr ""
"Jen jam registrita fidata eldonanto. Bonvolu kontakti la administrantojn de "
"PyPi, se vi ne intencis tion."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Starigis novan estontan fidatan eldonanton por krei "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Nevalida identigilo de eldonanto"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Forigis fidatan eldonanton por projekto "
@@ -2121,9 +2121,13 @@ msgid "Reset email sent"
msgstr "Retmesaĝo sendita pri restarigo"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Se vi submetis validan salutnomon aŭ retpoŝtan adreson, retmesaĝo sendiĝis "
"al via registrita retpoŝta adreso."
@@ -2821,11 +2825,51 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Ĉi tiu ligilo eksvalidiĝos post %(n_hours)s horo."
msgstr[1] "Ĉi tiu ligilo eksvalidiĝos post %(n_hours)s horoj."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Se vi ne petis tion, simple ignoru ĉi tiun retmesaĝon."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Iu, eble vi, petis pri restarigo de la pasvorto de via PyPI-konto "
+"'%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Perdo de retpoŝta adreso asociita al via konto"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "Versio %(version)s fortirita"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/es/LC_MESSAGES/messages.po b/warehouse/locale/es/LC_MESSAGES/messages.po
index 7cdcb04a35fe..318b37c87318 100644
--- a/warehouse/locale/es/LC_MESSAGES/messages.po
+++ b/warehouse/locale/es/LC_MESSAGES/messages.po
@@ -186,7 +186,7 @@ msgstr "El código de recuperación ya se había utilizado."
msgid "The username isn't valid. Try again."
msgstr "El nombre de usuario no es válido. Inténtelo de nuevo."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -195,7 +195,7 @@ msgstr ""
"Ha habido demasiados intentos fallidos de iniciar sesión. Has sido bloqueado "
"durante {}. Por favor, inténtelo de nuevo más tarde."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -204,7 +204,7 @@ msgstr ""
"Se han añadido demasiadas direcciones de correo a la cuenta sin "
"verificarlas. Revise su buzón y siga los enlaces de verificación. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -215,27 +215,27 @@ msgstr ""
"cuenta sin completarlos. Revise su buzón y siga los enlaces de verificación. "
"(IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "El acceso en dos fases no es válido o ha caducado."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Ya se autenticó"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "La aserción de WebAuthn es correcta"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Se aceptó el código de recuperación. El código proporcionado no puede "
"utilizarse más."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -243,35 +243,35 @@ msgstr ""
"Se desactivaron temporalmente las altas de usuarios nuevos. Para obtener "
"detalles, consulte https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Ficha caducada: solicite un enlace de restablecimiento de contraseña nuevo"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"Ficha no válida: solicite un enlace de restablecimiento de contraseña nuevo"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ficha no válida: no se proporcionó ninguna ficha"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ficha no válida: no es una ficha de restablecimiento de contraseña"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ficha no válida: no se encontró la cuenta"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Ficha no válida: desde que se solicitó esta ficha se ha accedido a la cuenta"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -279,115 +279,115 @@ msgstr ""
"Ficha no válida: desde que se solicitó esta ficha se ha modificado ya la "
"contraseña"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Ha restablecido su contraseña"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Ficha caducada: solicite un enlace de verificación de dirección nuevo"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ficha no válida: solicite un enlace de verificación de dirección nuevo"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ficha no válida: no es una ficha de verificación de dirección"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "No se encontró la dirección de correo"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Ya se verificó la dirección de correo"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Ahora puede establecer esta dirección de correo como principal"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Esta es su dirección principal"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"Se verificó la dirección de correo electrónico ${email_address}. "
"${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Ficha caducada: solicite una invitación nueva a la organización"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Ficha no válida: solicite una invitación nueva a la organización"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Ficha no válida: no se trata de una invitación a una organización"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "La invitación a la organización no es válida."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "La invitación a la organización ya no existe."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Se declinó la invitación a «${organization_name}»."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Ahora es ${role} de la organización «${organization_name}»."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Ficha caducada: solicite una invitación nueva para asumir un puesto"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
"Ficha no válida: solicite una invitación nueva para asumir un puesto en el "
"proyecto"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
"Ficha caducada: solicite una invitación nueva para asumir un puesto en el "
"proyecto"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "La invitación al puesto no es válida."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "La invitación al puesto ya no existe."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Se declinó la invitación a «${project_name}»."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Ahora es ${role} del proyecto «${project_name}»."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -396,13 +396,13 @@ msgstr ""
"Las ediciones de confianza están temporalmente desactivadas. Consulte "
"https://pypi.org/help#admin-intervention para obtener más información."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"Desactivado. Consulte https://pypi.org/help#admin-intervention para más "
"detalles."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -411,11 +411,11 @@ msgstr ""
"de confianza pendiente. Consulte https://pypi.org/help#openid-connect para "
"obtener más información."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "No puede registrar más de 3 editores de confianza pendientes a la vez."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -426,14 +426,14 @@ msgstr ""
"Hubo demasiados intentos de registro para publicadores confiables. Intente "
"de nuevo más tarde."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "No se ha podido registrar el editor de confianza"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -441,16 +441,16 @@ msgstr ""
"Este editor de confianza ya ha sido registrado. Por favor, póngase en "
"contacto con los administradores de PyPI si esto no fue intencional."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Se ha registrado un nuevo publicador pendiente para crear "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID de editor no válido"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Editor de confianza eliminado del proyecto "
@@ -2247,8 +2247,8 @@ msgstr "Se envió un mensaje para restablecer la contraseña"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Se ha enviado un mensaje a la dirección de correo que registró."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2965,6 +2965,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Este enlace caducará en %(n_hours)s hora."
msgstr[1] "Este enlace caducará en %(n_hours)s horas."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2972,6 +2973,46 @@ msgstr ""
"Si no ha hecho esta solicitud, puede pasar por alto este mensaje con "
"seguridad."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Alguien, quizá usted, ha solicitado restablecer la contraseña de la cuenta "
+"«%(username)s» de PyPI."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+"Pérdida de acceso al buzón de correo electrónico asociado con su cuenta"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Versión de lanzamiento %(version)s creada"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/et/LC_MESSAGES/messages.po b/warehouse/locale/et/LC_MESSAGES/messages.po
index ecbb0a83be82..818f0e3a359f 100644
--- a/warehouse/locale/et/LC_MESSAGES/messages.po
+++ b/warehouse/locale/et/LC_MESSAGES/messages.po
@@ -139,21 +139,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -161,185 +161,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -348,29 +348,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1982,8 +1982,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2566,11 +2566,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fa/LC_MESSAGES/messages.po b/warehouse/locale/fa/LC_MESSAGES/messages.po
index 38983c764c7c..cc084cf8d225 100644
--- a/warehouse/locale/fa/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fa/LC_MESSAGES/messages.po
@@ -181,7 +181,7 @@ msgstr "کد بازیابی قبلا استفاده شده است."
msgid "The username isn't valid. Try again."
msgstr "نام کاربری شما معتبر نیست. دوباره امتحان کنید."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -190,7 +190,7 @@ msgstr ""
"تعداد زیادی تلاش ناموفق برای ورود به سیستم انجام شده است. حساب شما برای "
"مقدار زمان {} قفل شده است. لطفا بعدا تلاش کنید."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -199,7 +199,7 @@ msgstr ""
"تعداد ایمیل های زیادی به این حساب اضافه شده است بدون اینکه تائید شده باشند. "
"ایمیل تان را بررسی نموده و لینک های تائیدی را تعقیب کنید. (IP:${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -210,25 +210,25 @@ msgstr ""
"درخواست شده است. صندوق ورودی خود را بررسی کرده و لینک های تایید را دنبال "
"کنید. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "ورود دو مرحله ای منقضی شده یا نامعتبر."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "قبلا تایید شده است"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "ادعای موفق WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "کد بازیابی قبول شد. از کد استفاده شده دوباره نمیتوان استفاده کرد."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -236,141 +236,141 @@ msgstr ""
"ثبت نام کاربر جدید موقتا غیر فعال گردید. برای توضیحات لینک https://pypi.org/"
"help#admin-intervention را ببینید."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "نشانه منقضی شده: لینک بازیابی رمز عبور جدید درخواست کنید"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "نشانه نامعتبر: لینک بازیابی رمز عبور جدید درخواست کنید"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "نشانه نامعتبر: هیچ نشانه ای استفاده نشد"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "نشانه نامعتبر: نشانه بازیابی پسورد نمی باشد"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "نشانه نامعتبر: کاربر یافت نشد"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "نشانه نامعتبر: کاربر از زمان درخواست این نشانه وارد سیستم شده است"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"توکن نامعتبر: رمز عبور از زمان درخواست این توکن در حال حاضر تغییر کرده است"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "گذرواژه خود را بازنشانی کردید"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "نشانه منقضی شده: یک لینک تأیید ایمیل جدید درخواست کنید"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "نشانه منقضی شده: یک لینک تأیید ایمیل جدید درخواست کنید"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "رمز نامعتبر: رمز تأیید ایمیل نیست"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ایمیل یافت نشد"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "ایمیل از قبل تأیید شده است"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "اکنون می توانید این ایمیل را به عنوان آدرس اصلی خود تنظیم کنید"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "این آدرس اصلی شماست"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "آدرس ایمیل ${email_address} تایید شده است. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "نشانهی منقضی شده :یک دعوت نامهی سازمانی جدید درخواست کنید"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "توکن منقضی شده : یک دعوت نامه ی سازمانی جدید درخواست کنید"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "کلید نامعتبر: کلید یک دعوت نامه سازمانی نیست"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "دعوت نامه سازمانی معتبر نیست."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "دعوت نامه دیگر وجود ندارد."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "دعوت برای \"$ {project_name}\" رد شد."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "شما اکنون {role}$ سازمان '${organization_name}' هستید"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "نشانه منقضی شده : نقش دعوت یک پروژه جدید را درخواست کنید"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "نشانه منقضی شده : نقش دعوت یک پروژه جدید را درخواست کنید"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "توکن نامعتبر: رمز دعوت نامه همکاری نیست"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "دعوت نامه نقش، معتبر نیست."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "دعوت نامه دیگر وجود ندارد."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "دعوت برای \"$ {project_name}\" رد شد."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "شما اکنون $ {role} از پروژه '$ {project_name}' هستید."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -379,13 +379,13 @@ msgstr ""
"انتشار مورد اعتماد موقتا غیر فعال گردید. برای توضیحات لینک https://pypi.org/"
"help#admin-intervention را ببینید."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"غیر فعال شده. برای جزئیات بیشتر به https://pypi.org/help#admin-intervention "
"مراجعه کنید."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -393,11 +393,11 @@ msgstr ""
"برای ثبت نام یک ناشر معتمد باید یک ایمیل تأیید شده داشته باشید. برای جزئیات "
"به https://pypi.org/help#openid-connect مراجعه کنید."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "شما نمی توانید بیش از 3 ناشر معتمد تایید نشده را همزمان ثبت کنید."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -408,14 +408,14 @@ msgstr ""
"تعداد زیادی تلاش ناموفق برای ورود به سیستم انجام شده است. لطفا بعدا تلاش "
"کنید."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "ناشر معتمد ثبت نشد"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -423,16 +423,16 @@ msgstr ""
"این ناشر مورد اعتماد قبلاً ثبت شده است. اگر این کار عمدی نبود، لطفاً با مدیران "
"PyPI تماس بگیرید."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "ناشر در انتظار جدیدی برای ایجاد کردن ثبت نام شد. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "شماره ناشر نامعتبر"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "ناشر مورد اعتماد برای پروژه حذف شد. "
@@ -2220,8 +2220,8 @@ msgstr "ایمیل تنظیم مجدد ارسال شد"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "یک ایمیل به آدرس ایمیل ثبت شده شما ارسال شده است."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2978,6 +2978,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "این پیوند در %(n_hours)s ساعت دیگر منقضی می شود."
msgstr[1] "این پیوند در %(n_hours)s ساعات دیگر منقضی می شود."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2985,6 +2986,43 @@ msgstr ""
"اگر این درخواست را نکردید ، می توانید با خیال راحت این ایمیل را نادیده "
"بگیرید."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"شخصی ، شاید شما ، یک درخواست بازنشانی رمز عبور برای حساب PyPI شما "
+"\"%(username)s\" ایجاد کرده است."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "یا مرور پروژه ها "
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fi/LC_MESSAGES/messages.po b/warehouse/locale/fi/LC_MESSAGES/messages.po
index cbc2a7ed35e4..c3aac53cc02c 100644
--- a/warehouse/locale/fi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fi/LC_MESSAGES/messages.po
@@ -163,7 +163,7 @@ msgstr "Palautuskoodit luotu uudelleen"
msgid "The username isn't valid. Try again."
msgstr "Sähköpostiosoite on virheellinen. Yritä uudelleen."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -173,7 +173,7 @@ msgid ""
msgstr ""
"Liian monta epäonnistunutta kirjautumisyritystä. Yritä uudelleen myöhemmin."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -182,7 +182,7 @@ msgstr ""
"Tiliin on lisätty liian monta sähköpostiosoitetta vahvistamatta niitä. "
"Tarkista sähköpostisi ja seuraa vahvistuslinkkejä. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -195,25 +195,25 @@ msgstr ""
"Tiliin on lisätty liian monta sähköpostiosoitetta vahvistamatta niitä. "
"Tarkista sähköpostisi ja seuraa vahvistuslinkkejä. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Virheellinen tai vanhentunut kahden tekijän kirjautuminen."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Jo todennettu"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Onnistunut WebAuthn-vahvistus"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Palautuskoodi hyväksytty. Annettua koodia ei voi käyttää uudelleen."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -221,34 +221,34 @@ msgstr ""
"Uuden käyttäjän rekisteröinti on väliaikaisesti poistettu käytöstä. Katso "
"lisätietoja kohdasta https://pypi.org/help#admin-interventio."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Vanhentunut tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Virheellinen tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Virheellinen tunnussanoma: tunnusta ei annettu"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Virheellinen tunnussanoma: ei salasanan palautustunnus"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Virheellinen tunnussanoma: käyttäjää ei löydy"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Virheellinen tunnussanoma: käyttäjä on kirjautunut sisään tämän tunnuksen "
"pyytämisen jälkeen"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -256,127 +256,127 @@ msgstr ""
"Virheellinen tunnussanoma: salasana on jo muutettu tämän tunnuksen "
"pyytämisen jälkeen"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Olet nollannut salasanasi"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Vanhentunut tunnussanoma: pyydä uusi sähköpostin vahvistuslinkki"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Virheellinen tunnussanoma: pyydä uusi sähköpostin vahvistuslinkki"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Virheellinen tunnussanoma: ei sähköpostin vahvistustunnus"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Sähköpostiosoitetta ei löytynyt"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Sähköpostiosoite on jo vahvistettu"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Voit nyt asettaa tämän sähköpostiosoitteen ensisijaiseksi"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Tämä on ensisijainen osoitteesi"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Sähköpostiosoite ${email_address} vahvistettu. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new organization invitation"
msgstr "Vanhentunut tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new organization invitation"
msgstr "Virheellinen tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not an organization invitation token"
msgstr "Virheellinen tunnussanoma: ei sähköpostin vahvistustunnus"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "Roolikutsu on virheellinen."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
#| msgid "Role invitation no longer exists."
msgid "Organization invitation no longer exists."
msgstr "Roolikutsua ei enää ole."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "Kutsu projektiin '${project_name}' on hylätty."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Olet nyt ${role} projektissa '${project_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
msgstr "Vanhentunut tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr "Virheellinen tunnussanoma: pyydä uusi salasanan palautuslinkki"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not a collaboration invitation token"
msgstr "Virheellinen tunnussanoma: ei sähköpostin vahvistustunnus"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Roolikutsu on virheellinen."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Roolikutsua ei enää ole."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Kutsu projektiin '${project_name}' on hylätty."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Olet nyt ${role} projektissa '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -389,7 +389,7 @@ msgstr ""
"Uuden käyttäjän rekisteröinti on väliaikaisesti poistettu käytöstä. Katso "
"lisätietoja kohdasta https://pypi.org/help#admin-interventio."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -399,17 +399,17 @@ msgstr ""
"Uuden käyttäjän rekisteröinti on väliaikaisesti poistettu käytöstä. Katso "
"lisätietoja kohdasta https://pypi.org/help#admin-interventio."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -422,31 +422,31 @@ msgid ""
msgstr ""
"Liian monta epäonnistunutta kirjautumisyritystä. Yritä uudelleen myöhemmin."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Create an account"
msgid "Invalid publisher ID"
msgstr "Luo tili"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2265,8 +2265,8 @@ msgstr "Nollaussähköposti lähetetty"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Rekisteröityyn sähköpostiosoitteeseesi on lähetetty sähköpostiviesti."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2877,11 +2877,43 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Tämä linkki vanhenee %(n_hours)s tunnissa."
msgstr[1] "Tämä linkki vanhenee %(n_hours)s tunnissa."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Jos et tehnyt tätä pyyntöä, voit turvallisesti ohittaa tämän viestin."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "Tai selaa projekteja"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fil/LC_MESSAGES/messages.po b/warehouse/locale/fil/LC_MESSAGES/messages.po
index 54347191c84b..0e76511bb941 100644
--- a/warehouse/locale/fil/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fil/LC_MESSAGES/messages.po
@@ -164,7 +164,7 @@ msgstr "Nagamit na dati ang recovery code."
msgid "The username isn't valid. Try again."
msgstr "And email address ay hindi valid. Subukan muli."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -175,7 +175,7 @@ msgstr ""
"Napakaraming hindi matagumpay na pagtatangka sa pag-log in. Subukan ulit "
"mamaya."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -185,7 +185,7 @@ msgstr ""
"verify ang mga ito. Tingnan ang iyong inbox at sundin ang mga link sa pag-"
"verify. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -196,185 +196,185 @@ msgstr ""
"nang hindi kinukumpleto ang mga ito. Tingnan ang iyong inbox at sundin ang "
"mga link sa pag-verify. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Di-wasto o nag-expire na two factor login."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Na-authenticate na"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Matagumpay na WebAuthn assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -388,29 +388,29 @@ msgstr ""
"Napakaraming hindi matagumpay na pagtatangka sa pag-log in. Subukan ulit "
"mamaya."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2133,8 +2133,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2721,11 +2721,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fr/LC_MESSAGES/messages.po b/warehouse/locale/fr/LC_MESSAGES/messages.po
index a2a214def625..66807550c09f 100644
--- a/warehouse/locale/fr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fr/LC_MESSAGES/messages.po
@@ -191,7 +191,7 @@ msgstr "Le code de récupération a été utilisé précédemment."
msgid "The username isn't valid. Try again."
msgstr "Le nom d'utilisateur est invalide. Veuillez réessayer."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -200,7 +200,7 @@ msgstr ""
"Il y a eu trop de tentatives de connexion infructueuses. Votre compte est "
"verrouillé pendant {}. Veuillez réessayer plus tard."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -210,7 +210,7 @@ msgstr ""
"vérifiées. Veuillez consulter votre boîte de messagerie et suivre les liens "
"de vérification. (IP : ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -221,26 +221,26 @@ msgstr ""
"ce compte qu'elles n'aient abouti. Veuillez consulter votre boîte de "
"messagerie et suivre les liens de vérification. (IP : ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Connexion à deux facteurs invalide ou expirée."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Authentification déjà active"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Vérification WebAuthn réussie"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Code de récupération accepté. Le code fourni ne peut plus être utilisé."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -248,36 +248,36 @@ msgstr ""
"L'inscription de nouveaux profils est temporairement désactivée. Consultez "
"https://pypi.org/help#admin-intervention pour plus d'informations."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Jeton expiré : demandez un nouveau lien de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"Jeton invalide : demandez un nouveau lien de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Jeton invalide : aucun jeton fourni"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
"Jeton invalide : ce n’est pas un jeton de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Jeton invalide : profil introuvable"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Jeton invalide : Une connexion a eu lieu après que ce jeton a été demandé"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -285,117 +285,117 @@ msgstr ""
"Jeton invalide : le mot de passe a déjà été changé après que ce jeton a été "
"demandé"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Vous avez réinitialisé votre mot de passe"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Jeton expiré : demandez un nouveau lien de vérification d'e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Jeton invalide : demandez un nouveau lien de vérification d'e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Jeton invalide : ce n'est pas un jeton de vérification d'e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail non trouvé"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail déjà vérifié"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
"Vous pouvez dorénavant configurer cet e-mail comme votre adresse principale"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Ceci est votre adresse principale"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Adresse e-mail ${email_address} verifiée. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Jeton expiré : demandez une nouvelle invitation a l'organisation"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Jeton invalide : demandez une nouvelle invitation a l'organisation"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Jeton invalide : ce n'est pas un jeton d'invitation à une organisation"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "L'invitation à l'organisation n'est pas valide."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "L'invitation à l'organisation a été révoquée."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "L'invitation a l'organisation « ${organization_name} » a été refusée."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
"Vous avez désormais le rôle « ${role} » au sein de l'organisation "
"« ${organization_name} »."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Jeton expiré : demandez une nouvelle invitation pour le rôle du projet"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
"Jeton invalide : demandez une nouvelle invitation pour le rôle du projet"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Jeton invalide : ce n'est pas un jeton d'invitation à collaborer"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "L'invitation n'est pas valide."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "L'invitation a été révoquée."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "L'invitation au projet « ${project_name} » a été refusée."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
"Vous avez désormais le rôle « ${role} » au sein du projet "
"« ${project_name} »."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Veuillez consulter nos Conditions d'utilisation "
"mises à jour."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -404,13 +404,13 @@ msgstr ""
"La publication sécurisée est temporairement désactivée. Consultez https://"
"pypi.org/help#admin-intervention pour plus d'informations."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"désactivée. Consultez https://pypi.org/help#admin-intervention pour plus "
"d'informations."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -419,12 +419,12 @@ msgstr ""
"éditeur de confiance en attente. Voir https://pypi.org/help#openid-connect "
"pour plus de détails."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Vous ne pouvez pas enregistrer plus de 3 éditeurs de confiance à la fois."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -435,14 +435,14 @@ msgstr ""
"Il y a eu trop de tentatives d'inscription d'éditeur de confiance. Veuillez "
"réessayer plus tard."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "L'éditeur de confiance n'a pas pu être enregistré"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -450,16 +450,16 @@ msgstr ""
"Cet éditeur de confiance a déjà été enregistré. Veuillez contacter les "
"administrateurs de PyPI si cela n'était pas intentionnel."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Nouveau fournisseur ajouté pour "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID d'éditeur invalide"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Éditeur de confiance du projet supprimé "
@@ -2245,9 +2245,13 @@ msgid "Reset email sent"
msgstr "E-mail de réinitialisation envoyé"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Si vous avez indique un nom d'utilisateur ou une adresse e-mail valide, un e-"
"mail a été envoyé à votre adresse électronique d’inscription."
@@ -2968,6 +2972,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Ce lien expirera dans %(n_hours)s heure."
msgstr[1] "Ce lien expirera dans %(n_hours)s heures."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2975,6 +2980,45 @@ msgstr ""
"Si vous n'avez pas fait cette demande, vous pouvez ignorer cet e-mail en "
"toute sécurité."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Quelqu'un, peut-être vous, a fait une demande de réinitialisation de mot de "
+"passe pour votre comte PyPI « %(username)s »."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Vous avez perdu accès à l'adresse e-mail associée à votre compte"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "Version %(version)s remisée"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fr_CA/LC_MESSAGES/messages.po b/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
index 1f0cf254c253..768a949bbf74 100644
--- a/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
@@ -165,7 +165,7 @@ msgstr "Codes de récupération régénérés"
msgid "The username isn't valid. Try again."
msgstr "L’adresse courriel est invalide. Veuillez réessayer."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -176,7 +176,7 @@ msgstr ""
"Il y a eu trop de tentative de connexions infructueuses. Veuillez réessayer "
"plus tard."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -186,7 +186,7 @@ msgstr ""
"vérifiées. Veuillez consulter votre boîte de réception et suivre les liens "
"de vérification. (IP : ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -200,26 +200,26 @@ msgstr ""
"vérifiées. Veuillez consulter votre boîte de réception et suivre les liens "
"de vérification. (IP : ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Connexion à deux facteurs invalide ou expirée."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Déjà authentifié"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Assertion WebAuthn réussie"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Code de récupération accepté. Le code fourni ne peut plus être utilisé."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -227,37 +227,37 @@ msgstr ""
"L’enregistrement d’un nouvel utilisateur est temporairement désactivé. Voir "
"https://pypi.org/help#admin-intervention pour plus de détails."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Jeton expiré : demandez un nouveau lien de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"Jeton invalide : demandez un nouveau lien de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Jeton invalide : aucun jeton fourni"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
"Jeton invalide : ce n’est pas un jeton de réinitialisation de mot de passe"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Jeton invalide : utilisateur introuvable"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Jeton invalide : l’utilisateur s’est connecté depuis que ce jeton a été "
"demandé"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -265,128 +265,128 @@ msgstr ""
"Jeton invalide : mot de passe a déjà été changé depuis que ce jeton a été "
"demandé"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Vous avez réinitialisé votre mot de passe"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Jeton expiré : demandez un nouveau lien de vérification de courriel"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Jeton invalide : demandez un nouveau lien de vérification de courriel"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Jeton invalide : ce n'est pas un jeton de vérification de courriel"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Courriel non trouvé"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Courriel déjà vérifié"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
"Vous pouvez dorénavant configurer ce courriel comme votre adresse principale"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Ceci est votre adresse principale"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Adresse courriel ${email_address} verifié. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
msgstr "Jeton expiré: demander une nouvelle invitation de rôle de projet"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
msgstr "Jeton expiré: demander une nouvelle invitation de rôle de projet"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr ""
"Jeton non valide: ce n'est pas un jeton d'invitation à la collaboration"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "L'invitation de rôle n'est pas valide."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
#| msgid "Role invitation no longer exists."
msgid "Organization invitation no longer exists."
msgstr "L'invitation de rôle n'existe plus."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "L'invitation pour '$ {project_name}' est refusée."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Vous êtes maintenant $ {role} du projet '$ {project_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "Jeton expiré: demander une nouvelle invitation de rôle de projet"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "Jeton expiré: demander une nouvelle invitation de rôle de projet"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
"Jeton non valide: ce n'est pas un jeton d'invitation à la collaboration"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "L'invitation de rôle n'est pas valide."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "L'invitation de rôle n'existe plus."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "L'invitation pour '$ {project_name}' est refusée."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Vous êtes maintenant $ {role} du projet '$ {project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -399,7 +399,7 @@ msgstr ""
"L’enregistrement d’un nouvel utilisateur est temporairement désactivé. Voir "
"https://pypi.org/help#admin-intervention pour plus de détails."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -409,17 +409,17 @@ msgstr ""
"L’enregistrement d’un nouvel utilisateur est temporairement désactivé. Voir "
"https://pypi.org/help#admin-intervention pour plus de détails."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -433,33 +433,33 @@ msgstr ""
"Il y a eu trop de tentative de connexions infructueuses. Veuillez réessayer "
"plus tard."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "Gérer ce projet"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "Gérer la version"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2372,8 +2372,8 @@ msgstr "Courriel de réinitialisation envoyé"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Un courriel a été envoyé à votre adresse électronique d’inscription."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3172,6 +3172,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Ce lien expirera dans %(n_hours)s heure."
msgstr[1] "Ce lien expirera dans %(n_hours)s heures."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -3179,6 +3180,45 @@ msgstr ""
"Si vous n'avez pas fait cette demande, vous pouvez ignorer ce courriel en "
"toute sécurité."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Quelqu'un, peut-être vous, a fait une demande de réinitialisation de mot de "
+"passe pour votre comte PyPO « %(username)s »."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Vous avez perdu l'accès à l'adresse courriel associés à votre compte"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Version %(version)s créée"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/frc/LC_MESSAGES/messages.po b/warehouse/locale/frc/LC_MESSAGES/messages.po
index 278f4c8da9b2..5862b7299ec7 100644
--- a/warehouse/locale/frc/LC_MESSAGES/messages.po
+++ b/warehouse/locale/frc/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/frm/LC_MESSAGES/messages.po b/warehouse/locale/frm/LC_MESSAGES/messages.po
index 854b1d2bfda6..948f9b396f59 100644
--- a/warehouse/locale/frm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/frm/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/fro/LC_MESSAGES/messages.po b/warehouse/locale/fro/LC_MESSAGES/messages.po
index bfe78c5ba1e7..a26a0cce4527 100644
--- a/warehouse/locale/fro/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fro/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/gl/LC_MESSAGES/messages.po b/warehouse/locale/gl/LC_MESSAGES/messages.po
index 756ea0c47a51..252e75f55d0e 100644
--- a/warehouse/locale/gl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/gl/LC_MESSAGES/messages.po
@@ -148,21 +148,21 @@ msgstr "O código de recuperación usouse con anterioridade."
msgid "The username isn't valid. Try again."
msgstr "O enderezo electrónico non é válido. Inténtao de novo."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -170,185 +170,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Acceso con dobre factor inválido ou caducado."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Xa autenticado"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Renovaches o teu contrasinal"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Este é o teu enderezo primario"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -357,31 +357,31 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Create an account"
msgid "Invalid publisher ID"
msgstr "Crea unha conta"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2101,8 +2101,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2690,11 +2690,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/he/LC_MESSAGES/messages.po b/warehouse/locale/he/LC_MESSAGES/messages.po
index 3b6f5122e150..47a9a65761ea 100644
--- a/warehouse/locale/he/LC_MESSAGES/messages.po
+++ b/warehouse/locale/he/LC_MESSAGES/messages.po
@@ -172,7 +172,7 @@ msgstr "קוד השחזור היה בשימוש בעבר."
msgid "The username isn't valid. Try again."
msgstr "שם משתמש אינו תקין. יש לנסות שוב."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -181,7 +181,7 @@ msgstr ""
"בוצעו נסיונות הזדהות כושלים רבים מדי. חשבונך ננעל למשך {}. יש לנסות שוב "
"מאוחר יותר."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -190,7 +190,7 @@ msgstr ""
"יותר מדי אי-מיילים נוספו לחשבון זה מבלי שאומתו. בדק/י את תיבת הדואר הנכנס "
"שלך ועקב/י אחר קישורי האימות. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -200,25 +200,25 @@ msgstr ""
"יותר מדי בקשות לאיפוס סיסמא בחשבון זה נשלחו מבלי שהושלמו. בדק/י את תיבת "
"הדואר הנכנס שלך ועקב/י אחר קישורי האימות. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "זיהוי דו-גורמי לא תקין או לא בתוקף."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "כבר מאומת"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "בדיקת WebAuthn מוצלחת"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "קוד השחזור התקבל. לא יהיה ניתן להשתמש שוב בקוד שסופק."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -226,144 +226,144 @@ msgstr ""
"רישום משתמש חדש חסום באופן זמני. יש לפנות לכתובת https://pypi.org/help#admin-"
"intervention לפרטים."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "אסימון פג תוקף: יש לבקש קישור איפוס סיסמא חדש"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "אסימון לא תקין: יש לבקש קישור איפוס סיסמא חדש"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "אסימון לא תקין: לא סופק אסימון"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "אסימון לא תקין: אינו אסימון איפוס סיסמא"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "אסימון לא תקין: משתמש לא נמצא"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "אסימון לא תקין: משתמש התחבר מאז בקשת אסימון זה"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "אסימון לא תקין: הסיסמא כבר שונתה מאז בקשת אסימון זה"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "איפסת את סיסמתך"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "אסימון פג תוקף: יש לבקש קישור אימות אי-מייל חדש"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "אסימון לא תקין: יש לבקש אי-מייל אימות סיסמא חדש"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "אסימון לא תקין: אינו אסימון אימות אי-מייל"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "אי-מייל לא נמצא"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "אי-מייל כבר מאומת"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "כעת תוכל להגדיר דוא\"ל זה ככתובת הראשית שלך"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "זו הכתובת העיקרית שלך"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "כתובת האי-מייל ${email_address} אומתה. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "אסימון פג תוקף: בקשו הזמנה חדשה לארגון"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "אסימון לא חוקי: בקשו הזמנה חדשה לארגון"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "אסימון לא חוקי: זהו לא אסימון עבור הזמנה לארגון"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "הזמנת הארגון אינה חוקית."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "הזמנה לארגון כבר לא קיימת."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "ההזמנה ל- '${organization_name}' נדחתה."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "כעת את/ה ${role} של ארגון '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "אסימון פג תוקף: בקש/י הזמנה חדשה לתפקיד פרוייקט"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "אסימון לא חוקי: בקש הזמנה חדשה לתפקיד פרוייקט"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "אסימון לא חוקי: לא אסימון הזמנה לשיתוף פעולה"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "הזמנת התפקיד אינה חוקית."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "הזמנת תפקיד כבר לא קיימת."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "ההזמנה ל- '${project_name}' נדחתה."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "כעת אתה $ {role} של פרויקט '$ {project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -376,7 +376,7 @@ msgstr ""
"רישום משתמש חדש חסום באופן זמני. יש לפנות לכתובת https://pypi.org/help#admin-"
"intervention לפרטים."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -386,17 +386,17 @@ msgstr ""
"רישום משתמש חדש חסום באופן זמני. יש לפנות לכתובת https://pypi.org/help#admin-"
"intervention לפרטים."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -408,31 +408,31 @@ msgid ""
"again later."
msgstr "בוצעו נסיונות הזדהות כושלים רבים מדי. יש לנסות שוב מאוחר יותר."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "ניהול פרויקט זה"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "מספר זיהוי מפרסם אינו תקין"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2296,8 +2296,8 @@ msgstr "נשלח אי-מייל לאיפוס"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "נשלחה הודעה לכתובת האי-מייל הרשומה בחשבונך."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3045,11 +3045,50 @@ msgstr[1] "תוקף קישור זה יפוג תוך שעתיים."
msgstr[2] "תוקף קישור זה יפוג תוך %(n_hours)s שעות."
msgstr[3] "תוקף קישור זה יפוג תוך %(n_hours)s שעות."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "אם לא יצרת בקשה זו, ניתן להתעלם מהודעה זו בביטחון."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"מישהו, אולי את/ה, יצר בקשת איפוס סיסמה עבור חשבון ה-PyPI שלך '%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "אובדן גישה אל כתובת האי-מייל המקושרת אל חשבונך"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "גרסה %(version)s נוצרה"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/hi/LC_MESSAGES/messages.po b/warehouse/locale/hi/LC_MESSAGES/messages.po
index 31aeae382284..c2dbd1df0188 100644
--- a/warehouse/locale/hi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hi/LC_MESSAGES/messages.po
@@ -167,7 +167,7 @@ msgstr "पुनर्प्राप्ति कोड का उपयोग
msgid "The username isn't valid. Try again."
msgstr "उपयोक्तानाम मान्य नहीं है. पुनः प्रयास करें।"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -176,7 +176,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "बहुत से असफल लॉगिन प्रयास हुए हैं। बाद में पुन: प्रयास करें।"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -185,7 +185,7 @@ msgstr ""
"इस अकाउटं के साथ काफी सारे ईमेल जोडे गए है जो कि सत्यापित नहीं है। अपने इनबोक्स कि जाँच "
"करें और सत्यापन लिंकों का अनुसरण करें। (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -198,25 +198,25 @@ msgstr ""
"इस अकाउटं के साथ काफी सारे ईमेल जोडे गए है जो कि सत्यापित नहीं है। अपने इनबोक्स कि जाँच "
"करें और सत्यापन लिंकों का अनुसरण करें। (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "अमान्य या खारिज दो कारक लॉगिन।"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "पहले से ही प्रमाणित"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "सफल WebAuthn दावा"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "पुनर्प्राप्ति कुंजी स्वीकृत। प्रदत्त कुंजी का पुनः उपयोग वर्जित।"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -224,157 +224,157 @@ msgstr ""
"नए user पंजीकरण अस्थायी रूप से अक्षम। विवरण के लिए https://pypi.org/help#admin-"
"intervention देखें।"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "खारिज टोकन: एक नया पासवर्ड रीसेट लिंक का अनुरोध करें"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "अमान्य टोकन: एक नया पासवर्ड रीसेट लिंक का अनुरोध करें"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "अमान्य टोकन: कोई टोकन की आपूर्ति नहीं"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "अमान्य टोकन: पासवर्ड रीसेट टोकन नहीं"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "अमान्य टोकन: उपयोगकर्ता नहीं मिला"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"अमान्य टोकन: क्योंकि इस टोकन के अनुरोध किए जाने के बाद उपयोगकर्ता लॉग इन कर चुके हैं"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "अमान्य टोकन: टोकन के अनुरोध के बाद से अब तक के दौरान पासवर्ड पहले ही बदला"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "आपने अपना पासवर्ड रीसेट कर दिया है"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "खारिज टोकन: एक नया पासवर्ड रीसेट लिंक का अनुरोध करें"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "अमान्य टोकन: एक नए ईमेल सत्यापन लिंक का अनुरोध करें"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "अमान्य टोकन: ईमेल सत्यापन टोकन नहीं है"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ईमेल नहीं मिला"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "ईमेल पहले से सत्यापित है"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "अब आप इस ईमेल को अपने प्राथमिक पते के रूप में सेट कर सकते हैं"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "यह आपका प्राथमिक पता है"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "ईमेल पता ${email_address} सत्यापित। ${confirm_message}।"
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
msgstr "खारिज टोकन: एक नई परियोजना भूमिका का अनुरोध करें"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
msgstr "अमान्य टोकन: एक नई परियोजना भूमिका का अनुरोध करें"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr "अमान्य टोकन: यह सहकार्यता टोकन नहीं है"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "कृत्य आमंत्रण अमान्य है।"
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
msgid "Organization invitation no longer exists."
msgstr "रोल आमंत्रण अब मौजूद नहीं है।"
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "'$ {project_name} के लिए निमंत्रण अस्वीकार कर दिया गया है।"
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "आप इस परियोजना '${project_name}' के ${role} हैं।"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "खारिज टोकन: एक नई परियोजना भूमिका का अनुरोध करें"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "अमान्य टोकन: एक नई परियोजना भूमिका का अनुरोध करें"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "अमान्य टोकन: यह सहकार्यता टोकन नहीं है"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "कृत्य आमंत्रण अमान्य है।"
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
#, fuzzy
msgid "Role invitation no longer exists."
msgstr "रोल आमंत्रण अब मौजूद नहीं है।"
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'$ {project_name} के लिए निमंत्रण अस्वीकार कर दिया गया है।"
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "आप इस परियोजना '${project_name}' के ${role} हैं।"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -387,7 +387,7 @@ msgstr ""
"नए user पंजीकरण अस्थायी रूप से अक्षम। विवरण के लिए https://pypi.org/help#admin-"
"intervention देखें।"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -397,17 +397,17 @@ msgstr ""
"नए user पंजीकरण अस्थायी रूप से अक्षम। विवरण के लिए https://pypi.org/help#admin-"
"intervention देखें।"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -419,14 +419,14 @@ msgid ""
"again later."
msgstr "बहुत से असफल लॉगिन प्रयास हुए हैं। बाद में पुन: प्रयास करें।"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "विश्वसनीय प्रकाशक पंजीकृत नहीं किया जा सका"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -434,20 +434,20 @@ msgstr ""
"यह विश्वसनीय प्रकाशक पहले ही पंजीकृत हो चुका है। यदि यह जानबूझकर नहीं किया गया है तो "
"कृपया PyPI के व्यवस्थापकों से संपर्क करें।"
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "इस परियोजना का प्रबंधन करें"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "प्रबंधन संस्करण"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2324,8 +2324,8 @@ msgstr "रीसेट ईमेल भेजा गया"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "आपके पंजीकृत ईमेल पते पर एक ईमेल भेजा गया है।"
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3091,12 +3091,51 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "यह लिंक %(n_hours)s घंटे में व्यर्थ हो जाएगा।"
msgstr[1] "यह लिंक %(n_hours)s घंटो में व्यर्थ हो जाएगा।"
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"यह अनुरोध यदि आपने नहीं किया है, तो आप इस ईमेल को सुरक्षित रूप से अनदेखा कर सकते हैं।"
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"किसी ने, शायद आपने, आपके PyPI खाते '%(username)s' के पासवर्ड रीसेट का अनुरोध किया है।"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Emails associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "आपके खाते से संबद्ध ईमेल"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "रिलीज संस्करण %(version)s बनाया गया"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/hu/LC_MESSAGES/messages.po b/warehouse/locale/hu/LC_MESSAGES/messages.po
index b7f47ebdaa07..df118a0a2f72 100644
--- a/warehouse/locale/hu/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hu/LC_MESSAGES/messages.po
@@ -163,7 +163,7 @@ msgstr "Ez a helyreállító kód már használva volt."
msgid "The username isn't valid. Try again."
msgstr "A felhasználó név helytelen. Próbálja újra."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -172,7 +172,7 @@ msgstr ""
"Túl sok sikertelen bejelentkezési kísérlet történt. {} ideig ki lett zárva. "
"Próbálja meg később."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -181,7 +181,7 @@ msgstr ""
"Túl sok email cím lett hozzáadva hitelesítés nélkül. Ellenőrizze a beérkező "
"levelek mappáját, és kövesse az ellenőrző linkeket.(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -192,25 +192,25 @@ msgstr ""
"felhasználták volna. Ellenőrizze a beérkező leveleit és kövesse az ellenőrző "
"linkeket. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Érvénytelen vagy lejárt két faktoros bejelentkezés."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Már hitelesítve"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "A helyreállítási kód elfogadva. A mellékelt kód nem használható újra."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -218,156 +218,156 @@ msgstr ""
"Új felhasználó regisztrációja ideiglenesen le van tiltva. A részletek a "
"https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Lejárt token: kérjen új jelszó-visszaállítási linket"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Érvénytelen token: kérjen új jelszó-visszaállítási linket"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Érvénytelen token: nem kapott tokent"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Érvénytelen token: nem jelszó-visszaállítási token"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
#, fuzzy
msgid "Invalid token: user not found"
msgstr "Érvénytelen token: a felhasználó nem található"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Érvénytelen token: a felhasználó bejelentkezett, amióta ezt a tokent kérték"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Érvénytelen token: a jelszó már megváltozott, mióta ezt a tokent kérték"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Visszaállította a jelszavát"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Lejárt token: kérjen új e-mail hitelesítő linket"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Érvénytelen token: kérjen új e-mail ellenőrző linket"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Érvénytelen token: nem e-mail-t ellenőrző token"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail nem található"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Az e-mail már meg lett erősítve"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Most már beállíthatja ezt az e-mailt elsődleges címének"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
#, fuzzy
msgid "This is your primary address"
msgstr "Ez az elsődleges E-mail címed"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, fuzzy, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-mail cím ${email_address} ellenőrizve lett. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new organization invitation"
msgstr "Lejárt token: kérjen új meghívó linket a szervezettől."
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Érvénytelen token: kérjen új meghívó linket a szervezettől"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Érvénytelen token: nem egy szervezettől származó meghívó token"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
msgid "Organization invitation is not valid."
msgstr "Az adott szervezeti meghívó érvényleten."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
msgid "Organization invitation no longer exists."
msgstr "A szervezeti meghívó már nem létezik."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "A ${szervezet_neve} elutasította a meghívót."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Mostantól a pozíciód a ${szervezet_neve} szervezetben: ${szerep}."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
msgstr "Lejárt token: kérjen új szerep mehívót a projekthez"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr "Érvénytelen token: kérjen új szerep mehívót a projekthez"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
msgid "Invalid token: not a collaboration invitation token"
msgstr "Érvénytelen token: nem a kolaborációhoz meghívó token."
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
#, fuzzy
msgid "Role invitation is not valid."
msgstr "A meghívó a szerephez érvénytelen."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
#, fuzzy
msgid "Role invitation no longer exists."
msgstr "A meghívó a szerephez már nem létezik."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${project_name}' is declined."
msgstr "A meghívó a ${project_neve}-hez el lett utasítva."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, fuzzy, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Mostantól új szereped van a ${projekt_neve} projektben: ${szerep}"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -380,7 +380,7 @@ msgstr ""
"A Megbízható kiadás ideiglenesen le van tiltva. A részletek a https://pypi."
"org/help#admin-intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -388,7 +388,7 @@ msgstr ""
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr "le van tiltva. A részletek a https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
#, fuzzy
msgid ""
"You must have a verified email in order to register a pending trusted "
@@ -398,12 +398,12 @@ msgstr ""
"lévő kiadójoz regisztráljon. További információért látogasson el a https://"
"pypi.org/help#openid-connect honlapra."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
#, fuzzy
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "Egyszerre nem regisztrálhat 3 függőben lévő megbízható kiadót."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -417,7 +417,7 @@ msgstr ""
"Túl sok sikertelen meghízható kiadó-ként való regisztrálási kísérlet "
"történt. Próbálja meg később."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
@@ -425,7 +425,7 @@ msgstr ""
msgid "The trusted publisher could not be registered"
msgstr "A megbízható kiadó-t nem tudtuk regisztrálni."
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
#, fuzzy
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
@@ -434,17 +434,17 @@ msgstr ""
"Ez a megbízható kiadó már regisztrálva lett. Kérem lépjen kapcsolatba a PyPI-"
"nak az adminjaival, ha ez nem volt szándékos."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
msgid "Invalid publisher ID"
msgstr "Érvénytelen kiadói azonosító"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
#, fuzzy
msgid "Removed trusted publisher for project "
msgstr "A megbízható kiadó el lett távolítva a projektből. "
@@ -2186,8 +2186,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2774,11 +2774,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/hy/LC_MESSAGES/messages.po b/warehouse/locale/hy/LC_MESSAGES/messages.po
index 8dcae7ae1ea9..b830da197e88 100644
--- a/warehouse/locale/hy/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hy/LC_MESSAGES/messages.po
@@ -151,21 +151,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "Գաղտնաբառը անվավեր է: Նորից փորձեք:"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -173,185 +173,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -360,29 +360,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1994,8 +1994,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2578,11 +2578,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/id/LC_MESSAGES/messages.po b/warehouse/locale/id/LC_MESSAGES/messages.po
index 20597529145e..09825a2146b8 100644
--- a/warehouse/locale/id/LC_MESSAGES/messages.po
+++ b/warehouse/locale/id/LC_MESSAGES/messages.po
@@ -175,7 +175,7 @@ msgstr "Kode pemulihan telah digunakan sebelumnya."
msgid "The username isn't valid. Try again."
msgstr "Nama pengguna tidak valid. Coba lagi."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -186,7 +186,7 @@ msgstr ""
"Terlalu banyak upaya masuk yang gagal. Anda telah dikunci untuk {}. Coba "
"lagi nanti."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -195,7 +195,7 @@ msgstr ""
"Terlalu banyak email telah ditambahkan ke akun ini tanpa dilakukan "
"verifikasi. Periksa kotak masuk Anda dan ikuti tautan verifikasi. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -206,26 +206,26 @@ msgstr ""
"menyelesaikannya. Periksa kotak masuk Anda dan ikuti tautan verifikasi. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Masuk dengan 2 faktor tidak valid atau kadaluwarsa."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Sudah diotentikasi"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Pernyataan WebAuthn yang berhasil"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Kode pemulihan diterima. Kode yang diberikan tidak dapat digunakan lagi."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -233,142 +233,142 @@ msgstr ""
"Registrasi pengguna baru sementara dinonaktifkan. Lihat https://pypi.org/"
"help#admin-intervention untuk detailnya."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Token Kadaluarsa: minta tautan setel ulang kata sandi baru"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Token tidak valid: minta tautan setel ulang kata sandi baru"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Token tidak valid: tidak disediakan token"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Token tidak valid: bukan token atur ulang kata sandi"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Token tidak valid: pengguna tidak ditemukan"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Token tidak valid: pengguna telah masuk karena token ini diminta"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Token tidak valid: kata sandi telah diubah sejak token ini diminta"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Anda telah mengatur ulang kata sandi Anda"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Token Kadaluarsa: minta email tautan verifikasi baru"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Token tidak valid: minta email tautan verifikasi baru"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Token tidak valid: bukan token verifikasi email"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Email tidak ditemukan"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Email sudah diverifikasi"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Anda sekarang dapat mengatur email ini sebagai alamat utama Anda"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Ini adalah alamat utama Anda"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Alamat email ${email_address} terverifikasi. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token kedaluwarsa: minta undangan organisasi baru"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Token tidak valid: minta undangan organisasi baru"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Token tidak valid: bukan token undangan organisasi"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Undangan Organisasi tidak valid."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Undangan Organisasi sudah tidak ada."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Undangan untuk '${organization_name}' ditolak."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Anda sekarang menjadi ${role} dari organisasi '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "Token kedaluwarsa: minta undangan peran proyek baru"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Token tidak valid: minta undangan peran proyek baru"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Token tidak valid: bukan token undangan kolaborasi"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Undangan peran tidak valid."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Undangan peran sudah tidak ada."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Undangan untuk '${project_name}' ditolak."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Anda sekarang menjadi ${role} dari proyek '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -381,13 +381,13 @@ msgstr ""
"Penerbitan terpercaya sementara dinonaktifkan. Lihat https://pypi.org/"
"help#admin-intervention untuk detailnya."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"dinonaktifkan. Lihat https://pypi.org/help#admin-intervention untuk "
"detailnya."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
#, fuzzy
msgid ""
"You must have a verified email in order to register a pending trusted "
@@ -397,13 +397,13 @@ msgstr ""
"terpercaya yang ditunda. Lihat https://pypi.org/help#openid-connect untuk "
"penjelasan."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
#, fuzzy
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Anda tidak bisa mendaftarkan lebih dari 3 penerbitan terpercaya sekaligus."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -417,7 +417,7 @@ msgid ""
msgstr ""
"Terlalu banyak usaha registrasi penerbitan terpercaya. Coba lagi nanti."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
@@ -425,7 +425,7 @@ msgstr ""
msgid "The trusted publisher could not be registered"
msgstr "Penerbitan terpercayanya tidak bisa di daftarkan"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -433,18 +433,18 @@ msgstr ""
"Penerbitan terpercaya ini telah terdaftar. Silakan hubungi admin PyPI jika "
"ini tidak seharusnya terjadi."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage current providers"
msgid "Registered a new pending publisher to create "
msgstr "Mendaftarkan penerbit baru yang tertunda untuk dibuat "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID penerbit tidak valid"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Menghapus penerbit tepercaya untuk proyek "
@@ -2326,8 +2326,8 @@ msgstr "Email pengaturan ulang terkirim"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Email telah dikirim ke alamat email Anda yang terdaftar."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3104,6 +3104,7 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Link ini akan kadaluarsa dalam %(n_hours)s jam."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -3111,6 +3112,45 @@ msgstr ""
"Jika anda tidak membuat permintaan ini, anda bisa dengan aman mengabaikan "
"email ini."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Seseorang, mungkin anda, telah membuat reset permintaan kata sandi untuk "
+"akun PyPI anda '%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Kehilangan akses ke alamat email yang terkait dengan akun Anda"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr " Versi rilis %(version)s dibuat"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/it/LC_MESSAGES/messages.po b/warehouse/locale/it/LC_MESSAGES/messages.po
index 336a36b9a4b6..fdc7e51b47ae 100644
--- a/warehouse/locale/it/LC_MESSAGES/messages.po
+++ b/warehouse/locale/it/LC_MESSAGES/messages.po
@@ -185,14 +185,14 @@ msgstr "Il codice di ripristino è stato utilizzato in precedenza."
msgid "The username isn't valid. Try again."
msgstr "Il nome utente non è valido. Riprova."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr "Troppi tentativi di login errati. Riprova più tardi."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -201,7 +201,7 @@ msgstr ""
"Troppe emails sono state aggiunte a questo account senza verificarle. "
"Controlla la tua posta in arrivo e segui i links di verifica. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -212,26 +212,26 @@ msgstr ""
"che esse siano state completate. Controlla la tua posta in arrivo e segui i "
"link di verifica. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Login a due fattori non valido o scaduto."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Già autenticato"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Asserzione WebAuthn corretta"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Codice di recupero accettato. Il codice fornito non può essere riusato."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -239,34 +239,34 @@ msgstr ""
"Registrazione nuovo utente temporaneamente disabilitata. Vedi https://pypi."
"org/help#admin-intervention per dettagli."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Token scaduto: richiedi un nuovo link di reimpostazione password"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Token non valido: richiedi un nuovo link per reimpostare la password"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Token non valido: nessun token fornito"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Token non valido: non è un token per la reimpostazione della password"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Token non valido: utente non trovato"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Token non valido: l'utente si è già connesso da quando questo token è stato "
"richiesto"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -274,109 +274,109 @@ msgstr ""
"Token non valido: la password è stata già cambiata da quando questo token è "
"stato richiesto"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Hai reimpostato la tua password"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Token scaduto: richiedi un nuovo link di verifica email"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Token non valido: richiedi un nuovo link di verifica email"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Token non valido: non è un token di verifica email"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Indirizzo email non trovato"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Indirizzo email già verificato"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Ora puoi impostare questo indirizzo email come indirizzo principale"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Questo è il tuo indirizzo principale"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Indirizzo email${email_address} verificato. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token scaduto: richiedi un nuovo invito per il progetto"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Token non valido: richiedi un nuovo invito per il progetto"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Token non valido: non è un token di invito a una organizzazione"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "L'invito all'organizzazione non è valido."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "L'invito all'organizzazione non esiste più."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Invito per '${organization_name}' rifiutato."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Ora sei ${role} dell'organizzazione '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Token scaduto: richiedi un nuovo invito per il progetto"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Token non valido: richiedi un nuovo invito per il progetto"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Token non valido: non è un token di invito a una collaborazione"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Ruolo dell'invito non valido."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Il ruolo dell'invito non esiste più."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Invito per '${project_name}' rifiutato."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Ora sei ${role} del progetto '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -385,7 +385,7 @@ msgstr ""
"Gli editori attendibili sono temporaneamente disabilitati. Vedi https://pypi."
"org/help#admin-intervention per dettagli."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "Project deletion temporarily disabled. See https://pypi.org/help#admin-"
@@ -395,7 +395,7 @@ msgstr ""
"La cancellazione dei progetti è temporaneamente disabilitata. Vedi https://"
"pypi.org/help#admin-intervention per dettagli."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -403,11 +403,11 @@ msgstr ""
"Devi avere un'email verificata per registrare fonti attendibili. Vedi "
"https://pypi.org/help#openid-connect per dettagli."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "Non puoi registrare più di 3 autori attendibili in attesa per volta."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -417,14 +417,14 @@ msgid ""
msgstr ""
"Troppi tentativi di registrazione di autori attendibili. Riprova più tardi."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "L'autore attendibile non può essere registrato"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -432,16 +432,16 @@ msgstr ""
"Questo autore attendibile è già stato registrato. Si prega di contattare gli "
"amministratori PyPi se non è stato un gesto intenzionale."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Registrato un nuovo editore per creare "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID autore non valido"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Rimosso autore attendibile dal progetto "
@@ -2249,8 +2249,8 @@ msgstr "Email di reimpostazione della password inviata"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Una email è stata inviata al tuo indirizzo email registrato"
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2959,6 +2959,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Questo link scadrà in %(n_hours)s ora."
msgstr[1] "Questo link scadrà in %(n_hours)s ore."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2966,6 +2967,45 @@ msgstr ""
"Se non hai effettuato questa richiesta, puoi tranquillamente ignorare questa "
"email."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Qualcuno, forse tu, ha effettuato una richiesta di reimpostazione password "
+"per il tuo account PyPI '%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Perso l'accesso all'indirizzo email associato con il tuo account"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "Versione di rilascio %(version)s creata"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ja/LC_MESSAGES/messages.po b/warehouse/locale/ja/LC_MESSAGES/messages.po
index 6b0acbf12dc8..591a685c0435 100644
--- a/warehouse/locale/ja/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ja/LC_MESSAGES/messages.po
@@ -184,7 +184,7 @@ msgstr "復旧コードは以前に使用済みです。"
msgid "The username isn't valid. Try again."
msgstr "メールアドレスが無効です。もう一度やり直してください。"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -193,7 +193,7 @@ msgstr ""
"失敗に終わったログイン試行が多すぎます。あなたは {} の間ロックアウトされまし"
"た。後でやり直してください。"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -202,7 +202,7 @@ msgstr ""
"このアカウントに追加されている未確認のメールアドレスが多すぎます。受信トレイ"
"を確認し、確認リンクをクリックしてください。(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -212,27 +212,27 @@ msgstr ""
"このアカウントで要求されたパスワードのリセットが多すぎます。受信トレイを確認"
"し、確認リンクに従ってください。(IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "不正または期限切れの二要素ログイン。"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "既に認証済みです"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "WebAuthnアサーションに成功しました"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"リカバリーコードを受け付けました。今回入力されたコードを再度使用することはで"
"きません。"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -240,147 +240,147 @@ msgstr ""
"新規ユーザ登録が一時的に無効になっています。詳細については https://pypi.org/"
"help#admin-intervention を参照してください。"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"期限切れのトークン: 新しいパスワード リセット リンクをリクエストして下さい"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "無効なトークン: 新しいパスワード リセット リンクをリクエストして下さい"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "無効なトークン: トークンがありません"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "無効なトークン: パスワード リセット トークンではありません"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "無効なトークン: ユーザが見つかりません"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "無効なトークン: このトークンのリクエスト後にユーザがログインしました"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "無効なトークン: このトークンのリクエスト後にパスワードが変更されました"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "パスワードをリセットしました"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"期限切れのトークン: 新しいメールアドレス確認リンクをリクエストして下さい"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "無効なトークン: 新しいメールアドレス確認リンクをリクエストして下さい"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "無効なトークン: メールアドレス確認トークンではありません"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "メールアドレスが見つかりません"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "メールアドレスは確認済みです"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "これで、このメールを主要なアドレスとして設定できるようになります"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "これが主要メールアドレスです"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"メールアドレス ${email_address} が確認されました。 ${confirm_message}。"
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "期限切れのトークン: 組織への招待を新たにリクエストして下さい"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "無効なトークン: 組織への招待を新たにリクエストして下さい"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "無効なトークン: 組織への招待トークンではありません"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "ロールへの招待が無効です。"
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "への招待が存在しません。"
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}' への招待を辞退しました。"
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "組織 '${organization_name}' の ${role} になりました。"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "期限切れのトークン: 新しいプロジェクト ロールの招待をリクエストする"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "無効なトークン: 新しいプロジェクト ロールの招待をリクエストする"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "無効なトークン: コラボレーション招待トークンではありません"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "ロールへの招待が無効です。"
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "ロールへの招待が存在しません。"
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}' への招待を辞退しました。"
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "プロジェクト '${project_name}' の ${role} になりました。"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr "更新された利用規約を確認してください。"
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -393,7 +393,7 @@ msgstr ""
"信頼できる発行元が一時的に無効になっています。詳細については https://pypi."
"org/help#admin-intervention を参照してください。"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "Project deletion temporarily disabled. See https://pypi.org/help#admin-"
@@ -403,7 +403,7 @@ msgstr ""
"プロジェクトの削除が一時的に無効になっています。詳細については https://pypi."
"org/help#admin-intervention を参照してください。"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -411,11 +411,11 @@ msgstr ""
"保留中の信頼できる発行元を登録するためには、確認済みのメールが必要です。詳し"
"くは、 https://pypi.org/help#openid-connect をご覧ください。"
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "一度に保留中の信頼できる発行元を 3 つ以上登録することはできません。"
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -430,14 +430,14 @@ msgstr ""
"OpenID Connect の登録が試行された回数が多すぎます。後でもう一度やり直してくだ"
"さい。"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "信頼できる発行元を登録できませんでした"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -445,18 +445,18 @@ msgstr ""
"この信頼できる発行元は既に登録されています。これが意図的でない場合は、PyPIの"
"管理者に連絡してください。"
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "このプロジェクトを管理する"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "バージョンの管理"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "プロジェクトの信頼できる発行元を削除しました "
@@ -2325,8 +2325,8 @@ msgstr "リセットのメールが送信されました"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "登録されたメールアドレスにメールを送信しました。"
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3131,6 +3131,7 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "このリンクの有効期限は %(n_hours)s 時間です。"
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -3138,6 +3139,45 @@ msgstr ""
"このリクエストをしたのがあなたでない場合は、このメールは無視して問題ありませ"
"ん。"
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"あなたか誰かが、あなたの PyPI アカウント %(username)s のパス"
+"ワード リセットをリクエストしました。"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+# | msgid "Emails associated with your account"
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "アカウントに関連づけられたメールアドレス"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "リリースバージョン%(version)s作成"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/jv/LC_MESSAGES/messages.po b/warehouse/locale/jv/LC_MESSAGES/messages.po
index 4ca9580f6daa..7da64abe74f2 100644
--- a/warehouse/locale/jv/LC_MESSAGES/messages.po
+++ b/warehouse/locale/jv/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ka/LC_MESSAGES/messages.po b/warehouse/locale/ka/LC_MESSAGES/messages.po
index 391a93c4d609..76f515910d32 100644
--- a/warehouse/locale/ka/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ka/LC_MESSAGES/messages.po
@@ -154,7 +154,7 @@ msgstr "აღდგენის კოდი უკვე გამოყენ
msgid "The username isn't valid. Try again."
msgstr "ნიკი არასწორია. კიდევ სცადეთ."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -163,14 +163,14 @@ msgstr ""
"დაფიქსირდა გადაჭარბებული შესვლის მცდელობა. თქვენ დაიბლოკეთ {} დროით. სცადეთ "
"მოგვიანებით."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -178,185 +178,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -368,29 +368,29 @@ msgid ""
"again later."
msgstr "დაფიქსირდა გადაჭარბებული შესვლის მცდელობა. სცადეთ მოგვიანებით."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2008,8 +2008,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2592,11 +2592,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ko/LC_MESSAGES/messages.po b/warehouse/locale/ko/LC_MESSAGES/messages.po
index 64261cf01b60..24681b3be1b2 100644
--- a/warehouse/locale/ko/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ko/LC_MESSAGES/messages.po
@@ -183,14 +183,14 @@ msgstr "복구 코드는 이전에 사용되었습니다."
msgid "The username isn't valid. Try again."
msgstr "유효하지 않은 사용자명입니다. 다시 시도해 주세요."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr "너무 많은 잘못된 로그인 시도가 있었습니다. 나중에 다시 시도해주세요."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -199,7 +199,7 @@ msgstr ""
"이 계정에 인증되지 않은 이메일이 너무 많이 추가되었습니다. 당신의 수신함을 확"
"인하고 인증 주소를 따르세요. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -209,25 +209,25 @@ msgstr ""
"이 계정에 대해 너무 많은 암호 재설정이 완료되지 않고 요청되었습니다. 받은 편"
"지함을 확인하고 확인 링크를 따릅니다. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "2단계 인증 로그인이 잘못되거나 만료되었습니다."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "이미 인증됨"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "WebAuthn 승인 성공"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "복구 코드가 승인되었습니다. 주어진 코드는 재사용이 불가능합니다."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -235,140 +235,140 @@ msgstr ""
"새 사용자 등록이 잠시 불가능한 상태입니다. https://pypi.org/help#admin-"
"intervention 에서 자세한 내용을 확인하세요."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "만료된 토큰: 새로운 암호 설정 링크를 요청하세요"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "잘못된 토큰: 새로운 암호 설정 링크를 요청하세요"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "잘못된 토큰: 토큰이 제공되지 않음"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "잘못된 토큰: 암호 재설정 토큰이 아님"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "잘못된 토큰: 사용자 없음"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "잘못된 토큰: 이 토큰이 요청된 이후로 사용자가 로그인함"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "잘못된 토큰: 이 토큰이 요청된 이후로 패스워드가 변경됨"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "패스워드를 재설정해야 합니다"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "만료된 토큰: 새로운 이메일 확인 링크를 요청하세요"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "잘못된 토큰: 새로운 이메일 확인 링크를 요청하세요"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "잘못된 토큰: 이메일 확인 토큰이 아님"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "이메일을 찾을 수 없음"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "이미 확인된 이메일"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "이 이메일을 기본 이메일 주소로 지정할 수 있습니다"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "기본 이메일 주소입니다"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "이메일 주소 ${email_address}가 확인되었습니다. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "만료된 토큰: 새로운 조직의 초대를 요청하세요"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "유효하지 않은 토큰: 새 조직 초대를 요청하세요"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "잘못된 토큰 : 공동 작업 초대 토큰이 아닙니다"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "조직 초대가 올바르지 않습니다."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "더 이상 존재하지 않는 조직 초대입니다."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}'의 초대가 거부되었습니다."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "이제 '${organization_name}' 프로젝트의 ${role} 입니다."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "만료된 토큰: 역할을 새로 요청하세요"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "잘못된 토큰: 새 프로젝트 역할 초대를 요청하세요"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "잘못된 토큰 : 공동 작업 초대 토큰이 아닙니다"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "역할 초대가 유효하지 않습니다."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "그 역할 초대는 더 이상 존재하지 않습니다."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}'의 초대가 거부되었습니다."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "당신은 이제 '${project_name}' 프로젝트의 ${role} 역할 입니다."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr "업데이트된 이용약관을 검토해 주세요."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -377,13 +377,13 @@ msgstr ""
"신규 사용자 등록이 불가능한 상태입니다. https://pypi.org/help#admin-"
"intervention 에서 자세한 내용을 확인하세요."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"비활성화되었습니다. https://pypi.org/help#admin-intervention 에서 자세한 내용"
"을 확인하세요."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -391,12 +391,12 @@ msgstr ""
"새로운 사용자 등록을 위해 확인된 이메일 계정이 필요합니다. 다음 사이트를 참조"
"하세요. https://pypi.org/help#openid-connect ."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"한 번의 3개 이상의 처리되지 않은 신뢰할 수 있는 공급자를 등록할 수 없습니다"
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -405,14 +405,14 @@ msgid ""
"again later."
msgstr "너무 많은 잘못된 로그인 시도가 있었습니다. 나중에 다시 시도해주세요."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "신뢰할 수 있는 공급자가 등록될 수 없습니다"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -420,16 +420,16 @@ msgstr ""
"이 신뢰할 수 있는 공급자는 이미 등록되었습니다. 이러한 시도가 의도한 것이 아"
"니라면, PyPI 관리자에게 연락하십시오."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "새 임시 게시자를 등록하였습니다. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "유효하지 않은 퍼블리셔 ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "프로젝트에 대한 신뢰할 수 있는 공급자가 제거됨 "
@@ -2142,9 +2142,13 @@ msgid "Reset email sent"
msgstr "재설정 이메일 발송"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"유효한 사용자 이름 또는 이메일 주소를 제출한 경우 등록된 이메일 주소로 이메일"
"이 전송되었습니다."
@@ -2833,12 +2837,52 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "이 링크는 %(n_hours)s 시간 뒤에 만료됩니다."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"이 변경사항을 직접 요청한 것이 아니라면, 이 이메일은 무시해도 괜찮습니다."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"누군가 (아마도 당신이) %(username)s PyPI 계정의 패스워드 재"
+"설정을 요청했습니다."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "계정에 연결된 이메일 주소에 액세스할 수 없는 경우"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "버전 %(version)s 제거됨"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/lzh/LC_MESSAGES/messages.po b/warehouse/locale/lzh/LC_MESSAGES/messages.po
index c139a8adc179..3ac346e077af 100644
--- a/warehouse/locale/lzh/LC_MESSAGES/messages.po
+++ b/warehouse/locale/lzh/LC_MESSAGES/messages.po
@@ -156,7 +156,7 @@ msgstr "尝用归码。"
msgid "The username isn't valid. Try again."
msgstr "无效电邮址,请重试。"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -165,14 +165,14 @@ msgid ""
"out for {}. Please try again later."
msgstr "登陆失败的尝试太频繁,请稍后再试。"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr "此账号已加过多之电邮,然皆未验证。查乃收件箱,并遵旨验证。(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -180,185 +180,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "已认证"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "代码恢复已接受。 提供的代码不能再次使用了。"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "汝已重设密码"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "无此电子邮件"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "电子邮件已证"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "汝可设此电子邮件为汝主电子邮件"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "此为汝主电子邮件"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "电子邮件${email_address} 已证。${confirm_message}。"
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -370,29 +370,29 @@ msgid ""
"again later."
msgstr "登陆失败的尝试太频繁,请稍后再试。"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2040,8 +2040,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2624,11 +2624,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/mk/LC_MESSAGES/messages.po b/warehouse/locale/mk/LC_MESSAGES/messages.po
index 96e7d197e052..e1d857a20763 100644
--- a/warehouse/locale/mk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mk/LC_MESSAGES/messages.po
@@ -161,21 +161,21 @@ msgstr "Резервниот код веќе бил употребен."
msgid "The username isn't valid. Try again."
msgstr "Корисничкото име е невалидно. Обидете се повторно."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -183,185 +183,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -370,7 +370,7 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
@@ -379,22 +379,22 @@ msgstr ""
msgid "The trusted publisher could not be registered"
msgstr "OpenID Connect провајдер отстранет"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Отстранет доверлив издавач за проектот "
@@ -2030,8 +2030,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2614,11 +2614,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ml/LC_MESSAGES/messages.po b/warehouse/locale/ml/LC_MESSAGES/messages.po
index 0f5c9c81cb78..73ad64f44512 100644
--- a/warehouse/locale/ml/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ml/LC_MESSAGES/messages.po
@@ -156,7 +156,7 @@ msgstr "റിക്കവറി കോഡ് മുമ്പ് ഉപയോഗ
msgid "The username isn't valid. Try again."
msgstr "ഇമെയിൽ വിലാസം സാധുവല്ല. വീണ്ടും ശ്രമിക്കുക."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -165,7 +165,7 @@ msgstr ""
"നിരവധി ലോഗിൻ ശ്രമങ്ങൾ പരാജയപ്പെട്ടു. നിങ്ങൾ {} -ന് ലോക്ക് ഔട്ട് ചെയ്തിരിക്കുന്നു. ദയവായി "
"പിന്നീട് വീണ്ടും ശ്രമിക്കുക."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -174,7 +174,7 @@ msgstr ""
"നിരവധി ഇമെയിലുകൾ പരിശോധിച്ചുറപ്പിക്കാതെ ഈ അക്കൗണ്ടിലേക്ക് ചേർത്തിട്ടുണ്ട്. നിങ്ങളുടെ ഇൻബോക്സ് "
"പരിശോധിച്ച് സ്ഥിരീകരണ ലിങ്കുകൾ പിന്തുടരുക. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -184,25 +184,25 @@ msgstr ""
"വളരെയധികം പാസ് വേഡ് റീസെറ്റുകൾ പൂർത്തിയാക്കാതെ തന്നെ ഈ അക്കൗണ്ടിനായി അഭ്യർത്ഥിച്ചിട്ടുണ്ട്. "
"നിങ്ങളുടെ ഇൻബോക്സ് പരിശോധിച്ച് സ്ഥിരീകരണ ലിങ്കുകൾ പിന്തുടരുക. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "അസാധുവായ അല്ലെങ്കിൽ കാലഹരണപ്പെട്ട 2-ഫാക്ടർ ലോഗിൻ."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "ഇതിനകം പ്രാമാണീകരിച്ചു"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "വിജയകരമായ WebAuthn അവകാശവാദം"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "റിക്കവറി കോഡ് സ്വീകരിച്ചു. നൽകിയ കോഡ് വീണ്ടും ഉപയോഗിക്കാൻ കഴിയില്ല."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -210,145 +210,145 @@ msgstr ""
"പുതിയ ഉപയോക്തൃ രജിസ്ട്രേഷൻ താൽക്കാലികമായി പ്രവർത്തനരഹിതമാക്കി. വിശദാംശങ്ങൾക്ക് https://"
"pypi.org/help#admin-intervention കാണുക."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "കാലഹരണപ്പെട്ട ടോക്കൺ: ഒരു പുതിയ പാസ്വേഡ് പുനഃസജ്ജീകരണ ലിങ്ക് അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "അസാധുവായ ടോക്കൺ: ഒരു പുതിയ പാസ്വേഡ് പുനഃസജ്ജീകരണ ലിങ്ക് അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "അസാധുവായ ടോക്കൺ: ടോക്കൺ നൽകിയിട്ടില്ല"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "അസാധുവായ ടോക്കൺ: പാസ്വേഡ് റീസെറ്റ് ടോക്കൺ അല്ല"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "അസാധുവായ ടോക്കൺ: ഉപയോക്താവിനെ കണ്ടെത്തിയില്ല"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "അസാധുവായ ടോക്കൺ: ഈ ടോക്കൺ അഭ്യർത്ഥിച്ചതു ശേഷം ഉപയോക്താവ് ലോഗിൻ ചെയ്തിട്ടുണ്ട്"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"അസാധുവായ ടോക്കൺ: ഈ ടോക്കൺ അഭ്യർത്ഥിച്ചതിന് ശേഷം പാസ്വേഡ് ഇതിനകം തന്നെ മാറ്റിയിട്ടുണ്ട്"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "നിങ്ങൾ പാസ്വേഡ് പുനഃസജ്ജീകരിച്ചു"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "കാലഹരണപ്പെട്ട ടോക്കൺ: ഒരു പുതിയ ഇമെയിൽ സ്ഥിരീകരണ ലിങ്ക് അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "അസാധുവായ ടോക്കൺ: ഒരു പുതിയ ഇമെയിൽ സ്ഥിരീകരണ ലിങ്ക് അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "അസാധുവായ ടോക്കൺ: ഇമെയിൽ വെരിഫിക്കേഷൻ ടോക്കൺ അല്ല"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ഇമെയിൽ കണ്ടെത്തിയില്ല"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "ഇമെയിൽ ഇതിനകം തന്നെ പരിശോധിച്ചുറപ്പിച്ചിരിക്കുന്നു"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "നിങ്ങൾക്ക് ഇപ്പോൾ ഈ ഇമെയിൽ നിങ്ങളുടെ പ്രാഥമിക വിലാസമായി സജ്ജീകരിക്കാൻ സാധിക്കും"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "ഇതാണ് നിങ്ങളുടെ പ്രാഥമിക വിലാസം"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "ഇമെയിൽ വിലാസം ${email_address} പരിശോധിച്ചു. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "കാലഹരണപ്പെട്ട ടോക്കൺ: ഒരു പുതിയ ഓർഗനൈസേഷൻ ക്ഷണം അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "അസാധുവായ ടോക്കൺ: ഒരു പുതിയ ഓർഗനൈസേഷൻ ക്ഷണം അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "അസാധുവായ ടോക്കൺ: ഒരു ഓർഗനൈസേഷൻ ക്ഷണ ടോക്കൺ അല്ല"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "ഓർഗനൈസേഷൻ ക്ഷണം സാധുവല്ല."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "സംഘടന ക്ഷണം നിലവിലില്ല."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${organization_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${ സംഘടനയുടെ _ പേര്}' ക്കുള്ള ക്ഷണം നിരസിച്ചു."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${organization_name}' organization."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "നിങ്ങൾ ഇപ്പോൾ {ഓർഗനൈസേഷൻ്റെ പേരിൻ്റെ} {സ്ഥാനത്താണ്}."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "കാലഹരണപ്പെട്ട ടോക്കൺ: ഒരു പുതിയ പ്രോജക്റ്റ് റോൾ ക്ഷണം അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "കാലഹരണപ്പെട്ട ടോക്കൺ: ഒരു പുതിയ പ്രോജക്റ്റ് റോൾ ക്ഷണം അഭ്യർത്ഥിക്കുക"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "അസാധുവായ ടോക്കൺ: ഒരു സഹകരണ ക്ഷണ ടോക്കൺ അല്ല"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "റോൾ ക്ഷണം സാധുവല്ല."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "റോൾ ക്ഷണം നിലവിലില്ല."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${project_name}' is declined."
msgstr "{പ്രൊജെക്ടിൻടെ പേര് } ഉള്ള ക്ഷണം നിരസിച്ചു."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${project_name}' project."
msgstr "നിങ്ങൾ ഇപ്പോൾ '${പ്രൊജെക്ടിൻടെ പേര് }' പ്രോജക്റ്റിൻ്റെ ${ റോൾ } ആണ്."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -361,7 +361,7 @@ msgstr ""
"പുതിയ ഉപയോക്തൃ രജിസ്ട്രേഷൻ താൽക്കാലികമായി പ്രവർത്തനരഹിതമാക്കി. വിശദാംശങ്ങൾക്ക് https://"
"pypi.org/help#admin-intervention കാണുക."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -371,17 +371,17 @@ msgstr ""
"പുതിയ ഉപയോക്തൃ രജിസ്ട്രേഷൻ താൽക്കാലികമായി പ്രവർത്തനരഹിതമാക്കി. വിശദാംശങ്ങൾക്ക് https://"
"pypi.org/help#admin-intervention കാണുക."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -393,29 +393,29 @@ msgid ""
"again later."
msgstr "വളരെയധികം പരാജയപ്പെട്ട ലോഗിൻ ശ്രമങ്ങൾ നടന്നിട്ടുണ്ട്. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2129,8 +2129,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2717,11 +2717,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/mni/LC_MESSAGES/messages.po b/warehouse/locale/mni/LC_MESSAGES/messages.po
index 2b10d47c36e8..f46c1106411b 100644
--- a/warehouse/locale/mni/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mni/LC_MESSAGES/messages.po
@@ -139,21 +139,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -161,185 +161,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -348,29 +348,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1982,8 +1982,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2566,11 +2566,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/mr/LC_MESSAGES/messages.po b/warehouse/locale/mr/LC_MESSAGES/messages.po
index 2f42a1296c7a..a035341ed277 100644
--- a/warehouse/locale/mr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mr/LC_MESSAGES/messages.po
@@ -155,7 +155,7 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "ईमेल पत्ता वैध नाही. पुन्हा प्रयत्न करा."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -164,7 +164,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "बरेच लॉगिन प्रयत्न अयशस्वी झाले. पुन्हा प्रयत्न करा."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -173,7 +173,7 @@ msgstr ""
"या खात्यात पुष्टी न करता बर्याच ईमेल जोडल्या गेल्या आहेत. आपला इनबॉक्स तपासा आणि "
"सत्यापन दुव्यांचे अनुसरण करा. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -186,25 +186,25 @@ msgstr ""
"या खात्यात पुष्टी न करता बर्याच ईमेल जोडल्या गेल्या आहेत. आपला इनबॉक्स तपासा आणि "
"सत्यापन दुव्यांचे अनुसरण करा. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "अवैध किंवा कालबाह्य दोन घटक लॉगिन."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "आधीच प्रमाणीकृत"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "यशस्वी WebAuthn प्रतिपादन"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "पुनर्प्राप्ती कोड स्वीकारला. पुरवलेला कोड पुन्हा वापरला जाऊ शकत नाही."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -212,156 +212,156 @@ msgstr ""
"नवीन वापरकर्ता नोंदणी तात्पुरती अक्षम केली. तपशीलांसाठी https://pypi.org/help#admin-"
"intervention पहा."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "कालबाह्य टोकन: नवीन संकेतशब्द रीसेट दुव्याची विनंती करा"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "अवैध टोकन: नवीन संकेतशब्द रीसेट दुव्याची विनंती करा"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "अवैध टोकन: कोणतेही टोकन दिले नाही"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "अवैध टोकन: संकेतशब्द रीसेट टोकन नाही"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "अवैध टोकन: वापरकर्ता आढळला नाही"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "अवैध टोकन: या टोकनची विनंती केल्यापासून वापरकर्त्याने लॉग इन केले"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "अवैध टोकन: हा टोकन विनंती केल्यानंतर संकेतशब्द बदलून झाला आहे"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "आपण आपला संकेतशब्द रीसेट केला आहे"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "कालबाह्य टोकन: नवीन ईमेल सत्यापन दुव्याची विनंती करा"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "अवैध टोकन: नवीन ईमेल सत्यापन दुव्याची विनंती करा"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "अवैध टोकन: ईमेल सत्यापन टोकन नाही"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ईमेल आढळला नाही"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "ईमेल आधीच सत्यापित आहे"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "आपण आता हा ईमेल आपला प्राथमिक ईमेल म्हणून सेट करू शकता"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "हा तुमचा प्राथमिक पत्ता आहे"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "ईमेल पत्ता ${email_address} सत्यापित. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new organization invitation"
msgstr "कालबाह्य टोकन: नवीन प्रकल्प भूमिकेच्या आमंत्रणाची विनंती करा"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
msgstr "अवैध टोकन: नवीन प्रकल्प भूमिकेच्या आमंत्रणाची विनंती करा"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr "अवैध टोकन: सहकार्याचे आमंत्रण टोकन नाही"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "भूमिका आमंत्रण वैध नाही."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
#| msgid "Role invitation no longer exists."
msgid "Organization invitation no longer exists."
msgstr "भूमिका आमंत्रण यापुढे विद्यमान नाही."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${project_name}' चे आमंत्रण नाकारले गेले आहे."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "आपण आता '${project_name}' प्रोजेक्टची ${role} आहात."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "कालबाह्य टोकन: नवीन प्रकल्प भूमिकेच्या आमंत्रणाची विनंती करा"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "अवैध टोकन: नवीन प्रकल्प भूमिकेच्या आमंत्रणाची विनंती करा"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "अवैध टोकन: सहकार्याचे आमंत्रण टोकन नाही"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "भूमिका आमंत्रण वैध नाही."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "भूमिका आमंत्रण यापुढे विद्यमान नाही."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}' चे आमंत्रण नाकारले गेले आहे."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "आपण आता '${project_name}' प्रोजेक्टची ${role} आहात."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -374,7 +374,7 @@ msgstr ""
"नवीन वापरकर्ता नोंदणी तात्पुरती अक्षम केली. तपशीलांसाठी https://pypi.org/help#admin-"
"intervention पहा."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -384,17 +384,17 @@ msgstr ""
"नवीन वापरकर्ता नोंदणी तात्पुरती अक्षम केली. तपशीलांसाठी https://pypi.org/help#admin-"
"intervention पहा."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -406,29 +406,29 @@ msgid ""
"again later."
msgstr "बरेच लॉगिन प्रयत्न अयशस्वी झाले. पुन्हा प्रयत्न करा."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2202,8 +2202,8 @@ msgstr "रीसेट ईमेल पाठविला"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "आपल्या नोंदणीकृत ईमेल पत्त्यावर ईमेल पाठविला गेला आहे."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2800,11 +2800,43 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s"
+msgid "Read more about verified emails."
+msgstr "रीलिझ आवृत्ती %(version)s"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/nb_NO/LC_MESSAGES/messages.po b/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
index ac44c00ee867..601047b8f6d4 100644
--- a/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
+++ b/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
@@ -165,7 +165,7 @@ msgstr "Gjenopprettelseskoden har blitt brukt tidligere."
msgid "The username isn't valid. Try again."
msgstr "Brukernavnet er ikke gyldig. Prøv igjen."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -174,7 +174,7 @@ msgstr ""
"Det har blitt utført for mange feilede innloggingsforsøk. Du har blitt låst "
"ute i {}. Prøv igjen senere."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -183,7 +183,7 @@ msgstr ""
"For mange e-postadresser har blitt lagt til denne brukeren uten å ha blitt "
"verifisert. Sjekk innboksen din og følg verifiserings linkene. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -193,26 +193,26 @@ msgstr ""
"Det er bedt om for mange tilbakestillinger av passord for denne kontoen uten "
"å fullføre dem. Sjekk innboksen din og følg bekreftelseslenkene. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Ugyldig eller utløpt to-faktorinnlogging."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Allerede autentisert"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Vellykket WebAuthn-påstand"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Gjenopprettingskode akseptert. Den medfølgende koden kan ikke brukes igjen."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -220,144 +220,144 @@ msgstr ""
"Registrering av nye brukere er midlertidig deaktivert. Se https://pypi.org/"
"help#admin-intervention for detaljer."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Utløpt symbol: Forespør en ny passordstilbakestillingslenke"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Ugyldig symbol: Forespør en ny passordstilbakestillingslenke"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ugyldig symbol: Inget symbol angitt"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ugyldig symbol: Ikke et passord tilbakestillingssymbol"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ugyldig symbol: bruker ikke funnet"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Ugyldig token: brukeren har logget på siden dette tokenet ble forespurt"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Ugyldig token: passordet er allerede endret siden dette tokenet ble forespurt"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Du har tilbakestilt passordet ditt"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Utløpt token: be om en ny e-postbekreftelseslenke"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ugyldig token: be om en ny e-postbekreftelseslenke"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ugyldig token: ikke et e-postbekreftelsestoken"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-postadresse ble ikke funnet"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
#, fuzzy
msgid "Email already verified"
msgstr "E-postadresse allerede bekreftet"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Du kan nå sette denne E-postadressen som din primære adresse"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Dette er din hovedadresse"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-postadressen ${email_address} er verifisert. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Utløpt token: be om en ny organisasjonsinvitasjon"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Ugyldig token: be om en ny organisasjonsinvitasjon"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Ugyldig token: ikke et organisasjonsinvitasjonstoken"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Organisasjonsinvitasjonen er ikke gyldig."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Organisasjonsinvitasjon eksisterer ikke lenger."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Invitasjon til '${organization_name}' er avslått."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${organization_name}' organization."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Du har ikke eierskap i dette prosjektet."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Utløpt token: be om en ny prosjektrolleinvitasjon"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Ugyldig token: be om en ny prosjektrolleinvitasjon"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Ugyldig token: ikke et samarbeidsinvitasjonstoken"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rolleinvitasjonen er ikke gyldig."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Rolleinvitasjon eksisterer ikke lenger."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Invitasjon til '${project_name}' er avslått."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Du er nå ${role} av '${project_name}'-prosjektet."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -366,7 +366,7 @@ msgstr ""
"Klarert publisering er midlertidig deaktivert. Se https://pypi.org/"
"help#admin-intervention for detaljer."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -376,7 +376,7 @@ msgstr ""
"Registrering av nye brukere er midlertidig deaktivert. Se https://pypi.org/"
"help#admin-intervention for detaljer."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -384,12 +384,12 @@ msgstr ""
"Du må ha en bekreftet e-post for å registrere en ventende pålitelig utgiver. "
"Se https://pypi.org/help#openid-connect for detaljer."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Du kan ikke registrere mer enn 3 ventende pålitelige utgivere samtidig."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -400,14 +400,14 @@ msgstr ""
"Det har vært for mange forsøk på registrering av klarerte utgivere. Prøv "
"igjen senere."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Den klarerte utgiveren kunne ikke registreres"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -415,18 +415,18 @@ msgstr ""
"Denne pålitelige utgiveren er allerede registrert. Ta kontakt med PyPIs "
"administratorer hvis dette ikke var med vilje."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "Registrerte en ny ventende utgiver for å opprette "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Ugyldig utgiver-ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
#, fuzzy
msgid "Removed trusted publisher for project "
msgstr "Fjernet klarert utgiver for prosjektet "
@@ -2230,8 +2230,8 @@ msgstr "E-post for gjenoppretting sendt"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "En e-post har blitt sendt til din registrerte e-postadresse."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2898,6 +2898,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Denne lenken utløper om %(n_hours)s time."
msgstr[1] "Denne lenken utløper om %(n_hours)s timer."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2905,6 +2906,43 @@ msgstr ""
"Hvis du ikke anmodet denne forespørselen, kan du trygt ignorere denne e-"
"posten."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Noen, kanskje deg, har utført en passordsforespørsel for din PyPI-konto "
+"\"%(username)s\"."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "Eller utforsk prosjekter"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ne/LC_MESSAGES/messages.po b/warehouse/locale/ne/LC_MESSAGES/messages.po
index 19e83f61118b..9dd76ed869e4 100644
--- a/warehouse/locale/ne/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ne/LC_MESSAGES/messages.po
@@ -152,7 +152,7 @@ msgstr "रिकभरी कोड पहिले प्रयोग गर
msgid "The username isn't valid. Try again."
msgstr "इमेल ठेगाना मान्य छैन। पुन: प्रयास गर्नुहोस्।"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -161,7 +161,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "धेरै असफल लगइन प्रयासहरू भएका छन्। पछि फेरि प्रयास गर्नुहोस्।"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -170,7 +170,7 @@ msgstr ""
"धेरै इमेलहरू यस खातामा तिनीहरूलाई प्रमाणीकरण बिना थपिएका छन्। आफ्नो इनबक्स जाँच गर्नुहोस् "
"र प्रमाणीकरण लिङ्कहरू पछ्याउनुहोस्। (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -180,25 +180,25 @@ msgstr ""
"धेरै धेरै पासवर्ड रिसेटहरू पूरा नगरी यस खाताको लागि अनुरोध गरिएको छ। आफ्नो इनबक्स जाँच "
"गर्नुहोस् र प्रमाणीकरण लिङ्कहरू पछ्याउनुहोस्। (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "अवैध वा म्याद सकिएको दुई कारक लगइन।"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "पहिले नै प्रमाणीकरण"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "सफल WebAuthn assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "रिकभरी कोड स्वीकार गरियो। प्रदान गरिएको कोड फेरि प्रयोग गर्न सकिँदैन।"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -206,140 +206,140 @@ msgstr ""
"नयाँ प्रयोगकर्ता दर्ता अस्थायी रूपमा असक्षम गरियो। विवरणहरूको लागि https://pypi.org/"
"help#admin-intervention हेर्नुहोस्।"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "म्याद सकिएको टोकन: नयाँ पासवर्ड रिसेट लिङ्क अनुरोध गर्नुहोस्"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -352,7 +352,7 @@ msgstr ""
"नयाँ प्रयोगकर्ता दर्ता अस्थायी रूपमा असक्षम गरियो। विवरणहरूको लागि https://pypi.org/"
"help#admin-intervention हेर्नुहोस्।"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -362,17 +362,17 @@ msgstr ""
"नयाँ प्रयोगकर्ता दर्ता अस्थायी रूपमा असक्षम गरियो। विवरणहरूको लागि https://pypi.org/"
"help#admin-intervention हेर्नुहोस्।"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -384,29 +384,29 @@ msgid ""
"again later."
msgstr "धेरै असफल लगइन प्रयासहरू भएका छन्। पछि फेरि प्रयास गर्नुहोस्।"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2074,8 +2074,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2658,11 +2658,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/nl/LC_MESSAGES/messages.po b/warehouse/locale/nl/LC_MESSAGES/messages.po
index 705526240fed..1b9f5916586a 100644
--- a/warehouse/locale/nl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/nl/LC_MESSAGES/messages.po
@@ -166,7 +166,7 @@ msgstr "Herstelcode is al eerder gebruikt."
msgid "The username isn't valid. Try again."
msgstr "De gebruikersnaam is niet geldig. Probeer het opnieuw."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -175,7 +175,7 @@ msgstr ""
"Er zijn te veel login-pogingen gedaan. Je kan gedurende${time} niet "
"inloggen. Probeer het later nog eens."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -184,7 +184,7 @@ msgstr ""
"Te veel e-mailadressen zijn aan dit account toegevoegd zonder ze te "
"verifiëren. Controleer uw inbox en volg de verificatielinks. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -194,26 +194,26 @@ msgstr ""
"Er zijn te veel wachtwoordresets aangevraagd voor dit account zonder dat ze "
"voltooid zijn. Controleer uw inbox en volg de verificatielinks. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Ongeldige of verlopen two-factor login."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Reeds geauthenticeerd"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Succesvolle WebAuthn-assertion"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Herstelcode geaccepteerd. De gegeven code kan niet opnieuw gebruikt worden."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -221,141 +221,141 @@ msgstr ""
"Registratie van nieuwe gebruikers is tijdelijk stopgezet. Zie https://pypi."
"org/help#admin-intervention voor meer details."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Verlopen token: dien een nieuw wachtwoordresetverzoek in"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Ongeldig token: dien een nieuw wachtwoordresetverzoek in"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Ongeldig token: geen token doorgegeven"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Ongeldig token: geen correct wachtwoordresettoken"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Ongeldig token: gebruiker niet gevonden"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Ongeldig token: gebruiker heeft in de tussentijd ingelogd"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Ongeldig token: wachtwoord is al gereset sinds het token is uitgegeven"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Het wachtwoord is gereset"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Verlopen token: dien een nieuw e-mailverificatieverzoek in"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Ongeldig token: dien een nieuw e-mailverificatieverzoek in"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Ongeldig token: geen correct e-mailverificatietoken"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mailadres niet gevonden"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mailadres al geverifieerd"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "E-mailadres kan nu als primair adres ingesteld worden"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Dit is het primaire adres"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-mailadres ${email_address} geverifieerd. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Verlopen token: vraag een nieuwe organisatie-uitnodiging aan"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Ongeldige token: vraag een nieuwe organisatie-uitnodiging aan"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Ongeldig token: geen organisatie-uitnodigingstoken"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Uitnodiging van de organisatie is niet geldig."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Organisatie-uitnodiging bestaat niet meer."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Uitnodiging voor '${organization_name}' is geweigerd."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "U bent nu ${role} van de '${organization_name}' organisatie."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
"Verlopen token: dien een nieuw verzoek in voor een projectroluitnodiging"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Ongeldig token: dien een nieuwe uitnodiging voor een projectrol in"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Ongeldig token: geen samenwerkingsuitnodigingstoken"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rol uitnodiging is niet valide."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Rol uitnodiging bestaat niet langer."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Uitnodiging voor '${project_name}' is geweigerd."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "U bent nu ${role} van het '${project_name}' project."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -364,13 +364,13 @@ msgstr ""
"Vertrouwd publiceren is tijdelijk stopgezet. Zie https://pypi.org/help#admin-"
"intervention voor meer details."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"Registratie van nieuwe gebruikers is tijdelijk stopgezet. Zie https://pypi."
"org/help#admin-intervention voor meer details."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -379,13 +379,13 @@ msgstr ""
"vertrouwde uitgever te registreren. Zie https://pypi.org/help#openid-connect "
"voor meer informatie."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"U kunt niet meer dan 3 in behandeling zijnde vertrouwde uitgevers tegelijk "
"registreren."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -396,14 +396,14 @@ msgstr ""
"Er zijn te veel vertrouwde uitgever registratiepogingen gedaan. Probeer het "
"later nog eens."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "De vertrouwde uitgever kan niet worden geregistreerd."
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -411,17 +411,17 @@ msgstr ""
"Deze vertrouwde uitgever is al eerder geregistreed. Neem kontakt op met de "
"PyPI's admins als dit niet de bedoeling was."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
"Een nieuwe, in behandeling zijnde uitgever geregistreerd om aan te maken. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Ongeldige uitgever-ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "De vertrouwde uitgever voor het project is verwijderd. "
@@ -2264,8 +2264,8 @@ msgstr "Wachtwoordresete-mail verstuurd"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Er is een e-mail naar uw bij ons geregistreerde e-mailadres verstuurd."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3047,12 +3047,50 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Deze link verloopt over %(n_hours)s uur."
msgstr[1] "Deze link verloopt over %(n_hours)s uur."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"Als u dit verzoek niet heeft gedaan, kunt u deze e-mail gerust negeren."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Iemand, misschien u, heeft een wachtwoordherstelverzoek ingediend voor uw "
+"PyPI-account '%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "Of blader door projecten"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/or/LC_MESSAGES/messages.po b/warehouse/locale/or/LC_MESSAGES/messages.po
index 647d53169bd2..631001b2c8b3 100644
--- a/warehouse/locale/or/LC_MESSAGES/messages.po
+++ b/warehouse/locale/or/LC_MESSAGES/messages.po
@@ -144,21 +144,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -166,185 +166,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -353,29 +353,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2007,8 +2007,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2595,11 +2595,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/pl/LC_MESSAGES/messages.po b/warehouse/locale/pl/LC_MESSAGES/messages.po
index ae4c1955d1f0..fb1a5eabe7f5 100644
--- a/warehouse/locale/pl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pl/LC_MESSAGES/messages.po
@@ -173,7 +173,7 @@ msgstr "Kod odzyskiwania został już użyty."
msgid "The username isn't valid. Try again."
msgstr "Nazwa użytkownika jest nieprawidłowa. Spróbuj ponownie."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -182,7 +182,7 @@ msgstr ""
"Podjęto zbyt wiele nieudanych prób logowania. Zostałeś zablokowany na {}. "
"Spróbuj ponownie później."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -192,7 +192,7 @@ msgstr ""
"Sprawdź swoją skrzynkę pocztową i podążaj za linkami weryfikacyjnymi. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -202,25 +202,25 @@ msgstr ""
"Zażądano zbyt wiele resetów hasła bez zakończenia procesu. Sprawdź swoją "
"skrzynkę pocztową i podążaj za linkami weryfikacyjnymi. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Niepoprawne lub wygasłe logowanie dwuskładnikowe."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Już uwierzytelnione"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Pomyślne potwierdzenie WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Kod naprawy zaakceptowany. Podany kod nie może zostać użyty ponownie."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -228,33 +228,33 @@ msgstr ""
"Rejestracja nowych użytkowników tymczasowo wyłączona. Zobacz https://pypi."
"org/help#admin-intervention aby uzyskać szczegółowe informacje."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Wygasły klucz: poproś o nowy link do resetowania hasła"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Nieprawidłowy token: poproś o nowy link do resetowania hasła"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Nieprawidłowy token: nie podano tokena"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Nieprawidłowy token: to nie jest token do resetowania hasła"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Nieprawidłowy token: nie znaleziono użytkownika"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Nieprawidłowy token: użytkownik zalogował się odkąd ten token został zażądany"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -262,109 +262,109 @@ msgstr ""
"Nieprawidłowy token: hasło zostało już zmienione od momentu zażądania tego "
"tokenu"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Zresetowałeś swoje hasło"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Wygasł token: poproś o nowy link weryfikacyjny e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Nieprawidłowy token: poproś o nowy link weryfikacyjny e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Nieprawidłowy token: to nie jest token do weryfikacji e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Email nie znaleziony"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Email już zweryfikowany"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Możesz teraz ustawić ten e-mail jako swój główny adres"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "To jest twój główny adres"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Adres e-mail $ {email_address} zweryfikowany. $ {confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token wygasł: poproś o nowe zaproszenie do organizacji"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Nieprawidłowy token: poproś o nowe zaproszenie do organizacji"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Nieprawidłowy token: to nie jest token zaproszenia do organizacji"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Zaproszenie do organizacji jest nieważne."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Zaproszenie do organizacji już nie istnieje."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Zaproszenie do „${organization_name}” zostało odrzucone."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Jesteś teraz ${role} w organizacji „${organization_name}”."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Wygasł klucz: poproś o nowe zaproszenie do roli w projekcie"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Nieprawidłowy token: poproś o nowe zaproszenie do roli w projekcie"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Nieprawidłowy token: to nie jest token zaproszenia do współpracy"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Zaproszenie do udziału dla tej roli jest nieważne."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Zaproszenie do roli już nie istnieje."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Zaproszenie do „${project_name}” zostało odrzucone."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Jesteś teraz ${role} w projekcie „${project_name}”."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -373,13 +373,13 @@ msgstr ""
"Zaufane publikowanie jest tymczasowo wyłączone. Zobacz https://pypi.org/"
"help#admin-intervention aby uzyskać szczegółowe informacje."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"wyłączona. Zobacz https://pypi.org/help#admin-intervention aby uzyskać "
"szczegółowe informacje."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -388,13 +388,13 @@ msgstr ""
"wydawcę. Zobacz https://pypi.org/help#openid-connect, aby uzyskać "
"szczegółowe informacje."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Nie możesz zarejestrować więcej niż 3 oczekujących zaufanych wydawców "
"jednocześnie."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -405,14 +405,14 @@ msgstr ""
"Podjęto zbyt wiele prób rejestracji zaufanych wydawców. Spróbuj ponownie "
"później."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Zaufany wydawca nie mógł zostać zarejestrowany"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -420,16 +420,16 @@ msgstr ""
"Ten zaufany wydawca został już zarejestrowany. Prosimy o kontakt z "
"administratorami PyPI, jeśli nie było to zamierzone."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Zarejestrowano nowego oczekującego wydawcę do stworzenia "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Błędne ID wydawcy"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Usunięto zaufanego wydawcę projektu "
@@ -2255,8 +2255,8 @@ msgstr "Wysłano wiadomość e-mail resetującą hasło"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Wiadomość e-mail została wysłana na Twój zarejestrowany adres e-mail."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3004,11 +3004,49 @@ msgstr[0] "Ten link wygaśnie w ciągu %(n_hours)s godziny."
msgstr[1] "Ten link wygaśnie w ciągu %(n_hours)s godzin."
msgstr[2] "Ten link wygaśnie w ciągu %(n_hours)s godzin."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Jeśli to nie ty wysłałeś zgłoszenie, możesz zignorować tę wiadomość."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Ktoś, być może ty, wysłał prośbę o zresetowanie hasła do konta PyPI "
+"'%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "Lub przeglądaj projekty"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/pt/LC_MESSAGES/messages.po b/warehouse/locale/pt/LC_MESSAGES/messages.po
index c529a2ac8c9e..ba3b6afdd7d4 100644
--- a/warehouse/locale/pt/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt/LC_MESSAGES/messages.po
@@ -164,7 +164,7 @@ msgstr "Código de recuperação já utilizado anteriormente."
msgid "The username isn't valid. Try again."
msgstr "O nome de usuário é invalido, tente novamente."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -173,7 +173,7 @@ msgstr ""
"Houve muitas tentativas de login sem êxito. Você foi bloqueado por {}. Por "
"favor, tente novamente mais tarde."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -183,7 +183,7 @@ msgstr ""
"Verifique a sua caixa de entrada e siga as ligações de verificação. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -194,27 +194,27 @@ msgstr ""
"concluí-las. Verifique a sua caixa de entrada e siga as ligaçõs de "
"verificação. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Início de sessão de dois fatores inválido ou expirou."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Já está autenticado"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Asserção WebAuthn bem sucedida"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Código de recuperação aceite. O código fornecido não pode ser usado "
"novamente."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -222,146 +222,146 @@ msgstr ""
"O registo de novos utilizadores está temporariamente desativado. Consulte "
"https://pypi.org/help#admin-intervention para mais detalhes."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Código expirado: peça uma nova hiperligação para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"Código inválido: peça uma nova hiperligação para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Código inválido: o código não foi fornecido"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Código inválido: não é um código para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Código inválido: utilizador não encontrado"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Código inválido: o utilizador já iniciou sessão desde que o código foi pedido"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Código inválido: a palavra-passe já foi alterada desde o pedido do código"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Redefiniu a sua palavra-passe"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Código expirado: peça uma nova hiperligação de verificação de e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Código inválido: peça uma nova hiperligação de verificação de e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Código inválido: não é um código de verificação de e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail não encontrado"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail já verificado"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Agora pode definir este e-mail como o seu endereço primário"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Este é o seu endereço primário"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Endereço de e-mail ${email_address} verificado. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Código expirado: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Código inválido: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Código inválido: não é um código de convite de organização"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "O convite para a organização não é válido."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "O convite para a organização não existe mais."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "O convite para \"${organization_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Agora você é ${role} da organização \"${organization_name}\"."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Código expirado: solicite um novo convite para a função no projeto"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Código inválido: solicite um novo convite para a função no projeto"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Código inválido: não é um código de convite de colaboração"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "O convite para uma função não é válida."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "O convite para uma função não existe mais."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "O convite para \"${project_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Agora é ${role} do projeto {project_name}."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Por favor revise nossos Termos de serviço "
"atualizados."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -370,13 +370,13 @@ msgstr ""
"O registro de novos usuários está temporariamente desativado. Consulte "
"https://pypi.org/help#admin-intervention para mais detalhes."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"desativado. Consulte https://pypi.org/help#admin-intervention para mais "
"pormenores."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -384,12 +384,12 @@ msgstr ""
"Você deve ter um e-mail verificado para registrar um editor confiável. "
"Consulte https://pypi.org/help#openid-connect para detalhes."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Você não pode registrar mais de 3 editores confiáveis de uma única vez."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -400,14 +400,14 @@ msgstr ""
"Houveram muitas tentativas de registo de editores confiáveis. Tente "
"novamente mais tarde."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "O editor confiável não pôde ser registado"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -415,16 +415,16 @@ msgstr ""
"Este editor confiável já foi registado. Entre em contato com os "
"administradores do PyPI se isto não foi intencional."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Registou um novo editor de publicação para criar "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID de editor inválido"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Editor confiável removido do projeto "
@@ -2173,9 +2173,13 @@ msgid "Reset email sent"
msgstr "O e-mail de redefinição foi enviado"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Se você enviou um nome de usuário ou um endereço de email valido, um e-mail "
"foi enviado ao seu endereço de e-mail registado."
@@ -2890,11 +2894,51 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Esta ligação vai expirar em %(n_hours)s hora."
msgstr[1] "Esta ligação vai expirar em %(n_hours)s horas."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Se não fez esse pedido, pode ignorar este e-mail com segurança."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Alguém, talvez você, fez uma solicitação de redefinição de palavra-passe "
+"para a sua conta PyPI \"%(username)s\"."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Perda de acesso ao endereço de e-mail associado à sua conta"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Versão de lançamento %(version)s criada"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/pt_BR/LC_MESSAGES/messages.po b/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
index 8e93b123f02c..f32e77fea205 100644
--- a/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
@@ -170,7 +170,7 @@ msgstr "O código de recuperação já foi usado anteriormente."
msgid "The username isn't valid. Try again."
msgstr "O nome de usuário é inválido. Tente novamente."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -179,7 +179,7 @@ msgstr ""
"Houve muitas tentativas de autenticação malsucedidas. Você foi bloqueado por "
"{}. Tente novamente mais tarde."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -188,7 +188,7 @@ msgstr ""
"Muitos e-mails foram adicionados a esta conta sem ser verificados. Confira "
"sua caixa de entrada e siga os links de verificação. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -199,27 +199,27 @@ msgstr ""
"las. Verifique sua caixa de entrada e siga os links de verificação. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Autenticação de dois fatores inválida ou expirada."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Já autenticado"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Asserção WebAuthn bem-sucedida"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Código de recuperação aceito. O código fornecido não pode ser usado "
"novamente."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -227,144 +227,144 @@ msgstr ""
"Novo registro de usuário desabilitado temporariamente. Consulte https://pypi."
"org/help#admin-intervention para obter detalhes."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Token expirado: solicite um novo link de redefinição de senha"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Token inválido: solicite um novo link de redefinição de senha"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Token inválido: nenhum token fornecido"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Token inválido: não é um token de redefinição de senha"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Token inválido: usuário não encontrado"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Token inválido: o usuário já entrou desde que esse token foi solicitado"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Token inválido: a senha já foi alterada desde que esse token foi solicitado"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Você redefiniu sua senha"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Token expirado: solicite um novo link de verificação de e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Token inválido: solicite um novo link de verificação de e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Token inválido: não é um token de verificação de e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail não encontrado"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail já verificado"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Agora você pode definir este e-mail como seu endereço principal"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Este é o seu endereço principal"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Endereço de e-mail ${email_address} verificado. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token expirado: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Token inválido: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Token inválido: não é um token de convite da organização"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "O convite da organização não é válido."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "O convite da organização não existe mais."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "O convite para \"${organization_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Agora, você é ${role} da organização '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Token expirado: solicite um novo convite de função no projeto"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Token inválido: solicite um novo convite de função no projeto"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Token inválido: não é um token de convite de colaboração"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "O convite para função não é válida."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "O convite para função não existe mais."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "O convite para \"${project_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Você é agora ${role} do projeto \"${project_name}\"."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Por favor revise nossos Termos de serviço "
"atualizados."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -373,13 +373,13 @@ msgstr ""
"A publicação confiável está temporariamente desabilitada. Consulte https://"
"pypi.org/help#admin-intervention para obter detalhes."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"desabilitado. Consulte https://pypi.org/help#admin-intervention para obter "
"detalhes."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -387,13 +387,13 @@ msgstr ""
"Você deve ter um e-mail verificado para registrar um editor confiável "
"pendente. Consulte https://pypi.org/help#openid-connect para obter detalhes."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Você não pode registrar mais de 3 publicadores confiável pendentes ao mesmo "
"tempo."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -404,14 +404,14 @@ msgstr ""
"Houve muitas tentativas de registros de publicadores confiáveis. Tente "
"novamente mais tarde."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "O editor confiável não pôde ser registrado"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -419,16 +419,16 @@ msgstr ""
"Este publicador confiável já foi registrado. Entre em contato com os "
"administradores do PyPI se isso não for intencional."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Registrado um novo publicador pendente para criar "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID de editor inválido"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Editor confiável removido do projeto "
@@ -2187,9 +2187,13 @@ msgid "Reset email sent"
msgstr "E-mail de redefinição enviado"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Se você enviou um nome de usuário ou endereço de e-mail válido, um e-mail "
"foi enviado para seu endereço de e-mail registrado."
@@ -2908,12 +2912,52 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Esse link vai expirar em %(n_hours)s hora."
msgstr[1] "Esse link vai expirar em %(n_hours)s horas."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"Se você não fez esse pedido, você pode ignorar com segurança este e-mail."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Alguém, talvez você, fez uma solicitação de redefinição de senha para sua "
+"conta PyPI \"%(username)s\"."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Perda de acesso ao endereço de e-mail associado à sua conta"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Versão de lançamento %(version)s criada"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/pt_PT/LC_MESSAGES/messages.po b/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
index 4a51d2f1df28..a508e073be3a 100644
--- a/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
@@ -171,7 +171,7 @@ msgstr "Código de recuperação já utilizado anteriormente."
msgid "The username isn't valid. Try again."
msgstr "O endereço de e-mail não é válido. Tente novamente."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -180,7 +180,7 @@ msgstr ""
"Ocorreram demasiadas tentativas de início de sessão sem êxito. Foi bloqueado "
"durante ${time}. Por favor tente mais tarde."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -190,7 +190,7 @@ msgstr ""
"Verifique a sua caixa de entrada e siga as ligações de verificação. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -201,27 +201,27 @@ msgstr ""
"concluí-las. Verifique a sua caixa de entrada e siga as ligaçõs de "
"verificação. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Início de sessão de dois fatores inválido ou expirou."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Já está autenticado"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Asserção WebAuthn bem sucedida"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Código de recuperação aceite. O código fornecido não pode ser usado "
"novamente."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -229,145 +229,145 @@ msgstr ""
"O registo de novos utilizadores está temporariamente desativado. Consulte "
"https://pypi.org/help#admin-intervention para mais detalhes."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Código expirado: peça uma nova hiperligação para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"Código inválido: peça uma nova hiperligação para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Código inválido: o código não foi fornecido"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Código inválido: não é um código para reiniciar a palavra-passe"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Código inválido: utilizador não encontrado"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Código inválido: o utilizador já iniciou sessão desde que o código foi pedido"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Código inválido: a palavra-passe já foi alterada desde o pedido do código"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Redefiniu a sua palavra-passe"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Código expirado: peça uma nova hiperligação de verificação de e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Código inválido: peça uma nova hiperligação de verificação de e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Código inválido: não é um código de verificação de e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mail não encontrado"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mail já verificado"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Agora pode definir este e-mail como o seu endereço primário"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Este é o seu endereço primário"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Endereço de e-mail ${email_address} verificado. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Código expirado: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Código inválido: solicite um novo convite da organização"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Código inválido: não é um código de convite de organização"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "O convite para a organização não é válido."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "O convite para a organização não existe mais."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "O convite para \"${organization_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Agora você é ${role} da organização \"${organization_name}\"."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Código expirado: solicite um novo convite para a função no projeto"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Código inválido: solicite um novo convite para a função no projeto"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Código inválido: não é um código de convite de colaboração"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "O convite para uma função não é válida."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "O convite para uma função não existe mais."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "O convite para \"${project_name}\" foi rejeitado."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Agora é ${role} do projeto '${nome_do_projeto}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -376,13 +376,13 @@ msgstr ""
"Trusted Publishing está temporariamente desativado. Consulte https://pypi."
"org/help#admin-intervention para mais detalhes."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"desativado. Consulte https://pypi.org/help#admin-intervention para mais "
"pormenores."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -390,12 +390,12 @@ msgstr ""
"Necessita de ter um email verificado para registar um publicador confiado "
"pendente. Consulte https://pypi.org/help#openid-connect para detalhes."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Não pode registar mais que 3 editores confiáveis pendentes de uma única vez."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -406,14 +406,14 @@ msgstr ""
"Houveram muitas tentativas de registo de editores confiáveis. Tente "
"novamente mais tarde."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "O editor confiável não pôde ser registado"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -421,16 +421,16 @@ msgstr ""
"Este editor confiável já foi registado. Entre em contato com os "
"administradores do PyPI se isto não foi intencional."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Registou um novo editor de publicação para criar "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID de editor inválido"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Editor confiável removido do projeto "
@@ -2251,8 +2251,8 @@ msgstr "O e-mail de redefinição foi enviado"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Um e-mail foi enviado ao seu endereço de e-mail registado."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2966,11 +2966,51 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Esta ligação vai expirar em %(n_hours)s hora."
msgstr[1] "Esta ligação vai expirar em %(n_hours)s horas."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Se não fez esse pedido, pode ignorar este e-mail com segurança."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Alguém, talvez você, fez uma solicitação de redefinição de palavra-passe "
+"para a sua conta PyPI \"%(username)s\"."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Perda de acesso ao endereço de e-mail associado à sua conta"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Versão de lançamento %(version)s criada"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ro/LC_MESSAGES/messages.po b/warehouse/locale/ro/LC_MESSAGES/messages.po
index a9bc61a35908..de6489edd5a3 100644
--- a/warehouse/locale/ro/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ro/LC_MESSAGES/messages.po
@@ -167,7 +167,7 @@ msgstr "Codul de recuperare a fost deja folosit."
msgid "The username isn't valid. Try again."
msgstr "Numele de utilizator nu este valid. Încercați din nou."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -176,7 +176,7 @@ msgstr ""
"Au existat prea multe încercări de conectare nereușite. Ați fost blocat "
"pentru {}. Vă rugăm să încercați din nou mai târziu."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -185,7 +185,7 @@ msgstr ""
"Prea multe e-mailuri au fost adăugate la acest cont fără a le verifica. "
"Verificați inboxul și urmați linkurile de verificare. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -196,26 +196,26 @@ msgstr ""
"a le completa. Verificați inboxul și urmați linkurile de verificare. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Conectare în doi factori nevalidă sau expirată."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Deja autentificat"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Aserțiune WebAuthn cu succes"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Cod de recuperare acceptat. Codul furnizat nu se poate utiliza din nou."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -223,156 +223,156 @@ msgstr ""
"Înregistrarea unui nou utilizator a fost dezactivată temporar. Consultați "
"https://pypi.org/help#admin-intervention pentru detalii."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Token expirat: solicitați un nou link de resetare a parolei"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Token nevalid: solicitați un nou link de resetare a parolei"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Token nevalid: nu este furnizat niciun jeton"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Token nevalid: nu un jeton de resetare a parolei"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Token nevalid: utilizatorul nu a fost găsit"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Token nevalid: utilizatorul s-a conectat de când a fost solicitat acest jeton"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Token nevalid: parola a fost deja modificată de la solicitarea acestui jeton"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "V-ați resetat parola"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Token expirat: solicitați un nou link de verificare prin e-mail"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Token nevalid: solicitați un nou link de verificare prin e-mail"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Token nevalid: nu un Token de verificare prin e-mail"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-mailul nu a fost găsit"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-mailul a fost deja verificat"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Acum puteți seta acest e-mail ca adresă principală"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Aceasta este adresa dvs. principală"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
"Adresa de e-mail ${email_address} a fost verificată. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token expirat: solicitați o nouă invitație"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new email verification link"
msgid "Invalid token: request a new organization invitation"
msgstr "Token nevalid: solicitați un nou link de verificare prin e-mail"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not an organization invitation token"
msgstr "Token nevalid: nu un Token de verificare prin e-mail"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
#, fuzzy
#| msgid "Role invitation is not valid."
msgid "Organization invitation is not valid."
msgstr "Invitația la rol nu este validă."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
#, fuzzy
#| msgid "Role invitation no longer exists."
msgid "Organization invitation no longer exists."
msgstr "Invitația la rol nu mai există."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Invitația pentru „${organization_name}” este refuzată."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Acum sunteți ${role} din proiectul „${project_name}”."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new email verification link"
msgid "Expired token: request a new project role invitation"
msgstr "Token expirat: solicitați un nou link de verificare prin e-mail"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new email verification link"
msgid "Invalid token: request a new project role invitation"
msgstr "Token nevalid: solicitați un nou link de verificare prin e-mail"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Token invalid: nu este un token de invitație la colaborare"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Invitația la rol nu este validă."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Invitația la rol nu mai există."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Invitația pentru „${project_name}” este refuzată."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Acum sunteți ${role} din proiectul „${project_name}”."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -385,7 +385,7 @@ msgstr ""
"Înregistrarea unui nou utilizator a fost dezactivată temporar. Consultați "
"https://pypi.org/help#admin-intervention pentru detalii."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -395,17 +395,17 @@ msgstr ""
"Înregistrarea unui nou utilizator a fost dezactivată temporar. Consultați "
"https://pypi.org/help#admin-intervention pentru detalii."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -419,29 +419,29 @@ msgstr ""
"Au fost prea multe încercări de conectare nereușite. Încercați din nou mai "
"târziu."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2183,8 +2183,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2774,11 +2774,42 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/rom/LC_MESSAGES/messages.po b/warehouse/locale/rom/LC_MESSAGES/messages.po
index 3e43af4d849a..16ca9e14f802 100644
--- a/warehouse/locale/rom/LC_MESSAGES/messages.po
+++ b/warehouse/locale/rom/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ru/LC_MESSAGES/messages.po b/warehouse/locale/ru/LC_MESSAGES/messages.po
index 38f2a97383bc..b2cd4e2c76b9 100644
--- a/warehouse/locale/ru/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ru/LC_MESSAGES/messages.po
@@ -193,7 +193,7 @@ msgstr "Коды восстановления были повторно сген
msgid "The username isn't valid. Try again."
msgstr "Имя пользователя не является действительным. Попробуй еще раз."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -202,7 +202,7 @@ msgstr ""
"Вы сделали слишком много неверных попыток входа. Вы заблокированы на {}. "
"Попробуйте войти позже."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -212,7 +212,7 @@ msgstr ""
"электронной почты. Проверьте свой почтовый ящик и перейдите по ссылкам для "
"подтверждения. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -223,27 +223,27 @@ msgstr ""
"завершения. Проверьте свой почтовый ящик и перейдите по ссылкам для "
"подтверждения. (IP-адрес: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Недействительный или истёкший двухфакторный логин."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Уже подтверждён"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Успешное утверждение WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Код восстановления принят. Предоставленный код не может быть использован "
"повторно."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -251,155 +251,155 @@ msgstr ""
"Регистрация новых пользователей временно отключена. Подробнее смотрите "
"здесь: https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Время действия токена истекло: запросите новую ссылку сброса пароля"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Недействительный токен: запросите новую ссылку сброса пароля"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Недействительный токен: токен не указан"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Недействительный токен: не является токеном для сброса пароля"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Недействительный токен: пользователь не найден"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Недействительный токен: пользователь осуществил вход в систему с момента "
"запроса этого токена"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Недействительный токен: пароль уже был изменен с момента запроса этого токена"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Вы сбросили свой пароль"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"Токен с истёкшим сроком действия: запросите новую ссылку для верификации "
"электронной почты"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
"Недействительный токен: запросите новую ссылку для верификации электронной "
"почты"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
"Недействительный токен: не является токеном для верификации электронной почты"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Электронная почта не найдена"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Электронная почта уже подтверждена"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
"Теперь вы можете установить этот адрес электронной почты в качестве "
"основного адреса"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Это ваш основной адрес"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Электронная почта ${email_address} подтверждена. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
"Время действия токена истекло: запросите новое приглашение в организацию"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Недействительный токен: запросите новое приглашение в организацию"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Недействительный токен: не является токеном приглашения организации"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Приглашение в организацию недействительно."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Приглашение в организацию больше не существует."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Приглашение для «${organization_name}» отклонено."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Теперь у вас роль ${role} в организации «${organization_name}»."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
"Время действия токена истекло: запросите новое приглашение на роль в проекте"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Недействительный токен: запросите новое приглашение на роль в проекте"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
"Недействительный токен: не является токеном приглашения к сотрудничеству"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Приглашение на роль недействительно."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Приглашение на роль больше не существует."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Приглашение для «${project_name}» отклонено."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Теперь у вас роль ${role} в проекте «${project_name}»."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Пожалуйста, ознакомьтесь с нашими обновленными Условиями предоставления услуг."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -408,13 +408,13 @@ msgstr ""
"Трастовая публикация временно отключена. Подробнее смотрите здесь: https://"
"pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"отключено. Подробнее смотрите здесь: https://pypi.org/help#admin-"
"intervention."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -423,13 +423,13 @@ msgstr ""
"зарегистрировать ожидающего подключения трастового публикатора. Перейдите на "
"https://pypi.org/help#openid-connect для получения подробной информации."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Вы не можете зарегистрировать более 3-х ожидающих подключения трастовых "
"публикаторов одновременно."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -440,14 +440,14 @@ msgstr ""
"Было предпринято слишком много попыток регистрации трастового публикатора. "
"Попробуйте еще раз позже."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Трастовый публикатор не может быть зарегистрирован"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -455,16 +455,16 @@ msgstr ""
"Этот трастовый публикатор уже зарегистрирован. Свяжитесь с администраторами "
"PyPI, если регистрация не была сделана намеренно."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Зарегистрирован новый издатель, ожидающий подключения "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Неверный ID издателя"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Доверенный издатель был удалён из проекта "
@@ -2231,9 +2231,13 @@ msgid "Reset email sent"
msgstr "Сообщение с инструкцией по сбросу отправлено по электронной почте"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Если вы указали правильное имя пользователя или адрес электронной почты, на "
"ваш зарегистрированный адрес электронной почты было отправлено письмо."
@@ -2949,12 +2953,53 @@ msgstr[0] "Срок действия этой ссылки истечёт чер
msgstr[1] "Срок действия этой ссылки истечёт через %(n_hours)s часа."
msgstr[2] "Срок действия этой ссылки истечёт через %(n_hours)s часов."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"Если вы не делали этого запроса, то можете проигнорировать это сообщение."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Кто-то, возможно вы, сделал запрос на сброс пароля для вашей учётной записи "
+"«%(username)s» на PyPI."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+"Потери доступа к адресу электронной почты, связанному с вашей учётной записью"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "Версия %(version)s выдернута"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/sgn/LC_MESSAGES/messages.po b/warehouse/locale/sgn/LC_MESSAGES/messages.po
index fa592f1d73a3..bf0daef6e384 100644
--- a/warehouse/locale/sgn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sgn/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/si/LC_MESSAGES/messages.po b/warehouse/locale/si/LC_MESSAGES/messages.po
index fa3b7cd7a7b0..647f75f15f89 100644
--- a/warehouse/locale/si/LC_MESSAGES/messages.po
+++ b/warehouse/locale/si/LC_MESSAGES/messages.po
@@ -150,7 +150,7 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "විද්යුත් තැපැල් ලිපිනය වලංගු නොවේ. නැවත උත්සහා කරන්න."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -159,7 +159,7 @@ msgid ""
"out for {}. Please try again later."
msgstr "පුරනය වීමේ උත්සාහයන් අසාර්ථක වී ඇත. පසුව නැවත උත්සාහ කරන්න."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -168,7 +168,7 @@ msgstr ""
"සත්යාපනය නොකර ඊමේල් විශාල ප්රමාණයක් මෙම ගිණුමට එකතු කර ඇත. ඔබගේ එන ලිපි පරීක්ෂා කර "
"සත්යාපන සබැඳි අනුගමනය කරන්න. (IP: $ {ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
#| msgid ""
#| "Too many emails have been added to this account without verifying them. "
@@ -181,25 +181,25 @@ msgstr ""
"සත්යාපනය නොකර ඊමේල් විශාල ප්රමාණයක් මෙම ගිණුමට එකතු කර ඇත. ඔබගේ එන ලිපි පරීක්ෂා කර "
"සත්යාපන සබැඳි අනුගමනය කරන්න. (IP: $ {ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "අවලංගු හෝ කල් ඉකුත් වූ සාධක දෙකක පිවිසුම."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "සත්යාපනය"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "WebAuthn ප්රකාශය සාර්ථකයි"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "ප්රතිසාධන කේතය පිළිගෙන ඇත. සැපයූ කේතය නැවත භාවිතා කළ නොහැක."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -207,152 +207,152 @@ msgstr ""
"නව පරිශීලක ලියාපදිංචිය තාවකාලිකව අබල කර ඇත. වැඩි විස්තර සඳහා https://pypi.org/"
"help#admin-intervention බලන්න."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "කල් ඉකුත් වූ ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "අවලංගු ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "අවලංගු ටෝකනය: ටෝකනයක් සපයා නැත"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "වලංගු නොවන ටෝකනය: මුරපද යළි පිහිටුවීමේ ටෝකනයක් නොවේ"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "වලංගු නොවන ටෝකනය: පරිශීලකයා හමු නොවීය"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "වලංගු නොවන ටෝකනය: මෙම ටෝකනය ඉල්ලා සිටි දින සිට පරිශීලකයා පුරනය වී ඇත"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "වලංගු නොවන ටෝකනය: මෙම ටෝකනය ඉල්ලූ දා සිට මුරපදය දැනටමත් වෙනස් කර ඇත"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new organization invitation"
msgstr "කල් ඉකුත් වූ ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new organization invitation"
msgstr "අවලංගු ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a password reset token"
msgid "Invalid token: not an organization invitation token"
msgstr "වලංගු නොවන ටෝකනය: මුරපද යළි පිහිටුවීමේ ටෝකනයක් නොවේ"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
msgstr "කල් ඉකුත් වූ ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr "අවලංගු ටෝකනය: නව මුරපද යළි පිහිටුවීමේ සබැඳියක් ඉල්ලන්න"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
#| msgid "Invalid token: not a password reset token"
msgid "Invalid token: not a collaboration invitation token"
msgstr "වලංගු නොවන ටෝකනය: මුරපද යළි පිහිටුවීමේ ටෝකනයක් නොවේ"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -365,7 +365,7 @@ msgstr ""
"නව පරිශීලක ලියාපදිංචිය තාවකාලිකව අබල කර ඇත. වැඩි විස්තර සඳහා https://pypi.org/"
"help#admin-intervention බලන්න."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -375,17 +375,17 @@ msgstr ""
"නව පරිශීලක ලියාපදිංචිය තාවකාලිකව අබල කර ඇත. වැඩි විස්තර සඳහා https://pypi.org/"
"help#admin-intervention බලන්න."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -397,29 +397,29 @@ msgid ""
"again later."
msgstr "පුරනය වීමේ උත්සාහයන් අසාර්ථක වී ඇත. පසුව නැවත උත්සාහ කරන්න."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2135,8 +2135,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2723,11 +2723,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/sk/LC_MESSAGES/messages.po b/warehouse/locale/sk/LC_MESSAGES/messages.po
index 606f28d099bd..ebc3efc0e5ac 100644
--- a/warehouse/locale/sk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sk/LC_MESSAGES/messages.po
@@ -148,7 +148,7 @@ msgstr "Obnovovací kód už bol použitý."
msgid "The username isn't valid. Try again."
msgstr "Užívateľské meno nie je platné. Skúste znova."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -157,7 +157,7 @@ msgstr ""
"Vyskytlo sa príliš veľa neúspešných pokusov o prihlásenie. Boli ste "
"zablokovaní na {}. Skúste neskôr prosím."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -167,7 +167,7 @@ msgstr ""
"Skontrolujte si doručenú poštu a postupujte podľa overovacích odkazov. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -178,25 +178,25 @@ msgstr ""
"dokončenia. Skontrolujte si doručenú poštu a postupujte podľa overovacích "
"odkazov. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Neplatné alebo vypršané dvojfaktorové prihlásenie."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Už overené"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Úspešné tvrdenie WebAuthn"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Obnovovací kód bol prijatý. Dodaný kód nie je možné znova použiť."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -204,141 +204,141 @@ msgstr ""
"Registrácia nového používateľa je dočasne zakázaná. Podrobnosti nájdete na "
"https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Platnosť tokenu vypršala: vyžiadajte si nový odkaz na obnovenie hesla"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Neplatný token: požiadajte o nový odkaz na obnovenie hesla"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Neplatný token: nebol dodaný žiadny token"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Neplatný token: nejde o token na obnovenie hesla"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Neplatný token: používateľ sa nenašiel"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Neplatný token: používateľ sa prihlásil od vyžiadania tohto tokenu"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Neplatný token: heslo už bolo zmenené, odkedy bol tento token vyžiadaný"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Obnovili ste svoje heslo"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Platnosť tokenu vypršala: vyžiadajte si nový odkaz na overenie e-mailu"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Neplatný token: požiadajte o nový odkaz na overenie e-mailu"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Neplatný token: nejde o overovací token e-mailu"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Email nenájdený"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Email už bol overený"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Teraz môžete tento e-mail nastaviť ako svoju primárnu adresu"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Toto je vaša primárna adresa"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-mailová adresa ${email_address} bola overená. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Token s vypršanou platnosťou: požiadajte o pozvánku novej organizácie"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Neplatný token: požiadajte o pozvánku novej organizácie"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Neplatný token: nejedná sa o token pozvánky do organizácie"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Pozvánka do organizácie je neplatná."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Pozvánka do organizácie už neexistuje."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Pozvánka do '${organization_name}' bola odmietnutá."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Teraz ste ${role} organizácie '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Expirovaný token: požiadajte o novú pozvánku pre rolu v projekte"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Neplatný token: požiadajte o novú pozvánku pre rolu v projekte"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Neplatný token: nejedná sa o token pozvánky k spolupráci"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Pozvánka pre rolu je neplatná."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Pozvánka pre rolu už neexistuje."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Pozvánka pre '${project_name}' bola odmietnutá."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Teraz ste ${role} projektu '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -347,11 +347,11 @@ msgstr ""
"Nové registrácie sú dočasne zakázané. Viac informácií na https://pypi.org/"
"help#admin-intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr "zakázané. Pozri https://pypi.org/help#admin-intervention pre detaily."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -359,12 +359,12 @@ msgstr ""
"Ak chcete zaregistrovať čakajúceho dôveryhodného vydavateľa, musíte mať "
"overený e-mail. Podrobnosti nájdete na https://pypi.org/help#openid-connect."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Naraz nemôžete zaregistrovať viac ako 3 čakajúcich dôveryhodných vydavateľov."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -375,14 +375,14 @@ msgstr ""
"Príliš mnoho neúspešných pokusov o registráciu pomocou OpenID Connect. "
"Skúste to prosím neskoršie."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Dôveryhodného vydavateľa sa nepodarilo zaregistrovať"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -390,16 +390,16 @@ msgstr ""
"Tento dôveryhodný vydavateľ už bol zaregistrovaný. Ak to nebolo úmyselné, "
"kontaktujte administrátorov PyPI."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Zaregistroval sa nový vydavateľ čakajúci na vytvorenie. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Neplatné ID vlastníka"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Pre projekt bol odstránený dôveryhodný vydavateľ. "
@@ -2167,9 +2167,13 @@ msgid "Reset email sent"
msgstr "Email pre reset hesla odoslaný"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Ak ste predložili platné užívateľské meno alebo e-mailovú adresu, e-mail bol "
"zaslaný na vašu e-mailovú adresu."
@@ -2877,11 +2881,51 @@ msgstr[0] "Platnosť tohto odkazu vyprší o %(n_hours)s hodinu."
msgstr[1] "Platnosť tohto odkazu vyprší o %(n_hours)s hodiny."
msgstr[2] "Platnosť tohto odkazu vyprší o %(n_hours)s hodín."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "Ak ste túto žiadosť neodoslali, môžete tento e-mail pokojne ignorovať."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Niekto, možno vy, požiadal o obnovenie hesla pre váš účet PyPI "
+"'%(username)s'."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Stratili ste prístup k e-mailovej adrese priradenej k vášmu účtu"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "Verzia %(version)s trhla"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/sl/LC_MESSAGES/messages.po b/warehouse/locale/sl/LC_MESSAGES/messages.po
index e63e41eead7e..b02e96932d86 100644
--- a/warehouse/locale/sl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sl/LC_MESSAGES/messages.po
@@ -140,21 +140,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -162,185 +162,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -349,29 +349,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2001,8 +2001,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2589,11 +2589,42 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/sr/LC_MESSAGES/messages.po b/warehouse/locale/sr/LC_MESSAGES/messages.po
index b8d34b059048..2d2f2fd978aa 100644
--- a/warehouse/locale/sr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sr/LC_MESSAGES/messages.po
@@ -150,21 +150,21 @@ msgstr "Повратни код је већ искоришћен."
msgid "The username isn't valid. Try again."
msgstr "Ово корисничко име је неважеће. Покушајте поново."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -172,185 +172,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Већ сте аутентификовани"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Имејл није пронађен"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Имејл је већ верификован"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Сада можете ставити овај имејл за вашу примарну адресу"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Ово је Ваша примарна адреса"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Имејл адреса ${email_address} је верификована. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -359,29 +359,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2086,8 +2086,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2676,11 +2676,42 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ta/LC_MESSAGES/messages.po b/warehouse/locale/ta/LC_MESSAGES/messages.po
index 94df1132f492..f6bf314e5efe 100644
--- a/warehouse/locale/ta/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ta/LC_MESSAGES/messages.po
@@ -162,7 +162,7 @@ msgstr "மீட்பு குறியீடு(Recovery code) முன்
msgid "The username isn't valid. Try again."
msgstr "பயனர் பெயர் தவறானது. மீண்டும் முயற்சி செய்."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -171,7 +171,7 @@ msgstr ""
"பல வெற்றியுறாத உள்நுழைவு முயற்சிகள் நடந்துள்ளன. நீங்கள் ${} மணி நேரத்திற்கு "
"பூட்டப்பட்டிருக்கிறீர்கள். பின்னர் மீண்டும் முயற்சிக்கவும்."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -180,7 +180,7 @@ msgstr ""
"இந்தக் கணக்கில் பல மின்னஞ்சல்கள் சரிபார்க்கப்படாமலே சேர்க்கப்பட்டுள்ளன. உங்கள் இன்பாக்ஸைச் "
"சரிபார்த்து, சரிபார்ப்பு இணைப்புகளைப் பின்பற்றவும். (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -191,26 +191,26 @@ msgstr ""
"கோரப்பட்டுள்ளன. உங்கள் இன்பாக்ஸைச் சரிபார்த்து, சரிபார்ப்பு இணைப்புகளைப் பின்பற்றவும். (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "தவறான அல்லது காலாவதியான இரண்டு காரணி உள்நுழைவு."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "ஏற்கனவே அங்கீகரிக்கப்பட்டது"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "வெற்றிகரமான இணைய அங்கீகரிப்பு(Web Authentication ) வலியுறுத்தல்"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"மீட்பு குறியீடு ஏற்றுக்கொள்ளப்பட்டது. வழங்கப்பட்ட குறியீட்டை மீண்டும் பயன்படுத்த முடியாது."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -218,144 +218,144 @@ msgstr ""
"புதிய பயனர்(user) பதிவு தற்காலிகமாக முடக்கப்பட்டுள்ளது. விவரங்களுக்கு https://pypi."
"org/help#admin-intervention ஐப் பார்க்கவும்."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"காலாவதியான டோக்கன்: புதிய கடவுச்சொல்(Password) மீட்டமைப்பு(reset) இணைப்பைக்(link) "
"கோரவும்"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"தவறான டோக்கன்: புதிய கடவுச்சொல்(password) மீட்டமைப்பு(reset) இணைப்பைக்(link) கோரவும்"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "தவறான டோக்கன்: டோக்கன் வழங்கப்படவில்லை"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "தவறான டோக்கன்: கடவுச்சொல்(password) மீட்டமைப்பு(reset) டோக்கன் அல்ல"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "தவறான டோக்கன்: பயனர்(user) கிடைக்கவில்லை(not found)"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "தவறான டோக்கன்: இந்த டோக்கன் கோரப்பட்டதால் பயனர் உள்நுழைந்துள்ளார்"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "தவறான டோக்கன்: இந்த டோக்கன் கோரப்பட்டதிலிருந்து கடவுச்சொல் ஏற்கனவே மாற்றப்பட்டுள்ளது"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "உங்கள் கடவுச்சொல்லை மீட்டமைத்துவிட்டீர்கள்"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "காலாவதியான டோக்கன்: புதிய மின்னஞ்சல் சரிபார்ப்பு இணைப்பைக் கோருங்கள்"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "தவறான அடையாளச் சின்னம்: புதிய மின்னஞ்சல் சரிபார்ப்பு இணைப்பைக் கோருங்கள்"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "தவறான அடையாளச் சின்னம்: மின்னஞ்சல் சரிபார்ப்பு அடையாளச் சின்னமல்ல"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "மின்னஞ்சல் கிடைக்கவில்லை"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "மின்னஞ்சல் ஏற்கனவே சரிபார்க்கப்பட்டது"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "நீங்கள் இப்போது இந்த மின்னஞ்சலை உங்கள் முதன்மை முகவரியாக அமைக்கலாம்"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "இது உங்கள் முதன்மை முகவரி"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "மின்னஞ்சல் முகவரி ${email_address} சரிபார்க்கப்பட்டது. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
"காலாவதியான டோக்கன்: புதிய அமைப்பு (organization) அழைப்பை(invitation) கோரவும்"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "தவறான அடையாளச் சின்னம்: புதிய அமைப்பு அழைப்பை கோருங்கள்"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "செல்லாத கடவு குறியீடு: ஒரு அமைப்பின் அழைப்பிதழுக்கானா கடவு குறியீடு அல்ல"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "நிறுவன அழைப்பு செல்லாது."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "நிறுவன அழைப்பு இனி இல்லை."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}' -க்கான அழைப்பு நிராகரிக்கப்பட்டது."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "நீங்கள் இனிமேல் '${organization_name}' நிறுவனத்தின் ${role}."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "காலாவதியான கடவு குறியீடு: திட்டபணியின் புதிய பங்களிப்பிற்கானா அழைப்பை கோரவும்"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "செல்லாத கடவு குறியீடு: திட்டபணியின் புதிய பங்களிப்பிற்கானா அழைப்பை கோரவும்"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "செல்லாத கடவு குறியீடு: ஒத்துழைப்பிற்கானா அழைப்பு கடவு குறியீடு அல்ல"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "பங்கு அழைப்பு மதிப்பில்லாத."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "பங்கு அழைப்பு இனி இல்லை."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}' -க்கான அழைப்பு நிராகரிக்கப்பட்டது."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "நீங்கள் இனிமேல் '${project_name}' திட்டப்பணியின் ${role}."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -364,11 +364,11 @@ msgstr ""
"நம்பகமான வெளியீடு தற்காலிகமாக முடக்கப்பட்டுள்ளது. விவரங்களுக்கு https://pypi.org/"
"help#admin- தலையீட்டைக் காண்க."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr "முடக்கப்பட்டது. விவரங்களுக்கு https://pypi.org/help#admin- தலையீட்டைக் காண்க."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -376,12 +376,12 @@ msgstr ""
"நிலுவையில் உள்ள நம்பகமான வெளியீட்டாளரை பதிவு செய்ய உங்களிடம் சரிபார்க்கப்பட்ட மின்னஞ்சல் "
"இருக்க வேண்டும். விவரங்களுக்கு https://pypi.org/help#openid-connect ஐப் பார்க்கவும்."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"நம்பகமான 3 க்கும் மேற்பட்ட நம்பகமான வெளியீட்டாளர்களை ஒரே நேரத்தில் பதிவு செய்ய முடியாது."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -390,14 +390,14 @@ msgid ""
"again later."
msgstr "நம்பகமான வெளியீட்டாளர் பதிவுகள் பல முயற்சித்துள்ளன. பின்னர் மீண்டும் முயற்சிக்கவும்."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "நம்பகமான வெளியீட்டாளரை பதிவு செய்ய முடியவில்லை"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -405,16 +405,16 @@ msgstr ""
"இந்த நம்பகமான வெளியீட்டாளர் ஏற்கனவே பதிவு செய்யப்பட்டுள்ளார். இது வேண்டுமென்றே இல்லாவிட்டால் "
"தயவுசெய்து பைபியின் நிர்வாகிகளை தொடர்பு கொள்ளவும்."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "உருவாக்க நிலுவையில் உள்ள புதிய வெளியீட்டாளரை பதிவு செய்தது "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "தவறான வெளியீட்டாளர் ஐடி"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "திட்டத்திற்கான நம்பகமான வெளியீட்டாளர் அகற்றப்பட்டார் "
@@ -2144,9 +2144,13 @@ msgid "Reset email sent"
msgstr "அனுப்பப்பட்ட மின்னஞ்சல் மீட்டமை"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"நீங்கள் செல்லுபடியாகும் பயனர்பெயர் அல்லது மின்னஞ்சல் முகவரியை சமர்ப்பித்திருந்தால், உங்கள் "
"பதிவுசெய்யப்பட்ட மின்னஞ்சல் முகவரிக்கு மின்னஞ்சல் அனுப்பப்பட்டுள்ளது."
@@ -2839,6 +2843,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "இந்த இணைப்பு %(n_hours)s மணிநேரத்தில் காலாவதியாகும்."
msgstr[1] "இந்த இணைப்பு %(n_hours) மணிநேரங்களில் காலாவதியாகும்."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -2846,6 +2851,45 @@ msgstr ""
"இந்த கோரிக்கையை நீங்கள் செய்யவில்லை என்றால், இந்த மின்னஞ்சலை நீங்கள் பாதுகாப்பாக "
"புறக்கணிக்கலாம்."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"யாரோ, ஒருவேளை நீங்கள், உங்கள் PYPI கணக்கில் '%(பயனர்பெயர்)' என்ற கடவுச்சொல் மீட்டமைப்பு "
+"கோரிக்கையை செய்துள்ளீர்கள்."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "உங்கள் கணக்குடன் தொடர்புடைய மின்னஞ்சல் முகவரிக்கு அணுகலை இழந்தது"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr " பதிப்பு %(version)s yanked"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/te/LC_MESSAGES/messages.po b/warehouse/locale/te/LC_MESSAGES/messages.po
index 0fbe87a75fbb..515e89e35dab 100644
--- a/warehouse/locale/te/LC_MESSAGES/messages.po
+++ b/warehouse/locale/te/LC_MESSAGES/messages.po
@@ -148,7 +148,7 @@ msgstr "రికవరీ కోడ్ గతంలో ఉపయోగించ
msgid "The username isn't valid. Try again."
msgstr "ఇమెయిల్ చిరునామా చెల్లదు. మళ్లీ ప్రయత్నించండి."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -156,7 +156,7 @@ msgid ""
msgstr ""
"లాగిన్ ప్రయత్నాలు చాలా జరిగాయి. మీరు ${time} కొరకు లాక్ చేయబడ్డారు. దయచేసి తరువాత మళ్లీ ప్రయత్నించండి."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -165,7 +165,7 @@ msgstr ""
"వాటిని ధృవీకరించకుండానే ఈ ఖాతాకు చాలా ఇమెయిల్స్ జోడించబడ్డాయి. మీ ఇన్ బాక్స్ చెక్ చేయండి మరియు వెరిఫికేషన్ లింక్ "
"లను అనుసరించండి. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, fuzzy, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -175,29 +175,29 @@ msgstr ""
"వాటిని పూర్తి చేయకుండానే ఈ ఖాతా కోసం చాలా పాస్ వర్డ్ రీసెట్ లు అభ్యర్థించబడ్డాయి. మీ ఇన్ బాక్స్ చెక్ చేయండి "
"మరియు వెరిఫికేషన్ లింక్ లను అనుసరించండి. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
#, fuzzy
msgid "Invalid or expired two factor login."
msgstr "చెల్లని లేదా గడువు ముగిసిన రెండు కారకాల లాగిన్."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
#, fuzzy
msgid "Already authenticated"
msgstr "ఇప్పటికే ధృవీకరించబడింది"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
#, fuzzy
msgid "Successful WebAuthn assertion"
msgstr "విజయవంతమైన WebAuthn ప్రకటన"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
#, fuzzy
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "రికవరీ కోడ్ ఆమోదించబడింది. సరఫరా చేయబడ్డ కోడ్ మళ్లీ ఉపయోగించబడదు."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
#, fuzzy
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
@@ -206,164 +206,164 @@ msgstr ""
"కొత్త వినియోగదారు నమోదు తాత్కాలికంగా నిలిపివేయబడింది. వివరాల కోసం https://pypi.org/help#admin-"
"intervention చూడండి."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"కొత్త వినియోగదారు నమోదు తాత్కాలికంగా నిలిపివేయబడింది. వివరాల కోసం https://pypi.org/help#admin-"
"intervention చూడండి."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -372,29 +372,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2027,8 +2027,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2611,11 +2611,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/th/LC_MESSAGES/messages.po b/warehouse/locale/th/LC_MESSAGES/messages.po
index e3fb8c1dae09..50fc35297c61 100644
--- a/warehouse/locale/th/LC_MESSAGES/messages.po
+++ b/warehouse/locale/th/LC_MESSAGES/messages.po
@@ -153,7 +153,7 @@ msgstr "รหัสกู้คืนถูกใช้ไปเเล้ว"
msgid "The username isn't valid. Try again."
msgstr "ชื่อผู้ใช้ไม่ถูกต้อง กรุณาลองใหม่อีกครั้ง"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -161,7 +161,7 @@ msgid ""
msgstr ""
"มีความพยายามเข้าถึงระบบที่ไม่สำเร็จมากเกินไป คุณถูกออกจากระบบ {} กรุณาลองใหม่ในภายหลัง"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -170,7 +170,7 @@ msgstr ""
"มีการเพิ่มอีเมลมากเกินไปในบัญชีนี้โดยไม่ยืนยันอีเมล ตรวจสอบอีเมลของคุณและทําตามลิงก์ยืนยัน (IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -180,25 +180,25 @@ msgstr ""
"มีการเพิ่มอีเมลมากเกินไปในบัญชีนี้โดยไม่ต้องตรวจสอบ "
"ตรวจสอบกล่องจดหมายของคุณและทําตามลิงก์ยืนยัน ((IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "ระบบยืนยันตัวตนสองขั้นตอนไม่ถูกต้องหรือหมดอายุไปแล้ว"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "คุณได้ทำการยืนยันตัวตนไปแล้ว"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "การตรวจสอบ WebAuthn เสร็จสิ้น"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "รหัสกู้คืนถูกต้อง ไม่สามารถใช้รหัสที่ให้มาได้อีกครั้ง"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -206,140 +206,140 @@ msgstr ""
"การสมัครผู้ใช้งานใหม่ถูกปิดใช้งานชั่วคราว ดูข้อมูลเพิ่มเติมได้ที่ https://pypi.org/help#admin-"
"intervention"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "โทเคนหมดอายุ: กรุณาขอลิ้งค์ในการตั้งรหัสผ่านใหม่"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "โทเคนไม่ถูกต้อง: กรุณาขอลิ้งค์ในการตั้งรหัสผ่านใหม่"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "โทเคนไม่ถูกต้อง: ไม่มีโทเคน"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "โทเคนไม่ถูกต้อง: ไม่ใช่โทเคนในการตั้งค่ารหัสผ่านใหม่"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "โทเคนไม่ถูกต้อง: ไม่ค้นพบผู้ใช้งาน"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "โทเคนไม่ถูกต้อง: ผู้ใช้งานได้ทำการเข้าสู่ระบบหลังจากมีการร้องขอโทเคนนี้"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "โทเคนไม่ถูกต้อง: รหัสผ่านถูกเปลี่ยนแปลงแล้วหลังจากมีการร้องขอโทเคนนี้"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "คุณได้ทำการตั้งค่ารหัสผ่านใหม่"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "โทเคนหมดอายุ: กรุณาร้องขอลิ้งค์การยืนยันที่อยู่อีเมล์ใหม่"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "โทเคนไม่ถูกต้อง: กรุณายืนยันที่อยู่อีเมล์ใหม่"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "โทเคนหมดอายุ: ไม่ใช่โทเคนในการยืนยันอีเมล์"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ไม่พบอีเมล์"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "อีเมล์ได้ทำการยืนยันไปแล้ว"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "คุณสามารถตั้งค่าให้อีเมล์นี้เป็นอีเมล์หลักได้"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "นี่คือที่อยู่อีเมล์หลัก"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "อีเมล์ ${email_address} ยืนยันแล้ว. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "โทเคนหมดอายุ: กรุณาขอลิ้งค์จากองค์กรของคุณใหม่"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "โทเคนไม่ถูกต้อง: กรุณาขอคำเชิญจากองค์กรของคุณ"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "โทเคนหมดอายุ: ไม่ใช่โทเคนที่องค์กรเชิญมา"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "คำเชิจากองค์กรไม่ถูกต้อง"
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "ไม่มีคำเชิญเข้าร่วมองค์กรอีกต่อไป"
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "คำเชิจาก '${organization_name}' ถูกปฏิเสธ"
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "คุณได้เป็น ${role} ของ '${organization_name}'"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "โทเคนหมดอายุ: กรุณาขอลิ้งค์สำหรับโปรเจค"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "โทเคนไม่ถูกต้อง: กรุณาขอลิ้งค์ในการใช้งานใหม่"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "โทเคนหมดอายุ: ไม่ใช่โทเคนในการยืนยันอีเมล์"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "ตำเเหน่งการเชิญไม่ถูกต้อง"
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "คำเชิญไม่ถูกต้อง"
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "การเชิญ '${project_name}' ได้ถูกการปฏิเสธ"
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "ตอนนี้คุณได้เป็น ${role} ของโปรเจค '${project_name}' แล้ว"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -348,12 +348,12 @@ msgstr ""
"การรับสมัครผู้ใช้งานใหม่ปิดใช้งานชั่วคราว ดูข้อมูลเพิ่มเติมได้ที่ https://pypi.org/help#admin-"
"intervention"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"ถูกปิดใช้งานชั่วคราว ดูข้อมูลเพิ่มเติมได้ที่ https://pypi.org/help#admin-intervention"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -361,11 +361,11 @@ msgstr ""
"คุณต้องมีอีเมลที่ยืนยันแล้วจึงจะสามารถลงทะเบียนผู้เผยแพร่ที่เชื่อถือได้ที่รอดำเนินการ ดูข้อมูลเพิ่มเติมที่ "
"https://pypi.org/help#openid-connect"
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "คุณไม่สามารถลงทะเบียนผู้เผยแพร่ที่รอดำเนินการมากกว่า 3 รายพร้อมกันได้"
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -374,30 +374,30 @@ msgid ""
"again later."
msgstr "มีการพยายามลงทะเบียนผู้เผยแพร่ที่เชื่อถือได้หลายครั้งเกินไป ลองอีกครั้งในภายหลัง"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "ไม่สามารถลงทะเบียนผู้เผยแพร่ที่เชื่อถือได้"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
"ผู้เผยแพร่ที่เชื่อถือได้รายนี้ได้รับการลงทะเบียนแล้ว โปรดติดต่อผู้ดูแลระบบของ PyPI หากไม่ได้ตั้งใจ"
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "ลงทะเบียนผู้เผยแพร่ใหม่ที่รอดำเนินการเพื่อสร้าง "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "ID ผู้เผยแพร่ไม่ถูกต้อง"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "ลบผู้เผยแพร่ที่เชื่อถือได้สำหรับโครงการแล้ว "
@@ -2069,8 +2069,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2657,11 +2657,42 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/tr/LC_MESSAGES/messages.po b/warehouse/locale/tr/LC_MESSAGES/messages.po
index 958098c593ac..5bfe7d232006 100644
--- a/warehouse/locale/tr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/tr/LC_MESSAGES/messages.po
@@ -183,7 +183,7 @@ msgstr "Kurtarma kodu daha önceden kullanıldı."
msgid "The username isn't valid. Try again."
msgstr "Kullanıcı adı geçerli değil. Tekrar deneyin."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -192,7 +192,7 @@ msgstr ""
"Çok fazla başarısız giriş denemesi oldu. Hesabınız {} süresince kilitlendi. "
"Daha sonra tekrar deneyin."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -201,7 +201,7 @@ msgstr ""
"Bu hesaba, doğrulanmamış çok fazla e-posta eklendi. Gelen kutunuzu kontrol "
"edin ve doğrulama bağlantılarını takip edin. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -212,25 +212,25 @@ msgstr ""
"Gelen kutunuzu kontrol edin ve doğrulama bağlantılarını kontrol edin. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Geçersiz veya süresi dolmuş 2-aşamalı giriş."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Zaten giriş yapılmış"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Başarılı WebAuthn önermesi"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Kurtarma kodu kabul edildi. Bu kod yeniden kullanılamaz."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -238,142 +238,142 @@ msgstr ""
"Yeni kullanıcı kayıtları geçici olarak kapatıldı. Detaylar için https://pypi."
"org/help#admin-intervention sayfasını inceleyin."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Süresi dolmuş belirteç: yeni bir parola sıfırlama bağlantısı isteyin"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Geçersiz belirteç: yeni bir parola sıfırlama bağlantısı isteyin"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Geçersiz belirteç: belirteç verilmedi"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Geçersiz belirteç: bir parola sıfırlama belirteci değil"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Geçersiz belirteç: kullanıcı bulunamadı"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "Geçersiz belirteç: kullanıcı bu belirteç istendikten sonra giriş yaptı"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Geçersiz belirteç: parola bu belirteç istendikten sonra zaten değişti"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Parolanızı sıfırladınız"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Süresi dolmuş belirteç: yeni bir e-posta doğrulama bağlantısı isteyin"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Geçersiz belirteç: yeni bir e-posta doğrulama bağlantısı isteyin"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Geçersiz belirteç: e-posta doğrulama belirteci değil"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "E-posta bulunamadı"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E-posta zaten onaylanmış"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Artık sen bu e-postayı birincil adresin olarak ayarlayabilirsin"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Bu senin birincil adresin"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "E-posta adresin ${email_address} onaylandı. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Süresi dolmuş anahtar: yeni bir davetiye talep edin"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Geçersiz anahtar: yeni bir davetiye talep edin"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Geçersiz anahtar: organizasyon davetiyesi geçersiz"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Organizasyon davetiyesi geçerli değil."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Organizasyon daveti artık mevcut değil."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, fuzzy, python-brace-format
#| msgid "Invitation for '${organization_name}' is declined."
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${project_name}' davetiyesi reddedildi."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${organization_name}' organization."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Artık '${project_name}' projesinde ${role} oldunuz."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "Süresi dolmuş anahtar: yeni bir proje rolü daveti isteyin"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Geçersiz anahtar: yeni bir proje rolü daveti isteyin"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Geçersiz belirteç: iş birliği daveti belirteci değil"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rol daveti geçerli değil."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Görev daveti artık mevcut değil."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}' proje davetiyesi reddedildi."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Artık '${project_name}' projesinde ${role} oldunuz."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -386,13 +386,13 @@ msgstr ""
"Yeni kullanıcı kayıtları geçici olarak kapatıldı. Detaylar için https://pypi."
"org/help#admin-intervention sayfasını inceleyin."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"kapatıldı. Detaylar için https://pypi.org/help#admin-intervention sayfasını "
"inceleyin."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
#, fuzzy
#| msgid ""
#| "You must have a verified email in order to register a pending OpenID "
@@ -405,7 +405,7 @@ msgstr ""
"postanız olmalıdır. Ayrıntılar için https://pypi.org/help#openid-connect'e "
"bakın."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
#, fuzzy
#| msgid ""
#| "You can't register more than 3 pending OpenID Connect providers at once."
@@ -413,7 +413,7 @@ msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Aynı anda 3'ten fazla bekleyen OpenID Connect sağlayıcısını kaydedemezsiniz."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -424,14 +424,14 @@ msgstr ""
"Çok fazla sayıda yetkili yayıncı kaydı denemesi yapıldı. Daha sonra tekrar "
"deneyin."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Onaylı kullanıcı kaydedilemedi"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
#, fuzzy
#| msgid ""
#| "This OpenID Connect provider has already been registered. Please contact "
@@ -443,16 +443,16 @@ msgstr ""
"Bu yetkili yayıncı zaten kayıtlı. Bunun bir hata olduğunu düşünüyorsanız, "
"lütfen PyPI yönetimiyle iletişime geçin."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Onay bekleyen bir yeni yetkili kaydı oluşturuldu. "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Geçersiz Yetkili Kimliği"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Bu proje için onaylı kullanıcı kaldırıldı. "
@@ -2276,8 +2276,8 @@ msgstr "Sıfırlama e-postası gönderildi"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Kayıt olduğunuz e-posta adresine bir e-posta gönderildi."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3052,6 +3052,7 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Bu bağlantının süresi %(n_hours)s saat içinde geçersiz olacak."
msgstr[1] "Bu bağlantının süresi %(n_hours)s saat içinde geçersiz olacak."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
@@ -3059,6 +3060,45 @@ msgstr ""
"Eğer bu isteği siz yapmadıysanız, güvenli bir şekilde bu e-postayı görmezden "
"gelebilirsiniz."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Birisi, muhtemelen siz, PyPI üzerinden %(username)s için parola sıfırlama "
+"isteğinde bulundu."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Hesabınızla ilişkili olan e-posta adresine erişim kaybı"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "%(version)s Sürümü Oluşturulma Tarihi"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/tzm/LC_MESSAGES/messages.po b/warehouse/locale/tzm/LC_MESSAGES/messages.po
index c1e1f2500793..4b171f4df290 100644
--- a/warehouse/locale/tzm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/tzm/LC_MESSAGES/messages.po
@@ -141,21 +141,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -163,185 +163,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ur illi Imayl-a"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Ittusdded Imayl-a"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Wa d Imayl adeslan nnek"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "tettusdded tansa Imayl ${email_address}. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -350,31 +350,31 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Create an account"
msgid "Invalid publisher ID"
msgstr "Sker yan umiḍan"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2067,8 +2067,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2662,11 +2662,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ug/LC_MESSAGES/messages.po b/warehouse/locale/ug/LC_MESSAGES/messages.po
index 8150d93f289e..ee556f3d7b19 100644
--- a/warehouse/locale/ug/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ug/LC_MESSAGES/messages.po
@@ -153,7 +153,7 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr "پارول ئىناۋەتسىز. قايتا سىناڭ."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, fuzzy, python-brace-format
#| msgid ""
#| "There have been too many unsuccessful login attempts. Try again later."
@@ -162,14 +162,14 @@ msgid ""
"out for {}. Please try again later."
msgstr "مۇۋەپپەقىيەتسىز كىرىش بەك كۆپ بولۇپ كەتتى. كېيىن قايتا سىناڭ."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -177,185 +177,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -367,29 +367,29 @@ msgid ""
"again later."
msgstr "مۇۋەپپەقىيەتسىز كىرىش بەك كۆپ بولۇپ كەتتى. كېيىن قايتا سىناڭ."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2013,8 +2013,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2597,11 +2597,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/uk/LC_MESSAGES/messages.po b/warehouse/locale/uk/LC_MESSAGES/messages.po
index 0602f535d15f..5ba7020ff3f9 100644
--- a/warehouse/locale/uk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/uk/LC_MESSAGES/messages.po
@@ -176,7 +176,7 @@ msgstr "Код відновлення вже використано."
msgid "The username isn't valid. Try again."
msgstr "Це імʼя користувача недійсне. Спробуйте знову."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -185,7 +185,7 @@ msgstr ""
"Ви здійснили забагато невдалих спроб увійти. Ви заблоковані на {}. Спробуйте "
"знову пізніше."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -194,7 +194,7 @@ msgstr ""
"Ви додали забагато електронних адрес, не підтвердивши їх. Перевірте свою "
"скриньку та перейдіть за посиланнями підтвердження. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -205,25 +205,25 @@ msgstr ""
"Перевірте свою скриньку та перейдіть за посиланнями підтвердження. (IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Двофакторний вхід недійсний або термін його дії збіг."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Уже аутентифіковано"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Перевірка WebAuthn успішна"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Код відновлення прийнято. Введений код не можна використати повторно."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -231,150 +231,150 @@ msgstr ""
"Реєстрація нових користувачів тимчасово вимкнена. Ознайомтеся з деталями на "
"https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
"Час дії токена завершився: здійсніть запит нового посилання для скидання "
"пароля"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Недійсний токен: здійсніть запит нового посилання для скидання пароля"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Недійсний токен: не вказано токена"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Недійсний токен: не є токеном для скидання пароля"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Недійсний токен: користувача не знайдено"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Недійсний токен: користувач здійснив вхід з моменту запиту цього токена"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "Недійсний токен: пароль уже було змінено з моменту запиту цього токена"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Ви скинули свій пароль"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"Час дії токена збіг: здійсніть запит нового посилання для підтвердження "
"електронної адреси"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Недійсний токен: здійсніть запит нового посилання для скидання пароля"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Недійсний токен: не є токеном для підтвердження електронної адреси"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Електронної адреси не знайдено"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Електронну адресу підтверджено"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Тепер ви можете встановити цю електронну адресу основною"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Це ваша основна адреса"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Електронну адресу ${email_address} підтверджено. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
"Час дії токена завершився: здійсніть запит нового запрошення у організацію"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Недійсний токен: здійсніть запит нового запрошення в організацію"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Недійсний токен: не є токеном запрошення до організації"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Запрошення в організацію недійсне."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Запрошення в організацію вже не існує."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Запрошення до '${organization_name}' відхилене."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Ви тепер ${role} організації '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
"Час дії токена завершився: здійсніть запит нового запрошення на роль у "
"проєкті"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "Недійсний токен: запросіть нове запрошення на роль у проєкті"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Недійсний токен: не є токеном запрошення до співпраці"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Запрошення на роль недійсне."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Запрошення на роль уже не існує."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Запрошення до '${project_name}' відхилене."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Ви тепер ${role} проєкту '${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
"Будь ласка, ознайомтесь із нашими оновленими Умовами "
"надання послуг."
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -387,7 +387,7 @@ msgstr ""
"Реєстрація нових користувачів тимчасово вимкнена. Ознайомтеся з деталями на "
"https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -397,7 +397,7 @@ msgstr ""
"Реєстрація нових користувачів тимчасово вимкнена. Ознайомтеся з деталями на "
"https://pypi.org/help#admin-intervention."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -406,12 +406,12 @@ msgstr ""
"очікуваного довіреного видавця. Перейдіть на https://pypi.org/help#openid-"
"connect для отримання більш детальної інформації."
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
"Вам не можна реєструвати понад 3 очікуваних довірених видавців водночас."
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -421,14 +421,14 @@ msgid ""
msgstr ""
"Було занадто багато спроб реєстрації довірених видавців. Спробуйте пізніше."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "Довіреного видавця не вдалося зареєструвати"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
@@ -436,16 +436,16 @@ msgstr ""
"Цей довірений видавець уже зареєстрований. Якщо це сталося ненавмисно, будь "
"ласка, зв'яжіться з адміністраторами PyPI."
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Нового очікуваного видавця зареєстровано для створення "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Недійсний ідентифікатор видавця ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
#, fuzzy
msgid "Removed trusted publisher for project "
msgstr "Вилучено довіреного видавця для проєкту. "
@@ -2253,9 +2253,13 @@ msgid "Reset email sent"
msgstr "Електронний лист-скидання надіслано"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"Якщо ви вказали дійсне імʼя користувача, то листа було надіслано на вашу "
"зареєстровану електронну адресу."
@@ -3047,12 +3051,53 @@ msgstr[0] "Термін дії цього посилання збіжить за
msgstr[1] "Термін дії цього посилання збіжить за %(n_hours)s години."
msgstr[2] "Термін дії цього посилання збіжить за %(n_hours)s годин."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"Якщо ви не робили цього запиту, то можете безпечно проігнорувати цього листа."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Хтось, можливо ви, скинув пароль від вашого облікового запису «%(username)s» "
+"на PyPI."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+"Втрату доступу до електронних адрес, пов'язаних з вашим обліковим записом"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr "Версію %(version)s створено"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/ur_PK/LC_MESSAGES/messages.po b/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
index da4323497093..8b034d370cfb 100644
--- a/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
@@ -157,7 +157,7 @@ msgstr "ریکاوری کوڈ پہلے استعمال ہو چکا ہے."
msgid "The username isn't valid. Try again."
msgstr "آپ کے صارف نام آپس میں نہیں ملتے۔ دوبارہ کوشش کریں۔"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -166,7 +166,7 @@ msgstr ""
"لاگ ان کرنے کی بہت ساری ناکام کوششیں ہوئی ہیں۔آپ کو {} کے لیے لاک کر دیا گیا "
"ہے۔ براہِ کرم بعد میں دوبارہ کوشش کریں۔"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -175,7 +175,7 @@ msgstr ""
"اس اکاؤنٹ میں بہت زیادہ ای میلز بغیر تصدیق کے شامل کی گئی ہیں۔ براہِ کرم اپنی "
"ان باکس چیک کریں اور تصدیقی لنکس کو فالو کریں۔ (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -186,27 +186,27 @@ msgstr ""
"نہیں کیا گیا۔ براہِ کرم اپنی ان باکس چیک کریں اور تصدیقی لنکس کو فالو کریں۔ "
"(IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
"ٹو فیکٹر پر مشتمل لاگ ان غلط ہے یا پھر وقت زیادہ گزرنے کی وجہ سے اکسپائر ہو "
"چکا ہے۔"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "پہلے ہی توثیق شدہ ہے"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "کامیاب ویب اوتھنٹی کیشن کی اسرشن"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "ریکاوری کا کوڈ درست ہے۔ اس کوڈ کو دوبارہ استعمال نہیں کیا جاسکتا ہے۔"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -214,155 +214,155 @@ msgstr ""
"نئے یوزروں کی رجسٹریشن عارضی طور پر بند کئی گئی ہے۔ براہِ مہربانی https://"
"pypi.org/help#admin-intervention پر جا کر اس کے متعلق معلومات حاصل کریں۔"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "ٹوکن کا وقت ختم ہوگیا ہے: براہ مہربانی نیا پاس ورڈ لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
"غلط ٹوکن: پاس ورڈ کو دوبارہ ترتیب دینے والے ایک نئے لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "غلط ٹوکن: کوئی ٹوکن فراہم نہیں کیا گیا"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "غلط ٹوکن: پاس ورڈ دوبارہ ترتیب دینے والا ٹوکن نہیں"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "ناجائز ٹوکن: نام نہیں ملا"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new organization invitation"
msgstr "ٹوکن کا وقت ختم ہوگیا ہے: براہ مہربانی نیا پاس ورڈ لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new organization invitation"
msgstr ""
"غلط ٹوکن: پاس ورڈ کو دوبارہ ترتیب دینے والے ایک نئے لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a password reset token"
msgid "Invalid token: not an organization invitation token"
msgstr "غلط ٹوکن: پاس ورڈ دوبارہ ترتیب دینے والا ٹوکن نہیں"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
msgstr "ٹوکن کا وقت ختم ہوگیا ہے: براہ مہربانی نیا پاس ورڈ لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr ""
"غلط ٹوکن: پاس ورڈ کو دوبارہ ترتیب دینے والے ایک نئے لنک کی درخواست کریں"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
#| msgid "Invalid token: not a password reset token"
msgid "Invalid token: not a collaboration invitation token"
msgstr "غلط ٹوکن: پاس ورڈ دوبارہ ترتیب دینے والا ٹوکن نہیں"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -375,7 +375,7 @@ msgstr ""
"نئے یوزروں کی رجسٹریشن عارضی طور پر بند کئی گئی ہے۔ براہِ مہربانی https://"
"pypi.org/help#admin-intervention پر جا کر اس کے متعلق معلومات حاصل کریں۔"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -385,17 +385,17 @@ msgstr ""
"نئے یوزروں کی رجسٹریشن عارضی طور پر بند کئی گئی ہے۔ براہِ مہربانی https://"
"pypi.org/help#admin-intervention پر جا کر اس کے متعلق معلومات حاصل کریں۔"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -408,29 +408,29 @@ msgid ""
msgstr ""
"لاگ ان کرنے کی بہت ساری ناکام کوششیں ہوئی ہیں۔ بعد میں دوبارہ کوشش کریں۔"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2159,8 +2159,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2747,11 +2747,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po b/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
index 041fe5cecf07..bdfeb5ec7046 100644
--- a/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
@@ -165,7 +165,7 @@ msgstr "Qayta tiklash kodi ilgari ishlatilgan."
msgid "The username isn't valid. Try again."
msgstr "Foydalanuvchi nomi yaroqsiz. Qayta urinib ko'ring."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -174,7 +174,7 @@ msgstr ""
"Kirish uchun juda koʻp muvaffaqiyatsiz urinishlar boʻldi. Siz {} uchun "
"bloklangansiz. Iltimos keyinroq qayta urinib ko'ring."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -183,7 +183,7 @@ msgstr ""
"Bu hisobga tasdiqlanmagan juda ko'p elektron pochta xabarlari qo'shilgan. "
"Kirish qutisini tekshiring va havolalarni tekshiring. (IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -194,27 +194,27 @@ msgstr ""
"amalga oshirildi. Pochtangizni tekshiring va quydagi havolalarga amal "
"qiling. (IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Noto'g'ri yoki muddati ikki faktorli kirish."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Allaqachon tasdiqlangan"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Muvaffaqiyatli WebAuthn tasdiqlash"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
"Qayta tiklash kodi qabul qilindi. Taqdim etilgan kodni qayta ishlatib "
"bo'lmaydi."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -222,155 +222,155 @@ msgstr ""
"Yangi foydalanuvchilarni ro'yxatga olish vaqtincha o'chirilgan. Tafsilotlar "
"uchun https://pypi.org/help#admin-intervention ga qarang."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Muddati o' tgan token: parolni qayta tiklash havolasini so'rang"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Noto'g'ri belgi: yangi parolni tiklash havolasini so'rang"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Noto'g'ri token: hech qanday token berilmagan"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Noto'g'ri belgi: parolni tiklash belgisi emas"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Xato token: foydalanuvchi mavjud emas"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Noto'g'ri token: foydalanuvchi bu token so'ralganidan beri tizimga kirgan"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
"Yaroqsiz token: token so'ralgandan beri parol allaqachon o'zgartirilgan"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "siz parolingizni qayta tiklagansiz"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
"Muddati tugagan token: elektron pochtani tasdiqlash uchun yangi havolani "
"so'rang"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
"Noto'g'ri belgi: elektron pochtani tasdiqlash uchun yangi havolani so'rang"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Noto'g'ri token: elektron pochta tasdiqlash belgisi emas"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Email topilmadi"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "E -pochta manzili allaqachon tasdiqlangan"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
"Endi siz ushbu elektron pochtani asosiy manzil sifatida belgilashingiz mumkin"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Bu sizning asosiy manzilingiz"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Email adress ${email_address} tasdiqlangan. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Muddati o'tgan token: yangi muassasa taklifi"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new organization invitation"
msgstr "Noto'g'ri belgi: yangi loyiha rolini taklif qilishni so'rang"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
#, fuzzy
#| msgid "Invalid token: not a collaboration invitation token"
msgid "Invalid token: not an organization invitation token"
msgstr "Noto'g'ri token: hamkorlik taklifnomasi emas"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Tashkilot taklifi haqiqiy emas."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Tashkilot taklifi endi mavjud emas."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}' taklifi rad etildi."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Siz hozir “${organization_name}” tashkilotining ${role}isiz."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new project role invite"
msgid "Expired token: request a new project role invitation"
msgstr "Muddati o'tgan token: yangi loyiha rolini taklif qilishni so'rang"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "Noto'g'ri belgi: yangi loyiha rolini taklif qilishni so'rang"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "Noto'g'ri token: hamkorlik taklifnomasi emas"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Rol taklifi haqiqiy emas."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Rol taklifnomasi endi yo'q."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, fuzzy, python-brace-format
#| msgid "Invitation for '${project_name}' is declined."
msgid "Invitation for '${project_name}' is declined."
msgstr "\"$ {Project_name}\" taklifi rad etildi."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Siz hozir \"$ {project_name}\" loyihasining $ {role} a'zosisiz."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -379,23 +379,23 @@ msgstr ""
"Ishonchli chop etish vaqtincha o‘chirib qo‘yilgan. Tafsilotlar uchun https://"
"pypi.org/help#admin-intervention ga qarang."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"faolsizlantirilgan. Tafsilotlar uchun https://pypi.org/help#admin-"
"intervention ga qarang."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -409,29 +409,29 @@ msgstr ""
"Kirishga urinishlar belgilangan miqdordan oshdi. Iltimos, keyinroq urinib "
"ko'ring."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Yaratish kutilayotgan yangi noshir ro‘yxatdan o‘tkazildi "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "Noshir identifikatori (ID) noto‘g‘ri"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2226,8 +2226,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2815,11 +2815,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/vi/LC_MESSAGES/messages.po b/warehouse/locale/vi/LC_MESSAGES/messages.po
index 22f25d65928f..f834a433fd33 100644
--- a/warehouse/locale/vi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/vi/LC_MESSAGES/messages.po
@@ -167,14 +167,14 @@ msgstr "Mã khôi phục đã được dùng."
msgid "The username isn't valid. Try again."
msgstr "Tên người dùng không hợp lệ. Vui lòng thử lại."
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr "Đăng nhập nhiều lần không thành công. Bạn đã bị khóa. Thử lại sau."
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -183,7 +183,7 @@ msgstr ""
"Có quá nhiều địa chỉ emails chưa được xác minh được gắn với tài khoản này. "
"Kiểm tra hộp thư đến của bạn và nhấp vào các đường dẫn kiểm tra. (IP: {ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -194,25 +194,25 @@ msgstr ""
"hoàn thành. Kiểm tra hộp thư đến và truy cập các đường dẫn xác minh .(IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "Không hợp lệ hoặc đăng nhập hai yếu tố hết hạn."
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "Đã được xác thực"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "Xác nhận WebAuthn thành công"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "Mã khôi phục được chấp nhận. Mã này không thể sử dụng lại."
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -220,34 +220,34 @@ msgstr ""
"Đăng ký người dùng mới tạm thời bị vô hiệu hóa. Xem https://pypi.org/"
"help#admin-intervent để biết chi tiết."
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "Mã thông báo đã hết hạn: yêu cầu liên kết đặt lại mật khẩu mới"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "Mã thông báo không hợp lệ: yêu cầu liên kết đặt lại mật khẩu mới"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "Mã thông báo không hợp lệ: không cung cấp mã thông báo"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "Mã thông báo không hợp lệ: không phải là mã thông báo đặt lại mật khẩu"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "Mã thông báo không hợp lệ: không tìm thấy người dùng"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
"Mã thông báo không hợp lệ: người dùng đã đăng nhập từ khi mã thông báo này "
"được yêu cầu"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
@@ -255,116 +255,116 @@ msgstr ""
"Mã thông báo không hợp lệ: mật khẩu đã được thay đổi từ khi mã thông báo này "
"được yêu cầu"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "Bạn đã đặt lại mật khẩu của mình"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "Mã thông báo đã hết hạn: yêu cầu liên kết xác minh email mới"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "Mã thông báo không hợp lệ: yêu cầu liên kết xác minh email mới"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "Mã thông báo không hợp lệ: không phải là mã thông báo xác minh email"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "Không tìm thấy email"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "Email đã được xác thực"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "Bây giờ bạn có thể đặt email này làm địa chỉ chính của bạn"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "Đây là địa chỉ chính của bạn"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "Địa chỉ email ${email_address} đã được xác thực. ${confirm_message}."
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "Mã thông báo đã hết hạn: yêu cầu cung cấp lời mời mới từ tổ chức"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "Mã thông báo không hợp lệ: yêu cầu lời mời mới từ tổ chức"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "Mã thông báo không hợp lệ: không phải mã thông báo của tổ chức"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "Lời mời của tổ chức không hợp lệ."
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "Lời mời tổ chức không còn tồn tại."
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "Lời mời cho '${organization_name}' đã bị từ chối."
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "Bạn hiện là ${role} của tổ chức '${organization_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
#, fuzzy
#| msgid "Expired token: request a new password reset link"
msgid "Expired token: request a new project role invitation"
msgstr "Mã thông báo đã hết hạn: yêu cầu lời mời vai trò dự án mới"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new password reset link"
msgid "Invalid token: request a new project role invitation"
msgstr "Mã thông báo không hợp lệ: yêu cầu liên kết đặt lại mật khẩu mới"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
#, fuzzy
#| msgid "Invalid token: not an email verification token"
msgid "Invalid token: not a collaboration invitation token"
msgstr "Mã thông báo không hợp lệ: không phải là mã thông báo xác minh email"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "Lời mời vai trò không hợp lệ."
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "Lời mời vai trò không còn tồn tại nữa."
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "Lời mời cho '${project_name}' không được chấp thuận."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "Bạn hiện nắm ${role} của dự án '${project_name}'"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -377,7 +377,7 @@ msgstr ""
"Đăng ký người dùng mới tạm thời bị vô hiệu hóa. Xem https://pypi.org/"
"help#admin-intervent để biết chi tiết."
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -387,17 +387,17 @@ msgstr ""
"Đăng ký người dùng mới tạm thời bị vô hiệu hóa. Xem https://pypi.org/"
"help#admin-intervent để biết chi tiết."
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -409,31 +409,31 @@ msgid ""
"again later."
msgstr "Đã có quá nhiều lần thử đăng nhập không thành công. Thử lại sau."
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "Đăng kí một xuất bản mới đang chờ để khởi tạo "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "ID xuất bản không hợp lệ"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "Loại bỏ xuất bản tin cậy khỏi dự án "
@@ -2276,8 +2276,8 @@ msgstr "Đã gửi email để đặt lại mật khẩu"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "Một email đã được gửi đến địa chỉ email đã đăng ký của bạn."
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -3048,12 +3048,53 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "Liên kết này sẽ hết hạn sau %(n_hours)s giờ."
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
"Nếu bạn không thực hiện yêu cầu này, bạn có thể yên tâm bỏ qua email này."
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+"Ai đó, có lẽ là bạn, đã thực hiện yêu cầu đặt lại mật khẩu cho tài khoản "
+"PyPI '%(username)s' của bạn."
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Emails associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "Email liên kết với tài khoản của bạn"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr ""
+"Bản phát hành phiên bản %(version)s đã được tạo"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/wae/LC_MESSAGES/messages.po b/warehouse/locale/wae/LC_MESSAGES/messages.po
index c712e2908aac..55d4eff99006 100644
--- a/warehouse/locale/wae/LC_MESSAGES/messages.po
+++ b/warehouse/locale/wae/LC_MESSAGES/messages.po
@@ -137,21 +137,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -159,185 +159,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -346,29 +346,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1980,8 +1980,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2564,11 +2564,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/yi/LC_MESSAGES/messages.po b/warehouse/locale/yi/LC_MESSAGES/messages.po
index 54953ab8cf05..e00cce49b356 100644
--- a/warehouse/locale/yi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/yi/LC_MESSAGES/messages.po
@@ -139,21 +139,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -161,185 +161,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "דאָס איז דיין ערשטיק אַדרעס"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -348,29 +348,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1988,8 +1988,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2572,11 +2572,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/yue/LC_MESSAGES/messages.po b/warehouse/locale/yue/LC_MESSAGES/messages.po
index 20e1c8825195..02b0ec5dc6ae 100644
--- a/warehouse/locale/yue/LC_MESSAGES/messages.po
+++ b/warehouse/locale/yue/LC_MESSAGES/messages.po
@@ -140,21 +140,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -162,185 +162,185 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr ""
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr ""
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr ""
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -349,29 +349,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -1979,8 +1979,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2562,11 +2562,42 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, python-format
+msgid "Read more about verified emails."
+msgstr ""
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/zgh/LC_MESSAGES/messages.po b/warehouse/locale/zgh/LC_MESSAGES/messages.po
index 762d96d21620..c726e21c23af 100644
--- a/warehouse/locale/zgh/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zgh/LC_MESSAGES/messages.po
@@ -141,21 +141,21 @@ msgstr ""
msgid "The username isn't valid. Try again."
msgstr ""
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
"Check your inbox and follow the verification links. (IP: ${ip})"
msgstr ""
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -163,186 +163,186 @@ msgid ""
"${ip})"
msgstr ""
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr ""
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr ""
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr ""
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr ""
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr ""
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr ""
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr ""
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr ""
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr ""
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr ""
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr ""
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr ""
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr ""
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "ⵓⵔ ⵉⵜⵜⵢⴰⴼⴰ ⵉⵎⴰⵢⵍ"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr ""
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr ""
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "ⵜⴰ ⴷ ⵜⴰⵏⵙⴰ ⵜⴰⴷⵙⵍⴰⵏⵜ ⵏⵏⴽ"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr ""
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr ""
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "ⵛⴽⴽ ⴷⵖⵉ ⴷ ${role} ⴳ ⵓⵙⵏⴼⴰⵕ ${project_name}'."
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr ""
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr ""
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr ""
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr ""
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr ""
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "ⵛⴽⴽ ⴷⵖⵉ ⴷ ${role} ⴳ ⵓⵙⵏⴼⴰⵕ ${project_name}'."
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
msgstr ""
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -351,29 +351,29 @@ msgid ""
"again later."
msgstr ""
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr ""
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr ""
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2062,8 +2062,8 @@ msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:51
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2651,11 +2651,43 @@ msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] ""
msgstr[1] ""
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr ""
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Or browse projects"
+msgid "Read more about verified emails."
+msgstr "ⵏⵖ ⵥⵕ ⵉⵙⵏⴼⴰⵕⵏ"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
index f089f4fd13db..20f1777795e7 100644
--- a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
@@ -205,7 +205,7 @@ msgstr "恢复代码已被使用。"
msgid "The username isn't valid. Try again."
msgstr "用户名无效。请再试一次。"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -213,7 +213,7 @@ msgid ""
msgstr ""
"尝试登录失败次数过多,请稍后重试。你被锁在账户外面的时间已达 {}。请稍后再试。"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -222,7 +222,7 @@ msgstr ""
"本账号下添加了过多的电子邮箱,但都没有进行验证。检查你的收件箱,并遵照指示点"
"击验证链接。(IP: ${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -232,25 +232,25 @@ msgstr ""
"该账户多次要求重置密码,且均未完成。检查你的收件箱,并遵照指示点击验证链接。"
"(IP: ${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "双因素登录无效或过期。"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "已通过身份验证"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "成功的 WebAuthn 断言"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "接受恢复代码。无法再次使用提供的代码。"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
@@ -258,140 +258,140 @@ msgstr ""
"新用户注册暂时被禁用。有关详细信息,请参见 https://pypi.org/help#admin-"
"intervention。"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "令牌已过期:请重新请求新的密码重置链接"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "令牌无效:请再次请求新的密码重置链接"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "令牌无效:未提供令牌"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "令牌无效:请再次请求新的密码重置链接"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "令牌无效:找不到用户"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "令牌无效:自请求此令牌以来,用户已登录"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "令牌无效:自请求此令牌以来,密码已更改"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "你已重置密码"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "令牌已过期:请重新请求新的电子邮件验证链接"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "令牌无效:请重新请求新的电子邮件验证链接"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "无效令牌:不是电子邮件验证令牌"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "未找到电子邮件"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "电子邮件已验证"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "你现在可以将此电子邮件设置为你的主邮件地址"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "这是你的主邮件地址"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "电子邮件地址 ${email_address} 已验证。${confirm_message}。"
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "令牌已过期:请求新的组织邀请"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "令牌无效:请求新的组织邀请"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "无效令牌:不是组织邀请令牌"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "组织邀请无效。"
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "组织邀请已不存在。"
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}'的邀请被拒绝。"
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "你现在是 '${organization_name}' 组织的 ${role}。"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "令牌已过期:请求新的项目角色邀请"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
msgid "Invalid token: request a new project role invitation"
msgstr "令牌无效:请求新的项目角色邀请"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "无效的令牌:不是协作邀请令牌"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "角色邀请无效。"
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "角色邀请已不存在。"
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "'${project_name}'的邀请已无效。"
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
msgstr "你现在的角色是 ${role},所在项目为 '${project_name}'。"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr "请查看已更新的服务条款。"
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
@@ -400,12 +400,12 @@ msgstr ""
"受信任发布暂时被禁用。有关详细信息,请参见 https://pypi.org/help#admin-"
"intervention。"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"被禁用。有关详细信息,请参见 https://pypi.org/help#admin-intervention。"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -413,11 +413,11 @@ msgstr ""
"要注册待定的受信任发布者,你必须有一个已验证的电子邮箱。详见 https://pypi."
"org/help#openid-connect。"
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr "你不能一下子注册超过三个待定的受信任发布者。"
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -426,29 +426,29 @@ msgid ""
"again later."
msgstr "受信任发布者的注册尝试次数过多。请稍后重试。"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr "无法注册该受信任发布者"
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr "该受信任发布者已被注册。如果这不是有意为之,请联系 PyPI 的管理员。"
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
msgid "Registered a new pending publisher to create "
msgstr "注册了新的待定发布者来创建 "
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
msgid "Invalid publisher ID"
msgstr "无效的发布者 ID"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr "删除了项目的受信任发布者 "
@@ -2131,9 +2131,13 @@ msgid "Reset email sent"
msgstr "重置密码的电子邮件已发送"
#: warehouse/templates/accounts/request-password-reset.html:51
+#, fuzzy
+#| msgid ""
+#| "If you submitted a valid username or email address, an email has been "
+#| "sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr ""
"如果你提交了有效的用户名和电子邮件地址,那么一封电子邮件已经被发送到你注册的"
"电子邮件地址。"
@@ -2793,11 +2797,50 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "此链接将在%(n_hours)s个小时后过期。"
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "如果你没有提出此请求,你可以安全地忽略此电子邮件。"
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr "有人(可能是你)为 PyPI 账户 '%(username)s' 提出了密码重置请求。"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+# | msgid "Emails associated with your account"
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "失去了与你的账户关联的电子邮件地址的访问权"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Version %(version)s yanked"
+msgid "Read more about verified emails."
+msgstr "对 版本 %(version)s 进行了 yank 操作"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""
diff --git a/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po b/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
index 5de4956ed8eb..41d3427fad7b 100644
--- a/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
@@ -175,7 +175,7 @@ msgstr "重設碼已重新生成。"
msgid "The username isn't valid. Try again."
msgstr "使用者名稱無效。 請再試一次。"
-#: warehouse/accounts/views.py:118
+#: warehouse/accounts/views.py:119
#, python-brace-format
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
@@ -184,7 +184,7 @@ msgstr ""
"登錄嘗試失敗的次數過多,請稍後再試。你被鎖在賬戶外面的時間已達 {}。請稍後再"
"試。"
-#: warehouse/accounts/views.py:139
+#: warehouse/accounts/views.py:140
#, python-brace-format
msgid ""
"Too many emails have been added to this account without verifying them. "
@@ -193,7 +193,7 @@ msgstr ""
"此帳戶已加入過多未驗證的電郵地址。請檢查收件信箱,然後點按一下驗證連結。(IP: "
"${ip})"
-#: warehouse/accounts/views.py:151
+#: warehouse/accounts/views.py:152
#, python-brace-format
msgid ""
"Too many password resets have been requested for this account without "
@@ -203,168 +203,168 @@ msgstr ""
"此帳戶已加入過多未驗證的電郵地址。請檢查收件信箱,然後點按一下驗證連結。(IP: "
"${ip})"
-#: warehouse/accounts/views.py:398 warehouse/accounts/views.py:467
-#: warehouse/accounts/views.py:469 warehouse/accounts/views.py:498
-#: warehouse/accounts/views.py:500 warehouse/accounts/views.py:606
+#: warehouse/accounts/views.py:399 warehouse/accounts/views.py:468
+#: warehouse/accounts/views.py:470 warehouse/accounts/views.py:499
+#: warehouse/accounts/views.py:501 warehouse/accounts/views.py:607
msgid "Invalid or expired two factor login."
msgstr "兩階段驗證登入失效或過期。"
-#: warehouse/accounts/views.py:461
+#: warehouse/accounts/views.py:462
msgid "Already authenticated"
msgstr "已驗證身份"
-#: warehouse/accounts/views.py:541
+#: warehouse/accounts/views.py:542
msgid "Successful WebAuthn assertion"
msgstr "成功的 WebAuthn 斷言"
-#: warehouse/accounts/views.py:638 warehouse/manage/views/__init__.py:881
+#: warehouse/accounts/views.py:639 warehouse/manage/views/__init__.py:881
msgid "Recovery code accepted. The supplied code cannot be used again."
msgstr "重設碼已接受,提供的重設碼將無法再次使用。"
-#: warehouse/accounts/views.py:730
+#: warehouse/accounts/views.py:731
msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
"暫時不開放新的使用者註冊。詳情請見 https://pypi.org/help#admin-intervention。"
-#: warehouse/accounts/views.py:872
+#: warehouse/accounts/views.py:897
msgid "Expired token: request a new password reset link"
msgstr "密鑰過期:請求新的密碼重設連結"
-#: warehouse/accounts/views.py:874
+#: warehouse/accounts/views.py:899
msgid "Invalid token: request a new password reset link"
msgstr "密鑰無效:請求新的密碼重置連結"
-#: warehouse/accounts/views.py:876 warehouse/accounts/views.py:977
-#: warehouse/accounts/views.py:1081 warehouse/accounts/views.py:1250
+#: warehouse/accounts/views.py:901 warehouse/accounts/views.py:1002
+#: warehouse/accounts/views.py:1106 warehouse/accounts/views.py:1275
msgid "Invalid token: no token supplied"
msgstr "密鑰無效:未提供密鑰"
-#: warehouse/accounts/views.py:880
+#: warehouse/accounts/views.py:905
msgid "Invalid token: not a password reset token"
msgstr "密鑰無效:不是重置密碼的密鑰"
-#: warehouse/accounts/views.py:885
+#: warehouse/accounts/views.py:910
msgid "Invalid token: user not found"
msgstr "密鑰無效:找不到使用者"
-#: warehouse/accounts/views.py:896
+#: warehouse/accounts/views.py:921
msgid "Invalid token: user has logged in since this token was requested"
msgstr "密鑰無效:自密鑰申請後,使用者已經登錄"
-#: warehouse/accounts/views.py:914
+#: warehouse/accounts/views.py:939
msgid ""
"Invalid token: password has already been changed since this token was "
"requested"
msgstr "密鑰無效:自請求密鑰後,密碼已經被更改"
-#: warehouse/accounts/views.py:945
+#: warehouse/accounts/views.py:970
msgid "You have reset your password"
msgstr "您已重置密碼"
-#: warehouse/accounts/views.py:973
+#: warehouse/accounts/views.py:998
msgid "Expired token: request a new email verification link"
msgstr "密鑰過期:請求新的電子郵件驗證連結"
-#: warehouse/accounts/views.py:975
+#: warehouse/accounts/views.py:1000
msgid "Invalid token: request a new email verification link"
msgstr "密鑰無效:請求新的電子郵件驗證連結"
-#: warehouse/accounts/views.py:981
+#: warehouse/accounts/views.py:1006
msgid "Invalid token: not an email verification token"
msgstr "密鑰無效:不是電子郵件驗證密鑰"
-#: warehouse/accounts/views.py:990
+#: warehouse/accounts/views.py:1015
msgid "Email not found"
msgstr "未找到電子郵件"
-#: warehouse/accounts/views.py:993
+#: warehouse/accounts/views.py:1018
msgid "Email already verified"
msgstr "已驗證的電子郵件"
-#: warehouse/accounts/views.py:1011
+#: warehouse/accounts/views.py:1036
msgid "You can now set this email as your primary address"
msgstr "您現在可以將此電子郵件設定為您的主地址"
-#: warehouse/accounts/views.py:1014
+#: warehouse/accounts/views.py:1039
msgid "This is your primary address"
msgstr "這是您的主地址"
-#: warehouse/accounts/views.py:1020
+#: warehouse/accounts/views.py:1045
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
msgstr "電子郵件地址 ${email_address} 已驗證。${confirm_message}。"
-#: warehouse/accounts/views.py:1077
+#: warehouse/accounts/views.py:1102
msgid "Expired token: request a new organization invitation"
msgstr "過期密鑰:請求新的組織邀請"
-#: warehouse/accounts/views.py:1079
+#: warehouse/accounts/views.py:1104
msgid "Invalid token: request a new organization invitation"
msgstr "密鑰無效:請求新的組織邀請"
-#: warehouse/accounts/views.py:1085
+#: warehouse/accounts/views.py:1110
msgid "Invalid token: not an organization invitation token"
msgstr "密鑰無效:不是組織邀請密鑰"
-#: warehouse/accounts/views.py:1089
+#: warehouse/accounts/views.py:1114
msgid "Organization invitation is not valid."
msgstr "組織邀請無效。"
-#: warehouse/accounts/views.py:1098
+#: warehouse/accounts/views.py:1123
msgid "Organization invitation no longer exists."
msgstr "組織邀請已不存在。"
-#: warehouse/accounts/views.py:1150
+#: warehouse/accounts/views.py:1175
#, python-brace-format
msgid "Invitation for '${organization_name}' is declined."
msgstr "'${organization_name}'的邀請被拒絕.。"
-#: warehouse/accounts/views.py:1213
+#: warehouse/accounts/views.py:1238
#, python-brace-format
msgid "You are now ${role} of the '${organization_name}' organization."
msgstr "你現在是 '${organization_name}' 組織的 ${role}。"
-#: warehouse/accounts/views.py:1246
+#: warehouse/accounts/views.py:1271
msgid "Expired token: request a new project role invitation"
msgstr "過期密鑰:請求新專案角色邀請"
-#: warehouse/accounts/views.py:1248
+#: warehouse/accounts/views.py:1273
#, fuzzy
#| msgid "Invalid token: request a new project role invite"
msgid "Invalid token: request a new project role invitation"
msgstr "密鑰無效:請求新的項目角色邀請"
-#: warehouse/accounts/views.py:1254
+#: warehouse/accounts/views.py:1279
msgid "Invalid token: not a collaboration invitation token"
msgstr "密鑰無效:不是協作邀請密鑰"
-#: warehouse/accounts/views.py:1258
+#: warehouse/accounts/views.py:1283
msgid "Role invitation is not valid."
msgstr "身份邀請已過期。"
-#: warehouse/accounts/views.py:1273
+#: warehouse/accounts/views.py:1298
msgid "Role invitation no longer exists."
msgstr "角色邀請不再存在。"
-#: warehouse/accounts/views.py:1305
+#: warehouse/accounts/views.py:1330
#, python-brace-format
msgid "Invitation for '${project_name}' is declined."
msgstr "邀請加入專案 ${project_name} 被拒絕."
-#: warehouse/accounts/views.py:1371
+#: warehouse/accounts/views.py:1396
#, fuzzy, python-brace-format
#| msgid "You are now ${role} of the '${project_name}' project."
msgid "You are now ${role} of the '${project_name}' project."
msgstr "你不是此專案的擁有者。"
-#: warehouse/accounts/views.py:1451
+#: warehouse/accounts/views.py:1476
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-#: warehouse/accounts/views.py:1663 warehouse/accounts/views.py:1905
+#: warehouse/accounts/views.py:1688 warehouse/accounts/views.py:1930
#: warehouse/manage/views/__init__.py:1419
#, fuzzy
#| msgid ""
@@ -376,7 +376,7 @@ msgid ""
msgstr ""
"暫時不開放新的使用者註冊。詳情請見 https://pypi.org/help#admin-intervention。"
-#: warehouse/accounts/views.py:1684
+#: warehouse/accounts/views.py:1709
#, fuzzy
#| msgid ""
#| "New user registration temporarily disabled. See https://pypi.org/"
@@ -385,7 +385,7 @@ msgid "disabled. See https://pypi.org/help#admin-intervention for details."
msgstr ""
"暫時不開放新的使用者註冊。詳情請見 https://pypi.org/help#admin-intervention。"
-#: warehouse/accounts/views.py:1700
+#: warehouse/accounts/views.py:1725
msgid ""
"You must have a verified email in order to register a pending trusted "
"publisher. See https://pypi.org/help#openid-connect for details."
@@ -393,11 +393,11 @@ msgstr ""
"你必須有一個經過驗證的電子郵件才能成為一個經過認證的出版者。詳情請查看 "
"https://pypi.org/help#openid-connect。"
-#: warehouse/accounts/views.py:1713
+#: warehouse/accounts/views.py:1738
msgid "You can't register more than 3 pending trusted publishers at once."
msgstr ""
-#: warehouse/accounts/views.py:1728 warehouse/manage/views/__init__.py:1600
+#: warehouse/accounts/views.py:1753 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
#: warehouse/manage/views/__init__.py:1829
#: warehouse/manage/views/__init__.py:1941
@@ -409,33 +409,33 @@ msgid ""
"again later."
msgstr "登錄嘗試失敗的次數過多,請稍後再試。"
-#: warehouse/accounts/views.py:1738 warehouse/manage/views/__init__.py:1613
+#: warehouse/accounts/views.py:1763 warehouse/manage/views/__init__.py:1613
#: warehouse/manage/views/__init__.py:1728
#: warehouse/manage/views/__init__.py:1842
#: warehouse/manage/views/__init__.py:1954
msgid "The trusted publisher could not be registered"
msgstr ""
-#: warehouse/accounts/views.py:1753
+#: warehouse/accounts/views.py:1778
msgid ""
"This trusted publisher has already been registered. Please contact PyPI's "
"admins if this wasn't intentional."
msgstr ""
-#: warehouse/accounts/views.py:1780
+#: warehouse/accounts/views.py:1805
#, fuzzy
#| msgid "Manage this project"
msgid "Registered a new pending publisher to create "
msgstr "管理此專案"
-#: warehouse/accounts/views.py:1918 warehouse/accounts/views.py:1931
-#: warehouse/accounts/views.py:1938
+#: warehouse/accounts/views.py:1943 warehouse/accounts/views.py:1956
+#: warehouse/accounts/views.py:1963
#, fuzzy
#| msgid "Manage version"
msgid "Invalid publisher ID"
msgstr "管理版本"
-#: warehouse/accounts/views.py:1945
+#: warehouse/accounts/views.py:1970
msgid "Removed trusted publisher for project "
msgstr ""
@@ -2236,8 +2236,8 @@ msgstr "重置電子郵件已發送"
#, fuzzy
#| msgid "An email has been sent to your registered email address."
msgid ""
-"If you submitted a valid username or email address, an email has been sent "
-"to your registered email address."
+"If you submitted a valid username or verified email address, an email has "
+"been sent to your registered email address."
msgstr "已向您傳送一封電子郵件到您註冊的電子郵件地址。"
#: warehouse/templates/accounts/request-password-reset.html:52
@@ -2972,11 +2972,49 @@ msgid "This link will expire in %(n_hours)s hour."
msgid_plural "This link will expire in %(n_hours)s hours."
msgstr[0] "此連結會在%(n_hours)s小時後失效。"
+#: warehouse/templates/email/password-reset-unverified/body.html:33
#: warehouse/templates/email/password-reset/body.html:24
#: warehouse/templates/email/verify-email/body.html:24
msgid "If you did not make this request, you can safely ignore this email."
msgstr "如果你沒有提出過這項請求,請忽略此電郵。"
+#: warehouse/templates/email/password-reset-unverified/body.html:19
+#, fuzzy
+#| msgid ""
+#| "Someone, perhaps you, has made a password reset request for your PyPI "
+#| "account '%(username)s'."
+msgid ""
+"Someone, perhaps you, has made a password reset request for a PyPI account "
+"associated with this email address."
+msgstr "有人(可能為你自己)正請求重置你的PyPI帳戶「%(username)s」的密碼。"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:22
+msgid ""
+"However, the email used to make this request is not verified. Your email "
+"address must be verified before you can use it to reset your password."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:25
+#, fuzzy
+#| msgid "Lost access to the email address associated with your account"
+msgid ""
+"If you have another verified email address associated with your PyPI "
+"account, try that instead."
+msgstr "無法存取與您的帳戶關聯的電子郵件地址"
+
+#: warehouse/templates/email/password-reset-unverified/body.html:28
+#, python-format
+msgid ""
+"If you cannot use another verified email, follow account recovery steps for your PyPI account."
+msgstr ""
+
+#: warehouse/templates/email/password-reset-unverified/body.html:31
+#, fuzzy, python-format
+#| msgid "Release version %(version)s created"
+msgid "Read more about verified emails."
+msgstr " 釋出版本 %(version)s 已建立"
+
#: warehouse/templates/email/primary-email-change/body.html:18
#, python-format
msgid ""