diff --git a/warehouse/locale/am/LC_MESSAGES/messages.po b/warehouse/locale/am/LC_MESSAGES/messages.po
index 9813807ae382..b263221fff0d 100644
--- a/warehouse/locale/am/LC_MESSAGES/messages.po
+++ b/warehouse/locale/am/LC_MESSAGES/messages.po
@@ -416,7 +416,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -687,45 +687,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -768,54 +768,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6258,7 +6276,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ang/LC_MESSAGES/messages.po b/warehouse/locale/ang/LC_MESSAGES/messages.po
index f0f4cc454122..6491d6386fca 100644
--- a/warehouse/locale/ang/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ang/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ar/LC_MESSAGES/messages.po b/warehouse/locale/ar/LC_MESSAGES/messages.po
index c30063fb7222..00bb4ad6b681 100644
--- a/warehouse/locale/ar/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ar/LC_MESSAGES/messages.po
@@ -459,7 +459,7 @@ msgstr "لقد قمت بالفعل بتقديم طلب لهذا الاسم. اخ
msgid "Select project"
msgstr "اختر مشروع"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "حدد اسم المشروع"
@@ -756,53 +756,53 @@ msgstr "لا يمكن إعادة إرسال دعوة المنظمة."
msgid "Expired invitation for '${username}' deleted."
msgstr "دعوة '${project_name}' تم رفضها."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid repository name"
msgid "Invalid project name"
msgstr "اسم المستودع غير صالح"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project already exists."
msgstr "اسم المشروع هذا قيد الاستخدام. اختر اسم مشروعٍ آخر."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project name isn't allowed"
msgstr "اسم المشروع هذا قيد الاستخدام. اختر اسم مشروعٍ آخر."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "اسم المشروع هذا مشابه جدا لاسم مشروع موجود"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -857,54 +857,72 @@ msgstr "تسجيل مستخدم جديد"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "اسم المستودع غير صالح"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7079,7 +7097,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/be/LC_MESSAGES/messages.po b/warehouse/locale/be/LC_MESSAGES/messages.po
index ce11cced6796..1f3af1b597b8 100644
--- a/warehouse/locale/be/LC_MESSAGES/messages.po
+++ b/warehouse/locale/be/LC_MESSAGES/messages.po
@@ -443,7 +443,7 @@ msgstr ""
msgid "Select project"
msgstr "Выбраць праект"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Удакладніце назву праекта"
@@ -720,45 +720,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -803,54 +803,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6303,7 +6321,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/bn/LC_MESSAGES/messages.po b/warehouse/locale/bn/LC_MESSAGES/messages.po
index 81c27baf5617..6085ad950bb1 100644
--- a/warehouse/locale/bn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/bn/LC_MESSAGES/messages.po
@@ -505,7 +505,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -839,21 +839,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid Recovery Code."
msgid "Invalid project name"
msgstr "অবৈধ পুনরুদ্ধার কোড।"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -863,7 +863,7 @@ msgstr ""
"এই ব্যবহারকারীর নামটি ইতিমধ্যে অন্য অ্যাকাউন্ট দ্বারা ব্যবহৃত হচ্ছে। একটি পৃথক নাম "
"বাছুন।"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -873,25 +873,25 @@ msgstr ""
"এই ব্যবহারকারীর নামটি ইতিমধ্যে অন্য অ্যাকাউন্ট দ্বারা ব্যবহৃত হচ্ছে। একটি পৃথক নাম "
"বাছুন।"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid Recovery Code."
msgid "Specify an environment name"
@@ -942,56 +942,74 @@ msgstr "50 টিরও কম অক্ষরসহ একটি ব্যব
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid Recovery Code."
msgid "Invalid repository name"
msgstr "অবৈধ পুনরুদ্ধার কোড।"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6539,7 +6557,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/brx/LC_MESSAGES/messages.po b/warehouse/locale/brx/LC_MESSAGES/messages.po
index 27434aeb87c6..b659e1316f26 100644
--- a/warehouse/locale/brx/LC_MESSAGES/messages.po
+++ b/warehouse/locale/brx/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ca/LC_MESSAGES/messages.po b/warehouse/locale/ca/LC_MESSAGES/messages.po
index d7ee6dde06e2..11e59b02cab3 100644
--- a/warehouse/locale/ca/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ca/LC_MESSAGES/messages.po
@@ -513,7 +513,7 @@ msgstr "Un altre compte ja utilitza aquest nom d’usuari. Trieu-ne un altre."
msgid "Select project"
msgstr "Suprimeix el projecte"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Especifiqueu el nom del projecte"
@@ -851,21 +851,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr "S’ha rebutjat la invitació a «${project_name}»."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid repository name"
msgid "Invalid project name"
msgstr "El nom del dipòsit no és vàlid"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -873,7 +873,7 @@ msgstr ""
msgid "This project already exists."
msgstr "Un altre compte ja utilitza aquest nom d’usuari. Trieu-ne un altre."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -881,25 +881,25 @@ msgstr "Un altre compte ja utilitza aquest nom d’usuari. Trieu-ne un altre."
msgid "This project name isn't allowed"
msgstr "Un altre compte ja utilitza aquest nom d’usuari. Trieu-ne un altre."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -952,54 +952,72 @@ msgstr "Gestiona «%(project_name)s»"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Especifiqueu el nom del dipòsit"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "El nom del dipòsit no és vàlid"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7130,7 +7148,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ckb/LC_MESSAGES/messages.po b/warehouse/locale/ckb/LC_MESSAGES/messages.po
index 711bee355b6e..7525f5c6644f 100644
--- a/warehouse/locale/ckb/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ckb/LC_MESSAGES/messages.po
@@ -463,7 +463,7 @@ msgstr ""
msgid "Select project"
msgstr "پرۆژە هەڵبژێرە"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "ناوی پڕۆژەکە دیاری بکە"
@@ -814,55 +814,55 @@ msgstr "بانگهێشتی ڕێکخراو چیتر بوونی نییە."
msgid "Expired invitation for '${username}' deleted."
msgstr "بانگهێشتنامە بۆ '${project_name}' ڕەتکراوەتەوە."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid repository name"
msgid "Invalid project name"
msgstr "ناوی کۆگاکە نادروستە"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project already exists."
msgstr "ئەم ناوی پڕۆژەیە پێشتر بەکارهاتووە. ناوی پڕۆژەیەکی جیاواز هەڵبژێرە."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project name isn't allowed"
msgstr "ئەم ناوی پڕۆژەیە پێشتر بەکارهاتووە. ناوی پڕۆژەیەکی جیاواز هەڵبژێرە."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "دابینکەر دەبێت بە ناسنامە دیاری بکرێت"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -920,60 +920,78 @@ msgstr "ناوی ئەکاونتی ڕێکخراوێک هەڵبژێرە کە ٥٠
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "خاوەنی کۆگای GitHub دیاری بکە (ناوی بەکارهێنەر یان ڕێکخراو)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "ناوی کۆگاکە دیاری بکە"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "ناوی کۆگاکە نادروستە"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "ناوی پەڕگەی وەرکفڵۆ دیاری بکە"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "بەکارهێنەر یان ڕێکخراوی GitHub نەناسراو."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub ئەم کردارەی بە ڕێژەی سنووردار کردووە. چەند خولەکێکی تر دووبارە "
"هەوڵبدەرەوە."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "هەڵەیەکی چاوەڕواننەکراو لە GitHub. دووبارە هەوڵبدەرەوە."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
#, fuzzy
#| msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"کاتبەسەرچوونی چاوەڕواننەکراو لە GitHub. چەند خولەکێکی تر دووبارە هەوڵبدەرەوە."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"کاتبەسەرچوونی چاوەڕواننەکراو لە GitHub. چەند خولەکێکی تر دووبارە هەوڵبدەرەوە."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "ناوی بەکارهێنەر یان ڕێکخراوی GitHub نادروستە."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "ناوی وەرکفڵۆ دەبێت بە .yml یان .yaml کۆتایی بێت"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "ناوی پەڕگەی وەرکفڵۆ دەبێت تەنها ناوی پەڕگە بێت، بەبێ بەڕێوەبەرایەتی"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7240,7 +7258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/cs/LC_MESSAGES/messages.po b/warehouse/locale/cs/LC_MESSAGES/messages.po
index 25876a80f7b1..fb28a3bc75ce 100644
--- a/warehouse/locale/cs/LC_MESSAGES/messages.po
+++ b/warehouse/locale/cs/LC_MESSAGES/messages.po
@@ -476,7 +476,7 @@ msgstr ""
msgid "Select project"
msgstr "Vybrat projekt"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Zvolte název projektu"
@@ -837,51 +837,51 @@ msgstr "Pozvánka do organizace už neexistuje."
msgid "Expired invitation for '${username}' deleted."
msgstr "Pozvánka pro '${project_name}' byla odmítnuta."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Neplatné jméno projektu"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Tento projekt nemá žádná vydání"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Tento projekt nemá žádná vydání"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "Tento projekt nemá žádná vydání"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -934,54 +934,72 @@ msgstr "Spravovat %(project_name)s"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Neplatné jméno repozitáře"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7283,7 +7301,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/da/LC_MESSAGES/messages.po b/warehouse/locale/da/LC_MESSAGES/messages.po
index 50d434e106ae..f259288d489d 100644
--- a/warehouse/locale/da/LC_MESSAGES/messages.po
+++ b/warehouse/locale/da/LC_MESSAGES/messages.po
@@ -489,7 +489,7 @@ msgstr ""
msgid "Select project"
msgstr "Søg projekter"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Search projects"
@@ -845,21 +845,21 @@ msgstr "Rolleinvitationen findes ikke længere."
msgid "Expired invitation for '${username}' deleted."
msgstr "Invitationen til '${project_name}' er blevet afvist."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Ugyldig gendannelseskode."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -868,7 +868,7 @@ msgid "This project already exists."
msgstr ""
"Dette brugernavn bruges allerede af en anden konto. Vælg et andet brugernavn."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -877,25 +877,25 @@ msgid "This project name isn't allowed"
msgstr ""
"Dette brugernavn bruges allerede af en anden konto. Vælg et andet brugernavn."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Search projects"
msgid "Specify an environment name"
@@ -948,56 +948,74 @@ msgstr "Rolleinvitationen er ikke gyldig."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Ugyldig gendannelseskode."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6720,7 +6738,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/de/LC_MESSAGES/messages.mo b/warehouse/locale/de/LC_MESSAGES/messages.mo
index 4351b49e3cb4..eb0f5ea4e567 100644
Binary files a/warehouse/locale/de/LC_MESSAGES/messages.mo and b/warehouse/locale/de/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/de/LC_MESSAGES/messages.po b/warehouse/locale/de/LC_MESSAGES/messages.po
index 4367f793a80a..0387966ca97b 100644
--- a/warehouse/locale/de/LC_MESSAGES/messages.po
+++ b/warehouse/locale/de/LC_MESSAGES/messages.po
@@ -35,8 +35,8 @@ msgstr ""
"Project-Id-Version: Warehouse VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-04-06 17:52-0500\n"
-"PO-Revision-Date: 2025-02-14 10:13+0000\n"
-"Last-Translator: Nikita Karamov \n"
+"PO-Revision-Date: 2025-03-02 16:19+0000\n"
+"Last-Translator: Carsten Gerlach \n"
"Language-Team: German \n"
"Language: de\n"
@@ -44,7 +44,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.10-rc\n"
+"X-Generator: Weblate 5.10.3-dev\n"
"Generated-By: Babel 2.8.0\n"
#: warehouse/views.py:158
@@ -386,6 +386,8 @@ msgstr "Sie sind nun '${role}' vom Projekt '${project_name}'."
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
+"Bitte lesen Sie unsere aktualisierten Nutzungsbedingungen."
#: warehouse/accounts/views.py:1648 warehouse/accounts/views.py:1890
#: warehouse/manage/views/__init__.py:1419
@@ -498,7 +500,7 @@ msgstr ""
msgid "Select project"
msgstr "Projekt auswählen"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Projektname angeben"
@@ -819,12 +821,12 @@ msgid "Expired invitation for '${username}' deleted."
msgstr "Abgelaufene Einladung für '${username}' gelöscht."
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Ungültiger Projekt-Name"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings hier, um einen Vertrauenswürdigen Herausgeber zu erstellen."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr "Dieses Projekt existiert bereits."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Dieser Projekt-Name ist nicht erlaubt"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "Dieser Projektname ist einem bestehenden Projekt zu ähnlich"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Geben Sie eine Herausgeber-ID an"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "Anbieter muss durch ID angegeben werden"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -922,39 +924,39 @@ msgstr "Wählen Sie den Namen des Organisationskontos aus"
msgid "ActiveState actor not found"
msgstr "Aktiver Zustands-Akteur nicht gefunden."
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Gib den Besitzer des GitHub-Repositorys an (Benutzername oder Organisation)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Repository-Name angeben"
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Ungültiger Repository-Name"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Dateiname des Workflows angeben"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Unbekannter GitHub-Benutzer oder Organisation."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub verfügt über eine Ratenbeschränkung für diese Aktion. Versuche es in "
"ein paar Minuten noch einmal."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Unerwarteter Fehler von GitHub. Versuche es noch einmal."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
#, fuzzy
#| msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
@@ -962,25 +964,43 @@ msgstr ""
"Unerwartete Zeitüberschreitung von GitHub. Versuche es in ein paar Minuten "
"erneut."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"Unerwartete Zeitüberschreitung von GitHub. Versuche es in ein paar Minuten "
"erneut."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Ungültiger GitHub-Benutzer- oder Organisationsname."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Der Name des Workflows muss mit .yml oder .yaml enden"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"Der Dateiname des Workflows darf nur ein Dateiname sein, ohne Verzeichnisse"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -1042,16 +1062,12 @@ msgid "Error while validating hashed password, disregard on development"
msgstr ""
#: warehouse/static/js/warehouse/controllers/password_match_controller.js:32
-#, fuzzy
-#| msgid "Password"
msgid "Passwords match"
-msgstr "Passwort"
+msgstr "Die Passwörter stimmen überein"
#: warehouse/static/js/warehouse/controllers/password_match_controller.js:36
-#, fuzzy
-#| msgid "Your passwords don't match. Try again."
msgid "Passwords do not match"
-msgstr "Die Passwörter stimmen nicht überein. Bitte erneut versuchen."
+msgstr "Die Passwörter stimmen nicht überein"
#: warehouse/static/js/warehouse/controllers/password_strength_gauge_controller.js:27
#: warehouse/templates/base.html:30
@@ -2020,10 +2036,9 @@ msgstr "Beitrittsdatum"
#: warehouse/templates/accounts/profile.html:51
#: warehouse/templates/organizations/profile.html:38
-#, fuzzy, python-format
-#| msgid "Joined on %(start_date)s"
+#, python-format
msgid "Joined %(start_date)s"
-msgstr "Beigetreten am %(start_date)s"
+msgstr "Beigetreten %(start_date)s"
#: warehouse/templates/accounts/profile.html:69
#: warehouse/templates/organizations/profile.html:51
@@ -4107,10 +4122,8 @@ msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
#: warehouse/templates/manage/account.html:462
-#, fuzzy
-#| msgid "Old password"
msgid "Update password"
-msgstr "Altes Passwort"
+msgstr "Passwort aktualisieren"
#: warehouse/templates/manage/account.html:472
#: warehouse/templates/manage/project/settings.html:43
@@ -4412,10 +4425,8 @@ msgstr "Zwei-Faktor-Authentifizierung entfernt"
#: warehouse/templates/manage/account.html:668
#: warehouse/templates/manage/unverified-account.html:387
-#, fuzzy
-#| msgid "Recovery codes already generated"
msgid "Recovery codes generated"
-msgstr "Wiederherstellungscodes wurden bereits generiert"
+msgstr "Wiederherstellungscodes wurden generiert"
#: warehouse/templates/manage/account.html:672
#: warehouse/templates/manage/unverified-account.html:391
@@ -4753,15 +4764,13 @@ msgstr "Zwei-Faktor-Verfahren"
#: warehouse/templates/manage/manage_base.html:63
msgid "To remove this 2FA method, you must first add another method."
msgstr ""
-"Um diese 2FA Methode zu entfernen, müssen Sie zuerst eine andere Methode "
+"Um diese 2FA-Methode zu entfernen, müssen Sie zuerst eine andere Methode "
"hinzufügen."
#: warehouse/templates/manage/manage_base.html:76
#: warehouse/templates/manage/manage_base.html:96
-#, fuzzy
-#| msgid "Cannot remove yourself as owner"
msgid "Cannot remove last 2FA method"
-msgstr "Sie können sich als Besitzer nicht selbst entfernen"
+msgstr "Letzte 2FA-Methode kann nicht entfernt werden"
#: warehouse/templates/manage/manage_base.html:77
#: warehouse/templates/manage/manage_base.html:80
@@ -4962,10 +4971,8 @@ msgid "Enter your password to continue."
msgstr "Zum Fortfahren Passwort eingeben."
#: warehouse/templates/manage/manage_base.html:488
-#, fuzzy
-#| msgid "Username"
msgid "Trusted Publisher Management"
-msgstr "Benutzername"
+msgstr "Verwaltung vertrauenswürdiger Herausgeber"
#: warehouse/templates/manage/manage_base.html:493
msgid ""
@@ -4987,16 +4994,13 @@ msgstr ""
"Passwörter verwenden zu müssen."
#: warehouse/templates/manage/manage_base.html:508
-#, fuzzy, python-format
-#| msgid ""
-#| "To regain access to your account, reset your "
-#| "password on PyPI."
+#, python-format
msgid ""
"You can read more about trusted publishers and how to use them here."
msgstr ""
-"Sie können wieder auf Ihr Konto zugreifen, wenn Sie das Passwort zurücksetzen."
+"Weitere Informationen über vertrauenswürdige Herausgeber und deren "
+"Verwendung finden Sie hier."
#: warehouse/templates/manage/manage_base.html:546
#: warehouse/templates/manage/manage_base.html:555
@@ -5029,10 +5033,8 @@ msgid "Removed by:"
msgstr "Entfernt von:"
#: warehouse/templates/manage/manage_base.html:586
-#, fuzzy
-#| msgid "Changed by:"
msgid "Submitted by:"
-msgstr "Geändert von:"
+msgstr "Eingereicht von:"
#: warehouse/templates/manage/manage_base.html:589
#: warehouse/templates/manage/project/history.html:247
@@ -5250,10 +5252,8 @@ msgstr "Zum Beispiel"
#: warehouse/templates/manage/organization/settings.html:48
#: warehouse/templates/manage/organizations.html:216
-#, fuzzy
-#| msgid "Project description"
msgid "Organization display name"
-msgstr "Projekt-Beschreibung"
+msgstr "Anzeigename der Organisation"
#: warehouse/templates/manage/organization/settings.html:55
#: warehouse/templates/manage/organizations.html:222
@@ -5419,32 +5419,25 @@ msgstr ""
#: warehouse/templates/manage/account/publishing.html:27
#: warehouse/templates/manage/project/publishing.html:33
-#, fuzzy, python-format
-#| msgid ""
-#| "To regain access to your account, reset your "
-#| "password on PyPI."
+#, python-format
msgid ""
"Read more about GitHub Actions' OpenID Connect support here."
msgstr ""
-"Sie können wieder auf Ihr Konto zugreifen, wenn Sie das Passwort zurücksetzen."
+"Lesen Sie hier mehr über die OpenID-Connect-"
+"Unterstützung von GitHub Actions."
#: warehouse/templates/manage/account/publishing.html:38
#: warehouse/templates/manage/account/publishing.html:157
#: warehouse/templates/manage/account/publishing.html:259
#: warehouse/templates/manage/account/publishing.html:330
-#, fuzzy
-#| msgid "Project Name"
msgid "PyPI Project Name"
-msgstr "Projektname"
+msgstr "PyPI-Projektname"
#: warehouse/templates/manage/account/publishing.html:43
#: warehouse/templates/manage/account/publishing.html:162
#: warehouse/templates/manage/account/publishing.html:264
#: warehouse/templates/manage/account/publishing.html:336
-#, fuzzy
-#| msgid "Project name"
msgid "project name"
msgstr "Projektname"
@@ -5459,8 +5452,6 @@ msgstr ""
#: warehouse/templates/manage/account/publishing.html:58
#: warehouse/templates/manage/project/publishing.html:49
-#, fuzzy
-#| msgid "Owner"
msgid "owner"
msgstr "Besitzer"
@@ -5469,7 +5460,7 @@ msgstr "Besitzer"
msgid ""
"The GitHub organization name or GitHub username that owns the repository"
msgstr ""
-"Der GitHub Organisationsname oder GitHub Benutzername, der das Repository "
+"Der GitHub-Organisationsname oder GitHub-Benutzername, der das Repositorium "
"besitzt"
#: warehouse/templates/manage/account/publishing.html:68
@@ -5563,16 +5554,13 @@ msgstr "Hinzufügen"
#: warehouse/templates/manage/account/publishing.html:146
#: warehouse/templates/manage/project/publishing.html:138
-#, fuzzy, python-format
-#| msgid ""
-#| "To regain access to your account, reset your "
-#| "password on PyPI."
+#, python-format
msgid ""
"Read more about GitLab CI/CD OpenID Connect support here."
msgstr ""
-"Sie können wieder auf Ihr Konto zugreifen, wenn Sie das Passwort zurücksetzen."
+"Lesen Sie hier mehr über die Unterstützung von "
+"GitLab CI/CD OpenID Connect."
#: warehouse/templates/manage/account/publishing.html:172
#: warehouse/templates/manage/project/publishing.html:149
@@ -5680,21 +5668,16 @@ msgstr ""
#: warehouse/templates/manage/account/publishing.html:248
#: warehouse/templates/manage/project/publishing.html:226
-#, fuzzy, python-format
-#| msgid ""
-#| "To regain access to your account, reset your "
-#| "password on PyPI."
+#, python-format
msgid ""
"Read more about Google's OpenID Connect support here"
"a>."
msgstr ""
-"Sie können wieder auf Ihr Konto zugreifen, wenn Sie das Passwort zurücksetzen."
+"Lesen Sie hier mehr über die Unterstützung von "
+"OpenID Connect durch Google."
#: warehouse/templates/manage/account/publishing.html:279
#: warehouse/templates/manage/project/publishing.html:242
-#, fuzzy
-#| msgid "Email"
msgid "email"
msgstr "E-Mail"
@@ -5707,17 +5690,13 @@ msgstr ""
#: warehouse/templates/manage/account/publishing.html:289
#: warehouse/templates/manage/project/publishing.html:252
-#, fuzzy
-#| msgid "Project:"
msgid "Subject"
-msgstr "Projekt:"
+msgstr "Betreff"
#: warehouse/templates/manage/account/publishing.html:297
#: warehouse/templates/manage/project/publishing.html:260
-#, fuzzy
-#| msgid "Project:"
msgid "subject"
-msgstr "Projekt:"
+msgstr "Betreff"
#: warehouse/templates/manage/account/publishing.html:305
#, python-format
@@ -5733,16 +5712,13 @@ msgstr ""
#: warehouse/templates/manage/account/publishing.html:319
#: warehouse/templates/manage/project/publishing.html:283
-#, fuzzy, python-format
-#| msgid ""
-#| "To regain access to your account, reset your "
-#| "password on PyPI."
+#, python-format
msgid ""
"Read more about ActiveState's OpenID Connect support here."
msgstr ""
-"Sie können wieder auf Ihr Konto zugreifen, wenn Sie das Passwort zurücksetzen."
+"Lesen Sie hier mehr über die OpenID-Connect-"
+"Unterstützung von ActiveState."
#: warehouse/templates/manage/account/publishing.html:352
#: warehouse/templates/manage/project/publishing.html:294
@@ -5812,10 +5788,8 @@ msgstr ""
"Artefakts auslösen wird."
#: warehouse/templates/manage/account/publishing.html:426
-#, fuzzy
-#| msgid "Manage version"
msgid "Manage publishers"
-msgstr "Version verwalten"
+msgstr "Herausgeber verwalten"
#: warehouse/templates/manage/account/publishing.html:436
msgid "Project"
@@ -5855,10 +5829,8 @@ msgstr ""
"Projekte, die noch nicht existieren, können unten hinzugefügt werden."
#: warehouse/templates/manage/account/publishing.html:492
-#, fuzzy
-#| msgid "Manage this project"
msgid "Add a new pending publisher"
-msgstr "Dieses Projekt verwalten"
+msgstr "Einen neuen anhängigen Herausgeber hinzufügen"
#: warehouse/templates/manage/account/publishing.html:495
msgid "You can use this page to register \"pending\" trusted publishers."
@@ -5890,15 +5862,20 @@ msgid ""
"strong> reserve that name. Until the project is created, any other user may "
"create it, including via their own \"pending\" publisher."
msgstr ""
+"Das Konfigurieren eines \"anhängigen\" Herausgebers für einen Projektnamen "
+"reserviert nicht diesen Namen. Bis das Projekt erstellt "
+"ist, kann jeder andere Benutzer es erstellen, auch über seinen eigenen "
+"\"anhängigen\" Herausgeber."
#: warehouse/templates/manage/account/publishing.html:549
#: warehouse/templates/manage/project/publishing.html:432
-#, fuzzy, python-format
-#| msgid "You have not enabled two factor authentication on your account."
+#, python-format
msgid ""
"You must first enable two-factor authentication on "
"your account before adding a new publisher."
-msgstr "Zwei-Faktor-Authentifizierung ist für dieses Konto nicht aktiviert."
+msgstr ""
+"Sie müssen zunächst die Zwei-Faktor-Authentifizierung"
+"a> in Ihrem Konto aktivieren, bevor Sie einen neuen Herausgeber hinzufügen."
#: warehouse/templates/manage/account/recovery_codes-burn.html:35
msgid ""
@@ -5972,9 +5949,8 @@ msgstr "Speichern Sie Ihre Wiederherstellungscodes"
# | msgid "Download files"
#: warehouse/templates/manage/account/recovery_codes-provision.html:63
-#, fuzzy
msgid "Download as file"
-msgstr "Dateien zum Herunterladen"
+msgstr "Als Datei herunterladen"
#: warehouse/templates/manage/account/recovery_codes-provision.html:64
#: warehouse/templates/manage/organization/roles.html:193
@@ -5998,10 +5974,8 @@ msgstr ""
"fortfahren."
#: warehouse/templates/manage/account/token.html:17
-#, fuzzy
-#| msgid "Remove API token"
msgid "Create API token"
-msgstr "API-Token entfernen"
+msgstr "API-Token erstellen"
#: warehouse/templates/manage/account/token.html:38
#, python-format
@@ -6750,16 +6724,13 @@ msgid "2FA disabled"
msgstr "2FA deaktiviert"
#: warehouse/templates/manage/organization/roles.html:39
-#, fuzzy, python-format
-#| msgid ""
-#| "Use this page to control which PyPI users can help you to manage "
-#| "%(project_name)s"
+#, python-format
msgid ""
"Use this page to control which PyPI users can help you to manage "
"'%(organization_name)s'."
msgstr ""
"Auf dieser Seite können Sie festlegen, welche PyPI-Benutzer Ihnen bei der "
-"Verwaltung von %(project_name)s helfen können"
+"Verwaltung von '%(organization_name)s' helfen können."
#: warehouse/templates/manage/organization/roles.html:41
#, fuzzy
@@ -7589,7 +7560,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
@@ -9027,16 +8998,12 @@ msgid "What's a trove classifier?"
msgstr "Was ist eine Kategorie?"
#: warehouse/templates/pages/help.html:57
-#, fuzzy
-#| msgid "What's a package, project, or release?"
msgid "What's a \"yanked\" release?"
-msgstr "Was sind Pakete, Projekte, oder Veröffentlichungen?"
+msgstr "Was ist eine \"aus dem Verkehr gezogene\" Veröffentlichung?"
#: warehouse/templates/pages/help.html:58
-#, fuzzy
-#| msgid "Search projects"
msgid "What's an archived project?"
-msgstr "Projekte suchen"
+msgstr "Was ist eine archivierte Veröffentlichung?"
#: warehouse/templates/pages/help.html:61
msgid "Why do I need a verified email address?"
@@ -9071,10 +9038,6 @@ msgstr ""
"password\">TOTP)? Wie kann ich sie bei PyPI einrichten?"
#: warehouse/templates/pages/help.html:67
-#, fuzzy
-#| msgid ""
-#| "How does two factor authentication with a security device (e.g. USB key) "
-#| "work? How do I set it up on PyPI?"
msgid ""
"How does two-factor authentication with a security device (e.g. USB key) "
"work? How do I set it up on PyPI?"
@@ -9095,14 +9058,12 @@ msgstr ""
# "
# | "work? How do I set it up on PyPI?"
#: warehouse/templates/pages/help.html:69
-#, fuzzy
msgid ""
"How does two-factor authentication with a recovery code work? How do I set "
"it up on PyPI?"
msgstr ""
"Wie funktioniert die Zwei-Faktor-Authentifizierung mit einem "
-"Sicherheitsgerät (z.B. einem USB-Schlüssel)? Wie kann ich es bei PyPI "
-"einrichten?"
+"Wiederherstellungscode? Wie kann ich es bei PyPI einrichten?"
#: warehouse/templates/pages/help.html:70
msgid "How can I use API tokens to authenticate with PyPI?"
@@ -9453,6 +9414,12 @@ msgid ""
"visible and can still be resolved from the index by default, unlike deleted "
"or yanked releases."
msgstr ""
+"Ein archiviertes Projekt ist ein Projekt, das keine Aktualisierungen mehr "
+"erhält. Ein Projektbetreuer kann ein Projekt als archiviert markieren, um "
+"den Benutzern zu signalisieren, dass keine zukünftigen Aktualisierungen zu "
+"erwarten sind. Archivierte Projekte sind öffentlich sichtbar und können im "
+"Gegensatz zu gelöschten oder aus dem Verkehr gezogenen"
+"a> Versionen standardmäßig weiterhin aus dem Index aufgelöst werden."
#: warehouse/templates/pages/help.html:269
msgid "My account"
@@ -9935,11 +9902,11 @@ msgid ""
"href=\"#utfkey\">security device and should only be used for recovery. "
"After using a recovery code to sign in, it becomes inactive."
msgstr ""
-"Recovery-Codes sind nur einmalig verwendbar. Sie sind kein "
-"Ersatz für eine Authentifizierungs-App oder ein Sicherheitsgerät und sollten nur zur Wiederherstellung "
-"verwendet werden. Nachdem Sie einen Wiederherstellungscode verwenden, um "
-"sich einzuloggen, wird er inaktiv."
+"Wiederherstellungscodes sind nur einmalig verwendbar. Sie "
+"sind kein Ersatz für eine Authentifizierungs-App oder "
+"ein Sicherheitsgerät und sollten nur zur "
+"Wiederherstellung verwendet werden. Nachdem Sie einen Wiederherstellungscode "
+"verwenden, um sich einzuloggen, wird er inaktiv."
#: warehouse/templates/pages/help.html:487
msgid "To provision recovery codes:"
diff --git a/warehouse/locale/el/LC_MESSAGES/messages.po b/warehouse/locale/el/LC_MESSAGES/messages.po
index 1ec8cb6c0935..4e584f06b0f0 100644
--- a/warehouse/locale/el/LC_MESSAGES/messages.po
+++ b/warehouse/locale/el/LC_MESSAGES/messages.po
@@ -522,7 +522,7 @@ msgstr ""
msgid "Select project"
msgstr "Διαγραφή project"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -887,53 +887,53 @@ msgid "Expired invitation for '${username}' deleted."
msgstr ""
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Μη έγκυρος κωδικός ανάκτησης."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Αυτό το project δεν έχει κυκλοφορίες"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Αυτό το project δεν έχει κυκλοφορίες"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "Αυτό το project δεν έχει κυκλοφορίες"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -987,57 +987,75 @@ msgstr "Διαχείριση '%(project_name)s'"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Μη έγκυρος κωδικός ανάκτησης."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7669,7 +7687,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/enm/LC_MESSAGES/messages.po b/warehouse/locale/enm/LC_MESSAGES/messages.po
index 546de4b79de3..b8516e44e1a6 100644
--- a/warehouse/locale/enm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/enm/LC_MESSAGES/messages.po
@@ -407,7 +407,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -682,45 +682,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -763,54 +763,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6247,7 +6265,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/eo/LC_MESSAGES/messages.mo b/warehouse/locale/eo/LC_MESSAGES/messages.mo
index b4e60dab233a..51ef48035577 100644
Binary files a/warehouse/locale/eo/LC_MESSAGES/messages.mo and b/warehouse/locale/eo/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/eo/LC_MESSAGES/messages.po b/warehouse/locale/eo/LC_MESSAGES/messages.po
index 57ae6e673087..6a450601fa8c 100644
--- a/warehouse/locale/eo/LC_MESSAGES/messages.po
+++ b/warehouse/locale/eo/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-12-29 13:51+0200\n"
-"PO-Revision-Date: 2025-02-13 04:11+0000\n"
+"PO-Revision-Date: 2025-03-04 04:01+0000\n"
"Last-Translator: phlostically \n"
"Language-Team: Esperanto \n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.10-dev\n"
+"X-Generator: Weblate 5.10.3-dev\n"
#: warehouse/views.py:158
msgid ""
@@ -339,7 +339,7 @@ msgstr "Vi estas nun ${role} de la projekto '${project_name}'."
#: warehouse/accounts/views.py:1436
#, python-brace-format
msgid "Please review our updated Terms of Service."
-msgstr ""
+msgstr "Bonvolu legi la ĝisdatigitajn Uzkondiĉojn."
#: warehouse/accounts/views.py:1648 warehouse/accounts/views.py:1890
#: warehouse/manage/views/__init__.py:1419
@@ -442,7 +442,7 @@ msgstr ""
msgid "Select project"
msgstr "Elekti projekton"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Specifi nomon de projekto"
@@ -748,12 +748,12 @@ msgstr "Ne eblis resendi inviton al organizaĵo."
msgid "Expired invitation for '${username}' deleted."
msgstr "Eksvalidiĝinta Invito por «${username}» estas forviŝita."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nevalida projekta nomo"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings ĉi tie por starigi fidatan eldonanton por ĝi."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr "Ĉi tiu projekto jam ekzistas."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Ĉi tiu nomo ne estas permesata"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "Ĉi tiu nomo estas tro simila al jam ekzistanta projekto"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -782,15 +782,15 @@ msgstr ""
"Jen malpermesata projekta nomo (kiu konfliktas kun la nomo de modulo en la "
"norma biblioteko de Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Specifu identigilon de eldonanto"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "La eldonanto devas esti specifita de identigilo"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "Specifi nomon de medio"
@@ -833,54 +833,74 @@ msgstr "Organizaĵo ne troviĝis ĉe ActiveState"
msgid "ActiveState actor not found"
msgstr "Aganto ĉe ActiveState ne troviĝis"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "Specifu posedanton de GitHub-deponejo (aŭ salutnomon aŭ organizaĵon)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Specifu nomon de deponejo"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nevalida nomo de deponejo"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Specifu nomon de laborflua dosiero"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Nekonata uzanto aŭ organizaĵo ĉe GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub malpermesis trouzadon de tiu ago. Reprovu post kelkaj minutoj."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Neatendita eraro el GitHub. Reprovu."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "Neatendita konekta eraro el GitHub. Reprovu post kelkaj minutoj."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Neatendita tempolimo ĉe GitHub. Reprovu post kelkaj minutoj."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nevalida nomo de uzanto aŭ organizaĵo ĉe GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Nomo de laborfluo devas finiĝi per .yml aŭ .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "Laborflua dosiernomo devas estis nura dosiernomo, sen dosierujoj"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr "Nomo de medio estas tro longa (la maksimumo estas 255 skribsignoj)"
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr "Nomo de medio ne povas komenciĝi per spaceto"
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr "Nomo de medio ne povas finiĝi per spaceto"
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+"Nomo de medio ne povas enhavi nepreseblan signon nek la signojn «'», «\"», "
+"«`», «,», «;», «\\»"
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Nomo finiĝas per .git aŭ .atom"
@@ -1992,17 +2012,12 @@ msgid "Do not use %(title)s to conduct security research."
msgstr "Ne uzu %(title)s por sekureca esplorado."
#: warehouse/templates/accounts/register.html:45
-#, fuzzy, python-format
-#| msgid ""
-#| "For more information, please read the full Terms of Use and Acceptable Use Policy."
+#, python-format
msgid ""
"For more information, please read the full Acceptable Use Policy."
msgstr ""
-"Por pli da informoj, bonvolu legi la plenajn Uzkondiĉojn kaj Regulojn pri Akceptebla Uzado."
#: warehouse/templates/accounts/register.html:50
@@ -2011,6 +2026,7 @@ msgid ""
"By registering, you agree to the PyPI Terms of Service"
"a>."
msgstr ""
+"Registrante vin, vi konsentas la Uzkondiĉojn de PyPI."
#: warehouse/templates/accounts/register.html:69
#: warehouse/templates/manage/account.html:139
@@ -6821,9 +6837,13 @@ msgstr ""
"Eldonanton."
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
"Mi komprenas, ke tiu Fidata Eldonanto nur permesos alŝutojn el laborfluo de "
@@ -9901,13 +9921,7 @@ msgstr ""
"kaj provi starigi la aparaton denove."
#: warehouse/templates/pages/help.html:895
-#, fuzzy, python-format
-#| msgid ""
-#| "Projects may get placed in quarantine for any number of reasons, such as "
-#| "suspicion of malicious activity, spam, or other violations of the Terms of Use or "
-#| "Acceptable Use "
-#| "Policy."
+#, python-format
msgid ""
"Projects may get placed in quarantine for any number of reasons, such as "
"suspicion of malicious activity, spam, or other violations of the aquí para crear un Editor de Confianza para él."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Este proyecto no tiene versiones"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "El nombre del proyecto ya está en uso"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid ""
#| "The project name is too similar to an existing project and may be "
@@ -841,21 +841,21 @@ msgstr ""
"El nombre del proyecto se parece demasiado al de otro proyecto existente; "
"puede que ocurran confusiones."
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Especifique un ID de editor"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "El publicador debe ser especificado mediante un ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -902,62 +902,80 @@ msgstr "No se encontró la organización en ActiveState"
msgid "ActiveState actor not found"
msgstr "No se encontró al actor en ActiveState"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Especifique el dueño del repositorio en GitHub (usuario u organización)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Especifique el nombre del repositorio"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "El nombre del repositorio no es válido"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Especifique el nombre de archivo del flujo de trabajo"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Usuario u organización de GitHub desconocido."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub ha limitado la velocidad de esta acción. Vuelve a intentarlo en unos "
"minutos."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Error inesperado de GitHub. Intente de nuevo."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Error de conexión inesperado de GitHub. Vuelva a intentarlo en unos minutos."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"Terminó el tiempo de espera inesperadamente en GitHub. Reintente en unos "
"minutos."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nombre de usuario u organización de GitHub inválido."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "El nombre del flujo de trabajo debe terminar en .yml o .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"El nombre de archivo del flujo de trabajo debe ser solo un nombre de "
"archivo, sin directorios"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7465,7 +7483,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/et/LC_MESSAGES/messages.po b/warehouse/locale/et/LC_MESSAGES/messages.po
index 6dde108515db..a8110fcb8f89 100644
--- a/warehouse/locale/et/LC_MESSAGES/messages.po
+++ b/warehouse/locale/et/LC_MESSAGES/messages.po
@@ -406,7 +406,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -677,45 +677,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -758,54 +758,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6242,7 +6260,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fa/LC_MESSAGES/messages.po b/warehouse/locale/fa/LC_MESSAGES/messages.po
index dcd6568221fd..79b1386b727b 100644
--- a/warehouse/locale/fa/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fa/LC_MESSAGES/messages.po
@@ -474,7 +474,7 @@ msgstr ""
msgid "Select project"
msgstr "انتخاب برنامه"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "نام پروژه را تعیین کنید"
@@ -770,19 +770,19 @@ msgstr "دعوت نامه سازمان نمیتواند باز-ارسال شود
msgid "Expired invitation for '${username}' deleted."
msgstr "دعوتنامه منقضی شده برای '${username}' حذف شد."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "نام پروژه نامعتبر."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -792,7 +792,7 @@ msgstr ""
"این نام کاربری در حال حاضر توسط حساب کاربری دیگری استفاده می شود. نام کاربری "
"دیگری انتخاب کنید."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -802,25 +802,25 @@ msgstr ""
"این نام کاربری در حال حاضر توسط حساب کاربری دیگری استفاده می شود. نام کاربری "
"دیگری انتخاب کنید."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "شناسه ناشر را مشخص کنید"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "ناشر باید با شناسه مشخص شود"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -873,57 +873,75 @@ msgstr "ایجاد یک حساب کاربری"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "مالک مخزن GitHub (نام کاربری یا سازمان) را مشخص کنید"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "نام مخزن را مشخص کنید"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "کد بازیابی نامعتبر."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "نام فایل گردش کار (workflow) را مشخص کنید"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
#, fuzzy
msgid "Unknown GitHub user or organization."
msgstr "کاربر یا سازمان ناشناس GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7225,7 +7243,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fi/LC_MESSAGES/messages.po b/warehouse/locale/fi/LC_MESSAGES/messages.po
index 1645870a4a4e..dd8b4fd6a2d2 100644
--- a/warehouse/locale/fi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fi/LC_MESSAGES/messages.po
@@ -506,7 +506,7 @@ msgstr ""
msgid "Select project"
msgstr "Etsi projekteja"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -856,21 +856,21 @@ msgstr "Roolikutsua ei enää ole."
msgid "Expired invitation for '${username}' deleted."
msgstr "Kutsu projektiin '${project_name}' on hylätty."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Virheellinen palautuskoodi."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -880,7 +880,7 @@ msgstr ""
"Tämä käyttäjätunnus on jo toisen tilin käytössä. Valitse toinen "
"käyttäjätunnus."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -890,25 +890,25 @@ msgstr ""
"Tämä käyttäjätunnus on jo toisen tilin käytössä. Valitse toinen "
"käyttäjätunnus."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -961,56 +961,74 @@ msgstr "Luo tili"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Virheellinen palautuskoodi."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6876,7 +6894,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fil/LC_MESSAGES/messages.po b/warehouse/locale/fil/LC_MESSAGES/messages.po
index dc52638e2897..f4fce1088886 100644
--- a/warehouse/locale/fil/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fil/LC_MESSAGES/messages.po
@@ -470,7 +470,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -784,21 +784,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Hindi wastong recovery code."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -808,7 +808,7 @@ msgstr ""
"Ang username na ito ay ginagamit na ng isa pang account.\n"
"Pumili ng ibang username."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -818,25 +818,25 @@ msgstr ""
"Ang username na ito ay ginagamit na ng isa pang account.\n"
"Pumili ng ibang username."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -887,56 +887,74 @@ msgstr "Pumili ng username na may 50 characters o mas kaunti"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Hindi wastong recovery code."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6479,7 +6497,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fr/LC_MESSAGES/messages.po b/warehouse/locale/fr/LC_MESSAGES/messages.po
index 9ca077bc1147..23d0ae38dc71 100644
--- a/warehouse/locale/fr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fr/LC_MESSAGES/messages.po
@@ -501,7 +501,7 @@ msgstr ""
msgid "Select project"
msgstr "Sélectionner le projet"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Spécifiez le nom du projet"
@@ -818,12 +818,12 @@ msgstr "L'invitation à l'organisation n'a pas pu être renvoyée."
msgid "Expired invitation for '${username}' deleted."
msgstr "L'invitation expirée au projet « ${project_name} » a été supprimée."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nom de projet invalide"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings ici pour lui créer un éditeur de confiance."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Ce projet n'a pas de version"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Ce nom de projet n'est pas autorisé"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "Ce nom de projet est trop similaire à celui d'un projet existant"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -854,15 +854,15 @@ msgstr ""
"Ce nom de projet n'est pas autorisé (conflit avec le nom du module de la "
"bibliothèque standard Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Spécifier un ID d'éditeur"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "L'auteur doit être spécifié par son identifiant"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -909,63 +909,81 @@ msgstr "Organisation ActiveState non trouvée"
msgid "ActiveState actor not found"
msgstr "Acteur ActiveState non trouvé"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Spécifiez le propriétaire du dépôt GitHub (nom d'utilisateur ou organisation)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Spécifiez le nom du dépôt"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nom de dépôt invalide"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Spécifiez le nom de fichier du flux de travail"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Nom d'utilisateur ou organisation GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub a limité cette action. Veuillez essayer à nouveau dans quelques "
"minutes."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Erreur inattendue de GitHub. Veuillez réessayer."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Erreur de connexion de la part de GitHub. Veuillez essayer à nouveau dans "
"quelques minutes."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"Pas de réponse de la part de GitHub. Veuillez essayer à nouveau dans "
"quelques minutes."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nom d'utilisateur ou organisation GitHub invalide."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Le nom du flux de travail doit se terminer par .yml ou .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"Le nom de fichier du flux de travail doit être un nom de fichier uniquement, "
"sans dossiers"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Le nom se termine par .git ou .atom"
@@ -7148,7 +7166,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fr_CA/LC_MESSAGES/messages.po b/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
index 2b0a30c7dab6..7c0353452126 100644
--- a/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fr_CA/LC_MESSAGES/messages.po
@@ -520,7 +520,7 @@ msgstr ""
msgid "Select project"
msgstr "Supprimer le projet"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -894,53 +894,53 @@ msgstr "L'invitation de rôle n'existe plus."
msgid "Expired invitation for '${username}' deleted."
msgstr "L'invitation pour '$ {project_name}' est refusée."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Code de récupération invalide."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Ce projet n'a pas de version"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Ce projet n'a pas de version"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "Ce projet n'a pas de version"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -993,56 +993,74 @@ msgstr "Gérer « %(project_name)s »"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Code de récupération invalide."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7688,7 +7706,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/frc/LC_MESSAGES/messages.po b/warehouse/locale/frc/LC_MESSAGES/messages.po
index 57e8516f9289..abe0fd8abdd7 100644
--- a/warehouse/locale/frc/LC_MESSAGES/messages.po
+++ b/warehouse/locale/frc/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/frm/LC_MESSAGES/messages.po b/warehouse/locale/frm/LC_MESSAGES/messages.po
index ba268e740662..22927c88b9ee 100644
--- a/warehouse/locale/frm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/frm/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/fro/LC_MESSAGES/messages.po b/warehouse/locale/fro/LC_MESSAGES/messages.po
index ffba2770b5cf..83db697a9592 100644
--- a/warehouse/locale/fro/LC_MESSAGES/messages.po
+++ b/warehouse/locale/fro/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/gl/LC_MESSAGES/messages.po b/warehouse/locale/gl/LC_MESSAGES/messages.po
index 5d173a9312f3..f3317be0c1a9 100644
--- a/warehouse/locale/gl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/gl/LC_MESSAGES/messages.po
@@ -431,7 +431,7 @@ msgstr ""
msgid "Select project"
msgstr "Sen proxectos"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -731,19 +731,19 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr "Invitación enviada a '${username}'"
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -752,7 +752,7 @@ msgid "This project already exists."
msgstr ""
"O nome de usuario estase a usar noutra conta. Escolle outre nome de usuario."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -761,25 +761,25 @@ msgid "This project name isn't allowed"
msgstr ""
"O nome de usuario estase a usar noutra conta. Escolle outre nome de usuario."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "No projects"
msgid "Specify an environment name"
@@ -828,54 +828,72 @@ msgstr "Crea unha conta"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6615,7 +6633,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/he/LC_MESSAGES/messages.po b/warehouse/locale/he/LC_MESSAGES/messages.po
index f39774002271..cc92c3d48b08 100644
--- a/warehouse/locale/he/LC_MESSAGES/messages.po
+++ b/warehouse/locale/he/LC_MESSAGES/messages.po
@@ -486,7 +486,7 @@ msgstr "שם המשתמש נמצא בשימוש חשבון אחר. בחר/י ש
msgid "Select project"
msgstr "בחירת פרויקט"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -836,52 +836,52 @@ msgstr "לא ניתן לשלוח מחדש הזמנה לארגון."
msgid "Expired invitation for '${username}' deleted."
msgstr "ההזמנה ל- '${project_name}' נדחתה."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "שם פרויקט לא תקין"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "לפרויקט זה אין גרסאות"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "שם הפרויקט נמצא בשימוש"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name is too similar to an existing project"
msgstr "שם הפרויקט נמצא בשימוש"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
#, fuzzy
msgid "Specify a publisher ID"
msgstr "ציינ/י מספר מזהה של מפרסם"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "יש לציין מפרסם על ידי מספר זיהוי"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -939,60 +939,78 @@ msgstr "ניהול ׳%(project_name)s׳"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
#, fuzzy
msgid "Specify GitHub repository owner (username or organization)"
msgstr "ציינ/י את בעל/ת המאגר בגיטהאב (שם משתמש/ארגון)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "ציינ/י את שם המאגר"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "שם מאגר לא תקין"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "ציינ/י את שם קובץ הworkflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
#, fuzzy
msgid "Unknown GitHub user or organization."
msgstr "שם משתמש/הארגון המשוייך לגיטהאב לא קיים."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "גיטהאב הגבילו את פעולה זו. נסו שוב בעוד מספר דקות."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "שגיאה לא צפויה מגיטהאב. נסו שוב."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "שגיאת חיבור לא צפויה מגיטהאב. נסו שוב בעוד מספר דקות."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
#, fuzzy
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "שגיאת timeout לא צפויה מגיטהאב. נסו שוב בעוד מספר דקות."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
#, fuzzy
msgid "Invalid GitHub user or organization name."
msgstr "שם משתמש/ארגון בגיטהאב לא תקין."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
#, fuzzy
msgid "Workflow name must end with .yml or .yaml"
msgstr "סיומת שם קובץ הworkflow חייבת להיות .yml או .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
#, fuzzy
msgid "Workflow filename must be a filename only, without directories"
msgstr "שם קובץ הworkflow חייב להיות שם הקובץ בלבד, ללא תיקיות"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
msgid "Name ends with .git or .atom"
@@ -7461,7 +7479,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/hi/LC_MESSAGES/messages.po b/warehouse/locale/hi/LC_MESSAGES/messages.po
index 370f7e0d2fa8..cee37d7d47c6 100644
--- a/warehouse/locale/hi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hi/LC_MESSAGES/messages.po
@@ -507,7 +507,7 @@ msgstr ""
msgid "Select project"
msgstr "परियोजना मिटाएं"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -877,53 +877,53 @@ msgstr "रोल आमंत्रण अब मौजूद नहीं ह
msgid "Expired invitation for '${username}' deleted."
msgstr "'$ {project_name} के लिए निमंत्रण अस्वीकार कर दिया गया है।"
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid Recovery Code."
msgid "Invalid project name"
msgstr "पुनर्प्राप्ति कुंजी अमान्य।"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "इस परियोजना की कोई विज्ञप्तियां नहीं है"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "इस परियोजना की कोई विज्ञप्तियां नहीं है"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "इस परियोजना की कोई विज्ञप्तियां नहीं है"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "एक प्रकाशक आईडी निर्दिष्ट करें"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "प्रकाशक को आईडी द्वारा निर्दिष्ट किया जाना चाहिए"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -976,56 +976,74 @@ msgstr "'%(project_name)s' प्रबंधित करें"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid Recovery Code."
msgid "Invalid repository name"
msgstr "पुनर्प्राप्ति कुंजी अमान्य।"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7464,7 +7482,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/hu/LC_MESSAGES/messages.po b/warehouse/locale/hu/LC_MESSAGES/messages.po
index c9c4c07089c7..ce0c327ae692 100644
--- a/warehouse/locale/hu/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hu/LC_MESSAGES/messages.po
@@ -505,7 +505,7 @@ msgstr ""
msgid "Select project"
msgstr "Projekt kiválasztása"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
msgid "Specify project name"
@@ -845,21 +845,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Hibás helyreállító kód."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -869,7 +869,7 @@ msgstr ""
"Ezt a felhasználónevet már egy másik fiók használja. Válasszon másik "
"felhasználónevet."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -879,25 +879,25 @@ msgstr ""
"Ezt a felhasználónevet már egy másik fiók használja. Válasszon másik "
"felhasználónevet."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
msgid "Specify an environment name"
msgstr "Adjon meg egy projekt nevet."
@@ -947,56 +947,74 @@ msgstr "A felhasználónév név hossza legfeljebb 50 karakter lehet."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Hibás helyreállító kód."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6548,7 +6566,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/hy/LC_MESSAGES/messages.po b/warehouse/locale/hy/LC_MESSAGES/messages.po
index 1b387ddcb509..f2cec2ea8133 100644
--- a/warehouse/locale/hy/LC_MESSAGES/messages.po
+++ b/warehouse/locale/hy/LC_MESSAGES/messages.po
@@ -418,7 +418,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -689,45 +689,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -770,54 +770,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6254,7 +6272,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/id/LC_MESSAGES/messages.po b/warehouse/locale/id/LC_MESSAGES/messages.po
index abeaaafcf462..b0d32affe6bf 100644
--- a/warehouse/locale/id/LC_MESSAGES/messages.po
+++ b/warehouse/locale/id/LC_MESSAGES/messages.po
@@ -487,7 +487,7 @@ msgstr ""
msgid "Select project"
msgstr "Pilih proyek"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Tentukan nama proyek"
@@ -854,55 +854,55 @@ msgstr "Undangan peran sudah tidak ada."
msgid "Expired invitation for '${username}' deleted."
msgstr "Undangan untuk '${project_name}' ditolak."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid repository name"
msgid "Invalid project name"
msgstr "Nama repositori tidak valid"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Proyek ini tidak memiliki rilis"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Proyek ini tidak memiliki rilis"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "Proyek ini tidak memiliki rilis"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "Penyedia harus ditentukan berdasarkan ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -959,56 +959,74 @@ msgstr "Kelola '%(project_name)s'"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "Tentukan pemilik repositori GitHub (nama pengguna atau organisasi)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Tentukan nama repositori"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nama repositori tidak valid"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Pengguna atau organisasi GitHub tidak diketahui."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Eror tak terduga dari GitHub. Coba lagi."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
#, fuzzy
#| msgid "Unexpected error from GitHub. Try again."
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "Eror tak terduga dari GitHub. Coba lagi."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nama pengguna atau organisasi GitHub tidak valid."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Nama berakhiran dengan .git atau .atom"
@@ -7650,7 +7668,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/it/LC_MESSAGES/messages.mo b/warehouse/locale/it/LC_MESSAGES/messages.mo
index 4f568ef9b8d4..ebf1d18218ce 100644
Binary files a/warehouse/locale/it/LC_MESSAGES/messages.mo and b/warehouse/locale/it/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/it/LC_MESSAGES/messages.po b/warehouse/locale/it/LC_MESSAGES/messages.po
index 0b763f86075b..e837bfed028b 100644
--- a/warehouse/locale/it/LC_MESSAGES/messages.po
+++ b/warehouse/locale/it/LC_MESSAGES/messages.po
@@ -19,7 +19,7 @@
# Stefano Pigozzi , 2021, 2022.
# J. Lavoie , 2022.
# Tony Oliveri , 2023.
-# albanobattistella , 2023.
+# albanobattistella , 2023, 2025.
# Frankie McEyes , 2023.
# letruxux , 2024.
# Pietro Marini , 2024.
@@ -28,8 +28,8 @@ msgstr ""
"Project-Id-Version: Warehouse VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-01-15 20:11+0200\n"
-"PO-Revision-Date: 2024-06-06 14:36+0000\n"
-"Last-Translator: Pietro Marini \n"
+"PO-Revision-Date: 2025-03-02 16:19+0000\n"
+"Last-Translator: albanobattistella \n"
"Language-Team: Italian \n"
"Language: it\n"
@@ -37,7 +37,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.6-dev\n"
+"X-Generator: Weblate 5.10.3-dev\n"
"Generated-By: Babel 2.7.0\n"
#: warehouse/views.py:158
@@ -485,7 +485,7 @@ msgstr ""
msgid "Select project"
msgstr "Seleziona progetto"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Nome Progetto"
@@ -816,31 +816,31 @@ msgstr "L'invito all'organizzazione non può essere re-inviato."
msgid "Expired invitation for '${username}' deleted."
msgstr "L'invito scaduto per '${username}' è stato cancellato."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nome progetto non valido"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Questo progetto non ha rilasci"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "Nome progetto già in uso"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid ""
#| "The project name is too similar to an existing project and may be "
@@ -850,21 +850,21 @@ msgstr ""
"Il nome del progetto è troppo simile a un progetto esistente e potrebbe "
"creare confusione."
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Specificare l'ID dell'autore"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "L'autore deve essere specificato da un ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -923,56 +923,74 @@ msgstr "Seleziona un nome account per l'organizzazione"
msgid "ActiveState actor not found"
msgstr "Attore ActiveState non trovato"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Specificare il proprietario del repository GitHub (nome utente o "
"organizzazione)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Specificare il nome del repository"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nome del repository non valido"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Specifica il nome del file del workflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Utente GitHub o organizzazione sconosciuti."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub ha limitato questa azione. Riprova tra qualche minuto."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Errore inatteso da GitHub. Prova di nuovo."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "Errore di connessione da GitHub. Riprova tra qualche minuto."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Errore di timeout da GitHub. Riprova tra qualche minuto."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Utente o organizzazione GitHub non validi."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Il nome del workflow deve terminare con .yml o .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "Il nome del file del workflow non deve essere il nome di una cartella"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -1552,10 +1570,8 @@ msgstr "Usare la navigazione di PyPI"
#: warehouse/templates/base.html:317
#: warehouse/templates/manage/organization/activate_subscription.html:33
-#, fuzzy
-#| msgid "Terms of use"
msgid "Terms of Service"
-msgstr "Condizioni d'utilizzo"
+msgstr "Termini di Servizio"
#: warehouse/templates/base.html:318
msgid "Report security issue"
@@ -7097,7 +7113,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ja/LC_MESSAGES/messages.po b/warehouse/locale/ja/LC_MESSAGES/messages.po
index 9b781410c472..30593a816e25 100644
--- a/warehouse/locale/ja/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ja/LC_MESSAGES/messages.po
@@ -500,7 +500,7 @@ msgstr ""
msgid "Select project"
msgstr "プロジェクトの選択"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "プロジェクト名を指定する"
@@ -864,53 +864,53 @@ msgid "Expired invitation for '${username}' deleted."
msgstr "'${project_name}' への招待を辞退しました。"
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "無効なプロジェクト名"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "このプロジェクトにはリリースがありません"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "このプロジェクト名はすでに使用されています"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name is too similar to an existing project"
msgstr "このプロジェクト名はすでに使用されています"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "プロバイダはIDで指定する必要があります"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -968,59 +968,77 @@ msgstr "「 %(project_name)s 」を管理する"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "GitHub リポジトリ所有者 (ユーザ名または組織) を指定する"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "リポジトリ名を指定する"
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "無効なリポジトリ名"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "ワークフローファイル名の指定"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "不明な GitHub ユーザまたは組織。"
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub では、このアクションがレート制限されています。数分後にもう一度お試しく"
"ださい。"
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "GitHubからの予期しないエラー。再試行。"
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "GitHub からの予期しない接続エラー。数分後にもう一度お試しください。"
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "GitHub からの予期しないタイムアウト。数分後にもう一度お試しください。"
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "GitHub のユーザ名または組織名が無効です。"
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "ワークフロー名は .yml または .yaml で終わる必要があります。"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"ワークフローのファイル名は、ディレクトリを含まないファイル名のみである必要が"
"あります"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7629,7 +7647,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/jv/LC_MESSAGES/messages.po b/warehouse/locale/jv/LC_MESSAGES/messages.po
index c4b7c30626db..43440bc54f3b 100644
--- a/warehouse/locale/jv/LC_MESSAGES/messages.po
+++ b/warehouse/locale/jv/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ka/LC_MESSAGES/messages.po b/warehouse/locale/ka/LC_MESSAGES/messages.po
index c776b9563137..a35e229638fd 100644
--- a/warehouse/locale/ka/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ka/LC_MESSAGES/messages.po
@@ -426,7 +426,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -701,45 +701,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -782,54 +782,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6266,7 +6284,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ko/LC_MESSAGES/messages.po b/warehouse/locale/ko/LC_MESSAGES/messages.po
index 8002e55c6d08..fc1cbd85271f 100644
--- a/warehouse/locale/ko/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ko/LC_MESSAGES/messages.po
@@ -469,7 +469,7 @@ msgstr ""
msgid "Select project"
msgstr "프로젝트를 선택하세요."
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "프로젝트 이름을 적어주세요."
@@ -771,12 +771,12 @@ msgstr "조직 초대장을 다시 보낼 수 없습니다."
msgid "Expired invitation for '${username}' deleted."
msgstr "만료된 '${username}'의 초대장이 삭제되었습니다."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "잘못된 프로젝트 명입니다."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings 여기에서 이를 위한 검증된 게시자를 생성하세요."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "이 프로젝트에는 릴리즈가 없습니다"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "이 프로젝트 이름은 사용할 수 없습니다"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "이 프로젝트 이름은 기존 프로젝트와 너무 유사합니다"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -807,15 +807,15 @@ msgstr ""
"이 프로젝트 이름은 사용할 수 없습니다 (파이썬 표준 라이브러리 모듈 이름과 충"
"돌)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "사용자 ID 를 입력하세요"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "사용자는 ID로 지정해야 합니다"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -860,54 +860,72 @@ msgstr "활성 상태의 조직을 찾을 수 없습니다"
msgid "ActiveState actor not found"
msgstr "활동 상태 액터를 찾을 수 없습니다"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "깃허브 리파지토리 소유자를 입력하세요(이름 혹은 조직)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "리파지토리 이름을 입력하세요"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "잘못된 리포지토리 이름입니다."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "워크플로우 파일명을 입력하세요"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "알 수 없는 깃허브 사용자 혹은 조직."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub은 이 작업 횟수가 제한되어 있습니다. 몇 분 후 다시 시도하세요."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "알 수 없는 오류가 Github에서 발생했습니다. 다시 시도하세요."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "깃허브로부터 알 수 없는 연결 에러 발생. 몇 분 후 다시 시도하십시오."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "깃허브에서의 알 수 없는 시간초과. 몇 분 후 다시 시도하세요."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "잘못된 Github 사용자 또는 조직 이름."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "워크플로우 이름은 .yml 혹은 .yaml 로 끝나야 합니다"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "워크플로우 파일명에는 경로가 포함되지 않고 파일 이름만 가능합니다"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "이름이 .git 또는 .atom으로 끝납니다"
@@ -6805,7 +6823,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/lzh/LC_MESSAGES/messages.po b/warehouse/locale/lzh/LC_MESSAGES/messages.po
index f22089028cc3..703996ff8812 100644
--- a/warehouse/locale/lzh/LC_MESSAGES/messages.po
+++ b/warehouse/locale/lzh/LC_MESSAGES/messages.po
@@ -428,7 +428,7 @@ msgstr ""
msgid "Select project"
msgstr "选择项目"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "指定项目名"
@@ -711,45 +711,45 @@ msgstr "组织邀请无法重发。"
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "归码无效"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -804,54 +804,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "自 Github 之误连,顷刻后复试"
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6322,7 +6340,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/mk/LC_MESSAGES/messages.po b/warehouse/locale/mk/LC_MESSAGES/messages.po
index 6a7bdec51735..e3a6974a9580 100644
--- a/warehouse/locale/mk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mk/LC_MESSAGES/messages.po
@@ -430,7 +430,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -707,47 +707,47 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Невалиден резервен код."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -794,54 +794,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6318,7 +6336,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ml/LC_MESSAGES/messages.po b/warehouse/locale/ml/LC_MESSAGES/messages.po
index f7a7c88bbe75..6482d305f7ab 100644
--- a/warehouse/locale/ml/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ml/LC_MESSAGES/messages.po
@@ -471,7 +471,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -792,21 +792,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "അസാധുവായ റിക്കവറി കോഡ്."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -815,7 +815,7 @@ msgid "This project already exists."
msgstr ""
"ഈ ഉപയോക്തൃനാമം ഇതിനകം മറ്റൊരു അക്കൗണ്ട് ഉപയോഗിക്കുന്നു. മറ്റൊരു ഉപയോക്തൃനാമം തിരഞ്ഞെടുക്കുക."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -824,25 +824,25 @@ msgid "This project name isn't allowed"
msgstr ""
"ഈ ഉപയോക്തൃനാമം ഇതിനകം മറ്റൊരു അക്കൗണ്ട് ഉപയോഗിക്കുന്നു. മറ്റൊരു ഉപയോക്തൃനാമം തിരഞ്ഞെടുക്കുക."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -893,54 +893,72 @@ msgstr "50 പ്രതീകങ്ങളോ അതിൽ കുറവോ ഉള
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6481,7 +6499,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/mni/LC_MESSAGES/messages.po b/warehouse/locale/mni/LC_MESSAGES/messages.po
index a39b88295d06..359e959b85e8 100644
--- a/warehouse/locale/mni/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mni/LC_MESSAGES/messages.po
@@ -406,7 +406,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -677,45 +677,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -758,54 +758,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6242,7 +6260,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/mr/LC_MESSAGES/messages.po b/warehouse/locale/mr/LC_MESSAGES/messages.po
index 63d665fbc262..295fad9ab8f6 100644
--- a/warehouse/locale/mr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/mr/LC_MESSAGES/messages.po
@@ -484,7 +484,7 @@ msgstr "हे वापरकर्तानाव आधीपासूनच
msgid "Select project"
msgstr "प्रकल्प शोधा"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -828,21 +828,21 @@ msgstr "भूमिका आमंत्रण यापुढे विद्
msgid "Expired invitation for '${username}' deleted."
msgstr "'${project_name}' चे आमंत्रण नाकारले गेले आहे."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "अवैध पुनर्प्राप्ती कोड."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -850,7 +850,7 @@ msgstr ""
msgid "This project already exists."
msgstr "हे वापरकर्तानाव आधीपासूनच दुसर्या खात्याने वापरलेले आहे. भिन्न वापरकर्तानाव निवडा."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -858,25 +858,25 @@ msgstr "हे वापरकर्तानाव आधीपासूनच
msgid "This project name isn't allowed"
msgstr "हे वापरकर्तानाव आधीपासूनच दुसर्या खात्याने वापरलेले आहे. भिन्न वापरकर्तानाव निवडा."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -929,56 +929,74 @@ msgstr "भूमिका आमंत्रण वैध नाही."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "अवैध पुनर्प्राप्ती कोड."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6730,7 +6748,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/nb_NO/LC_MESSAGES/messages.po b/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
index 34da51a2a4b7..4b62773b7aad 100644
--- a/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
+++ b/warehouse/locale/nb_NO/LC_MESSAGES/messages.po
@@ -471,7 +471,7 @@ msgstr ""
msgid "Select project"
msgstr "Velg prosjekt"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Angi prosjektnavn"
@@ -795,21 +795,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid TOTP code."
msgid "Invalid project name"
msgstr "Ugyldig TOTP-kode."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -819,7 +819,7 @@ msgstr ""
"Dette brukernavnet er allerede i bruk av en annen konto. Velg et annet "
"brukernavn."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -829,25 +829,25 @@ msgstr ""
"Dette brukernavnet er allerede i bruk av en annen konto. Velg et annet "
"brukernavn."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -902,56 +902,74 @@ msgstr "Håndter '%(project_name)s'"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid TOTP code."
msgid "Invalid repository name"
msgstr "Ugyldig TOTP-kode."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7065,7 +7083,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ne/LC_MESSAGES/messages.po b/warehouse/locale/ne/LC_MESSAGES/messages.po
index 9b92dc4b9b13..f84b3f19f48c 100644
--- a/warehouse/locale/ne/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ne/LC_MESSAGES/messages.po
@@ -442,7 +442,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -755,47 +755,47 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "अवैध रिकभरी कोड।"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -842,54 +842,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6344,7 +6362,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/nl/LC_MESSAGES/messages.po b/warehouse/locale/nl/LC_MESSAGES/messages.po
index 7fed77ae6116..3668ebbd63f3 100644
--- a/warehouse/locale/nl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/nl/LC_MESSAGES/messages.po
@@ -465,7 +465,7 @@ msgstr ""
msgid "Select project"
msgstr "Selecteer project"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Geef projectnaam op"
@@ -816,55 +816,55 @@ msgstr "Organisatie-uitnodiging bestaat niet meer."
msgid "Expired invitation for '${username}' deleted."
msgstr "Uitnodiging voor '${project_name}' is geweigerd."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid repository name"
msgid "Invalid project name"
msgstr "Ongeldige repositorynaam."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project already exists."
msgstr "Deze projectnaam is al in gebruik. Kies een andere projectnaam."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This project name has already been used. Choose a different project name."
msgid "This project name isn't allowed"
msgstr "Deze projectnaam is al in gebruik. Kies een andere projectnaam."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Geef een uitgevers-ID op"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "Provider moet door middel van een ID worden gespecificeerd"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -925,39 +925,39 @@ msgstr "Account aanmaken"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Specificeer de eigenaar (gebruikersnaam of organisatie) van de GitHub "
"repository"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Specificeer de naam van de repository"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Ongeldige repositorynaam."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Specificeer de bestandsnaam van de workflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Onbekende Githubgebruiker of -organisatie."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub heeft het gebruik van deze actie begrensd, Probeert u het over enkele "
"minuten nogmaals."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Onverwachte foutmelding van GitHub. Probeert u het nog eens."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
#, fuzzy
#| msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
@@ -965,25 +965,43 @@ msgstr ""
"Onverwachte timeout van GitHub. Probeert u het over een paar minuten nog "
"eens."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"Onverwachte timeout van GitHub. Probeert u het over een paar minuten nog "
"eens."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Ongeldige Github-gebruikersnaam of -organisatienaam."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Workflow-bestandsnaam moet eindigen met .yml of .yaml."
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"Workflow-bestandsnaam moet uitsluiten een bestandsnaam zijn, zonder mappen"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7293,7 +7311,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/or/LC_MESSAGES/messages.po b/warehouse/locale/or/LC_MESSAGES/messages.po
index 95f98702be36..2cc2890fc8dc 100644
--- a/warehouse/locale/or/LC_MESSAGES/messages.po
+++ b/warehouse/locale/or/LC_MESSAGES/messages.po
@@ -413,7 +413,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -694,45 +694,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -779,54 +779,72 @@ msgstr "ଏକ ଉପଭୋକ୍ତା ନାମ ବାଛନ୍ତୁ ଯା
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6321,7 +6339,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/pl/LC_MESSAGES/messages.po b/warehouse/locale/pl/LC_MESSAGES/messages.po
index b65bf2e41a16..bcfa81461a3f 100644
--- a/warehouse/locale/pl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pl/LC_MESSAGES/messages.po
@@ -472,7 +472,7 @@ msgstr ""
msgid "Select project"
msgstr "Wybierz projekt"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Podaj nazwę projektu"
@@ -781,49 +781,49 @@ msgstr "Nie udało się ponownie wysłać zaproszenia do organizacji."
msgid "Expired invitation for '${username}' deleted."
msgstr "Wygasłe zaproszenie dla „${username}” zostało usunięte."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nieprawidłowa nazwa projektu"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project already exists."
msgstr "Ta nazwa projektu jest już używana"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "Ta nazwa projektu jest już używana"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "Wydawca musi być określony przez ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -882,56 +882,74 @@ msgstr "Utwórz konto"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Określ właściciela repozytorium GitHub (nazwa użytkownika lub organizacja)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Określ nazwę repozytorium"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nieprawidłowa nazwa repozytorium"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Określ nazwę pliku workflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Nieznany użytkownik lub organizacja GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub ograniczył szybkość tej akcji. Spróbuj ponownie za kilka minut."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Nieoczekiwany błąd z GitHub. Spróbuj ponownie."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Nieoczekiwany błąd połączenia z GitHub. Spróbuj ponownie za kilka minut."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Nieoczekiwany timeout z GitHub. Spróbuj ponownie za kilka minut."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nieprawidłowa nazwa użytkownika lub organizacji GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Nazwa workflow musi kończyć się na .yml lub .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "Nazwa pliku workflow musi być samą nazwą pliku, bez katalogów"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7277,7 +7295,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/pt/LC_MESSAGES/messages.mo b/warehouse/locale/pt/LC_MESSAGES/messages.mo
index c7993250a5a8..84c7bf159f24 100644
Binary files a/warehouse/locale/pt/LC_MESSAGES/messages.mo and b/warehouse/locale/pt/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/pt/LC_MESSAGES/messages.po b/warehouse/locale/pt/LC_MESSAGES/messages.po
index 47188072f013..ae29ed4f3e9f 100644
--- a/warehouse/locale/pt/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt/LC_MESSAGES/messages.po
@@ -8,12 +8,13 @@
# Paulo Santos - PJ , 2024.
# Carlos Eduardo Porto Da Hora , 2024.
# Beta 46 , 2025.
+# Guilherme Moraes , 2025.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-09-27 17:33+0200\n"
-"PO-Revision-Date: 2025-02-27 01:56+0000\n"
+"PO-Revision-Date: 2025-03-04 21:57+0000\n"
"Last-Translator: Beta 46 \n"
"Language-Team: Portuguese \n"
@@ -22,14 +23,14 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 5.10.2-dev\n"
+"X-Generator: Weblate 5.10.3-dev\n"
#: warehouse/views.py:158
msgid ""
"You must verify your **primary** email address before you can perform this "
"action."
msgstr ""
-"Você deve verificar seu endereço de e-mail **principal** antes de realizar "
+"Você deve verificar seu endereço de e-mail **principal** antes de executar "
"esta ação."
#: warehouse/views.py:174
@@ -67,7 +68,7 @@ msgstr "Bytes nulos não são permitidos."
#: warehouse/accounts/forms.py:86
msgid "No user found with that username"
-msgstr "Nenhum utilizador encontrado com esse nome de utilizador"
+msgstr "Nome de usuário não encontrado"
#: warehouse/accounts/forms.py:107
#, python-brace-format
@@ -101,9 +102,7 @@ msgstr "Senha grande demais."
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for ${time}. Please try again later."
-msgstr ""
-"Ocorreram muitas tentativas para iniciar a sessão sem êxito. Você foi "
-"bloqueado por ${time}. Por favor, tente mais tarde."
+msgstr "Ocorreram muitas tentativas de login sem êxito. Tente mais tarde."
#: warehouse/accounts/forms.py:237
msgid "Your passwords don't match. Try again."
@@ -111,7 +110,7 @@ msgstr "As suas palavras-passe não coincidem. Tente novamente."
#: warehouse/accounts/forms.py:271
msgid "The email address is too long. Try again."
-msgstr "O endereço de e-mail é muito extenso. Tente novamente."
+msgstr "O endereço de e-mail é muito longo. Tente novamente."
#: warehouse/accounts/forms.py:343
msgid "You can't use an email address from this domain. Use a different email."
@@ -170,8 +169,8 @@ msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for {}. Please try again later."
msgstr ""
-"Ocorreram muitas tentativas para iniciar a sessão sem êxito. Você foi "
-"bloqueado por {}. Tente mais tarde."
+"Houve muitas tentativas de login sem êxito. Você foi bloqueado por {}. Por "
+"favor, tente novamente mais tarde."
#: warehouse/accounts/views.py:139
#, python-brace-format
@@ -350,10 +349,9 @@ msgid "Invitation for '${project_name}' is declined."
msgstr "O convite para \"${project_name}\" foi rejeitado."
#: warehouse/accounts/views.py:1356
-#, fuzzy, python-brace-format
-#| msgid "You are now ${role} of the '${project_name}' project."
+#, python-brace-format
msgid "You are now ${role} of the '${project_name}' project."
-msgstr "Agora é ${role} do projeto '${nome_do_projeto}'."
+msgstr "Agora é ${role} do projeto {project_name}."
#: warehouse/accounts/views.py:1436
#, python-brace-format
@@ -382,13 +380,13 @@ 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 ""
-"Você deve ter um e-mail verificado para registrar um editor confiável "
-"pendente. Consulte https://pypi.org/help#openid-connect para obter detalhes."
+"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:1698
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."
+"Você não pode registrar mais de 3 editores confiáveis de uma única vez."
#: warehouse/accounts/views.py:1713 warehouse/manage/views/__init__.py:1600
#: warehouse/manage/views/__init__.py:1715
@@ -458,22 +456,18 @@ msgstr ""
"diferente para a conta da organização."
#: warehouse/manage/forms.py:466
-#, fuzzy
-#| msgid ""
-#| "This organization account name has already been used. Choose a different "
-#| "organization account name."
msgid ""
"You have already submitted an application for that name. Choose a different "
"organization account name."
msgstr ""
-"Você já submeteu uma aplicação com este nome. Escolha um nome de organização "
-"diferente."
+"Já apresentou um pedido para esse nome. Escolha um nome diferente para a "
+"conta da organização."
#: warehouse/manage/forms.py:501
msgid "Select project"
msgstr "Selecionar projeto"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Especifique o nome do projeto"
@@ -551,10 +545,6 @@ msgid "The URL is too long. Choose a URL with 400 characters or less."
msgstr "A URL é muito longa. Escolha uma URL com 400 caracteres ou menos."
#: warehouse/manage/forms.py:770
-#, fuzzy
-#| msgid ""
-#| "The organization description is too long. Choose a organization "
-#| "description with 400 characters or less."
msgid ""
"The description is too long. Choose a description with 400 characters or "
"less."
@@ -635,10 +625,8 @@ msgid "Deleted alternate repository '${name}'"
msgstr "Repositório alternativo '${name}' deletado"
#: warehouse/manage/views/__init__.py:1468
-#, fuzzy
-#| msgid "The trusted publisher could not be registered"
msgid "The trusted publisher could not be constrained"
-msgstr "O editor confiável não pôde ser registado"
+msgstr "O editor confiável não pôde ser restringido"
#: warehouse/manage/views/__init__.py:1581
msgid ""
@@ -649,40 +637,29 @@ msgstr ""
"desabilitadas. Veja https://pypi.org/help#admin-intervention para detalhes."
#: warehouse/manage/views/__init__.py:1696
-#, fuzzy
-#| msgid ""
-#| "New user registration temporarily disabled. See https://pypi.org/"
-#| "help#admin-intervention for details."
msgid ""
"GitLab-based trusted publishing is temporarily disabled. See https://pypi."
"org/help#admin-intervention for details."
msgstr ""
-"O registo de novos utilizadores está temporariamente desativado. Consulte "
-"https://pypi.org/help#admin-intervention para mais detalhes."
+"A publicação confiável atravez do GitLab está temporáriamente desativada. "
+"Consulte https://pypi.org/help#admin-intervention para mais detalhes."
#: warehouse/manage/views/__init__.py:1810
-#, fuzzy
-#| msgid ""
-#| "New user registration temporarily disabled. See https://pypi.org/"
-#| "help#admin-intervention for details."
msgid ""
"Google-based trusted publishing is temporarily disabled. See https://pypi."
"org/help#admin-intervention for details."
msgstr ""
-"O registo de novos utilizadores está temporariamente desativado. Consulte "
-"https://pypi.org/help#admin-intervention para mais detalhes."
+"A publicação fidedigna baseada no Google está temporariamente desactivada.. "
+"Consulte https://pypi.org/help#admin-intervention para mais detalhes."
#: warehouse/manage/views/__init__.py:1921
-#, fuzzy
-#| msgid ""
-#| "New user registration temporarily disabled. See https://pypi.org/"
-#| "help#admin-intervention for details."
msgid ""
"ActiveState-based trusted publishing is temporarily disabled. See https://"
"pypi.org/help#admin-intervention for details."
msgstr ""
-"O registo de novos utilizadores está temporariamente desativado. Consulte "
-"https://pypi.org/help#admin-intervention para mais detalhes."
+"A publicação fidedigna baseada no ActiveState está temporariamente "
+"desactivada. Consulte https://pypi.org/help#admin-intervention para mais "
+"detalhes."
#: warehouse/manage/views/__init__.py:2158
#: warehouse/manage/views/__init__.py:2459
@@ -715,11 +692,9 @@ msgid "Could not delete file - "
msgstr "Não foi possível apagar o ficheiro - "
#: warehouse/manage/views/__init__.py:2742
-#, fuzzy, python-brace-format
-#| msgid "Team '${team_name}' already has ${role_name} role for project"
+#, python-brace-format
msgid "Team '${team_name}' already has ${role_name} role for project"
-msgstr ""
-"A equipa \"${username}\" já tem a função de ${role_name} para o projeto"
+msgstr "Equipe \"${username}\" já tem a função de ${role_name} para o projeto"
#: warehouse/manage/views/__init__.py:2849
#, python-brace-format
@@ -728,10 +703,9 @@ msgstr ""
"O utilizador \"${username}\" já tem a função de ${role_name} para o projeto"
#: warehouse/manage/views/__init__.py:2916
-#, fuzzy, python-brace-format
-#| msgid "${username} is now ${role} of the '${project_name}' project."
+#, python-brace-format
msgid "${username} is now ${role} of the '${project_name}' project."
-msgstr "${username} agora é ${role} do projeto '${nome_do_projeto}'."
+msgstr "${username} agora é ${role} do projeto '${project_name}'."
#: warehouse/manage/views/__init__.py:2948
#, python-brace-format
@@ -796,51 +770,37 @@ msgid "Organization invitation could not be re-sent."
msgstr "O convite da organização não pôde ser reenviado."
#: warehouse/manage/views/organizations.py:1098
-#, fuzzy, python-brace-format
-#| msgid "Expired invitation for '${username}' deleted."
+#, python-brace-format
msgid "Expired invitation for '${username}' deleted."
-msgstr "O convite para \"${project_name}\" expirou e foi apagado."
+msgstr "O convite para \"${username}\" foi deletado."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nome de projeto inválido"
-#: warehouse/oidc/forms/_core.py:60
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "This project already exists, use the project's publishing settings here to create a Trusted Publisher for it."
+#: warehouse/oidc/forms/_core.py:64
+#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-"Esse projeto já existe, Use as configurações de projetos Aqui Para criar um Editor Confiável para ele."
+"Esse projeto já existe, Use as configurações de publicação do projetos aqui para criar um Editor Confiável para ele."
-#: warehouse/oidc/forms/_core.py:69
-#, fuzzy
-#| msgid "This project has no releases"
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
-msgstr "Este projeto não possui lançamentos"
+msgstr "Projeto já existente."
-#: warehouse/oidc/forms/_core.py:74
-#, fuzzy
-#| msgid "This project name is already in use"
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
-msgstr "Este nome de projeto já está em uso"
+msgstr "Este nome de projeto não é permitido"
-#: warehouse/oidc/forms/_core.py:78
-#, fuzzy
-#| msgid ""
-#| "The project name is too similar to an existing project and may be "
-#| "confusable."
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
-msgstr ""
-"O nome do projeto é muito semelhante a um projeto existente e pode ser "
-"confundido."
+msgstr "O nome do projeto é muito semelhante a um projeto existente."
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -848,25 +808,21 @@ msgstr ""
"Este nome de projeto não é permitido (conflitante com nome de módulo da "
"biblioteca padrão Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Especifique um ID de editor"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "O editor deve ser especificado pelo ID"
-#: warehouse/oidc/forms/_core.py:116
-#, fuzzy
-#| msgid "Specify project name"
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
-msgstr "Especifique o nome do projeto"
+msgstr "Especifique o nome do ambiente"
#: warehouse/oidc/forms/activestate.py:47
-#, fuzzy
-#| msgid "Null bytes are not allowed."
msgid "Double dashes are not allowed in the name"
-msgstr "Bytes nulos não são permitidos."
+msgstr "Não são permitidos traços duplos no nome."
#: warehouse/oidc/forms/activestate.py:54
msgid "Leading or trailing dashes are not allowed in the name"
@@ -874,137 +830,134 @@ msgstr "Barras não são permitidas no nome"
#: warehouse/oidc/forms/activestate.py:78
#: warehouse/oidc/forms/activestate.py:91
-#, fuzzy
-#| msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgid "Unexpected error from ActiveState. Try again in a few minutes"
-msgstr "Tempo limite inesperado do GitHub. Tente novamente em alguns minutos."
+msgstr "Erro inesperado do ActiveState. Tente novamente em alguns minutos."
#: warehouse/oidc/forms/activestate.py:86
#: warehouse/oidc/forms/activestate.py:102
#: warehouse/oidc/forms/activestate.py:111
-#, fuzzy
-#| msgid "Unexpected error from GitHub. Try again."
msgid "Unexpected error from ActiveState. Try again"
-msgstr "Erro inesperado do GitHub. Tente novamente."
+msgstr "Erro inesperado do ActiveState. Tente novamente."
#: warehouse/oidc/forms/activestate.py:121
-#, fuzzy
-#| msgid "Select an organization account name"
msgid "Specify ActiveState organization name"
-msgstr "Selecione um nome de conta da organização"
+msgstr "Especifique o nome da organização ActiveState"
#: warehouse/oidc/forms/activestate.py:129
-#, fuzzy
-#| msgid "Specify project name"
msgid "Specify ActiveState project name"
-msgstr "Especifique o nome do projeto"
+msgstr "Especifique o nome do projeto ActiveState"
#: warehouse/oidc/forms/activestate.py:133
-#, fuzzy
-#| msgid "Invalid project name"
msgid "Invalid ActiveState project name"
-msgstr "Nome de projeto inválido"
+msgstr "Nome de projeto ActiveState inválido"
#: warehouse/oidc/forms/activestate.py:156
-#, fuzzy
-#| msgid "Select an organization account name"
msgid "ActiveState organization not found"
-msgstr "Selecione um nome de conta da organização"
+msgstr "Organização ActiveState não foi encontrada"
#: warehouse/oidc/forms/activestate.py:176
msgid "ActiveState actor not found"
-msgstr ""
+msgstr "Ator ActiveState não encontrado"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "Proprietário do repositório GitHub ( nome ou equipe )"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Nome do repositório"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nome de repositório inválido"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Nome do arquivo de workflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Utilizador ou organização GitHub desconhecido."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "O GitHub limitou a taxa dessa ação. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Erro inesperado do GitHub. Tente novamente."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Erro de conexão inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Tempo limite inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nome de utilizador ou organização inválido do GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "O nome do fluxo de trabalho deve terminar com .yml ou .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"O nome do ficheiro de fluxo de trabalho deve ser apenas um nome de ficheiro, "
"sem diretórios"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr "Nome de Ambiente muito longo (máximo de 255 caracteres)"
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr "Nome de Ambiente não deve começar com espaço em branco"
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr "Nome de Ambiente não deve terminar com espaço em branco"
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+"Nome de Ambiente não deve conter caracteres não imprimiveis ou os caracteres "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+
#: warehouse/oidc/forms/gitlab.py:32
-#, fuzzy
-#| msgid "Workflow name must end with .yml or .yaml"
msgid "Name ends with .git or .atom"
-msgstr "O nome do fluxo de trabalho deve terminar com .yml ou .yaml"
+msgstr "O nome deve terminar com .git ou .atom"
#: warehouse/oidc/forms/gitlab.py:41
-#, fuzzy
-#| msgid "Specify GitHub repository owner (username or organization)"
msgid "Specify GitLab namespace (username or group/subgroup)"
-msgstr "Proprietário do repositório GitHub ( nome ou equipe )"
+msgstr ""
+"Especifique o namespace do GitLab (nome do utilizador ou grupo/subgrupo)"
#: warehouse/oidc/forms/gitlab.py:46 warehouse/oidc/forms/gitlab.py:50
-#, fuzzy
-#| msgid "Invalid GitHub user or organization name."
msgid "Invalid GitLab username or group/subgroup name."
-msgstr "Nome de utilizador ou organização inválido do GitHub."
+msgstr "Nome do utilizador ou nome do grupo/subgrupo GitLab inválido."
#: warehouse/oidc/forms/gitlab.py:72
-#, fuzzy
-#| msgid "Specify workflow filename"
msgid "Specify top-level pipeline file path"
-msgstr "Nome do arquivo de workflow"
+msgstr "Especifique o caminho do arquivo da pipeline"
#: warehouse/oidc/forms/gitlab.py:81
-#, fuzzy
-#| msgid "Invalid project name"
msgid "Invalid environment name"
-msgstr "Nome de projeto inválido"
+msgstr "Nome do ambiente inválido"
#: warehouse/oidc/forms/gitlab.py:96
-#, fuzzy
-#| msgid "Workflow name must end with .yml or .yaml"
msgid "Top-level pipeline file path must end with .yml or .yaml"
-msgstr "O nome do fluxo de trabalho deve terminar com .yml ou .yaml"
+msgstr "O caminho do arquivo da pipeline deve terminar com .yml ou .yaml"
#: warehouse/oidc/forms/gitlab.py:100
msgid "Top-level pipeline file path cannot start or end with /"
-msgstr ""
+msgstr "Caminho de arquivo pipeline não pode terminar ou começar em /"
#: warehouse/packaging/forms.py:27
msgid "Provide an Inspector link to specific lines of code."
@@ -1019,21 +972,16 @@ msgid "Copied"
msgstr "Copiado"
#: warehouse/static/js/warehouse/controllers/password_breach_controller.js:48
-#, fuzzy
msgid "Error while validating hashed password, disregard on development"
-msgstr "Error na validação da senha HASH, negligência no desenvolvimento."
+msgstr "Error na validação da senha HASH, negligência no desenvolvimento"
#: warehouse/static/js/warehouse/controllers/password_match_controller.js:32
-#, fuzzy
-#| msgid "Password"
msgid "Passwords match"
-msgstr "Palavra-passe"
+msgstr "Senhas combinam"
#: warehouse/static/js/warehouse/controllers/password_match_controller.js:36
-#, fuzzy
-#| msgid "Your passwords don't match. Try again."
msgid "Passwords do not match"
-msgstr "As suas palavras-passe não coincidem. Tente novamente."
+msgstr "As senhas não coincidem"
#: warehouse/static/js/warehouse/controllers/password_strength_gauge_controller.js:27
#: warehouse/templates/base.html:30
@@ -1041,18 +989,14 @@ msgid "Password field is empty"
msgstr "O campo da palavra-passe está em branco"
#: warehouse/static/js/warehouse/controllers/password_strength_gauge_controller.js:42
-#, fuzzy
-#| msgid "Password strength:"
msgid "Password is strong"
-msgstr "Força da palavra-passe:"
+msgstr "Senha forte"
#: warehouse/static/js/warehouse/utils/timeago.js:33
-#, fuzzy
-#| msgid "Register"
msgid "Yesterday"
msgid_plural "About %1 days ago"
-msgstr[0] "Registar"
-msgstr[1] "Registar"
+msgstr[0] "Ontem"
+msgstr[1] "Certa de %1 dias atrás"
#: warehouse/static/js/warehouse/utils/timeago.js:37
msgid "About an hour ago"
@@ -1486,10 +1430,8 @@ msgid "About PyPI navigation"
msgstr "Sobre a navegação PyPI"
#: warehouse/templates/base.html:291
-#, fuzzy
-#| msgid "PyPI home"
msgid "PyPI Blog"
-msgstr "Página inicial do PyPI"
+msgstr "Blog PyPI"
#: warehouse/templates/base.html:292
msgid "Infrastructure dashboard"
@@ -1546,10 +1488,8 @@ msgstr "Navegação em \"Utilização de PyPI\""
#: warehouse/templates/base.html:317
#: warehouse/templates/manage/organization/activate_subscription.html:33
-#, fuzzy
-#| msgid "Terms of use"
msgid "Terms of Service"
-msgstr "Termos de utilização"
+msgstr "Termos de Serviço"
#: warehouse/templates/base.html:318
msgid "Report security issue"
@@ -1560,10 +1500,8 @@ msgid "Code of conduct"
msgstr "Código de conduta"
#: warehouse/templates/base.html:320
-#, fuzzy
-#| msgid "Privacy policy"
msgid "Privacy Notice"
-msgstr "Política de privacidade"
+msgstr "Aviso de privacidade"
#: warehouse/templates/base.html:321
msgid "Acceptable Use Policy"
@@ -1828,10 +1766,10 @@ msgid ""
"you're done with your session. We won't ask you to confirm your password "
"again for the next hour."
msgstr ""
-"Dica: está prestes a realizar uma ação sensível"
-"a>. Se não estiver num computador pessoal, certifique-se de sair da sua "
-"sessão quando acabar de usá-la. Não solicitaremos que confirme a sua palavra-"
-"passe novamente pela próxima hora."
+"Dica: você está prestes a realizar uma ação "
+"sensível. Se não estiver num computador pessoal, certifique-se de fazer "
+"logout quando terminar a sua sessão. Não lhe pediremos para confirmar a sua "
+"senha novamente na próxima hora."
#: warehouse/templates/upload.html:25
msgid "This URL is an API endpoint for uploading files to PyPI."
@@ -1866,9 +1804,9 @@ msgid ""
"Would you like to accept this invitation to join '%(project_name)s' as a project %(role_name)s?"
msgstr ""
-"Gostaria de aceitar este convite para participar do \"%(project_name)s\" como um %(role_name)s do "
-"projeto?"
+"Gostaria de aceitar este convite para participar '%(project_name)s' como um projeto "
+"%(role_name)s ?"
#: warehouse/templates/accounts/invite-confirmation.html:40
#: warehouse/templates/accounts/organization-invite-confirmation.html:40
@@ -1886,12 +1824,13 @@ msgid "Decline"
msgstr "Rejeitar"
#: warehouse/templates/accounts/invite-confirmation.html:45
-#, fuzzy, python-format
-#| msgid "You have not enabled two factor authentication on your account."
+#, python-format
msgid ""
"You must first enable two-factor authentication on "
"your account before accepting an invitation to join a project."
-msgstr "Não ativou a autenticação de dois fatores na sua conta."
+msgstr ""
+"Você deve ativar a autenticação em dois fatores em "
+"sua conta antes de aceitar um convite para um projeto."
#: warehouse/templates/accounts/login.html:30
#, python-format
@@ -1942,16 +1881,17 @@ msgid ""
"Would you like to accept this invitation to join '%(organization_name)s' as "
"an organization %(role_name)s?"
msgstr ""
-"Gostaria de aceitar este convite para participar da organização "
-"\"%(organization_name)s\" como %(role_name)s?"
+"Você gostaria de aceitar este convite para se juntar a "
+"'%(organization_name)s' como um %(role_name)s do projeto?"
#: warehouse/templates/accounts/organization-invite-confirmation.html:45
-#, fuzzy, python-format
-#| msgid "You have not enabled two factor authentication on your account."
+#, python-format
msgid ""
"You must first enable two-factor authentication on "
"your account before accepting an invitation to join an organization."
-msgstr "Não ativou a autenticação de dois fatores na sua conta."
+msgstr ""
+"Você deve ativar a autenticação em dois fatores em "
+"sua conta antes de aceitar um convite para uma organização."
#: warehouse/templates/accounts/profile.html:16
#, python-format
@@ -2014,15 +1954,15 @@ msgstr "%(user)s ainda não enviou nenhum projeto para PyPI"
msgid "%(count)s archived project"
msgid_plural ""
"%(count)s archived projects"
-msgstr[0] "%(count)s projeto arquivado"
-msgstr[1] "%(count)s projetos arquivados"
+msgstr[0] ""
+"%(count)s projeto arquivado"
+msgstr[1] ""
+"%(count)s projetos arquivados"
#: warehouse/templates/accounts/profile.html:111
#: warehouse/templates/manage/projects.html:82
-#, fuzzy
-#| msgid "Search projects"
msgid "Archived"
-msgstr "Pesquisar por projetos"
+msgstr "Arquivado"
#: warehouse/templates/accounts/recovery-code.html:18
#: warehouse/templates/manage/manage_base.html:38
@@ -2133,6 +2073,8 @@ msgid ""
"By registering, you agree to the PyPI Terms of Service"
"a>."
msgstr ""
+"Por se registrar, você concorda com osTermos de serviço "
+"da PyPI."
#: warehouse/templates/accounts/register.html:69
#: warehouse/templates/manage/account.html:139
@@ -2219,12 +2161,12 @@ msgid "Reset email sent"
msgstr "O e-mail de redefinição foi enviado"
#: warehouse/templates/accounts/request-password-reset.html:51
-#, 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."
-msgstr "Um e-mail foi enviado ao seu endereço de e-mail registado."
+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."
#: warehouse/templates/accounts/request-password-reset.html:52
#, python-format
@@ -2460,11 +2402,12 @@ msgid ""
"error. We recommend removing the API token and only using the Trusted "
"Publisher to publish."
msgstr ""
-"Um token API pertencente ao usuário%(token_owner_username)s foi utilizado para enviar arquivos ao projeto "
-"%(project_name)s, mesmo o projeto possuindo "
-"um Editor Confiável configurado. Isto pode ter sido um erro. Recomendamos a "
-"remoção to token API e o uso exclusivo do Editor Confiável para publicar."
+"Um token API pertencente ao usuário%(token_owner_username)s foi utilizado para "
+"enviar arquivos ao projeto %(project_name)s"
+"a>, mesmo o projeto possuindo um Editor Confiável configurado. Isto pode ter "
+"sido um erro. Recomendamos a remoção to token API e o uso exclusivo do "
+"Editor Confiável para publicar."
#: warehouse/templates/email/api-token-used-in-trusted-publisher-project/body.html:33
#, python-format
@@ -2473,23 +2416,19 @@ msgid ""
"href=\"%(href)s#api-tokens\">API tokens configuration and deleting the "
"token named %(token_name)s."
msgstr ""
-"Se você é o dono deste token, você pode deleta-lo indo para as Configurações de tokens API , e deletando o "
-"token de nome %(token_name)s."
+"Se você é o dono deste token, você pode deleta-lo indo para as Configurações de tokens API , e deletando "
+"o token de nome %(token_name)s."
#: warehouse/templates/email/api-token-used-in-trusted-publisher-project/body.html:40
-#, fuzzy, python-format
-#| msgid ""
-#| "If you did not make this change, you can email %(email_address)s to communicate with the PyPI "
-#| "administrators."
+#, python-format
msgid ""
"If you believe this was done in error, you can email %(email_address)s to communicate with the PyPI "
"administrators."
msgstr ""
-"Se não fez essa alteração, pode enviar um e-mail %(email_address)s para comunicar com os "
+"Se você acredita que isso é um erro, pode enviar um e-mail %(email_address)s para se comunicar com os "
"administradores do PyPI."
#: warehouse/templates/email/canceled-as-invited-organization-member/body.html:19
@@ -2527,18 +2466,14 @@ msgstr ""
"sua conta."
#: warehouse/templates/email/new-email-added/body.html:19
-#, fuzzy, python-format
-#| msgid ""
-#| "If you did not make this change, you can email %(email_address)s to communicate with the PyPI "
-#| "administrators."
+#, python-format
msgid ""
"If you did not make this change, you can email %(new_email_address)s to communicate with the PyPI "
"administrators."
msgstr ""
"Se não fez essa alteração, pode enviar um e-mail %(email_address)s para comunicar com os "
+"href=\"%(href)s\">%(new_email_address)s para se comunicar com os "
"administradores do PyPI."
#: warehouse/templates/email/new-organization-approved/body.html:17
@@ -2836,8 +2771,8 @@ msgid ""
"For more information, you can email %(email_address)s to communicate with "
"the PyPI administrators."
msgstr ""
-"Para mais informações, pode enviar um e-mail para %(email_address)s para se "
-"comunicar com administradores do PyPI."
+"Para mais informações, você pode enviar um e-mail para %(email_address)s e "
+"se comunicar com administradores do PyPI."
#: warehouse/templates/email/password-compromised-hibp/body.html:20
msgid ""
@@ -3229,10 +3164,8 @@ msgstr ""
"aceitar ou recusar este convite."
#: warehouse/templates/email/verify-organization-role/body.html:26
-#, fuzzy
-#| msgid "If you did not make this request, you can safely ignore this email."
msgid "Otherwise, you can safely ignore this email."
-msgstr "Se não fez esse pedido, pode ignorar este e-mail com segurança."
+msgstr "Caso contrário, pode ignorar este e-mail com segurança."
#: warehouse/templates/email/verify-organization-role/body.html:30
#, python-format
@@ -3301,10 +3234,8 @@ msgid "Public profile"
msgstr "Perfil público"
#: warehouse/templates/includes/file-details.html:34
-#, fuzzy
-#| msgid "Account details"
msgid "File details"
-msgstr "Detalhes da conta"
+msgstr "Detalhes do arquivo"
#: warehouse/templates/includes/file-details.html:45
#, python-format
@@ -3312,10 +3243,9 @@ msgid "Upload date: %(upload_time)s"
msgstr "Data de envio: %(upload_time)s"
#: warehouse/templates/includes/file-details.html:46
-#, fuzzy, python-format
-#| msgid "Expires: %(exp)s"
+#, python-format
msgid "Size: %(size)s"
-msgstr "Expira: %(exp)s"
+msgstr "Tamanho: %(size)s"
#: warehouse/templates/includes/file-details.html:47
#, python-format
@@ -3369,16 +3299,13 @@ msgid "Copy"
msgstr "Copiar"
#: warehouse/templates/includes/file-details.html:101
-#, fuzzy, python-format
-#| msgid ""
-#| "Hashes for %(filename)s"
+#, python-format
msgid ""
"See more details on using hashes here."
msgstr ""
"Hashes para %(filename)s"
+"rel=\"noopener\">Veja mais detalhes sobre o uso de HASHES aqui."
#: warehouse/templates/includes/flash-messages.html:19
msgid "Error"
@@ -3537,22 +3464,18 @@ msgid "Members"
msgstr "Membros"
#: warehouse/templates/includes/packaging/project-data.html:17
-#, fuzzy
-#| msgid "Verified"
msgid "Verified details"
-msgstr "Verificado"
+msgstr "Detalhes verificaddos"
#: warehouse/templates/includes/packaging/project-data.html:18
-#, fuzzy, python-format
-#| msgid "Released: %(release_date)s"
+#, python-format
msgid "Verified by PyPI on %(release_date)s"
-msgstr "Lançado em: %(release_date)s"
+msgstr "Verificado pela PyPI em: %(release_date)s"
#: warehouse/templates/includes/packaging/project-data.html:21
-#, fuzzy, python-format
-#| msgid "Filter by classifier"
+#, python-format
msgid "These details have been verified by PyPI"
-msgstr "Filtrar por classificador"
+msgstr "FEstes detalhes foram verificados pela PyPI"
#: warehouse/templates/includes/packaging/project-data.html:23
#: warehouse/templates/includes/packaging/project-data.html:184
@@ -3560,10 +3483,8 @@ msgid "Project links"
msgstr "Ligações do projeto"
#: warehouse/templates/includes/packaging/project-data.html:50
-#, fuzzy
-#| msgid "GitHub statistics:"
msgid "GitHub Statistics"
-msgstr "Estatísticas do GitHub:"
+msgstr "Estatísticas do GitHub"
#: warehouse/templates/includes/packaging/project-data.html:56
#: warehouse/templates/includes/packaging/project-data.html:102
@@ -3590,10 +3511,8 @@ msgid "Open PRs:"
msgstr "Abrir PRs:"
#: warehouse/templates/includes/packaging/project-data.html:96
-#, fuzzy
-#| msgid "GitHub statistics:"
msgid "GitLab Statistics"
-msgstr "Estatísticas do GitHub:"
+msgstr "Estatísticas do GitHub"
#: warehouse/templates/includes/packaging/project-data.html:133
msgid "Open merge requests:"
@@ -3627,10 +3546,8 @@ msgid "Maintainer:"
msgstr "Mantenedor:"
#: warehouse/templates/includes/packaging/project-data.html:181
-#, fuzzy
-#| msgid "Unverified"
msgid "Unverified details"
-msgstr "Não verificado"
+msgstr "Detalhes não verificados"
#: warehouse/templates/includes/packaging/project-data.html:182
msgid "These details have not been verified by PyPI"
@@ -3657,9 +3574,8 @@ msgid "Requires:"
msgstr "Requer:"
#: warehouse/templates/includes/packaging/project-data.html:271
-#, fuzzy
msgid "Provides-Extra:"
-msgstr "Fornece-Extra"
+msgstr "Fornece-Extra:"
#: warehouse/templates/includes/packaging/project-data.html:281
#: warehouse/templates/pages/classifiers.html:16
@@ -4068,7 +3984,7 @@ msgstr "- Autenticação básica (endpoint de upload)"
#: warehouse/templates/manage/unverified-account.html:287
#: warehouse/templates/manage/unverified-account.html:306
msgid "Reason:"
-msgstr "Motivo:"
+msgstr "Razão:"
#: warehouse/templates/manage/account.html:566
#: warehouse/templates/manage/account.html:585
@@ -4180,10 +4096,8 @@ msgid "Password successfully changed"
msgstr "Palavra-passe alterada com sucesso"
#: warehouse/templates/manage/account.html:633
-#, fuzzy
-#| msgid "Password reset"
msgid "Password disabled"
-msgstr "Redefinir a palavra-passe"
+msgstr "Senha desativada"
#: warehouse/templates/manage/account.html:637
#: warehouse/templates/manage/account.html:642
@@ -4292,10 +4206,9 @@ msgstr "Motivo: Token encontrado em url pública"
#: warehouse/templates/manage/account.html:719
#: warehouse/templates/manage/unverified-account.html:438
-#, fuzzy, python-format
-#| msgid "See %(anchor_text)s"
+#, python-format
msgid "Invited to join %(organization_name)s"
-msgstr "Veja %(anchor_text)s"
+msgstr "Convidado a se juntar a %(organization_name)s"
#: warehouse/templates/manage/account.html:723
#: warehouse/templates/manage/unverified-account.html:442
@@ -4317,54 +4230,45 @@ msgstr ""
#: warehouse/templates/manage/account.html:731
#: warehouse/templates/manage/unverified-account.html:450
-#, fuzzy, python-format
-#| msgid ""
-#| "%(username)s removed as project %(role_name)s"
+#, python-format
msgid ""
"Invitation to join %(organization_name)s expired"
msgstr ""
-"%(username)s removido como %(role_name)s do projeto"
+"Convite para se juntar a %(organization_name)s "
+"expirado"
#: warehouse/templates/manage/account.html:737
-#, fuzzy, python-format
-#| msgid "See %(anchor_text)s"
+#, python-format
msgid "Role in %(organization_name)s added"
-msgstr "Veja %(anchor_text)s"
+msgstr "Função na %(organization_name)s adicionado"
#: warehouse/templates/manage/account.html:741
-#, fuzzy, python-format
-#| msgid ""
-#| "Invitation to join %(organization_name)s declined"
+#, python-format
msgid "Role in %(organization_name)s changed"
-msgstr ""
-"Convite para participar %(organization_name)s "
-"recusado"
+msgstr "Função na %(organization_name)s alterado"
#: warehouse/templates/manage/account.html:744
-#, fuzzy
-#| msgid "Project description"
msgid "Organization role removed"
-msgstr "Descrição do projeto"
+msgstr "Função da organização removido"
#: warehouse/templates/manage/account.html:746
#: warehouse/templates/manage/account.html:754
-#, fuzzy, python-format
-#| msgid "All %(project_name)s releases"
+#, python-format
msgid "Project: %(project_name)s; role: %(role_name)s"
-msgstr "Todos os lançamentos de %(project_name)s"
+msgstr "Projeto: %(project_name)s; função:%(role_name)s"
#: warehouse/templates/manage/account.html:752
#: warehouse/templates/manage/account.html:760
-#, fuzzy, python-format
+#, python-format
msgid "%(heading)s"
msgstr "%(heading)s"
#: warehouse/templates/manage/account.html:762
-#, fuzzy, python-format
-#| msgid "Manage '%(project_name)s'"
+#, python-format
msgid ""
"Organization: %(organization_name)s; team: %(team_name)s; role: %(role_name)s"
-msgstr "Gerir \"%(project_name)s\""
+msgstr ""
+"Organização: %(organization_name)s; time:%(team_name)s; função: %(role_name)s"
#: warehouse/templates/manage/account.html:773
#: warehouse/templates/manage/unverified-account.html:459
@@ -4425,10 +4329,8 @@ msgstr "Informações de Localização"
#: warehouse/templates/manage/project/history.html:380
#: warehouse/templates/manage/team/history.html:124
#: warehouse/templates/manage/unverified-account.html:481
-#, fuzzy
-#| msgid "Device name"
msgid "Device Info"
-msgstr "Nome do aparelho"
+msgstr "Informações do aparelho"
#: warehouse/templates/manage/account.html:803
#: warehouse/templates/manage/unverified-account.html:489
@@ -4455,10 +4357,10 @@ msgid_plural ""
"Your account is currently the sole owner of %(count)s "
"projects."
msgstr[0] ""
-"A sua conta é atualmente a única proprietária de %(count)s "
+"A sua conta é atualmente a única proprietária do %(count)s "
"projeto."
msgstr[1] ""
-"A sua conta é atualmente a única proprietária de %(count)s "
+"A sua conta é atualmente a única proprietária dos %(count)s "
"projetos."
#: warehouse/templates/manage/account.html:820
@@ -4469,11 +4371,11 @@ msgid_plural ""
"You must transfer ownership or delete these projects before you can delete "
"your account."
msgstr[0] ""
-"Tem que transferir a propriedade ou apagar este projeto antes que possa "
-"apagar a sua conta."
+"Você precisa transferir a propriedade ou excluir este projeto antes de poder "
+"excluir sua conta."
msgstr[1] ""
-"Tem que transferir a propriedade ou apagar estes projetos antes que possa "
-"apagar a sua conta."
+"Você precisa transferir a propriedade ou excluir estes projetos antes de "
+"poder excluir sua conta."
#: warehouse/templates/manage/account.html:830
#, python-format
@@ -4521,19 +4423,16 @@ msgid "Two factor authentication (2FA)"
msgstr "Autenticação de dois fatores (2FA)"
#: warehouse/templates/manage/manage_base.html:25
-#, fuzzy, python-format
-#| msgid ""
-#| "Two factor authentication adds an additional layer of security to your "
-#| "account. Learn more about 2FA."
+#, python-format
msgid ""
"Two factor authentication adds an additional layer of security to your "
"account. Learn more about 2FA. Once 2FA is enabled, it cannot be disabled."
msgstr ""
"A autenticação de dois fatores adiciona uma camada adicional de segurança à "
-"sua conta. Saiba mais sobre 2FA."
+"sua conta. Saiba mais sobre 2FA. Uma vez que a 2FA esteja ativada, ela não "
+"pode ser desativada."
#: warehouse/templates/manage/manage_base.html:29
msgid "Recovery methods enabled"
@@ -4573,10 +4472,8 @@ msgstr ""
#: warehouse/templates/manage/manage_base.html:76
#: warehouse/templates/manage/manage_base.html:96
-#, fuzzy
-#| msgid "Cannot remove yourself as owner"
msgid "Cannot remove last 2FA method"
-msgstr "Não é possível remover a si próprio como proprietário"
+msgstr "Não é possível remover o último método de 2FA"
#: warehouse/templates/manage/manage_base.html:77
#: warehouse/templates/manage/manage_base.html:80
@@ -4680,16 +4577,12 @@ msgid "You have not enabled two factor authentication on your account."
msgstr "Não ativou a autenticação de dois fatores na sua conta."
#: warehouse/templates/manage/manage_base.html:191
-#, fuzzy
-#| msgid ""
-#| "To set up 2FA with an "
-#| "authentication application:"
msgid ""
"Add 2FA with authentication "
"application"
msgstr ""
-"Para configurar o 2FA "
-"com uma aplicação de autenticação:"
+"Adicione 2FA com "
+"autenticação de aplicação"
#: warehouse/templates/manage/manage_base.html:196
msgid ""
@@ -4768,50 +4661,34 @@ msgid "Enter your password to continue."
msgstr "Insira sua palavra-passe para continuar."
#: warehouse/templates/manage/manage_base.html:488
-#, fuzzy
-#| msgid "OpenID Connect publisher management"
msgid "Trusted Publisher Management"
-msgstr "Gestão de editores do OpenID Connect"
+msgstr "Gestão de Editor Confiável"
#: warehouse/templates/manage/manage_base.html:493
-#, fuzzy
-#| msgid ""
-#| "OpenID Connect provides a flexible, credential-free mechanism for "
-#| "delegating publishing authority for a PyPI package to a third party "
-#| "service, like GitHub Actions."
msgid ""
"OpenID Connect (OIDC) provides a flexible, credential-free mechanism for "
"delegating publishing authority for a PyPI package to a trusted third party "
"service, like GitHub Actions."
msgstr ""
-"O OpenID Connect fornece um mecanismo flexível e sem credenciais para "
-"delegar autoridade de publicação de um pacote PyPI a um serviço de "
-"terceiros, como o GitHub Actions."
+"O OpenID Connect (OIDC) fornece um mecanismo flexível e sem credenciais para "
+"delegar autoridade de publicação de um pacote PyPI a um serviço de terceiros "
+"confiável, como o GitHub Actions."
#: warehouse/templates/manage/manage_base.html:501
-#, fuzzy
-#| msgid ""
-#| "PyPI projects can use trusted OpenID Connect publishers to automate their "
-#| "release processes, without having to explicitly provision or manage API "
-#| "tokens."
msgid ""
"PyPI users and projects can use trusted publishers to automate their release "
"processes, without needing to use API tokens or passwords."
msgstr ""
-"Os projetos PyPI podem usar editores confiáveis do OpenID Connect para "
-"automatizar os seus processos de lançamento, sem precisar provisionar ou "
-"gerir explicitamente os tokens de API."
+"Os projetos e usuários PyPI podem usar editores confiáveis para automatizar "
+"os seus processos de lançamento, sem precisar usar tokens de API ou senhas."
#: warehouse/templates/manage/manage_base.html:508
-#, fuzzy, python-format
-#| msgid ""
-#| "Read more about GitHub's OpenID Connect provider here."
+#, python-format
msgid ""
"You can read more about trusted publishers and how to use them here."
msgstr ""
-"Leia mais sobre o provedor de OpenID Connect do GitHub aqui."
#: warehouse/templates/manage/manage_base.html:546
@@ -4845,37 +4722,27 @@ msgid "Removed by:"
msgstr "Removido por:"
#: warehouse/templates/manage/manage_base.html:586
-#, fuzzy
-#| msgid "Invite"
msgid "Submitted by:"
-msgstr "Convidar"
+msgstr "Enviado por:"
#: warehouse/templates/manage/manage_base.html:589
#: warehouse/templates/manage/project/history.html:247
-#, fuzzy
-#| msgid "Workflow name"
msgid "Workflow:"
-msgstr "Nome do fluxo de trabalho"
+msgstr "Fluxo de trabalho:"
#: warehouse/templates/manage/manage_base.html:591
-#, fuzzy
-#| msgid "Verify application"
msgid "Specifier:"
-msgstr "Verificar aplicação"
+msgstr "Especificador:"
#: warehouse/templates/manage/manage_base.html:594
-#, fuzzy
-#| msgid "Username"
msgid "Publisher:"
-msgstr "Nome de utilizador"
+msgstr "Publicador:"
#: warehouse/templates/manage/manage_base.html:596
#: warehouse/templates/manage/project/history.html:52
#: warehouse/templates/manage/project/history.html:106
-#, fuzzy
-#| msgid "Old URL:"
msgid "URL:"
-msgstr "URL antiga:"
+msgstr "URL:"
#: warehouse/templates/manage/organizations.html:23
#: warehouse/templates/manage/projects.html:23
@@ -4908,10 +4775,9 @@ msgstr "Nome da organização"
#: warehouse/templates/manage/organizations.html:76
#: warehouse/templates/manage/organizations.html:157
-#, fuzzy, python-format
-#| msgid "️Organization type"
+#, python-format
msgid "Organization Type: %(org_type)s"
-msgstr "Tipo da organização"
+msgstr "Tipo de organização: %(org_type)s"
#: warehouse/templates/manage/organizations.html:76
#: warehouse/templates/manage/organizations.html:157
@@ -4974,10 +4840,8 @@ msgid "Billing Manager"
msgstr "Gerente de faturamento"
#: warehouse/templates/manage/organizations.html:102
-#, fuzzy
-#| msgid "Create an account"
msgid "View this organization"
-msgstr "Criar uma conta"
+msgstr "Ver essa organização"
#: warehouse/templates/manage/organization/projects.html:79
#: warehouse/templates/manage/organization/projects.html:82
@@ -4995,7 +4859,7 @@ msgstr "Ver"
#, fuzzy
#| msgid "Create an account"
msgid "Activate billing for this organization"
-msgstr "Criar uma conta"
+msgstr "Ativar contas para essa organização"
#: warehouse/templates/manage/organizations.html:109
msgid "Activate Billing"
@@ -5010,10 +4874,8 @@ msgid "You have not joined any organizations on PyPI, yet."
msgstr "Ainda não ingressou em nenhuma organização no PyPI."
#: warehouse/templates/manage/organizations.html:140
-#, fuzzy
-#| msgid "Create an account"
msgid "Pending organization requests"
-msgstr "Criar uma conta"
+msgstr "Pedidos da organização pendentes"
#: warehouse/templates/manage/organizations.html:145
msgid ""
@@ -5024,17 +4886,14 @@ msgstr ""
"os termos de serviço e pagamento são finalizados."
#: warehouse/templates/manage/organizations.html:161
-#, fuzzy, python-format
-#| msgid "Invite"
+#, python-format
msgid "Submitted %(submitted)s"
-msgstr "Convidar"
+msgstr "Enviado %(submitted)s"
#: warehouse/templates/manage/organizations.html:178
#: warehouse/templates/manage/organizations.html:329
-#, fuzzy
-#| msgid "Create new organization"
msgid "Request a new organization"
-msgstr "Criar nova organização"
+msgstr "Solicite uma nova organização"
#: warehouse/templates/manage/organization/settings.html:29
#: warehouse/templates/manage/organizations.html:185
@@ -5060,10 +4919,8 @@ msgstr "Por exemplo"
#: warehouse/templates/manage/organization/settings.html:48
#: warehouse/templates/manage/organizations.html:216
-#, fuzzy
-#| msgid "Project description"
msgid "Organization display name"
-msgstr "Descrição do projeto"
+msgstr "Nome de exibição do projeto"
#: warehouse/templates/manage/organization/settings.html:55
#: warehouse/templates/manage/organizations.html:222
@@ -5119,20 +4976,12 @@ msgstr ""
"autenticação na sua conta antes de solicitar uma organização."
#: warehouse/templates/manage/organizations.html:331
-#, fuzzy
-#| msgid ""
-#| "Your request for a new PyPI organization named '%(organization_name)s' "
-#| "has been submitted."
msgid "Your request(s) for a new PyPI organization(s) have been submitted."
-msgstr ""
-"A sua solicitação para uma nova organização PyPI chamada "
-"\"%(organization_name)s\" foi enviada."
+msgstr "A sua solicitação para uma nova organização PyPI foi enviada."
#: warehouse/templates/manage/organizations.html:334
-#, fuzzy
-#| msgid "You will receive an email when the organization has been approved"
msgid "You will receive an email when each organization has been approved"
-msgstr "Vai receber um e-mail quando a organização tiver sido aprovada"
+msgstr "Vai receber um e-mail quando cada organização tiver sido aprovada"
#: warehouse/templates/manage/organizations.html:334
#: warehouse/templates/manage/project/roles.html:146
@@ -5183,22 +5032,16 @@ msgstr ""
"para Empacotamento de Python"
#: warehouse/templates/manage/unverified-account.html:17
-#, fuzzy
-#| msgid "Delete your PyPI account"
msgid "Activate your account"
-msgstr "Apagar a sua conta no PyPI"
+msgstr "Ative sua conta"
#: warehouse/templates/manage/unverified-account.html:197
-#, fuzzy
-#| msgid ""
-#| "You must verify your **primary** email address before you can perform "
-#| "this action."
msgid ""
"You must verify a primary email address before making any other changes to "
"your account."
msgstr ""
-"Você precisa verificar o seu endereço de email **principal** antes de "
-"realizar esta ação."
+"Você precisa verificar o seu endereço de email principal antes de realizar "
+"qualquer outra alteração em sua conta."
#: warehouse/templates/manage/unverified-account.html:203
#, python-format
@@ -5206,27 +5049,18 @@ msgid ""
"If you cannot verify a primary email address, please see %(help_url)s."
msgstr ""
-"Se você não pode verificar seu email principal, consulte %(help_url)s."
+"Se você não pode verificar seu email principal, consulte %(help_url)s."
#: warehouse/templates/manage/unverified-account.html:213
-#, fuzzy
-#| msgid ""
-#| "You can associate several emails with your account. You can use any Verified email to recover your account, but "
-#| "only your Primary email will receive "
-#| "notifications."
msgid ""
"You must have at least one Verified email "
"address to activate your account."
msgstr ""
-"Pode associar vários e-mails à sua conta. Pode usar qualquer classe e-mail "
-" Verificado para recuperar a sua conta, mas "
-"apenas o seu e-mail principal receberá "
-"notificações."
+"Você deve ter ao menos um email Verificado para ativar "
+"sua conta."
#: warehouse/templates/manage/account/publishing.html:27
#: warehouse/templates/manage/project/publishing.html:33
@@ -5308,17 +5142,15 @@ msgid ""
"The filename of the publishing workflow. This file should exist in the "
".github/workflows/
directory in the repository configured above."
msgstr ""
-"O nome de arquivo do fluxo de trabalho. Este arquivo deve existir no "
-".github/workflows/
diretório no repositório configurado acima."
+"O nome de arquivo do fluxo de trabalho. Este arquivo deve existir no ."
+"github/workflows/
diretório no repositório configurado acima."
#: warehouse/templates/manage/account/publishing.html:110
#: warehouse/templates/manage/account/publishing.html:217
#: warehouse/templates/manage/project/publishing.html:101
#: warehouse/templates/manage/project/publishing.html:194
-#, fuzzy
-#| msgid "Invalid project name"
msgid "Environment name"
-msgstr "Nome de projeto inválido"
+msgstr "Nome de Ambiente"
#: warehouse/templates/manage/account/publishing.html:114
#: warehouse/templates/manage/account/publishing.html:221
@@ -5326,10 +5158,8 @@ msgstr "Nome de projeto inválido"
#: warehouse/templates/manage/project/publishing.html:105
#: warehouse/templates/manage/project/publishing.html:198
#: warehouse/templates/manage/project/publishing.html:256
-#, fuzzy
-#| msgid "Reason (optional)"
msgid "(optional)"
-msgstr "Motivo (opcional)"
+msgstr "(opcional)"
#: warehouse/templates/manage/account/publishing.html:124
#: warehouse/templates/manage/project/publishing.html:115
@@ -5342,6 +5172,12 @@ msgid ""
"strong> if your repository has maintainers with commit access who shouldn't "
"have PyPI publishing access."
msgstr ""
+"O nome do Ambiente Github Actions que o fluxo de "
+"trabalho acima usa para publicação. Isso deve ser configurado sobe as "
+"configurações do repositorio. Enquanto não exigido, um ambiente de "
+"publicação dedicado é fortemente encorajado, "
+"especialmente se seu repositorio possuem mantenedores com "
+"permissão de commit mas não devem possuir permissão de publicações no PyPL"
#: warehouse/templates/manage/account/publishing.html:139
#: warehouse/templates/manage/account/publishing.html:241
@@ -5431,11 +5267,15 @@ msgstr ".gitlab-ci.yml"
#: warehouse/templates/manage/account/publishing.html:209
#: warehouse/templates/manage/project/publishing.html:186
+#, fuzzy
msgid ""
"The file path of the top-level pipeline, relative to the project's root. "
"This file should exist in the project configured above (external pipelines "
"are not supported)."
msgstr ""
+"O caminho de arquivo da pipeline de alto nível, relativa a raiz do projeto. "
+"Este arquivo deve existir no projeto configurado abaixo (pipelines externas "
+"não são suportadas)."
#: warehouse/templates/manage/account/publishing.html:224
#: warehouse/templates/manage/project/publishing.html:109
@@ -5454,6 +5294,12 @@ msgid ""
"project has maintainers with commit access who shouldn't have PyPI "
"publishing access."
msgstr ""
+"O nome do Ambiente GitLab que o fluxo de trabalho "
+"acima usa para publicação. Isso deve ser configurado sobe as configurações "
+"do repositorio. Enquanto não exigido, um ambiente de publicação dedicado é "
+"fortemente encorajado, especialmente se "
+"seu repositorio possuem mantenedores com permissão de commit mas não devem "
+"possuir permissão de publicações no PyPL."
#: warehouse/templates/manage/account/publishing.html:248
#: warehouse/templates/manage/project/publishing.html:226
@@ -5502,6 +5348,9 @@ msgid ""
"request. While not required, providing the subject further restricts the "
"identity used for publishing. More details here."
msgstr ""
+"O objeto é o ID numérico que representa a agente principal do pedido. "
+"Enquanto não exigido, fornecer o ID númerico restringe a identidade usada "
+"para publicação. Mais detalhes aqui."
#: warehouse/templates/manage/account/publishing.html:319
#: warehouse/templates/manage/project/publishing.html:283
@@ -5643,6 +5492,12 @@ msgid ""
"more about \"pending\" and ordinary trusted publishers here."
msgstr ""
+"Esses publicadores comportam-se de forma similar a Editores Confiáveis "
+"registrados em projetos especificos, exceto que eles permitem usuários a "
+"criar o projeto se ele não existe. Uma vez o projeto "
+"criado, o publicador \"pendente\" se torna um Editor Confiável comum. Você "
+"pode ler mais sobre \"pendência\" e Editores Confiáveis comuns aqui."
#: warehouse/templates/manage/account/publishing.html:512
msgid ""
@@ -6232,8 +6087,8 @@ msgid ""
"%(team_name)s team added as project %(role_name)s for %(project_name)s"
msgstr ""
-"%(team_name)s time adicionado como projeto%(role_name)s para %(project_name)s"
+"%(team_name)s time adicionado como projeto%(role_name)s para %(project_name)s"
#: warehouse/templates/manage/organization/history.html:106
#: warehouse/templates/manage/team/history.html:45
@@ -6242,8 +6097,8 @@ msgid ""
"%(team_name)s team removed as project %(role_name)s for %(project_name)s"
msgstr ""
-"%(team_name)s time removido como projeto %(role_name)s para %(project_name)s"
+"%(team_name)s time removido como projeto %(role_name)s para %(project_name)s"
#: warehouse/templates/manage/organization/history.html:110
#: warehouse/templates/manage/team/history.html:49
@@ -6252,8 +6107,8 @@ msgid ""
"%(team_name)s team changed to project %(role_name)s for %(project_name)s"
msgstr ""
-"%(team_name)s time alterado para projeto %(role_name)s para %(project_name)s"
+"%(team_name)s time alterado para projeto %(role_name)s para %(project_name)s"
#: warehouse/templates/manage/organization/history.html:117
#: warehouse/templates/manage/team/history.html:56
@@ -6854,11 +6709,13 @@ msgid "You will lose access to the billing portal."
msgstr "Você perdera acesso ao portal de pagamento."
#: warehouse/templates/manage/organization/settings.html:292
-#, python-format
+#, fuzzy, python-format
msgid ""
"Please ensure you have retrieved all invoices from your billing portal before proceeding."
msgstr ""
+"Por favor verifique se você recebeu todas as mensagens de seu portal de cobrança antes de prosseguir."
#: warehouse/templates/manage/organization/teams.html:17
msgid "Organization teams"
@@ -7255,6 +7112,9 @@ msgid ""
"identity which is used for publishing. More details "
"here."
msgstr ""
+"O objeto é o ID numérico que representa a agente principal do pedido. "
+"Enquanto não exigido, fornecer o ID númerico restringe a identidade usada "
+"para publicação. Mais detalhes aqui."
#: warehouse/templates/manage/project/publishing.html:376
#, fuzzy
@@ -7283,8 +7143,9 @@ msgid "Constrain environment"
msgstr "Nome de projeto inválido"
#: warehouse/templates/manage/project/publishing.html:455
+#, fuzzy
msgid "This will restrict the Trusted Publisher's environment to"
-msgstr ""
+msgstr "Isto restringirá o ambiente do Editor Confiável a"
#: warehouse/templates/manage/project/publishing.html:459
#, python-format
@@ -7293,13 +7154,22 @@ msgid ""
"either change them all to '%(constrained_environment_name)s' or register "
"each as a Trusted Publisher."
msgstr ""
+"Se você atualmente use múltiplos ambientes em seu fluxo de trabalho CI/CD, "
+"você deve alterá-los para %(constrained_environment_name)s or registrar cada "
+"um deles como um Editor Confiável."
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
+"Entendo que este Editor Confiável permite apenas envios de fluxos de "
+"trabalho CI/CD executados no ambiente %(constrained_environment_name)s."
#: warehouse/templates/manage/project/publishing.html:471
#, fuzzy
@@ -7380,6 +7250,8 @@ msgid ""
"I understand that my users will no longer be able to install this file for "
"this release of this project."
msgstr ""
+"Entendo que meus usuários não serão mais capazes de instalar este arquivo "
+"para esta versão do projeto."
#: warehouse/templates/manage/project/release.html:115
#, python-format
@@ -7388,17 +7260,21 @@ msgid ""
"rel=\"noopener\">not be able to re-upload a file using the same file name"
"a> %(filename)s."
msgstr ""
+"Entendo que não serei "
+"capaz de re-enviar arquivos de mesmo nome %(filename)s."
#: warehouse/templates/manage/project/release.html:116
#: warehouse/templates/manage/project/release.html:199
msgid "I understand that I will not be able to undo this."
-msgstr ""
+msgstr "Entendo que não serei capaz de desfazer esta ação."
#: warehouse/templates/manage/project/release.html:117
#: warehouse/templates/manage/project/release.html:200
msgid ""
"I understand that the PyPI administrators will not be able to undo this."
msgstr ""
+"Entendo que os administradores da PyPI não serão capazes de desfazer esta "
+"ação."
#: warehouse/templates/manage/project/release.html:133
msgid "Uploading new files"
@@ -7619,12 +7495,16 @@ msgid ""
"I understand that I am permanently deleting all files for the "
"%(release_version)s release of this project."
msgstr ""
+"Entendo que estou deletando permanente todos os arquivos para a versão "
+"%(release_version)s deste projeto."
#: warehouse/templates/manage/project/release.html:197
msgid ""
"I understand that my users will no longer be able to install this release of "
"this project."
msgstr ""
+"Entendo que meus usuários não serão mais capazes de instalar esta versão do "
+"projeto."
#: warehouse/templates/manage/project/release.html:198
#, python-format
@@ -7633,6 +7513,9 @@ msgid ""
"rel=\"noopener\">not be able to re-upload any deleted files using the same "
"file names."
msgstr ""
+"Entendo que não "
+"serei mais capaz de re-enviar quaisquer arquivos excluídos usando os mesmos "
+"nomes."
#: warehouse/templates/manage/project/releases.html:20
#, python-format
@@ -7831,7 +7714,7 @@ msgstr "️Equipa ou membro?"
#: warehouse/templates/manage/project/roles.html:264
msgid "Add a team or an individual member as a collaborator."
-msgstr ""
+msgstr "Adicionar time ou membro individual como colaborador."
#: warehouse/templates/manage/project/roles.html:272
msgid "️Name of team"
@@ -7842,10 +7725,8 @@ msgid "There are no teams in the organization."
msgstr "Não há equipas na organização."
#: warehouse/templates/manage/project/roles.html:348
-#, fuzzy
-#| msgid "Invite collaborator"
msgid "Invite external collaborator"
-msgstr "Convidar colaborador"
+msgstr "Convidar colaborador externo"
#: warehouse/templates/manage/project/roles.html:350
msgid "Invite collaborator"
@@ -7954,10 +7835,13 @@ msgstr "Agora é ${role} do projeto '${nome_do_projeto}'."
#: warehouse/templates/manage/project/settings.html:99
#: warehouse/templates/manage/project/settings.html:105
+#, fuzzy
msgid ""
"Individual owners and maintainers of the project will retain their project "
"permissions."
msgstr ""
+"Proprietários individuais e mantenedores do projeto irão manter suas "
+"permissões de projeto."
#: warehouse/templates/manage/project/settings.html:104
#, python-format
@@ -7987,6 +7871,9 @@ msgid ""
"project. You must add an individual owner to the project before you can "
"remove the project from your organization."
msgstr ""
+"Sua organização é atualmente a única proprietária do "
+"projeto. Você deve adicionar um um proprietário individual ao projeto antes "
+"de poder remover o projeto de sua organização."
#: warehouse/templates/manage/project/settings.html:130
msgid "Transfer project to another organization"
@@ -8002,7 +7889,7 @@ msgstr "A transferência deste projeto irá:"
#: warehouse/templates/manage/project/settings.html:149
msgid "Revoke your direct Owner role on the project."
-msgstr ""
+msgstr "Revogar seu papel de Proprietário direto no projeto."
#: warehouse/templates/manage/project/settings.html:152
msgid ""
@@ -8030,6 +7917,8 @@ msgid ""
"All other individual owners and maintainers of the project will retain their "
"project permissions."
msgstr ""
+"Todos os proprietários individuais e mantenedores do projeto irão reter suas "
+"permissões de projeto."
#: warehouse/templates/manage/project/settings.html:179
msgid "Transfer project"
@@ -8073,7 +7962,7 @@ msgstr "%(user)s ainda não enviou nenhum projeto para PyPI"
#: warehouse/templates/manage/project/settings.html:205
msgid "Alternate repository locations"
-msgstr ""
+msgstr "Locais de repositório alternativos"
#: warehouse/templates/manage/project/settings.html:209
#, python-format
@@ -8081,6 +7970,8 @@ msgid ""
"Provisional support for PEP 708 \"Alternate "
"Locations\" Metadata."
msgstr ""
+"Suporte provisório para PEP 708 Metadados "
+"\"Locais Alternativos\" ."
#: warehouse/templates/manage/project/settings.html:213
#, python-format
@@ -8088,6 +7979,9 @@ msgid ""
"Implementation may change, consider subscribing to pypi-announce to be notified of changes."
msgstr ""
+"Implementações podem mudar, considere inscrever-se á anúncios-"
+"pypi para ser notificado de mudanças."
#: warehouse/templates/manage/project/settings.html:220
#, fuzzy, python-format
@@ -8127,7 +8021,7 @@ msgstr "Comece adicionando um membro da equipa abaixo."
#: warehouse/templates/manage/project/settings.html:278
msgid "Add alternate repository location"
-msgstr ""
+msgstr "Adicionar local de repositório alternativo"
#: warehouse/templates/manage/project/settings.html:325
#, fuzzy
@@ -8138,7 +8032,7 @@ msgstr "Descrição da organização"
#: warehouse/templates/manage/project/settings.html:331
#: warehouse/templates/manage/project/settings.html:342
msgid "Description of the purpose or content of the alternate repository."
-msgstr ""
+msgstr "Descrição do propósito ou conteúdo do repositorio alternativo."
#: warehouse/templates/manage/project/settings.html:354
#: warehouse/templates/manage/project/settings.html:379
@@ -8159,6 +8053,13 @@ msgid ""
"rel=\"noopener\" target=\"_blank\">configured to do so, you can update "
"the project's description by editing the README file."
msgstr ""
+"Arquivar um projeto vai prevenir quaisquer novos envios. Antes de "
+"prosseguir, recomendamos que publique a versão final com a descrição do "
+"projeto atualizada para avisar usuários que o projeto não receberá novas "
+"atualizações, e mencionar quaisquer projetos alternativos que possam servir "
+"de substituto. Se seu projeto está configurado para fazer isso, você "
+"pode atualizar a descrição do projeto editando o arquivo \"README\"."
#: warehouse/templates/manage/project/settings.html:370
#: warehouse/templates/manage/project/settings.html:374
@@ -8169,11 +8070,11 @@ msgstr "Pesquisar por projetos"
#: warehouse/templates/manage/project/settings.html:375
msgid "Unarchiving a project will allow new file uploads."
-msgstr ""
+msgstr "Desarquivar jm projeto permitirá novos envios de arquivos."
#: warehouse/templates/manage/project/settings.html:384
msgid "Archiving a project will block any new file uploads."
-msgstr ""
+msgstr "Arquivar um projeto irá bloquear quaisquer novos envios."
#: warehouse/templates/manage/project/settings.html:391
#: warehouse/templates/manage/project/settings.html:431
@@ -8238,7 +8139,7 @@ msgstr ""
#: warehouse/templates/manage/team/history.html:36
#, python-format
msgid "%(previous_team_name)s team renamed to %(team_name)s"
-msgstr ""
+msgstr "Time %(previous_team_name)s renomeado para %(team_name)s"
#: warehouse/templates/manage/team/manage_team_base.html:20
#, python-format
@@ -8268,6 +8169,8 @@ msgid ""
"This team does not have admin or upload permissions for any projects, yet. "
"Get started by configuring collaborators for a project in your organization."
msgstr ""
+"Este time ainda não possui administrador ou permissões de envio para nenhum "
+"projeto. Comece configurando colaboradores para o projeto em sua organização."
#: warehouse/templates/manage/team/roles.html:18
#, fuzzy, python-format
@@ -8278,7 +8181,7 @@ msgstr "Gerir \"%(project_name)s\""
#: warehouse/templates/manage/team/roles.html:43
msgid ""
"Use this page to manage which organization users are members of this team."
-msgstr ""
+msgstr "Use esta página para gerenciar quais usuários são membros deste time."
#: warehouse/templates/manage/team/roles.html:75
#, fuzzy
@@ -8314,6 +8217,9 @@ msgid ""
"href=\"%(href)s\">Manage organization members to view all users in the "
"organization or to invite a user to the organization."
msgstr ""
+"Adicione proprietários da organização, gerentes, ou membros ao time.Gerenciar membros da organização para ver todos os "
+"usuários na organização ou para convidar usuários."
#: warehouse/templates/manage/team/settings.html:17
#: warehouse/templates/manage/team/settings.html:24
@@ -8469,6 +8375,8 @@ msgid ""
"The maintainers of this project have marked this project as archived. No new "
"releases are expected."
msgstr ""
+"Os mantenedores deste projeto marcaram este projeto como arquivado. Não são "
+"esperadas novas atualizações."
#: warehouse/templates/packaging/detail.html:328
#: warehouse/templates/packaging/detail.html:403
@@ -8521,6 +8429,7 @@ msgstr[1] "Distribuições de Origem"
#: warehouse/templates/packaging/detail.html:436
msgid "No source distribution files available for this release."
msgstr ""
+"Nenhum arquivo de Distribuição de Origem disponível para esta atualização."
#: warehouse/templates/packaging/detail.html:437
#, fuzzy, python-format
@@ -8538,16 +8447,16 @@ msgstr ""
#: warehouse/templates/packaging/detail.html:444
msgid "Built Distribution"
msgid_plural "Built Distributions"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Distribuição Construída"
+msgstr[1] "Distribuições Construídas"
#: warehouse/templates/packaging/submit-malware-observation.html:23
msgid "Submit Malware Report for Project"
-msgstr ""
+msgstr "Enviar denuncia de Malware para o projeto"
#: warehouse/templates/packaging/submit-malware-observation.html:29
msgid "Submit Malware Report for Project:"
-msgstr ""
+msgstr "Enviar Denúncia de Malware para o Projeto:"
#: warehouse/templates/packaging/submit-malware-observation.html:31
msgid ""
@@ -8556,15 +8465,23 @@ msgid ""
"squatting, dependency confusion, data exfiltration, obfuscation, command/"
"control, and other similar behaviors."
msgstr ""
+"Utilize este formulário para enviar denúncias de projetos maliciosos para "
+"revisão pelos Administradores da PyPL. Examplos de atividade maliciosa em "
+"projetos incluem Sequestro de URL, confusão de dependência, commando/"
+"controle, e outros comportamentos similares."
#: warehouse/templates/packaging/submit-malware-observation.html:37
-#, python-format
+#, fuzzy, python-format
msgid ""
"You'll be required to provide a link to notable source code using our Inspector service. This allows for reports to be "
"reviewed more quickly, so please ensure that the link is to a meaningful "
"portion of the relevant files."
msgstr ""
+"Será exigido que você forneça um link para código fonte notável usando nosso "
+"serviço inspetor. Isto permite que denúncias sejam "
+"revisadas mais rapidamente, então por favor tenha certeza que o link é para "
+"uma porção significante dos arquivos relevantes."
#: warehouse/templates/packaging/submit-malware-observation.html:43
msgid ""
@@ -8572,14 +8489,17 @@ msgid ""
"as well as any other pertinent details such as what specific release(s) or "
"file(s) are involved if it is not an entirely malicious Project."
msgstr ""
+"Seu resumo deve incluir uma descrição geral do comportamento malicioso assim "
+"como quaisquer detalhes pertinentes como versão(es) ou arquivo(s) envolvidos "
+"se o projeto não for totalmente malicioso."
#: warehouse/templates/packaging/submit-malware-observation.html:62
msgid "Fill with a link to the problematic code lines from"
-msgstr ""
+msgstr "Preencha com um link para as linhas de código problematicas"
#: warehouse/templates/packaging/submit-malware-observation.html:70
msgid "Summary"
-msgstr ""
+msgstr "Resumo"
#: warehouse/templates/pages/classifiers.html:22
msgid ""
@@ -8821,7 +8741,7 @@ msgstr ""
#: warehouse/templates/pages/help.html:80
msgid "What are the file hashes used for, and how can I verify them?"
-msgstr ""
+msgstr "Para quê são usados os hashes do arquivo, e como posso verificá-los?"
#: warehouse/templates/pages/help.html:83
msgid "How can I publish my private packages to PyPI?"
@@ -8957,7 +8877,7 @@ msgstr ""
#: warehouse/templates/pages/help.html:107
msgid "My project says it's in quarantine. What does that mean?"
-msgstr ""
+msgstr "Meu projeto está em quarantena. O que isso significa?"
#: warehouse/templates/pages/help.html:110
msgid "Who maintains PyPI?"
@@ -9156,6 +9076,12 @@ msgid ""
"visible and can still be resolved from the index by default, unlike deleted "
"or yanked releases."
msgstr ""
+"Um projeto arquivado é um projeto quê não está recebendo nenhuma novas "
+"atualização. Um mantenedor do projeto pode marcar um projeto como arquivado "
+"para sinalizar aos usuários que não haverão novas atualizações. Projetos "
+"arquivados são visíveis publicamente e ainda podem ser resolvidos a partir "
+"do índice por padrão, diferente de atualizações excluídas ou instáveis."
#: warehouse/templates/pages/help.html:269
msgid "My account"
@@ -9847,6 +9773,8 @@ msgid ""
"When using an API token from a CI provider, we recommend scoping the token "
"down to the minimum necessary projects."
msgstr ""
+"Ao usar um token API de um provedor IC, recomendamos reduzir seu escopo ao "
+"número mínimo de projetos necessários."
#: warehouse/templates/pages/help.html:525
#, python-format
@@ -9855,6 +9783,9 @@ msgid ""
"href=\"%(href)s\">Trusted Publishing, we strongly recommend using "
"Trusted Publishing instead."
msgstr ""
+"Se você está publicando para a PyPI de um provedor OC que suporta Editores Confiáveis, recomendamos fortemente que "
+"utilize o Editor Confiável em vez disso."
#: warehouse/templates/pages/help.html:533
msgid "To make an API token:"
@@ -9955,7 +9886,7 @@ msgstr ""
#: warehouse/templates/pages/help.html:563
msgid "PyPI does not currently support changing a username."
-msgstr ""
+msgstr "A PyPI atualmente não suporta a troca de nomes de usuário."
#: warehouse/templates/pages/help.html:564
msgid ""
@@ -9963,6 +9894,9 @@ msgid ""
"account as a maintainer of all the projects your old account owns, and then "
"delete the old account, which will have the same effect."
msgstr ""
+"Em vez disso, você pode criar uma nova conta com o nome desejado, adicionar "
+"a nova conta como mantenedor de todos os projetos que sua antiga conta "
+"possuí, e então deletar a conta antiga, o que terá o mesmo efeito."
#: warehouse/templates/pages/help.html:568
#, fuzzy, python-format
@@ -10074,6 +10008,12 @@ msgid ""
"from the project page in the \"Download Files\" section or from the JSON "
"API. Here is an example of generating the hashes:"
msgstr ""
+"Para cada projeto hospedado na PyPI, existem hashes correspondentes para "
+"aquele arquivo. Estes hashes podem ser usados para verificar se o arquivo "
+"que está baixando é o mesmo que o mantenedor do projeto enviou. Isso é "
+"especialmente útil se estiver baixando pacotes de um espelho. Os hashes "
+"podem ser obtidos pela página do projeto na seção \"Arquivos Baixados\" ou "
+"pela JSON API. Aqui um examplo de geração de hashes:"
#: warehouse/templates/pages/help.html:610
msgid ""
@@ -10081,6 +10021,9 @@ msgid ""
"not recommended to use the MD5 hash because of known security issues with "
"the MD5 algorithm. This hash is provided for backwards compatibility only."
msgstr ""
+"Na prática, só é necessário verificar um dos hashes. Não é recomendado o uso "
+"de hashes MD5 por problemas de segurança conhecidos com o algoritmo MD5. "
+"Este hash é fornecido apenas para compatíbilidade retroativa."
#: warehouse/templates/pages/help.html:617
#, python-format
@@ -10208,6 +10151,9 @@ msgid ""
"extension of the readme
field value to control how PyPI renders "
"your description."
msgstr ""
+"Quando usar pyptoject.toml
para metadados do projeto, "
+"você pode usar a extensão do campo readme
para controlar como o "
+"PyPI renderiza sua descrição."
#: warehouse/templates/pages/help.html:647
#, python-format
@@ -10217,6 +10163,10 @@ msgid ""
"href=\"%(href)s\" title=\"%(title)s\" target=\"_blank\" "
"rel=\"noopener\">reStructuredText"
msgstr ""
+"Por exemplo, readme = \"README.md\"
vai renderizar a descrição "
+"como Markdown, enquanto readme = \"README.rst\"
vai renderizar "
+"como reStructuredText"
#: warehouse/templates/pages/help.html:654
#, python-format
@@ -10351,6 +10301,12 @@ msgid ""
"Deleted projects, releases or files cannot be restored by PyPI "
"administrators."
msgstr ""
+"Exclusão de um projeto, lançamento ou arquivo no PyPI é permanente e "
+"irreversível, sem excessões. A exclusão de um projeto o torna impossível de "
+"instalar, e libera o nome do projeto para uso por outros usuarios do PyPI. "
+"Arquivos deletados não podem ser re-enviados"
+"a>. Projetos excluídos, lançamento ou arquivos não podem ser restaurados por "
+"administradores do PyPI."
#: warehouse/templates/pages/help.html:731
#, python-format
@@ -10407,6 +10363,8 @@ msgstr "Perda de acesso ao endereço de e-mail associado à sua conta"
#: warehouse/templates/pages/help.html:749
msgid "Accidentally registered with an email address you cannot verify"
msgstr ""
+"Registrado acidentalmente com um endereço de email que você não pode "
+"verificar"
#: warehouse/templates/pages/help.html:750
#, fuzzy
@@ -10663,6 +10621,8 @@ msgid ""
"A distribution filename on PyPI consists of the combination of project name, "
"version number, and distribution type."
msgstr ""
+"Um nome de arquivo de distribuição no PyPI consiste na combinação de nome do "
+"projeto, número da versão, e tipo de distribuição."
#: warehouse/templates/pages/help.html:851
msgid ""
@@ -10671,6 +10631,9 @@ msgid ""
"changed one day by the projects maintainer or a malicious party (it can only "
"be removed)."
msgstr ""
+"Isso garante que certa distribuição para certa versão de um certo projeto "
+"sempre levará ai mesmo arquivo, e não pode ser furtivamente mudado pelo "
+"mantenedor do projeto ou alguém mal intencionado (apenas removido)."
#: warehouse/templates/pages/help.html:859
msgid ""
@@ -10678,6 +10641,9 @@ msgid ""
"number to one that you haven't previously uploaded to PyPI, rebuild the "
"distribution, and then upload the new distribution."
msgstr ""
+"Para evitar esta situação na maioria dos casos, você precisará mudar o "
+"número da versão para uma que você não tenha enviado previamente a PyPI, "
+"reconstruída a distribuição, e então enviada a nove distribuição."
#: warehouse/templates/pages/help.html:868
#, python-format
@@ -10725,6 +10691,10 @@ msgid ""
"out of sync. Please check that the time on your device is set automatically, "
"and try setting up the device again."
msgstr ""
+"Se você está tendo problemas para configurar um dispositivo TOTP, a razão pode ser que seu "
+"dispositivo está dessincronizado. Por favor cheque se a hora em seu "
+"dispositivo é automática, e tente configurar o dispositivo novamente."
#: warehouse/templates/pages/help.html:895
#, python-format
@@ -10735,6 +10705,11 @@ msgid ""
"Acceptable Use "
"Policy."
msgstr ""
+"Projetos podem ser colocados em quarentena um várias razões, tais como "
+"suspeita de atividade maliciosa, spam, ou outras violações dos Termos de Serviço ou "
+"Política de Uso "
+"Aceitável."
#: warehouse/templates/pages/help.html:904
msgid ""
@@ -10742,6 +10717,9 @@ msgid ""
"be being modified by its maintainers. PyPI Administrators will need to "
"review this project before it can be restored."
msgstr ""
+"Enuanto em quarentena, o projeto não pode ser instalado por clientes, e não "
+"pode ser modificado por mantenedores. Os administradores da PyPI irão "
+"revisar este projeto antes que ele possa ser restaurado."
#: warehouse/templates/pages/help.html:911
#, python-format
@@ -10750,6 +10728,9 @@ msgid ""
"contact PyPI via security@pypi.org with any "
"details."
msgstr ""
+"Se você acredita que seu projeto foi reportado ou colocado em quarentena "
+"erroneamente, contate a PyPI através security@pypi."
+"org com quaisquer detalhes."
#: warehouse/templates/pages/help.html:924
#, python-format
@@ -10998,6 +10979,8 @@ msgid ""
"All traffic is routed through our global CDN, which lists their public IP "
"addresses here: %(href)s."
msgstr ""
+"Todo o tráfico é encaminhado através da nossa CDN global, a qual lista seu "
+"endereço IP público aqui: %(href)s."
#: warehouse/templates/pages/help.html:1010
#, fuzzy, python-format
@@ -11150,6 +11133,9 @@ msgid ""
"bottom of the sidebar, click Report project as malware. "
"Supply the following details in the form:"
msgstr ""
+"Entre na sua conta PyPI, então visige a página do projeto na PyPI. Na parte "
+"inferior da barra lateral, clique Reportar projeto como malware"
+"strong>. Forneça os seguintes detalhes no formulário:"
#: warehouse/templates/pages/security.html:44
msgid "A URL to the project in question"
@@ -11157,7 +11143,7 @@ msgstr "Uma URL para o projeto em questão"
#: warehouse/templates/pages/security.html:45
msgid "An explanation of what makes the project a security issue"
-msgstr ""
+msgstr "Uma explicação do que faz este projeto um problema de segurança"
#: warehouse/templates/pages/security.html:46
#, python-format
@@ -11165,18 +11151,25 @@ msgid ""
"A link to the problematic lines in the project's distributions via inspector.pypi.io"
msgstr ""
+"Um link para as linhas problemáticas na distribuição do projeto através do "
+"inspector.pypi.io"
#: warehouse/templates/pages/security.html:48
msgid ""
"Valid malware reports may include examples of typo-squatting, dependency "
"confusion, data exfiltration, obfuscation, command/control, etc."
msgstr ""
+"Denúncias de malware validas podem incluir example de Sequestro de URL, "
+"confusão de dependências, infiltração de data, ofuscação, command/controle, "
+"etc."
#: warehouse/templates/pages/security.html:50
msgid ""
"If you've identified a security issue with PyPI itself (not a project hosted "
"on PyPI)"
msgstr ""
+"Se você identificou um problema de segurança no próprio PyPI (não em um "
+"projeto hospedado na PyPi)"
#: warehouse/templates/pages/security.html:51
#, fuzzy, python-format
@@ -11435,7 +11428,7 @@ msgstr "Estatísticas do PyPI"
#: warehouse/templates/pages/stats.html:23
msgid "We all love stats, so here are some useful statistics about PyPI."
-msgstr ""
+msgstr "Todos amamos estático, então aqui estão algumas sobre o PyPI."
#: warehouse/templates/pages/stats.html:28
#, fuzzy
@@ -11445,18 +11438,20 @@ msgstr "Estatísticas do PyPI"
#: warehouse/templates/pages/stats.html:30
msgid "These statistics are provided directly by PyPI."
-msgstr ""
+msgstr "Estatísticas fornecidas diretamente pela PyPI."
#: warehouse/templates/pages/stats.html:37
msgid ""
"PyPI provides public datasets, including download statistics and metadata "
"via BigQuery"
msgstr ""
+"A PyPI fornece conjuntos de dados públicos, incluindo estatísticas de "
+"download e metadados via BigQuery"
#: warehouse/templates/pages/stats.html:42
msgid ""
"PyPI provides a public dashboard with statistics on usage and performance"
-msgstr ""
+msgstr "A PyPI fornece um painel público com estatísticas de uso e performance"
#: warehouse/templates/pages/stats.html:47
#, fuzzy
@@ -11469,6 +11464,8 @@ msgid ""
"These statistics are provided by other third-party services unaffiliated "
"with PyPI."
msgstr ""
+"Estas estatísticas são fornecidas por serviços de terceiros não afiliados "
+"com a PyPI."
#: warehouse/templates/pages/stats.html:60
msgid "Top projects by total package size"
diff --git a/warehouse/locale/pt_BR/LC_MESSAGES/messages.po b/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
index 6bf1a63dd039..2eb4b794b8f1 100644
--- a/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt_BR/LC_MESSAGES/messages.po
@@ -472,7 +472,7 @@ msgstr ""
msgid "Select project"
msgstr "Escolher projeto"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Especifique o nome do projeto"
@@ -789,12 +789,12 @@ msgstr "O convite da organização não pôde ser reenviado."
msgid "Expired invitation for '${username}' deleted."
msgstr "Convite expirado para '${username}' e foi excluído."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nome de projeto inválido"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, fuzzy, python-brace-format
#| msgid ""
#| "This project already exists, use the project's publishing settings daqui para criar um publicador confiável para ele."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr "Projeto já existente."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Este nome de projeto não é permitido"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "O nome do projeto é muito semelhante a um projeto existente"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -826,15 +826,15 @@ msgstr ""
"Este nome de projeto não é permitido (conflitante com nome do módulo da "
"biblioteca padrão Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Especifique um ID de editor"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "O editor deve ser especificado pelo ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "Especifique o nome do ambiente"
@@ -877,58 +877,76 @@ msgstr "Organização ActiveState não encontrada"
msgid "ActiveState actor not found"
msgstr "Ator ActiveState não encontrado"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Especifique o dono do repositório GitHub (nome de usuário ou organização)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Especifique o nome do repositório"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nome de repositório inválido"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Especifique o nome de arquivo do fluxo de trabalho"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Usuário ou organização GitHub desconhecido."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "O GitHub limitou a taxa dessa ação. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Erro inesperado do GitHub. Tente novamente."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Erro de conexão inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Tempo limite inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nome de usuário ou organização inválido do GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "O nome do fluxo de trabalho deve terminar com .yml ou .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"O nome do arquivo de fluxo de trabalho deve ser apenas um nome de arquivo, "
"sem diretórios"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Nome terminado em .git ou .atom"
@@ -1954,8 +1972,10 @@ msgstr "%(user)s ainda não enviou nenhum projeto ao PyPI"
msgid "%(count)s archived project"
msgid_plural ""
"%(count)s archived projects"
-msgstr[0] "%(count)s projeto arquivado"
-msgstr[1] "%(count)s projetos arquivados"
+msgstr[0] ""
+"%(count)s projeto arquivado"
+msgstr[1] ""
+"%(count)s projetos arquivados"
#: warehouse/templates/accounts/profile.html:111
#: warehouse/templates/manage/projects.html:82
@@ -2062,8 +2082,8 @@ msgid ""
"For more information, please read the full Acceptable Use Policy."
msgstr ""
-"Para obter mais informações, leia a Política de Uso Aceitável na íntegra."
+"Para obter mais informações, leia a Política de Uso Aceitável na íntegra."
#: warehouse/templates/accounts/register.html:50
#, python-format
@@ -2071,8 +2091,8 @@ msgid ""
"By registering, you agree to the PyPI Terms of Service"
"a>."
msgstr ""
-"Por se registrar, você aceita osTermos De Serviço "
-"PyPI."
+"Por se registrar, você aceita osTermos De Serviço PyPI"
+"a>."
#: warehouse/templates/accounts/register.html:69
#: warehouse/templates/manage/account.html:139
@@ -2412,9 +2432,9 @@ msgid ""
"href=\"%(href)s#api-tokens\">API tokens configuration and deleting the "
"token named %(token_name)s."
msgstr ""
-"Se você é o dono deste token, você pode excluí-lo acessando asConfigurações de token API e deletando o token "
-"de nome %(token_name)s."
+"Se você é o dono deste token, você pode excluí-lo acessando asConfigurações de token API e deletando o "
+"token de nome %(token_name)s."
#: warehouse/templates/email/api-token-used-in-trusted-publisher-project/body.html:40
#, python-format
@@ -7261,7 +7281,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/pt_PT/LC_MESSAGES/messages.po b/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
index 64fd4f1e01ec..479091fc3df1 100644
--- a/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
+++ b/warehouse/locale/pt_PT/LC_MESSAGES/messages.po
@@ -478,7 +478,7 @@ msgstr ""
msgid "Select project"
msgstr "Selecionar projeto"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Especifique o nome do projeto"
@@ -817,31 +817,31 @@ msgstr "O convite da organização não pôde ser reenviado."
msgid "Expired invitation for '${username}' deleted."
msgstr "O convite para \"${project_name}\" expirou e foi apagado."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Nome de projeto inválido"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Este projeto não possui lançamentos"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Este projeto não possui lançamentos"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid ""
#| "The project name is too similar to an existing project and may be "
@@ -851,21 +851,21 @@ msgstr ""
"O nome do projeto é muito semelhante a um projeto existente e pode ser "
"confundido."
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Especifique um ID de editor"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "O editor deve ser especificado pelo ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -924,57 +924,75 @@ msgstr "Selecione um nome de conta da organização"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "Proprietário do repositório GitHub ( nome ou equipe )"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Nome do repositório"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Nome de repositório inválido"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Nome do arquivo de workflow"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Utilizador ou organização GitHub desconhecido."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "O GitHub limitou a taxa dessa ação. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Erro inesperado do GitHub. Tente novamente."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Erro de conexão inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Tempo limite inesperado do GitHub. Tente novamente em alguns minutos."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Nome de utilizador ou organização inválido do GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "O nome do fluxo de trabalho deve terminar com .yml ou .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"O nome do ficheiro de fluxo de trabalho deve ser apenas um nome de ficheiro, "
"sem diretórios"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7232,7 +7250,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ro/LC_MESSAGES/messages.po b/warehouse/locale/ro/LC_MESSAGES/messages.po
index 1b019f805211..e1cf89dcd5f4 100644
--- a/warehouse/locale/ro/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ro/LC_MESSAGES/messages.po
@@ -500,7 +500,7 @@ msgstr ""
msgid "Select project"
msgstr "Selectați un proiect"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Precizați numele proiectului"
@@ -837,21 +837,21 @@ msgstr "Invitația la rol nu mai există."
msgid "Expired invitation for '${username}' deleted."
msgstr "Invitația pentru „${project_name}” este refuzată."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Cod de recuperare nevalid."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -861,7 +861,7 @@ msgstr ""
"Acest nume de utilizator este deja utilizat de un alt cont. Alegeți un alt "
"nume de utilizator."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -871,25 +871,25 @@ msgstr ""
"Acest nume de utilizator este deja utilizat de un alt cont. Alegeți un alt "
"nume de utilizator."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -940,56 +940,74 @@ msgstr "Invitația la rol nu este validă."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Cod de recuperare nevalid."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6610,7 +6628,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/rom/LC_MESSAGES/messages.po b/warehouse/locale/rom/LC_MESSAGES/messages.po
index 4ee35f67ec26..2af234b265af 100644
--- a/warehouse/locale/rom/LC_MESSAGES/messages.po
+++ b/warehouse/locale/rom/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ru/LC_MESSAGES/messages.po b/warehouse/locale/ru/LC_MESSAGES/messages.po
index 04b89420bdbb..1401935776de 100644
--- a/warehouse/locale/ru/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ru/LC_MESSAGES/messages.po
@@ -396,8 +396,8 @@ msgstr "Теперь у вас роль ${role} в проекте «${project_na
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
-"Пожалуйста, ознакомьтесь с нашими обновленными Условиями предоставления услуг."
+"Пожалуйста, ознакомьтесь с нашими обновленными Условиями предоставления услуг."
#: warehouse/accounts/views.py:1648 warehouse/accounts/views.py:1890
#: warehouse/manage/views/__init__.py:1419
@@ -509,7 +509,7 @@ msgstr ""
msgid "Select project"
msgstr "Выберите проект"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Укажите название проекта"
@@ -819,12 +819,12 @@ msgstr "Приглашение организации не может быть
msgid "Expired invitation for '${username}' deleted."
msgstr "Исключенное приглашение для \"${username}\" удалено."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Неверное имя проекта"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings здесь, чтобы создать для него доверенного издателя."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr "Этот проект уже существует."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Это название проекта нельзя использовать"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "Название проекта слишком похоже на существующий проект"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -853,15 +853,15 @@ msgstr ""
"Это название проекта нельзя использовать (оно конфликтует с модулем "
"стандартной библиотеки Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Указать идентификатор издателя"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "Издатель должен быть указан через ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "Укажите название среды"
@@ -904,59 +904,77 @@ msgstr "Организация ActiveState не найдена"
msgid "ActiveState actor not found"
msgstr "Актер ActiveState не найден"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Укажите владельца репозитория GitHub (имя пользователя или организацию)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Укажите название репозитория"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Неверное имя репозитория"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Укажите имя файла рабочего процесса"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Неизвестный GitHub пользователь или организация."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub ограничил количество запросов для этого действия. Попробуйте ещё раз "
"через несколько минут."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Неожиданная ошибка от GitHub. Попробуй еще раз."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Неожиданная ошибка подключения от GitHub. Попробуй еще раз через несколько "
"минут."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Неожиданный таймаут от GitHub. Попробуй еще раз через несколько минут."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Неверное имя пользователя или организации GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Название рабочего процесса должно заканчиваться .yml или .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "Имя файла Workflow должно быть только именем файла, без каталогов"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Название заканчивается на .git или .atom"
@@ -7020,9 +7038,13 @@ msgstr ""
"зарегистрировать каждое из них как доверенный издатель."
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
"Я понимаю, что этот доверенный издатель будет разрешать выгрузку только для "
@@ -10208,10 +10230,10 @@ msgid ""
"Policy."
msgstr ""
"Проекты могут быть помещены в карантин по разным причинам, например, из-за "
-"подозрений в вредоносной деятельности, спаме или других нарушениях Условий предоставления услуг"
-"a> или Политики "
-"приемлемого использования."
+"подозрений в вредоносной деятельности, спаме или других нарушениях Условий предоставления "
+"услуг или Политики приемлемого использования."
#: warehouse/templates/pages/help.html:904
msgid ""
diff --git a/warehouse/locale/sgn/LC_MESSAGES/messages.po b/warehouse/locale/sgn/LC_MESSAGES/messages.po
index 822df2db7cef..b4c231a284ca 100644
--- a/warehouse/locale/sgn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sgn/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/si/LC_MESSAGES/messages.po b/warehouse/locale/si/LC_MESSAGES/messages.po
index 9d1a5cc766f2..8a68b2cad1ab 100644
--- a/warehouse/locale/si/LC_MESSAGES/messages.po
+++ b/warehouse/locale/si/LC_MESSAGES/messages.po
@@ -472,7 +472,7 @@ msgstr "මෙම පරිශීලක නාමය දැනටමත් ව
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -802,21 +802,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "ප්රතිසාධන කේතය අවලංගුයි."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -824,7 +824,7 @@ msgstr ""
msgid "This project already exists."
msgstr "මෙම පරිශීලක නාමය දැනටමත් වෙනත් ගිණුමක් භාවිතා කරයි. වෙනස් පරිශීලක නාමයක් තෝරන්න."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -832,25 +832,25 @@ msgstr "මෙම පරිශීලක නාමය දැනටමත් ව
msgid "This project name isn't allowed"
msgstr "මෙම පරිශීලක නාමය දැනටමත් වෙනත් ගිණුමක් භාවිතා කරයි. වෙනස් පරිශීලක නාමයක් තෝරන්න."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -901,56 +901,74 @@ msgstr "අක්ෂර 50 ක් හෝ ඊට අඩු පරිශීලක
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "ප්රතිසාධන කේතය අවලංගුයි."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6481,7 +6499,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/sk/LC_MESSAGES/messages.po b/warehouse/locale/sk/LC_MESSAGES/messages.po
index f381c4f96285..129fab549686 100644
--- a/warehouse/locale/sk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sk/LC_MESSAGES/messages.po
@@ -441,7 +441,7 @@ msgstr ""
msgid "Select project"
msgstr "Vybrať projekt"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Zvoľte názov projektu"
@@ -744,12 +744,12 @@ msgstr "Pozvánku organizácie nebolo možné znova odoslať."
msgid "Expired invitation for '${username}' deleted."
msgstr "Pozvánka s vypršanou platnosťou pre '${username}' bola odstránená."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Neplatný názov projektu"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, fuzzy, python-brace-format
#| msgid ""
#| "This project already exists, use the project's publishing settings here na vytvorenie dôveryhodného vydavateľa pre neho."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Tento projekt nemá žiadne vydania"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "Tento názov projektu sa už používa"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid ""
#| "The project name is too similar to an existing project and may be "
@@ -783,21 +783,21 @@ msgstr ""
"Názov projektu je príliš podobný existujúcemu projektu a môže byť "
"zameniteľný."
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Zadajte ID vlastníka"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "Vydavateľ musí byť špecifikovaný ID"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -842,59 +842,77 @@ msgstr "Aktívna sieťová organizácia nebola nájdená"
msgid "ActiveState actor not found"
msgstr "Aktívny stavový herec nebol nájdený"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
"Zadajte vlastníka úložiska GitHub (používateľské meno alebo organizáciu)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Zadajte názov úložiska"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Neplatný názov úložiska"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Zadajte názov súboru pracovného postupu"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Neznámy používateľ alebo organizácia GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub túto akciu obmedzil rýchlosťou. Skúste to znova o niekoľko minút."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Neočakávaná chyba z GitHubu. Skúste to znova."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"Neočakávaná chyba pripojenia z GitHubu. Skúste to znova o niekoľko minút."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"Neočakávaný časový limit zo služby GitHub. Skúste to znova o niekoľko minút."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Neplatný názov používateľa alebo organizácie GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Názov pracovného postupu musí končiť príponou .yml alebo .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"Názov súboru pracovného postupu musí byť iba názov súboru bez adresárov"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -6930,7 +6948,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/sl/LC_MESSAGES/messages.po b/warehouse/locale/sl/LC_MESSAGES/messages.po
index 9128354d63dc..51097c5006b5 100644
--- a/warehouse/locale/sl/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sl/LC_MESSAGES/messages.po
@@ -407,7 +407,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -678,45 +678,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -759,54 +759,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6273,7 +6291,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/sr/LC_MESSAGES/messages.po b/warehouse/locale/sr/LC_MESSAGES/messages.po
index b5d6cda29f77..c48dd6ab4afa 100644
--- a/warehouse/locale/sr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/sr/LC_MESSAGES/messages.po
@@ -433,7 +433,7 @@ msgstr ""
msgid "Select project"
msgstr "Нема пројеката"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -741,19 +741,19 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr "Позивница је послата кориснику '${username}'"
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This email address is already being used by another account. Use a "
@@ -763,7 +763,7 @@ msgstr ""
"Ова имејл адреса је већ коришћена од стране другог налога. Користите други "
"имејл."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This email address is already being used by another account. Use a "
@@ -773,25 +773,25 @@ msgstr ""
"Ова имејл адреса је већ коришћена од стране другог налога. Користите други "
"имејл."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "No projects"
msgid "Specify an environment name"
@@ -840,54 +840,72 @@ msgstr "Изаберите име које има мање од 50 слова."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6494,7 +6512,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ta/LC_MESSAGES/messages.po b/warehouse/locale/ta/LC_MESSAGES/messages.po
index ecad43978ad2..5e85470508d5 100644
--- a/warehouse/locale/ta/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ta/LC_MESSAGES/messages.po
@@ -457,7 +457,7 @@ msgstr ""
msgid "Select project"
msgstr "திட்டத்தைத் தேர்ந்தெடுக்கவும்"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "திட்ட பெயரைக் குறிப்பிடவும்"
@@ -759,12 +759,12 @@ msgstr "நிறுவன அழைப்பிதழ் மீண்டும
msgid "Expired invitation for '${username}' deleted."
msgstr "'$ {username}' க்கான காலாவதியான அழைப்பு நீக்கப்பட்டது."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "தவறான திட்ட பெயர்"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings இங்கே ஐப் பயன்படுத்தவும்."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "இந்த திட்டத்திற்கு எந்த வெளியீடுகளும் இல்லை"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "இந்த திட்ட பெயர் அனுமதிக்கப்படவில்லை"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "இந்த திட்டத்தின் பெயர் ஏற்கனவே இருக்கும் திட்டத்திற்கு மிகவும் ஒத்திருக்கிறது"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
"இந்த திட்ட பெயர் அனுமதிக்கப்படவில்லை (பைதான் நிலையான நூலக தொகுதி பெயருடன் மோதல்)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "வெளியீட்டாளர் ஐடியைக் குறிப்பிடவும்"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "வெளியீட்டாளர் ஐடியால் குறிப்பிடப்பட வேண்டும்"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "சுற்றுச்சூழல் பெயரைக் குறிப்பிடவும்"
@@ -845,59 +845,77 @@ msgstr "செயல்பாட்டு அமைப்பு காணப்
msgid "ActiveState actor not found"
msgstr "செயல்பாட்டு நடிகர் கண்டுபிடிக்கப்படவில்லை"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "அறிவிலிமையம் களஞ்சிய உரிமையாளரைக் குறிப்பிடவும் (பயனர்பெயர் அல்லது அமைப்பு)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "களஞ்சிய பெயரைக் குறிப்பிடவும்"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "தவறான களஞ்சிய பெயர்"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "பணிப்பாய்வு கோப்பு பெயரைக் குறிப்பிடவும்"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "தெரியாத அறிவிலிமையம் பயனர் அல்லது அமைப்பு."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"அறிவிலிமையம் இந்த நடவடிக்கையை விகிதத்திற்கு வரையறுத்துள்ளார். சில நிமிடங்களில் மீண்டும் "
"முயற்சிக்கவும்."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "கிதுபிலிருந்து எதிர்பாராத பிழை. மீண்டும் முயற்சிக்கவும்."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"கிட்அப்பிலிருந்து எதிர்பாராத இணைப்பு பிழை. சில நிமிடங்களில் மீண்டும் முயற்சிக்கவும்."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"கிட்அப்பிலிருந்து எதிர்பாராத நேரம் முடிந்தது. சில நிமிடங்களில் மீண்டும் முயற்சிக்கவும்."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "தவறான அறிவிலிமையம் பயனர் அல்லது நிறுவனத்தின் பெயர்."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "பணிப்பாய்வு பெயர் .yml அல்லது .yaml உடன் முடிவடைய வேண்டும்"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
"பணிப்பாய்வு கோப்பு பெயர் கோப்பகங்கள் இல்லாமல் ஒரு கோப்பு பெயராக மட்டுமே இருக்க வேண்டும்"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "பெயர் .git அல்லது .அடோம் உடன் முடிகிறது"
@@ -6835,9 +6853,13 @@ msgstr ""
"ஒவ்வொன்றையும் நம்பகமான வெளியீட்டாளராக பதிவு செய்ய வேண்டும்."
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
"இந்த நம்பகமான வெளியீட்டாளர் '%(கட்டுப்படுத்தப்பட்ட சுற்றுச்சூழல்_பெயர்) எச்' சூழலில் இயங்கும் "
diff --git a/warehouse/locale/te/LC_MESSAGES/messages.po b/warehouse/locale/te/LC_MESSAGES/messages.po
index f9dd9d3e6ae1..902667ccdb92 100644
--- a/warehouse/locale/te/LC_MESSAGES/messages.po
+++ b/warehouse/locale/te/LC_MESSAGES/messages.po
@@ -430,7 +430,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -714,45 +714,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -795,54 +795,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6285,7 +6303,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/th/LC_MESSAGES/messages.po b/warehouse/locale/th/LC_MESSAGES/messages.po
index 1529795b7080..cab360f53df9 100644
--- a/warehouse/locale/th/LC_MESSAGES/messages.po
+++ b/warehouse/locale/th/LC_MESSAGES/messages.po
@@ -435,7 +435,7 @@ msgstr "คุณได้ส่งใบสมัครสำหรับชื
msgid "Select project"
msgstr "เลือกโปรเจค"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "กำหนดชื่อโปรเจค"
@@ -733,49 +733,49 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "ชื่อโปรเจคไม่ถูกต้อง"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project already exists."
msgstr "ชื่อโปรเจคนี้ได้ถูกใช้งานแล้ว"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "ชื่อโปรเจคนี้ได้ถูกใช้งานแล้ว"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -830,54 +830,72 @@ msgstr "กรุณาระบุชื่อผู้ใช้งานด้
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "ชื่อโปรเจคไม่ถูกต้อง"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6492,7 +6510,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/tr/LC_MESSAGES/messages.po b/warehouse/locale/tr/LC_MESSAGES/messages.po
index 661b2c2524bc..7d61d19b831f 100644
--- a/warehouse/locale/tr/LC_MESSAGES/messages.po
+++ b/warehouse/locale/tr/LC_MESSAGES/messages.po
@@ -495,7 +495,7 @@ msgstr ""
msgid "Select project"
msgstr "Projeyi seç"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Proje adını belirtin"
@@ -836,53 +836,53 @@ msgstr "Organizasyon daveti artık mevcut değil."
msgid "Expired invitation for '${username}' deleted."
msgstr "'${project_name}' proje davetiyesi reddedildi."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Geçersiz proje adı"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Bu proje için hiçbir sürüm yayınlanmadı"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name isn't allowed"
msgstr "Bu proje adı zaten kullanılıyor"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project name is already in use"
msgid "This project name is too similar to an existing project"
msgstr "Bu proje adı zaten kullanılıyor"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "yayıncı kimliği belirleyin"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
#, fuzzy
#| msgid "Provider must be specified by ID"
msgid "Publisher must be specified by ID"
msgstr "Sağlayıcı kimlik ile belirtilmelidir"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -940,56 +940,74 @@ msgstr "'%(project_name)s' Projesini Yönet"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "GitHub deposu sahibini belirtin (kullanıcı adı veya kuruluş)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Depo adını belirtin"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Geçersiz depo adı"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "İş akışı dosya adını belirtin"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Bilinmeyen GitHub kullanıcısı veya kuruluşu."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub bu eylemi sınırladı. Birkaç dakika sonra tekrar deneyin."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "GitHub'dan beklenmeyen hata. Tekrar deneyin."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
"GitHub'dan beklenmeyen bağlantı hatası. Birkaç dakika sonra tekrar deneyin."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
"GitHub'dan beklenmeyen zaman aşımı. Birkaç dakika sonra tekrar deneyin."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Geçersiz GitHub kullanıcı veya kuruluş adı."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "İş akışı adı .yml veya .yaml ile bitmelidir"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "İş akışı dosya adı, dizinler olmadan yalnızca bir dosya adı olmalıdır"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
#, fuzzy
#| msgid "Workflow name must end with .yml or .yaml"
@@ -7543,7 +7561,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/tzm/LC_MESSAGES/messages.po b/warehouse/locale/tzm/LC_MESSAGES/messages.po
index a730138a5b04..8b32f5ffe052 100644
--- a/warehouse/locale/tzm/LC_MESSAGES/messages.po
+++ b/warehouse/locale/tzm/LC_MESSAGES/messages.po
@@ -422,7 +422,7 @@ msgstr "Ittusemres yisem-a g yan umiḍan nniḍen. dɣen yan nniḍen."
msgid "Select project"
msgstr "Rzu g isenfaṛen"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Search projects"
@@ -719,21 +719,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Search projects"
msgid "Invalid project name"
msgstr "Rzu g isenfaṛen"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -741,7 +741,7 @@ msgstr ""
msgid "This project already exists."
msgstr "Ittusemres yisem-a g yan umiḍan nniḍen. dɣen yan nniḍen."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -749,25 +749,25 @@ msgstr "Ittusemres yisem-a g yan umiḍan nniḍen. dɣen yan nniḍen."
msgid "This project name isn't allowed"
msgstr "Ittusemres yisem-a g yan umiḍan nniḍen. dɣen yan nniḍen."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Search projects"
msgid "Specify an environment name"
@@ -820,54 +820,72 @@ msgstr "Sker yan umiḍan"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6606,7 +6624,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/ug/LC_MESSAGES/messages.po b/warehouse/locale/ug/LC_MESSAGES/messages.po
index 2b1bce35d222..01b9629bbbb6 100644
--- a/warehouse/locale/ug/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ug/LC_MESSAGES/messages.po
@@ -425,7 +425,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -700,45 +700,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -781,54 +781,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6271,7 +6289,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/uk/LC_MESSAGES/messages.mo b/warehouse/locale/uk/LC_MESSAGES/messages.mo
index 39aa706fa6c8..dfa24c1a3875 100644
Binary files a/warehouse/locale/uk/LC_MESSAGES/messages.mo and b/warehouse/locale/uk/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/uk/LC_MESSAGES/messages.po b/warehouse/locale/uk/LC_MESSAGES/messages.po
index 30ad93842394..679d12a20b3b 100644
--- a/warehouse/locale/uk/LC_MESSAGES/messages.po
+++ b/warehouse/locale/uk/LC_MESSAGES/messages.po
@@ -24,7 +24,7 @@ msgstr ""
"Project-Id-Version: Warehouse VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-04-06 17:52-0500\n"
-"PO-Revision-Date: 2025-02-23 18:43+0000\n"
+"PO-Revision-Date: 2025-02-28 15:00+0000\n"
"Last-Translator: Sviatoslav Sydorenko \n"
"Language-Team: Ukrainian \n"
@@ -34,7 +34,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Weblate 5.10.1-dev\n"
+"X-Generator: Weblate 5.10.3-dev\n"
"Generated-By: Babel 2.8.0\n"
#: warehouse/views.py:158
@@ -371,6 +371,8 @@ msgstr "Ви тепер ${role} проєкту '${project_name}'."
#, python-brace-format
msgid "Please review our updated Terms of Service."
msgstr ""
+"Будь ласка, ознайомтесь із нашими оновленими Умовами "
+"надання послуг."
#: warehouse/accounts/views.py:1648 warehouse/accounts/views.py:1890
#: warehouse/manage/views/__init__.py:1419
@@ -490,7 +492,7 @@ msgstr ""
msgid "Select project"
msgstr "Обрати проєкт"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "Вкажіть назву проєкту"
@@ -818,12 +820,12 @@ msgstr "Запрошення в організацію вже не існує."
msgid "Expired invitation for '${username}' deleted."
msgstr "Прострочене запрошення для '${username}' видалено."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "Недійсна назва проєкту"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings тут, щоб створити Довіреного Видавця для нього."
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Цей проєкт не має публікацій"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "Ця назва проєкту заборонена"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "Ця назва проєкту занадто схожа на існуючий проєкт"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
@@ -854,15 +856,15 @@ msgstr ""
"Ця назва проєкту заборонена (конфлікт із назвою модуля стандартної "
"бібліотеки Python)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "Вкажіть ідентифікатор видавця"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "Видавник має бути вказаний за ідентифікатором"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "Вкажіть назву середовища"
@@ -906,56 +908,74 @@ msgstr "Організацію ActiveState не знайдено"
msgid "ActiveState actor not found"
msgstr "Діяч ActiveState не знайдений"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "Укажіть власника GitHub репозиторію (ім’я користувача або організацію)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "Вкажіть назву репозиторію"
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "Недійсна назва репозиторію"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "Укажіть назву файлу робочого процесу"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "Невідомий користувач або організація в GitHub."
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
"GitHub поставив обмеження по швидкості на цю дію. Повторіть спробу через "
"кілька хвилин."
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "Неочікувана помилка від GitHub. Спробуйте знову."
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "Неочікувана помилка зʼєднання. Повторіть спробу через кілька хвилин."
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "Неочікуваний тайм-аут. Повторіть спробу через кілька хвилин."
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "Недійсне ім’я користувача або організації GitHub."
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "Назва робочого процесу повинна закінчуватися на .yml або .yaml"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "Назва файлу робочого процесу має просто файлом, без тек"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "Назва закінчується на .git або .atom"
@@ -1537,10 +1557,8 @@ msgstr "Навігація про використання PyPI"
#: warehouse/templates/base.html:317
#: warehouse/templates/manage/organization/activate_subscription.html:33
-#, fuzzy
-#| msgid "Terms of use"
msgid "Terms of Service"
-msgstr "Умови використання"
+msgstr "Умови надання послуг"
#: warehouse/templates/base.html:318
msgid "Report security issue"
@@ -2124,18 +2142,13 @@ msgid "Do not use %(title)s to conduct security research."
msgstr "Не використовуйте %(title)s для проведення досліджень у сфері безпеки."
#: warehouse/templates/accounts/register.html:45
-#, fuzzy, python-format
-#| msgid ""
-#| "For more information, please read the full Terms of Use and Acceptable Use Policy."
+#, python-format
msgid ""
"For more information, please read the full Acceptable Use Policy."
msgstr ""
-"Для отримання додаткової інформації ознайомтеся з повними Умовами використання та Політикою прийнятного використання."
+"Аби дізнатися більше, будь ласка, прочитайте Політику прийнятного використання цілком."
#: warehouse/templates/accounts/register.html:50
#, python-format
@@ -2143,6 +2156,8 @@ msgid ""
"By registering, you agree to the PyPI Terms of Service"
"a>."
msgstr ""
+"Реєструючись, ви погоджуєтесь із Умови надання послуг "
+"PyPI."
#: warehouse/templates/accounts/register.html:69
#: warehouse/templates/manage/account.html:139
@@ -5272,6 +5287,8 @@ msgid ""
"Approvals for corporate organizations are currently paused while terms of "
"service and payment are finalized."
msgstr ""
+"Схвалення організацій корпоративного типу наразі призупинені, доки "
+"узгоджуються умови надання послуг та оплати."
#: warehouse/templates/manage/organizations.html:161
#, fuzzy, python-format
@@ -6312,13 +6329,13 @@ msgid ""
msgstr ""
#: warehouse/templates/manage/organization/activate_subscription.html:37
-#, fuzzy, python-format
-#| msgid ""
-#| "%(username)s changed to project %(role_name)s"
+#, python-format
msgid ""
"I agree to the PyPI Terms of Service on behalf "
"of the %(organization_name)s organization."
-msgstr "%(username)s стає %(role_name)s проєкту"
+msgstr ""
+"Я погоджуюсь із Умовами надання послуг PyPI від "
+"імені організації %(organization_name)s."
#: warehouse/templates/manage/organization/history.html:20
#: warehouse/templates/manage/project/history.html:20
@@ -7567,9 +7584,13 @@ msgstr ""
"зареєструвати окремого довіреного видавця для кожного з них."
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
"Я усвідомлюю, що цей довірений видавець дозволятиме лиш відвантаження із "
@@ -11031,11 +11052,7 @@ msgid ""
msgstr ""
#: warehouse/templates/pages/help.html:895
-#, fuzzy, python-format
-#| msgid ""
-#| "For more information, please read the full Terms of Use and Acceptable Use Policy."
+#, python-format
msgid ""
"Projects may get placed in quarantine for any number of reasons, such as "
"suspicion of malicious activity, spam, or other violations of the Acceptable Use "
"Policy."
msgstr ""
-"Для отримання додаткової інформації ознайомтеся з повними Умовами використання та Політикою прийнятного використання."
+"Проєкти можуть опинитися в карантині через ряд причин, як-то підозра "
+"шкідництва, спам, або ж інші порушення Умов надання послуг чи Політики прийнятного використання."
#: warehouse/templates/pages/help.html:904
msgid ""
diff --git a/warehouse/locale/ur_PK/LC_MESSAGES/messages.po b/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
index 85ff253cefa5..cc7a3038ae64 100644
--- a/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
+++ b/warehouse/locale/ur_PK/LC_MESSAGES/messages.po
@@ -488,7 +488,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -822,21 +822,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "فراہم کردا بازیابی کا کوڈ غلط ہے۔"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -846,7 +846,7 @@ msgstr ""
"یہ نام کسی دوسرے اکاؤنٹ کے ذیرِ استعمال ہے۔ براہِ مہربانی ایک نیا نام استعمال "
"کریں۔"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -856,25 +856,25 @@ msgstr ""
"یہ نام کسی دوسرے اکاؤنٹ کے ذیرِ استعمال ہے۔ براہِ مہربانی ایک نیا نام استعمال "
"کریں۔"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Specify an environment name"
@@ -925,56 +925,74 @@ msgstr "پچاس حروف یا اس کم کا نام چنیں۔"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "فراہم کردا بازیابی کا کوڈ غلط ہے۔"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6517,7 +6535,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po b/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
index 9c2d9d321b95..08834a6a837f 100644
--- a/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
+++ b/warehouse/locale/uz_Latn/LC_MESSAGES/messages.po
@@ -475,7 +475,7 @@ msgstr ""
msgid "Select project"
msgstr "Loyihani tanlash"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Search projects"
@@ -841,21 +841,21 @@ msgstr "Rol taklifnomasi endi yo'q."
msgid "Expired invitation for '${username}' deleted."
msgstr "\"$ {Project_name}\" taklifi rad etildi."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "Qayta tiklash kodi yaroqsiz."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -865,7 +865,7 @@ msgstr ""
"Bu foydalanuvchi ismi boshqa foydalanuvchi tomonidan tanlab bo'lingan. "
"Boshqa foydalanuvchi ismini tanlab ko'ring."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -875,25 +875,25 @@ msgstr ""
"Bu foydalanuvchi ismi boshqa foydalanuvchi tomonidan tanlab bo'lingan. "
"Boshqa foydalanuvchi ismini tanlab ko'ring."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Search projects"
msgid "Specify an environment name"
@@ -946,56 +946,74 @@ msgstr "Rol taklifi haqiqiy emas."
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "Qayta tiklash kodi yaroqsiz."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6663,7 +6681,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/vi/LC_MESSAGES/messages.po b/warehouse/locale/vi/LC_MESSAGES/messages.po
index 1a1c16d60a35..76b2a0adf66e 100644
--- a/warehouse/locale/vi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/vi/LC_MESSAGES/messages.po
@@ -487,7 +487,7 @@ msgstr ""
msgid "Select project"
msgstr "Xóa dự án"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Project name"
@@ -847,53 +847,53 @@ msgstr "Lời mời tổ chức không còn tồn tại."
msgid "Expired invitation for '${username}' deleted."
msgstr "Lời mời cho '${project_name}' không được chấp thuận."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid TOTP code."
msgid "Invalid project name"
msgstr "Mã TOTP không hợp lệ."
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "Dự án này không có bản phát hành nào"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "Dự án này không có bản phát hành nào"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name is too similar to an existing project"
msgstr "Dự án này không có bản phát hành nào"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Project name"
msgid "Specify an environment name"
@@ -947,56 +947,74 @@ msgstr "Quản lý '%(project_name)s'"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid TOTP code."
msgid "Invalid repository name"
msgstr "Mã TOTP không hợp lệ."
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7461,7 +7479,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/wae/LC_MESSAGES/messages.po b/warehouse/locale/wae/LC_MESSAGES/messages.po
index 497caba1a0f0..6af6e4f525e2 100644
--- a/warehouse/locale/wae/LC_MESSAGES/messages.po
+++ b/warehouse/locale/wae/LC_MESSAGES/messages.po
@@ -404,7 +404,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -675,45 +675,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -756,54 +756,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6240,7 +6258,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/yi/LC_MESSAGES/messages.po b/warehouse/locale/yi/LC_MESSAGES/messages.po
index fbdaba1fd349..8bc7d9318626 100644
--- a/warehouse/locale/yi/LC_MESSAGES/messages.po
+++ b/warehouse/locale/yi/LC_MESSAGES/messages.po
@@ -406,7 +406,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -677,45 +677,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -758,54 +758,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6248,7 +6266,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/yue/LC_MESSAGES/messages.po b/warehouse/locale/yue/LC_MESSAGES/messages.po
index 35873ae1e55b..a911f0182a31 100644
--- a/warehouse/locale/yue/LC_MESSAGES/messages.po
+++ b/warehouse/locale/yue/LC_MESSAGES/messages.po
@@ -407,7 +407,7 @@ msgstr ""
msgid "Select project"
msgstr ""
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr ""
@@ -678,45 +678,45 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr ""
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr ""
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr ""
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr ""
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr ""
@@ -759,54 +759,72 @@ msgstr ""
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6238,7 +6256,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/zgh/LC_MESSAGES/messages.po b/warehouse/locale/zgh/LC_MESSAGES/messages.po
index feab3ca2aa76..7b4191971ee4 100644
--- a/warehouse/locale/zgh/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zgh/LC_MESSAGES/messages.po
@@ -421,7 +421,7 @@ msgstr "ⴷⴰ ⵉⵙⵙⵎⵔⴰⵙ ⵢⴰⵏ ⵓⵎⵉⴹⴰⵏ ⵉⵙⵎ ⴰ
msgid "Select project"
msgstr "ⵔⵣⵓ ⴳ ⵉⵙⵏⴼⴰⵕⵏ"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
#, fuzzy
#| msgid "Search projects"
@@ -718,21 +718,21 @@ msgstr ""
msgid "Expired invitation for '${username}' deleted."
msgstr "ⵜⴻⵜⵜⵡⴰⵣⵏ ⵜⵖⵓⵔⵉ '${username}'"
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Search projects"
msgid "Invalid project name"
msgstr "ⵔⵣⵓ ⴳ ⵉⵙⵏⴼⴰⵕⵏ"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -740,7 +740,7 @@ msgstr ""
msgid "This project already exists."
msgstr "ⴷⴰ ⵉⵙⵙⵎⵔⴰⵙ ⵢⴰⵏ ⵓⵎⵉⴹⴰⵏ ⵉⵙⵎ ⴰ .ⵙⵜⵢ ⵢⴰⵏ ⵏⵏⵉⴹⵏ."
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid ""
#| "This username is already being used by another account. Choose a "
@@ -748,25 +748,25 @@ msgstr "ⴷⴰ ⵉⵙⵙⵎⵔⴰⵙ ⵢⴰⵏ ⵓⵎⵉⴹⴰⵏ ⵉⵙⵎ ⴰ
msgid "This project name isn't allowed"
msgstr "ⴷⴰ ⵉⵙⵙⵎⵔⴰⵙ ⵢⴰⵏ ⵓⵎⵉⴹⴰⵏ ⵉⵙⵎ ⴰ .ⵙⵜⵢ ⵢⴰⵏ ⵏⵏⵉⴹⵏ."
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr ""
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Search projects"
msgid "Specify an environment name"
@@ -819,54 +819,72 @@ msgstr "ⵙⵜⵢ ⵢⴰⵏ ⵢⵉⵙⵎ ⵏ ⵓⵏⵙⵙⵎⵔⵙ ⵙ 50 ⵉⵡ
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -6455,7 +6473,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
diff --git a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.mo b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.mo
index af59a2e0352b..c61d31da5005 100644
Binary files a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.mo and b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.mo differ
diff --git a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
index 09331c7fff9e..84cca964c6f7 100644
--- a/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zh_Hans/LC_MESSAGES/messages.po
@@ -58,14 +58,15 @@
# Max , 2024.
# mzssbqd <2728084071@qq.com>, 2025.
# Zihang Feng , 2025.
+# Jesse205 <2055675594@qq.com>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: Warehouse VERSION\n"
"Report-Msgid-Bugs-To: admin@pypi.org\n"
"POT-Creation-Date: 2020-04-06 17:52-0500\n"
-"PO-Revision-Date: 2025-02-26 06:30+0000\n"
-"Last-Translator: 大王叫我来巡山 "
-"\n"
+"PO-Revision-Date: 2025-03-04 08:14+0000\n"
+"Last-Translator: 大王叫我来巡山 \n"
"Language-Team: Chinese (Simplified Han script) \n"
"Language: zh_Hans\n"
@@ -73,7 +74,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.10.2-dev\n"
+"X-Generator: Weblate 5.10.3-dev\n"
"Generated-By: Babel 2.8.0\n"
#: warehouse/views.py:158
@@ -148,9 +149,7 @@ msgstr "密码过长。"
msgid ""
"There have been too many unsuccessful login attempts. You have been locked "
"out for ${time}. Please try again later."
-msgstr ""
-"尝试登录失败次数过多,请稍后重试。你被锁在账户外面已经 ${time} 了。请稍后再"
-"试。"
+msgstr "登录尝试次数过多。您已被锁定 ${time}。请稍后再试。"
#: warehouse/accounts/forms.py:237
msgid "Your passwords don't match. Try again."
@@ -256,7 +255,7 @@ msgid ""
"New user registration temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-"新用户注册暂时被禁用。有关详细信息,请参见https://pypi.org/help#admin-"
+"新用户注册暂时被禁用。有关详细信息,请参见 https://pypi.org/help#admin-"
"intervention。"
#: warehouse/accounts/views.py:857
@@ -325,7 +324,7 @@ msgstr "这是你的主邮件地址"
#: warehouse/accounts/views.py:1005
#, python-brace-format
msgid "Email address ${email_address} verified. ${confirm_message}."
-msgstr "电子邮件地址$ {email_address}已验证。 ${confirm_message}。"
+msgstr "电子邮件地址 ${email_address} 已验证。${confirm_message}。"
#: warehouse/accounts/views.py:1062
msgid "Expired token: request a new organization invitation"
@@ -390,7 +389,7 @@ msgstr "你现在的角色是 ${role},所在项目为 '${project_name}'。"
#: warehouse/accounts/views.py:1436
#, python-brace-format
msgid "Please review our updated Terms of Service."
-msgstr "请检视已更新的服务条款。"
+msgstr "请查看已更新的服务条款。"
#: warehouse/accounts/views.py:1648 warehouse/accounts/views.py:1890
#: warehouse/manage/views/__init__.py:1419
@@ -398,19 +397,20 @@ msgid ""
"Trusted publishing is temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-"受信任发布暂时被禁用。有关详细信息,请参见https://pypi.org/help#admin-"
+"受信任发布暂时被禁用。有关详细信息,请参见 https://pypi.org/help#admin-"
"intervention。"
#: warehouse/accounts/views.py:1669
msgid "disabled. See https://pypi.org/help#admin-intervention for details."
-msgstr "被禁用。详见 https://pypi.org/help#admin-intervention。"
+msgstr ""
+"被禁用。有关详细信息,请参见 https://pypi.org/help#admin-intervention。"
#: warehouse/accounts/views.py:1685
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 ""
-"要注册待定的受信任发布者,你必须有一个经验证的电子邮箱。详见 https://pypi."
+"要注册待定的受信任发布者,你必须有一个已验证的电子邮箱。详见 https://pypi."
"org/help#openid-connect。"
#: warehouse/accounts/views.py:1698
@@ -486,7 +486,7 @@ msgstr "你已经提交了对此名称的申请。请另选一个组织账户名
msgid "Select project"
msgstr "选择项目"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "指定项目名称"
@@ -538,8 +538,8 @@ msgid ""
"The team name is invalid. Team names cannot start or end with a space, "
"period, underscore, hyphen, or slash. Choose a different team name."
msgstr ""
-"团队名称无效。 团队名称不能以空格、句点、下划线、连字符或斜杠开头或结尾。 选"
-"择不同的团队名称。"
+"团队名称无效。团队名称不能以空格、句点、下划线、连字符或斜杠开头或结尾。请选"
+"择一个不同的团队名称。"
#: warehouse/manage/forms.py:719
msgid "This team name has already been used. Choose a different team name."
@@ -570,7 +570,7 @@ msgstr "已更新账户详细信息"
#: warehouse/manage/views/__init__.py:323
#, python-brace-format
msgid "Email ${email_address} added - check your email for a verification link"
-msgstr "电子邮件${email_address}已添加 - 请检查邮箱中的验证链接"
+msgstr "已添加电子邮件 ${email_address} - 请检查邮箱中的验证链接"
#: warehouse/manage/views/__init__.py:828
msgid "Recovery codes already generated"
@@ -676,7 +676,7 @@ msgid ""
"Project deletion temporarily disabled. See https://pypi.org/help#admin-"
"intervention for details."
msgstr ""
-"项目删除暂时被禁用。有关详细信息,请参见https://pypi.org/help#admin-"
+"项目删除功能暂时被禁用。有关详细信息,请参见 https://pypi.org/help#admin-"
"intervention。"
#: warehouse/manage/views/__init__.py:2302
@@ -720,21 +720,21 @@ msgid ""
"User '${username}' does not have a verified primary email address and cannot "
"be added as a ${role_name} for project"
msgstr ""
-"用户'$ {username}'没有经过验证的主电子邮件地址,因此不能作为项目的$ "
-"{role_name}添加"
+"用户 ‘${username}’ 没有经过验证的主电子邮件地址,无法被添加为项目的 "
+"${role_name}"
#: warehouse/manage/views/__init__.py:2961
#: warehouse/manage/views/organizations.py:893
#, python-brace-format
msgid ""
"User '${username}' already has an active invite. Please try again later."
-msgstr "用户'$ {username}'已经具有有效的邀请。请稍后再试。"
+msgstr "用户 ‘${username}’ 已经有一个有效的邀请。请稍后再试。"
#: warehouse/manage/views/__init__.py:3026
#: warehouse/manage/views/organizations.py:958
#, python-brace-format
msgid "Invitation sent to '${username}'"
-msgstr "邀请已发送到“ $ {username}”"
+msgstr "已向 ‘${username}’ 发送邀请"
#: warehouse/manage/views/__init__.py:3058
msgid "Could not find role invitation."
@@ -779,12 +779,12 @@ msgid "Expired invitation for '${username}' deleted."
msgstr "删除了对 '${username}' 的过期邀请。"
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
msgid "Invalid project name"
msgstr "无效的项目名"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings 此处的项目发布设置来为它创建受信任的发"
"布者。"
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
msgid "This project already exists."
msgstr "此项目已存在。"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
msgid "This project name isn't allowed"
msgstr "此项目名称不被允许"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
msgid "This project name is too similar to an existing project"
msgstr "此项目名称与现有项目太相似"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr "此项目名称不被允许(与 Python 标准库模块名冲突)"
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr "指定发布者 ID"
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr "发布者必须由 ID 指定"
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
msgid "Specify an environment name"
msgstr "指定环境名称"
@@ -863,55 +863,74 @@ msgstr "没找到 ActiveState 组织"
msgid "ActiveState actor not found"
msgstr "没找到 ActiveState 行动者"
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr "指定 GitHub 存储库所有者(用户名或组织)"
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr "指定存储库名称"
# | msgid "Invalid TOTP code."
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
msgid "Invalid repository name"
msgstr "无效的存储库名"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr "指定工作流文件名"
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr "未知的 GitHub 用户或组织。"
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr "GitHub 对此操作进行了速率限制。请在几分钟后重试。"
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr "来自 GitHub 的意外错误。再试一次。"
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr "来自 GitHub 的意外连接错误。请在几分钟后重试。"
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr "来自 GitHub 的意外超时。请在几分钟后重试。"
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr "无效的 GitHub 用户或组织名称。"
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr "工作流名称必须以 .yml 或 .yaml 结尾"
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr "工作流文件名必须仅为文件名,不能包含目录"
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr "环境名过长(最大长度 255 个字符)"
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr "环境名不可以空白开头"
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr "环境名不可以空白结尾"
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+"环境名不可包含不可打印字符或字符 \"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr "名称须以 .git 或 .atom 结尾"
@@ -1172,8 +1191,8 @@ msgid ""
"serve you this site.
We are aware of the problem and are working to "
"resolve it as soon as possible.
"
msgstr ""
-"我们遇到了影响我们为你提供本网站服务的技术问题
。我们已经意识到这个"
-"问题,并正在努力尽快解决它。
"
+"我们正在经历技术问题,影响了我们为您提供本站服务的能力。
我们已经意"
+"识到这个问题,并正在努力尽快解决它。
"
#: warehouse/templates/500.html:28
msgid "Check our status page"
@@ -1458,7 +1477,7 @@ msgstr "使用 PyPI"
#: warehouse/templates/base.html:315
msgid "Using PyPI navigation"
-msgstr "使用PyPI导航"
+msgstr "使用PyPI 导航"
#: warehouse/templates/base.html:317
#: warehouse/templates/manage/organization/activate_subscription.html:33
@@ -2010,8 +2029,9 @@ msgstr "不要用 %(title)s 来进行安全研究。"
msgid ""
"For more information, please read the full Acceptable Use Policy."
-msgstr "更多信息,请阅读完整的 可接受的使用政策。"
+msgstr ""
+"更多信息,请阅读完整的 可接受的使用政策"
+"。"
#: warehouse/templates/accounts/register.html:50
#, python-format
@@ -2263,7 +2283,7 @@ msgstr ""
#: warehouse/templates/email/added-as-organization-member/body.html:26
#: warehouse/templates/email/role-changed-as-organization-member/body.html:26
msgid "You are receiving this because you are a member of this organization."
-msgstr "你收到这个是因为你是这个组织的一员。"
+msgstr "您收到此信息是因为您是该组织的成员。"
#: warehouse/templates/email/added-as-team-collaborator/body.html:20
#, python-format
@@ -3620,13 +3640,13 @@ msgstr "删除 API 令牌"
#: warehouse/templates/manage/unverified-account.html:166
msgid ""
"Applications or scripts using this token will no longer have access to PyPI."
-msgstr "使用此token的应用程序或脚本将不再有权访问PyPI。"
+msgstr "使用此令牌的应用程序或脚本将不再有权访问 PyPI。"
#: warehouse/templates/manage/account.html:204
#: warehouse/templates/manage/unverified-account.html:177
#, python-format
msgid "Unique identifier for API token \"%(token_description)s\""
-msgstr "API token的唯一标识符 \"%(token_description)s\""
+msgstr "API 令牌的唯一标识符“%(token_description)s”"
#: warehouse/templates/manage/account.html:222
msgid "Profile picture"
@@ -4321,7 +4341,7 @@ msgstr "双因素身份验证"
#: warehouse/templates/manage/manage_base.html:63
msgid "To remove this 2FA method, you must first add another method."
-msgstr "要删除此 2FA 方法,你必须首先添加另一种方法。"
+msgstr "要删除此 2FA 方式,你必须首先添加另一种方式。"
#: warehouse/templates/manage/manage_base.html:76
#: warehouse/templates/manage/manage_base.html:96
@@ -5391,7 +5411,7 @@ msgstr "项目 \"%(project)s\""
msgid ""
"For security reasons this token will only appear once. Copy it now."
"strong>"
-msgstr "出于安全原因,该秘钥只会出现一次。现在就去复制它。"
+msgstr "出于安全原因,该秘钥只会出现一次。请现在就去复制它。"
#: warehouse/templates/manage/account/token.html:53
msgid "Copy token to clipboard"
@@ -6664,9 +6684,13 @@ msgstr ""
"'%(constrained_environment_name)s',或者将其中的每个注册为一个受信任发布者。"
#: warehouse/templates/manage/project/publishing.html:467
-#, python-format
+#, fuzzy, python-format
+#| msgid ""
+#| "I understand that this Trusted Publisher will only allow uploads frow CI/"
+#| "CD workflows running in the '%(constrained_environment_name)s' "
+#| "environment."
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""
"我理解此受信任发布者将只允许来自运行在 '%(constrained_environment_name)s 环境"
@@ -9597,9 +9621,10 @@ msgid ""
"Acceptable Use "
"Policy."
msgstr ""
-"有许多原因会造成项目被隔离,比如涉嫌恶意活动、垃圾邮件,或其他违反 服务条款或可接受使用政策的行为。"
+"有许多原因会造成项目被隔离,比如涉嫌恶意活动、垃圾邮件,或其他违反 服务条款或可接受使用政策的行"
+"为。"
#: warehouse/templates/pages/help.html:904
msgid ""
diff --git a/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po b/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
index 5d6cc43a147a..fbf30afcee6a 100644
--- a/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
+++ b/warehouse/locale/zh_Hant/LC_MESSAGES/messages.po
@@ -473,7 +473,7 @@ msgstr "你已提交此名稱的申請。 請選擇另一個不同的組織帳
msgid "Select project"
msgstr "選擇專案"
-#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:29
+#: warehouse/manage/forms.py:506 warehouse/oidc/forms/_core.py:33
#: warehouse/oidc/forms/gitlab.py:57
msgid "Specify project name"
msgstr "指定專案名稱"
@@ -826,33 +826,33 @@ msgstr "角色邀請不再存在。"
msgid "Expired invitation for '${username}' deleted."
msgstr "邀請加入專案 ${project_name} 被拒絕."
-#: warehouse/oidc/forms/_core.py:31 warehouse/oidc/forms/_core.py:42
+#: warehouse/oidc/forms/_core.py:35 warehouse/oidc/forms/_core.py:46
#: warehouse/oidc/forms/gitlab.py:60 warehouse/oidc/forms/gitlab.py:64
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid project name"
msgstr "無效的重設碼。"
-#: warehouse/oidc/forms/_core.py:60
+#: warehouse/oidc/forms/_core.py:64
#, python-brace-format
msgid ""
"This project already exists: use the project's publishing settings here to create a Trusted Publisher for it."
msgstr ""
-#: warehouse/oidc/forms/_core.py:69
+#: warehouse/oidc/forms/_core.py:73
#, fuzzy
#| msgid "This project has no releases"
msgid "This project already exists."
msgstr "此專案沒有釋出版本"
-#: warehouse/oidc/forms/_core.py:74
+#: warehouse/oidc/forms/_core.py:78
#, fuzzy
#| msgid "This project has no releases"
msgid "This project name isn't allowed"
msgstr "此專案沒有釋出版本"
-#: warehouse/oidc/forms/_core.py:78
+#: warehouse/oidc/forms/_core.py:82
#, fuzzy
#| msgid ""
#| "The project name is too similar to an existing project and may be "
@@ -860,21 +860,21 @@ msgstr "此專案沒有釋出版本"
msgid "This project name is too similar to an existing project"
msgstr "這個項目的名稱與另一個已存在的項目的名稱太相近而且會使人困惑。"
-#: warehouse/oidc/forms/_core.py:83
+#: warehouse/oidc/forms/_core.py:87
msgid ""
"This project name isn't allowed (conflict with the Python standard library "
"module name)"
msgstr ""
-#: warehouse/oidc/forms/_core.py:99 warehouse/oidc/forms/_core.py:110
+#: warehouse/oidc/forms/_core.py:115 warehouse/oidc/forms/_core.py:126
msgid "Specify a publisher ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:100 warehouse/oidc/forms/_core.py:111
+#: warehouse/oidc/forms/_core.py:116 warehouse/oidc/forms/_core.py:127
msgid "Publisher must be specified by ID"
msgstr ""
-#: warehouse/oidc/forms/_core.py:116
+#: warehouse/oidc/forms/_core.py:132
#, fuzzy
#| msgid "Specify project name"
msgid "Specify an environment name"
@@ -929,56 +929,74 @@ msgstr "管理 '%(project_name)s'"
msgid "ActiveState actor not found"
msgstr ""
-#: warehouse/oidc/forms/github.py:32
+#: warehouse/oidc/forms/github.py:33
msgid "Specify GitHub repository owner (username or organization)"
msgstr ""
-#: warehouse/oidc/forms/github.py:39
+#: warehouse/oidc/forms/github.py:40
msgid "Specify repository name"
msgstr ""
-#: warehouse/oidc/forms/github.py:41
+#: warehouse/oidc/forms/github.py:42
#, fuzzy
#| msgid "Invalid recovery code."
msgid "Invalid repository name"
msgstr "無效的重設碼。"
-#: warehouse/oidc/forms/github.py:48
+#: warehouse/oidc/forms/github.py:49
msgid "Specify workflow filename"
msgstr ""
-#: warehouse/oidc/forms/github.py:83
+#: warehouse/oidc/forms/github.py:84
msgid "Unknown GitHub user or organization."
msgstr ""
-#: warehouse/oidc/forms/github.py:94
+#: warehouse/oidc/forms/github.py:95
msgid "GitHub has rate-limited this action. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:103
+#: warehouse/oidc/forms/github.py:104
msgid "Unexpected error from GitHub. Try again."
msgstr ""
-#: warehouse/oidc/forms/github.py:111
+#: warehouse/oidc/forms/github.py:112
msgid "Unexpected connection error from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:120
+#: warehouse/oidc/forms/github.py:121
msgid "Unexpected timeout from GitHub. Try again in a few minutes."
msgstr ""
-#: warehouse/oidc/forms/github.py:132
+#: warehouse/oidc/forms/github.py:133
msgid "Invalid GitHub user or organization name."
msgstr ""
-#: warehouse/oidc/forms/github.py:148
+#: warehouse/oidc/forms/github.py:149
msgid "Workflow name must end with .yml or .yaml"
msgstr ""
-#: warehouse/oidc/forms/github.py:153
+#: warehouse/oidc/forms/github.py:154
msgid "Workflow filename must be a filename only, without directories"
msgstr ""
+#: warehouse/oidc/forms/github.py:165
+msgid "Environment name is too long (maximum is 255 characters)"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:170
+msgid "Environment name may not start with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:175
+msgid "Environment name may not end with whitespace"
+msgstr ""
+
+#: warehouse/oidc/forms/github.py:181
+msgid ""
+"Environment name must not contain non-printable characters or the characters "
+"\"'\", \"\"\", \"`\", \",\", \";\", \"\\\""
+msgstr ""
+
#: warehouse/oidc/forms/gitlab.py:32
msgid "Name ends with .git or .atom"
msgstr ""
@@ -7312,7 +7330,7 @@ msgstr ""
#: warehouse/templates/manage/project/publishing.html:467
#, python-format
msgid ""
-"I understand that this Trusted Publisher will only allow uploads frow CI/CD "
+"I understand that this Trusted Publisher will only allow uploads from CI/CD "
"workflows running in the '%(constrained_environment_name)s' environment."
msgstr ""