summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-01-17 10:09:42 +0100
committerGitHub <noreply@github.com>2023-01-17 10:09:42 +0100
commit6fef789e456204752ec6b77b41740d67553fdd6f (patch)
tree2945ee3072579b640866f80a7859d21d66987a89
parent81818cc55553caba8125bdcd18fa0427ac16c905 (diff)
[4.2.x] Updated source translation catalogs.
-rw-r--r--django/conf/locale/en/LC_MESSAGES/django.po404
-rw-r--r--django/contrib/admin/locale/en/LC_MESSAGES/django.po150
-rw-r--r--django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po43
-rw-r--r--django/contrib/auth/locale/en/LC_MESSAGES/django.po184
-rw-r--r--django/contrib/postgres/locale/en/LC_MESSAGES/django.po41
5 files changed, 423 insertions, 399 deletions
diff --git a/django/conf/locale/en/LC_MESSAGES/django.po b/django/conf/locale/en/LC_MESSAGES/django.po
index 319cfbd40d..a89e2e0ae7 100644
--- a/django/conf/locale/en/LC_MESSAGES/django.po
+++ b/django/conf/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-17 05:23-0500\n"
+"POT-Creation-Date: 2023-01-17 02:13-0600\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -62,347 +62,347 @@ msgstr ""
msgid "Central Kurdish (Sorani)"
msgstr ""
-#: conf/global_settings.py:68
+#: conf/global_settings.py:69
msgid "Czech"
msgstr ""
-#: conf/global_settings.py:69
+#: conf/global_settings.py:70
msgid "Welsh"
msgstr ""
-#: conf/global_settings.py:70
+#: conf/global_settings.py:71
msgid "Danish"
msgstr ""
-#: conf/global_settings.py:71
+#: conf/global_settings.py:72
msgid "German"
msgstr ""
-#: conf/global_settings.py:72
+#: conf/global_settings.py:73
msgid "Lower Sorbian"
msgstr ""
-#: conf/global_settings.py:73
+#: conf/global_settings.py:74
msgid "Greek"
msgstr ""
-#: conf/global_settings.py:74
+#: conf/global_settings.py:75
msgid "English"
msgstr ""
-#: conf/global_settings.py:75
+#: conf/global_settings.py:76
msgid "Australian English"
msgstr ""
-#: conf/global_settings.py:76
+#: conf/global_settings.py:77
msgid "British English"
msgstr ""
-#: conf/global_settings.py:77
+#: conf/global_settings.py:78
msgid "Esperanto"
msgstr ""
-#: conf/global_settings.py:78
+#: conf/global_settings.py:79
msgid "Spanish"
msgstr ""
-#: conf/global_settings.py:79
+#: conf/global_settings.py:80
msgid "Argentinian Spanish"
msgstr ""
-#: conf/global_settings.py:80
+#: conf/global_settings.py:81
msgid "Colombian Spanish"
msgstr ""
-#: conf/global_settings.py:81
+#: conf/global_settings.py:82
msgid "Mexican Spanish"
msgstr ""
-#: conf/global_settings.py:82
+#: conf/global_settings.py:83
msgid "Nicaraguan Spanish"
msgstr ""
-#: conf/global_settings.py:83
+#: conf/global_settings.py:84
msgid "Venezuelan Spanish"
msgstr ""
-#: conf/global_settings.py:84
+#: conf/global_settings.py:85
msgid "Estonian"
msgstr ""
-#: conf/global_settings.py:85
+#: conf/global_settings.py:86
msgid "Basque"
msgstr ""
-#: conf/global_settings.py:86
+#: conf/global_settings.py:87
msgid "Persian"
msgstr ""
-#: conf/global_settings.py:87
+#: conf/global_settings.py:88
msgid "Finnish"
msgstr ""
-#: conf/global_settings.py:88
+#: conf/global_settings.py:89
msgid "French"
msgstr ""
-#: conf/global_settings.py:89
+#: conf/global_settings.py:90
msgid "Frisian"
msgstr ""
-#: conf/global_settings.py:90
+#: conf/global_settings.py:91
msgid "Irish"
msgstr ""
-#: conf/global_settings.py:91
+#: conf/global_settings.py:92
msgid "Scottish Gaelic"
msgstr ""
-#: conf/global_settings.py:92
+#: conf/global_settings.py:93
msgid "Galician"
msgstr ""
-#: conf/global_settings.py:93
+#: conf/global_settings.py:94
msgid "Hebrew"
msgstr ""
-#: conf/global_settings.py:94
+#: conf/global_settings.py:95
msgid "Hindi"
msgstr ""
-#: conf/global_settings.py:95
+#: conf/global_settings.py:96
msgid "Croatian"
msgstr ""
-#: conf/global_settings.py:96
+#: conf/global_settings.py:97
msgid "Upper Sorbian"
msgstr ""
-#: conf/global_settings.py:97
+#: conf/global_settings.py:98
msgid "Hungarian"
msgstr ""
-#: conf/global_settings.py:98
+#: conf/global_settings.py:99
msgid "Armenian"
msgstr ""
-#: conf/global_settings.py:99
+#: conf/global_settings.py:100
msgid "Interlingua"
msgstr ""
-#: conf/global_settings.py:100
+#: conf/global_settings.py:101
msgid "Indonesian"
msgstr ""
-#: conf/global_settings.py:101
+#: conf/global_settings.py:102
msgid "Igbo"
msgstr ""
-#: conf/global_settings.py:102
+#: conf/global_settings.py:103
msgid "Ido"
msgstr ""
-#: conf/global_settings.py:103
+#: conf/global_settings.py:104
msgid "Icelandic"
msgstr ""
-#: conf/global_settings.py:104
+#: conf/global_settings.py:105
msgid "Italian"
msgstr ""
-#: conf/global_settings.py:105
+#: conf/global_settings.py:106
msgid "Japanese"
msgstr ""
-#: conf/global_settings.py:106
+#: conf/global_settings.py:107
msgid "Georgian"
msgstr ""
-#: conf/global_settings.py:107
+#: conf/global_settings.py:108
msgid "Kabyle"
msgstr ""
-#: conf/global_settings.py:108
+#: conf/global_settings.py:109
msgid "Kazakh"
msgstr ""
-#: conf/global_settings.py:109
+#: conf/global_settings.py:110
msgid "Khmer"
msgstr ""
-#: conf/global_settings.py:110
+#: conf/global_settings.py:111
msgid "Kannada"
msgstr ""
-#: conf/global_settings.py:111
+#: conf/global_settings.py:112
msgid "Korean"
msgstr ""
-#: conf/global_settings.py:112
+#: conf/global_settings.py:113
msgid "Kyrgyz"
msgstr ""
-#: conf/global_settings.py:113
+#: conf/global_settings.py:114
msgid "Luxembourgish"
msgstr ""
-#: conf/global_settings.py:114
+#: conf/global_settings.py:115
msgid "Lithuanian"
msgstr ""
-#: conf/global_settings.py:115
+#: conf/global_settings.py:116
msgid "Latvian"
msgstr ""
-#: conf/global_settings.py:116
+#: conf/global_settings.py:117
msgid "Macedonian"
msgstr ""
-#: conf/global_settings.py:117
+#: conf/global_settings.py:118
msgid "Malayalam"
msgstr ""
-#: conf/global_settings.py:118
+#: conf/global_settings.py:119
msgid "Mongolian"
msgstr ""
-#: conf/global_settings.py:119
+#: conf/global_settings.py:120
msgid "Marathi"
msgstr ""
-#: conf/global_settings.py:120
+#: conf/global_settings.py:121
msgid "Malay"
msgstr ""
-#: conf/global_settings.py:121
+#: conf/global_settings.py:122
msgid "Burmese"
msgstr ""
-#: conf/global_settings.py:122
+#: conf/global_settings.py:123
msgid "Norwegian Bokmål"
msgstr ""
-#: conf/global_settings.py:123
+#: conf/global_settings.py:124
msgid "Nepali"
msgstr ""
-#: conf/global_settings.py:124
+#: conf/global_settings.py:125
msgid "Dutch"
msgstr ""
-#: conf/global_settings.py:125
+#: conf/global_settings.py:126
msgid "Norwegian Nynorsk"
msgstr ""
-#: conf/global_settings.py:126
+#: conf/global_settings.py:127
msgid "Ossetic"
msgstr ""
-#: conf/global_settings.py:127
+#: conf/global_settings.py:128
msgid "Punjabi"
msgstr ""
-#: conf/global_settings.py:128
+#: conf/global_settings.py:129
msgid "Polish"
msgstr ""
-#: conf/global_settings.py:129
+#: conf/global_settings.py:130
msgid "Portuguese"
msgstr ""
-#: conf/global_settings.py:130
+#: conf/global_settings.py:131
msgid "Brazilian Portuguese"
msgstr ""
-#: conf/global_settings.py:131
+#: conf/global_settings.py:132
msgid "Romanian"
msgstr ""
-#: conf/global_settings.py:132
+#: conf/global_settings.py:133
msgid "Russian"
msgstr ""
-#: conf/global_settings.py:133
+#: conf/global_settings.py:134
msgid "Slovak"
msgstr ""
-#: conf/global_settings.py:134
+#: conf/global_settings.py:135
msgid "Slovenian"
msgstr ""
-#: conf/global_settings.py:135
+#: conf/global_settings.py:136
msgid "Albanian"
msgstr ""
-#: conf/global_settings.py:136
+#: conf/global_settings.py:137
msgid "Serbian"
msgstr ""
-#: conf/global_settings.py:137
+#: conf/global_settings.py:138
msgid "Serbian Latin"
msgstr ""
-#: conf/global_settings.py:138
+#: conf/global_settings.py:139
msgid "Swedish"
msgstr ""
-#: conf/global_settings.py:139
+#: conf/global_settings.py:140
msgid "Swahili"
msgstr ""
-#: conf/global_settings.py:140
+#: conf/global_settings.py:141
msgid "Tamil"
msgstr ""
-#: conf/global_settings.py:141
+#: conf/global_settings.py:142
msgid "Telugu"
msgstr ""
-#: conf/global_settings.py:142
+#: conf/global_settings.py:143
msgid "Tajik"
msgstr ""
-#: conf/global_settings.py:143
+#: conf/global_settings.py:144
msgid "Thai"
msgstr ""
-#: conf/global_settings.py:144
+#: conf/global_settings.py:145
msgid "Turkmen"
msgstr ""
-#: conf/global_settings.py:145
+#: conf/global_settings.py:146
msgid "Turkish"
msgstr ""
-#: conf/global_settings.py:146
+#: conf/global_settings.py:147
msgid "Tatar"
msgstr ""
-#: conf/global_settings.py:147
+#: conf/global_settings.py:148
msgid "Udmurt"
msgstr ""
-#: conf/global_settings.py:148
+#: conf/global_settings.py:149
msgid "Ukrainian"
msgstr ""
-#: conf/global_settings.py:149
+#: conf/global_settings.py:150
msgid "Urdu"
msgstr ""
-#: conf/global_settings.py:150
+#: conf/global_settings.py:151
msgid "Uzbek"
msgstr ""
-#: conf/global_settings.py:151
+#: conf/global_settings.py:152
msgid "Vietnamese"
msgstr ""
-#: conf/global_settings.py:152
+#: conf/global_settings.py:153
msgid "Simplified Chinese"
msgstr ""
-#: conf/global_settings.py:153
+#: conf/global_settings.py:154
msgid "Traditional Chinese"
msgstr ""
@@ -436,7 +436,7 @@ msgstr ""
msgid "That page number is less than 1"
msgstr ""
-#: core/paginator.py:57
+#: core/paginator.py:54
msgid "That page contains no results"
msgstr ""
@@ -444,7 +444,7 @@ msgstr ""
msgid "Enter a valid value."
msgstr ""
-#: core/validators.py:104 forms/fields.py:751
+#: core/validators.py:104 forms/fields.py:749
msgid "Enter a valid URL."
msgstr ""
@@ -553,22 +553,22 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: core/validators.py:539
+#: core/validators.py:541
#, python-format
msgid ""
"File extension “%(extension)s” is not allowed. Allowed extensions are: "
"%(allowed_extensions)s."
msgstr ""
-#: core/validators.py:600
+#: core/validators.py:602
msgid "Null characters are not allowed."
msgstr ""
-#: db/models/base.py:1420 forms/models.py:898
+#: db/models/base.py:1423 forms/models.py:893
msgid "and"
msgstr ""
-#: db/models/base.py:1422
+#: db/models/base.py:1425
#, python-format
msgid "%(model_name)s with this %(field_labels)s already exists."
msgstr ""
@@ -578,269 +578,273 @@ msgstr ""
msgid "Constraint “%(name)s” is violated."
msgstr ""
-#: db/models/fields/__init__.py:129
+#: db/models/fields/__init__.py:128
#, python-format
msgid "Value %(value)r is not a valid choice."
msgstr ""
-#: db/models/fields/__init__.py:130
+#: db/models/fields/__init__.py:129
msgid "This field cannot be null."
msgstr ""
-#: db/models/fields/__init__.py:131
+#: db/models/fields/__init__.py:130
msgid "This field cannot be blank."
msgstr ""
-#: db/models/fields/__init__.py:132
+#: db/models/fields/__init__.py:131
#, python-format
msgid "%(model_name)s with this %(field_label)s already exists."
msgstr ""
#. Translators: The 'lookup_type' is one of 'date', 'year' or
#. 'month'. Eg: "Title must be unique for pub_date year"
-#: db/models/fields/__init__.py:136
+#: db/models/fields/__init__.py:135
#, python-format
msgid ""
"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s."
msgstr ""
-#: db/models/fields/__init__.py:174
+#: db/models/fields/__init__.py:173
#, python-format
msgid "Field of type: %(field_type)s"
msgstr ""
-#: db/models/fields/__init__.py:1065
+#: db/models/fields/__init__.py:1094
#, python-format
msgid "“%(value)s” value must be either True or False."
msgstr ""
-#: db/models/fields/__init__.py:1066
+#: db/models/fields/__init__.py:1095
#, python-format
msgid "“%(value)s” value must be either True, False, or None."
msgstr ""
-#: db/models/fields/__init__.py:1068
+#: db/models/fields/__init__.py:1097
msgid "Boolean (Either True or False)"
msgstr ""
-#: db/models/fields/__init__.py:1118
+#: db/models/fields/__init__.py:1147
#, python-format
msgid "String (up to %(max_length)s)"
msgstr ""
-#: db/models/fields/__init__.py:1222
+#: db/models/fields/__init__.py:1149
+msgid "String (unlimited)"
+msgstr ""
+
+#: db/models/fields/__init__.py:1253
msgid "Comma-separated integers"
msgstr ""
-#: db/models/fields/__init__.py:1323
+#: db/models/fields/__init__.py:1354
#, python-format
msgid ""
"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
"format."
msgstr ""
-#: db/models/fields/__init__.py:1327 db/models/fields/__init__.py:1462
+#: db/models/fields/__init__.py:1358 db/models/fields/__init__.py:1493
#, python-format
msgid ""
"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
"date."
msgstr ""
-#: db/models/fields/__init__.py:1331
+#: db/models/fields/__init__.py:1362
msgid "Date (without time)"
msgstr ""
-#: db/models/fields/__init__.py:1458
+#: db/models/fields/__init__.py:1489
#, python-format
msgid ""
"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
"uuuuuu]][TZ] format."
msgstr ""
-#: db/models/fields/__init__.py:1466
+#: db/models/fields/__init__.py:1497
#, python-format
msgid ""
"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
"[TZ]) but it is an invalid date/time."
msgstr ""
-#: db/models/fields/__init__.py:1471
+#: db/models/fields/__init__.py:1502
msgid "Date (with time)"
msgstr ""
-#: db/models/fields/__init__.py:1595
+#: db/models/fields/__init__.py:1626
#, python-format
msgid "“%(value)s” value must be a decimal number."
msgstr ""
-#: db/models/fields/__init__.py:1597
+#: db/models/fields/__init__.py:1628
msgid "Decimal number"
msgstr ""
-#: db/models/fields/__init__.py:1754
+#: db/models/fields/__init__.py:1791
#, python-format
msgid ""
"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
"uuuuuu] format."
msgstr ""
-#: db/models/fields/__init__.py:1758
+#: db/models/fields/__init__.py:1795
msgid "Duration"
msgstr ""
-#: db/models/fields/__init__.py:1810
+#: db/models/fields/__init__.py:1847
msgid "Email address"
msgstr ""
-#: db/models/fields/__init__.py:1835
+#: db/models/fields/__init__.py:1872
msgid "File path"
msgstr ""
-#: db/models/fields/__init__.py:1913
+#: db/models/fields/__init__.py:1950
#, python-format
msgid "“%(value)s” value must be a float."
msgstr ""
-#: db/models/fields/__init__.py:1915
+#: db/models/fields/__init__.py:1952
msgid "Floating point number"
msgstr ""
-#: db/models/fields/__init__.py:1955
+#: db/models/fields/__init__.py:1992
#, python-format
msgid "“%(value)s” value must be an integer."
msgstr ""
-#: db/models/fields/__init__.py:1957
+#: db/models/fields/__init__.py:1994
msgid "Integer"
msgstr ""
-#: db/models/fields/__init__.py:2049
+#: db/models/fields/__init__.py:2090
msgid "Big (8 byte) integer"
msgstr ""
-#: db/models/fields/__init__.py:2066
+#: db/models/fields/__init__.py:2107
msgid "Small integer"
msgstr ""
-#: db/models/fields/__init__.py:2074
+#: db/models/fields/__init__.py:2115
msgid "IPv4 address"
msgstr ""
-#: db/models/fields/__init__.py:2105
+#: db/models/fields/__init__.py:2146
msgid "IP address"
msgstr ""
-#: db/models/fields/__init__.py:2198 db/models/fields/__init__.py:2199
+#: db/models/fields/__init__.py:2239 db/models/fields/__init__.py:2240
#, python-format
msgid "“%(value)s” value must be either None, True or False."
msgstr ""
-#: db/models/fields/__init__.py:2201
+#: db/models/fields/__init__.py:2242
msgid "Boolean (Either True, False or None)"
msgstr ""
-#: db/models/fields/__init__.py:2252
+#: db/models/fields/__init__.py:2293
msgid "Positive big integer"
msgstr ""
-#: db/models/fields/__init__.py:2267
+#: db/models/fields/__init__.py:2308
msgid "Positive integer"
msgstr ""
-#: db/models/fields/__init__.py:2282
+#: db/models/fields/__init__.py:2323
msgid "Positive small integer"
msgstr ""
-#: db/models/fields/__init__.py:2298
+#: db/models/fields/__init__.py:2339
#, python-format
msgid "Slug (up to %(max_length)s)"
msgstr ""
-#: db/models/fields/__init__.py:2334
+#: db/models/fields/__init__.py:2375
msgid "Text"
msgstr ""
-#: db/models/fields/__init__.py:2409
+#: db/models/fields/__init__.py:2450
#, python-format
msgid ""
"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
"format."
msgstr ""
-#: db/models/fields/__init__.py:2413
+#: db/models/fields/__init__.py:2454
#, python-format
msgid ""
"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
"invalid time."
msgstr ""
-#: db/models/fields/__init__.py:2417
+#: db/models/fields/__init__.py:2458
msgid "Time"
msgstr ""
-#: db/models/fields/__init__.py:2525
+#: db/models/fields/__init__.py:2566
msgid "URL"
msgstr ""
-#: db/models/fields/__init__.py:2549
+#: db/models/fields/__init__.py:2590
msgid "Raw binary data"
msgstr ""
-#: db/models/fields/__init__.py:2614
+#: db/models/fields/__init__.py:2655
#, python-format
msgid "“%(value)s” is not a valid UUID."
msgstr ""
-#: db/models/fields/__init__.py:2616
+#: db/models/fields/__init__.py:2657
msgid "Universally unique identifier"
msgstr ""
-#: db/models/fields/files.py:232
+#: db/models/fields/files.py:233
msgid "File"
msgstr ""
-#: db/models/fields/files.py:392
+#: db/models/fields/files.py:393
msgid "Image"
msgstr ""
-#: db/models/fields/json.py:18
+#: db/models/fields/json.py:26
msgid "A JSON object"
msgstr ""
-#: db/models/fields/json.py:20
+#: db/models/fields/json.py:28
msgid "Value must be valid JSON."
msgstr ""
-#: db/models/fields/related.py:920
+#: db/models/fields/related.py:921
#, python-format
msgid "%(model)s instance with %(field)s %(value)r does not exist."
msgstr ""
-#: db/models/fields/related.py:922
+#: db/models/fields/related.py:923
msgid "Foreign Key (type determined by related field)"
msgstr ""
-#: db/models/fields/related.py:1229
+#: db/models/fields/related.py:1214
msgid "One-to-one relationship"
msgstr ""
-#: db/models/fields/related.py:1286
+#: db/models/fields/related.py:1271
#, python-format
msgid "%(from)s-%(to)s relationship"
msgstr ""
-#: db/models/fields/related.py:1288
+#: db/models/fields/related.py:1273
#, python-format
msgid "%(from)s-%(to)s relationships"
msgstr ""
-#: db/models/fields/related.py:1336
+#: db/models/fields/related.py:1321
msgid "Many-to-many relationship"
msgstr ""
#. Translators: If found as last label character, these punctuation
#. characters will prevent the default label_suffix to be appended to the label
-#: forms/boundfield.py:176
+#: forms/boundfield.py:184
msgid ":?.!"
msgstr ""
@@ -852,11 +856,11 @@ msgstr ""
msgid "Enter a whole number."
msgstr ""
-#: forms/fields.py:467 forms/fields.py:1240
+#: forms/fields.py:467 forms/fields.py:1238
msgid "Enter a valid date."
msgstr ""
-#: forms/fields.py:490 forms/fields.py:1241
+#: forms/fields.py:490 forms/fields.py:1239
msgid "Enter a valid time."
msgstr ""
@@ -897,30 +901,30 @@ msgstr[1] ""
msgid "Please either submit a file or check the clear checkbox, not both."
msgstr ""
-#: forms/fields.py:693
+#: forms/fields.py:691
msgid ""
"Upload a valid image. The file you uploaded was either not an image or a "
"corrupted image."
msgstr ""
-#: forms/fields.py:856 forms/fields.py:948 forms/models.py:1571
+#: forms/fields.py:854 forms/fields.py:946 forms/models.py:1566
#, python-format
msgid "Select a valid choice. %(value)s is not one of the available choices."
msgstr ""
-#: forms/fields.py:950 forms/fields.py:1069 forms/models.py:1569
+#: forms/fields.py:948 forms/fields.py:1067 forms/models.py:1564
msgid "Enter a list of values."
msgstr ""
-#: forms/fields.py:1070
+#: forms/fields.py:1068
msgid "Enter a complete value."
msgstr ""
-#: forms/fields.py:1309
+#: forms/fields.py:1307
msgid "Enter a valid UUID."
msgstr ""
-#: forms/fields.py:1339
+#: forms/fields.py:1337
msgid "Enter a valid JSON."
msgstr ""
@@ -929,70 +933,70 @@ msgstr ""
msgid ":"
msgstr ""
-#: forms/forms.py:248 forms/forms.py:332
+#: forms/forms.py:244 forms/forms.py:328
#, python-format
msgid "(Hidden field %(name)s) %(error)s"
msgstr ""
-#: forms/formsets.py:61
+#: forms/formsets.py:63
#, python-format
msgid ""
"ManagementForm data is missing or has been tampered with. Missing fields: "
"%(field_names)s. You may need to file a bug report if the issue persists."
msgstr ""
-#: forms/formsets.py:65
+#: forms/formsets.py:67
#, python-format
msgid "Please submit at most %(num)d form."
msgid_plural "Please submit at most %(num)d forms."
msgstr[0] ""
msgstr[1] ""
-#: forms/formsets.py:70
+#: forms/formsets.py:72
#, python-format
msgid "Please submit at least %(num)d form."
msgid_plural "Please submit at least %(num)d forms."
msgstr[0] ""
msgstr[1] ""
-#: forms/formsets.py:481 forms/formsets.py:488
+#: forms/formsets.py:484 forms/formsets.py:491
msgid "Order"
msgstr ""
-#: forms/formsets.py:494
+#: forms/formsets.py:497
msgid "Delete"
msgstr ""
-#: forms/models.py:891
+#: forms/models.py:886
#, python-format
msgid "Please correct the duplicate data for %(field)s."
msgstr ""
-#: forms/models.py:896
+#: forms/models.py:891
#, python-format
msgid "Please correct the duplicate data for %(field)s, which must be unique."
msgstr ""
-#: forms/models.py:903
+#: forms/models.py:898
#, python-format
msgid ""
"Please correct the duplicate data for %(field_name)s which must be unique "
"for the %(lookup)s in %(date_field)s."
msgstr ""
-#: forms/models.py:912
+#: forms/models.py:907
msgid "Please correct the duplicate values below."
msgstr ""
-#: forms/models.py:1343
+#: forms/models.py:1338
msgid "The inline value did not match the parent instance."
msgstr ""
-#: forms/models.py:1434
+#: forms/models.py:1429
msgid "Select a valid choice. That choice is not one of the available choices."
msgstr ""
-#: forms/models.py:1573
+#: forms/models.py:1568
#, python-format
msgid "“%(pk)s” is not a valid value."
msgstr ""
@@ -1016,76 +1020,76 @@ msgstr ""
msgid "Change"
msgstr ""
-#: forms/widgets.py:770
+#: forms/widgets.py:771
msgid "Unknown"
msgstr ""
-#: forms/widgets.py:771
+#: forms/widgets.py:772
msgid "Yes"
msgstr ""
-#: forms/widgets.py:772
+#: forms/widgets.py:773
msgid "No"
msgstr ""
#. Translators: Please do not add spaces around commas.
-#: template/defaultfilters.py:853
+#: template/defaultfilters.py:860
msgid "yes,no,maybe"
msgstr ""
-#: template/defaultfilters.py:883 template/defaultfilters.py:900
+#: template/defaultfilters.py:890 template/defaultfilters.py:907
#, python-format
msgid "%(size)d byte"
msgid_plural "%(size)d bytes"
msgstr[0] ""
msgstr[1] ""
-#: template/defaultfilters.py:902
+#: template/defaultfilters.py:909
#, python-format
msgid "%s KB"
msgstr ""
-#: template/defaultfilters.py:904
+#: template/defaultfilters.py:911
#, python-format
msgid "%s MB"
msgstr ""
-#: template/defaultfilters.py:906
+#: template/defaultfilters.py:913
#, python-format
msgid "%s GB"
msgstr ""
-#: template/defaultfilters.py:908
+#: template/defaultfilters.py:915
#, python-format
msgid "%s TB"
msgstr ""
-#: template/defaultfilters.py:910
+#: template/defaultfilters.py:917
#, python-format
msgid "%s PB"
msgstr ""
-#: utils/dateformat.py:77
+#: utils/dateformat.py:73
msgid "p.m."
msgstr ""
-#: utils/dateformat.py:78
+#: utils/dateformat.py:74
msgid "a.m."
msgstr ""
-#: utils/dateformat.py:83
+#: utils/dateformat.py:79
msgid "PM"
msgstr ""
-#: utils/dateformat.py:84
+#: utils/dateformat.py:80
msgid "AM"
msgstr ""
-#: utils/dateformat.py:155
+#: utils/dateformat.py:152
msgid "midnight"
msgstr ""
-#: utils/dateformat.py:157
+#: utils/dateformat.py:154
msgid "noon"
msgstr ""
@@ -1365,57 +1369,57 @@ msgstr ""
msgid "This is not a valid IPv6 address."
msgstr ""
-#: utils/text.py:76
+#: utils/text.py:78
#, python-format
msgctxt "String to return when truncating text"
msgid "%(truncated_text)s…"
msgstr ""
-#: utils/text.py:252
+#: utils/text.py:254
msgid "or"
msgstr ""
#. Translators: This string is used as a separator between list elements
-#: utils/text.py:271 utils/timesince.py:94
+#: utils/text.py:273 utils/timesince.py:131
msgid ", "
msgstr ""
-#: utils/timesince.py:9
+#: utils/timesince.py:8
#, python-format
msgid "%(num)d year"
msgid_plural "%(num)d years"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:10
+#: utils/timesince.py:9
#, python-format
msgid "%(num)d month"
msgid_plural "%(num)d months"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:11
+#: utils/timesince.py:10
#, python-format
msgid "%(num)d week"
msgid_plural "%(num)d weeks"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:12
+#: utils/timesince.py:11
#, python-format
msgid "%(num)d day"
msgid_plural "%(num)d days"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:13
+#: utils/timesince.py:12
#, python-format
msgid "%(num)d hour"
msgid_plural "%(num)d hours"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:14
+#: utils/timesince.py:13
#, python-format
msgid "%(num)d minute"
msgid_plural "%(num)d minutes"
@@ -1450,8 +1454,8 @@ msgid ""
"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "
"including the “Referrer-Policy: no-referrer” header, please remove them. The "
"CSRF protection requires the “Referer” header to do strict referer checking. "
-"If you’re concerned about privacy, use alternatives like <a rel=\"noreferrer"
-"\" …> for links to third-party sites."
+"If you’re concerned about privacy, use alternatives like <a "
+"rel=\"noreferrer\" …> for links to third-party sites."
msgstr ""
#: views/csrf.py:136
@@ -1558,9 +1562,9 @@ msgstr ""
#, python-format
msgid ""
"You are seeing this page because <a href=\"https://docs.djangoproject.com/en/"
-"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener"
-"\">DEBUG=True</a> is in your settings file and you have not configured any "
-"URLs."
+"%(version)s/ref/settings/#debug\" target=\"_blank\" "
+"rel=\"noopener\">DEBUG=True</a> is in your settings file and you have not "
+"configured any URLs."
msgstr ""
#: views/templates/default_urlconf.html:230
diff --git a/django/contrib/admin/locale/en/LC_MESSAGES/django.po b/django/contrib/admin/locale/en/LC_MESSAGES/django.po
index 6efd3478bd..bce40b8b98 100644
--- a/django/contrib/admin/locale/en/LC_MESSAGES/django.po
+++ b/django/contrib/admin/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-17 05:10-0500\n"
+"POT-Creation-Date: 2023-01-17 02:13-0600\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -24,12 +24,12 @@ msgstr ""
msgid "Successfully deleted %(count)d %(items)s."
msgstr ""
-#: contrib/admin/actions.py:64 contrib/admin/options.py:2153
+#: contrib/admin/actions.py:64 contrib/admin/options.py:2148
#, python-format
msgid "Cannot delete %(name)s"
msgstr ""
-#: contrib/admin/actions.py:66 contrib/admin/options.py:2155
+#: contrib/admin/actions.py:66 contrib/admin/options.py:2150
msgid "Are you sure?"
msgstr ""
@@ -192,7 +192,7 @@ msgstr ""
msgid "Added."
msgstr ""
-#: contrib/admin/models.py:140 contrib/admin/options.py:2410
+#: contrib/admin/models.py:140 contrib/admin/options.py:2404
msgid "and"
msgstr ""
@@ -219,7 +219,7 @@ msgstr ""
msgid "None"
msgstr ""
-#: contrib/admin/options.py:321
+#: contrib/admin/options.py:325
msgid "Hold down “Control”, or “Command” on a Mac, to select more than one."
msgstr ""
@@ -261,65 +261,65 @@ msgstr ""
msgid "The {name} “{obj}” was changed successfully."
msgstr ""
-#: contrib/admin/options.py:1583 contrib/admin/options.py:1973
+#: contrib/admin/options.py:1582 contrib/admin/options.py:1967
msgid ""
"Items must be selected in order to perform actions on them. No items have "
"been changed."
msgstr ""
-#: contrib/admin/options.py:1603
+#: contrib/admin/options.py:1602
msgid "No action selected."
msgstr ""
-#: contrib/admin/options.py:1636
+#: contrib/admin/options.py:1633
#, python-format
msgid "The %(name)s “%(obj)s” was deleted successfully."
msgstr ""
-#: contrib/admin/options.py:1739
+#: contrib/admin/options.py:1735
#, python-format
msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?"
msgstr ""
-#: contrib/admin/options.py:1851
+#: contrib/admin/options.py:1846
#, python-format
msgid "Add %s"
msgstr ""
-#: contrib/admin/options.py:1853
+#: contrib/admin/options.py:1848
#, python-format
msgid "Change %s"
msgstr ""
-#: contrib/admin/options.py:1855
+#: contrib/admin/options.py:1850
#, python-format
msgid "View %s"
msgstr ""
-#: contrib/admin/options.py:1943
+#: contrib/admin/options.py:1937
msgid "Database error"
msgstr ""
-#: contrib/admin/options.py:2031
+#: contrib/admin/options.py:2027
#, python-format
msgid "%(count)s %(name)s was changed successfully."
msgid_plural "%(count)s %(name)s were changed successfully."
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/options.py:2062
+#: contrib/admin/options.py:2058
#, python-format
msgid "%(total_count)s selected"
msgid_plural "All %(total_count)s selected"
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/options.py:2068
+#: contrib/admin/options.py:2064
#, python-format
msgid "0 of %(cnt)s selected"
msgstr ""
-#: contrib/admin/options.py:2212
+#: contrib/admin/options.py:2206
#, python-format
msgid "Change history: %s"
msgstr ""
@@ -327,12 +327,12 @@ msgstr ""
#. Translators: Model verbose name and instance
#. representation, suitable to be an item in a
#. list.
-#: contrib/admin/options.py:2404
+#: contrib/admin/options.py:2398
#, python-format
msgid "%(class_name)s %(instance)s"
msgstr ""
-#: contrib/admin/options.py:2413
+#: contrib/admin/options.py:2407
#, python-format
msgid ""
"Deleting %(class_name)s %(instance)s would require deleting the following "
@@ -374,7 +374,7 @@ msgstr ""
#: contrib/admin/templates/admin/500.html:6
#: contrib/admin/templates/admin/app_index.html:9
#: contrib/admin/templates/admin/auth/user/change_password.html:10
-#: contrib/admin/templates/admin/base.html:72
+#: contrib/admin/templates/admin/base.html:76
#: contrib/admin/templates/admin/change_form.html:18
#: contrib/admin/templates/admin/change_list.html:32
#: contrib/admin/templates/admin/delete_confirmation.html:14
@@ -382,8 +382,8 @@ msgstr ""
#: contrib/admin/templates/admin/invalid_setup.html:6
#: contrib/admin/templates/admin/object_history.html:6
#: contrib/admin/templates/registration/logged_out.html:4
-#: contrib/admin/templates/registration/password_change_done.html:12
-#: contrib/admin/templates/registration/password_change_form.html:13
+#: contrib/admin/templates/registration/password_change_done.html:13
+#: contrib/admin/templates/registration/password_change_form.html:14
#: contrib/admin/templates/registration/password_reset_complete.html:6
#: contrib/admin/templates/registration/password_reset_confirm.html:7
#: contrib/admin/templates/registration/password_reset_done.html:6
@@ -463,7 +463,7 @@ msgstr ""
#: contrib/admin/templates/admin/auth/user/change_password.html:14
#: contrib/admin/templates/admin/auth/user/change_password.html:52
-#: contrib/admin/templates/admin/base.html:56
+#: contrib/admin/templates/admin/base.html:57
#: contrib/admin/templates/registration/password_change_done.html:4
#: contrib/admin/templates/registration/password_change_form.html:5
msgid "Change password"
@@ -473,43 +473,45 @@ msgstr ""
#: contrib/admin/templates/admin/change_form.html:43
#: contrib/admin/templates/admin/change_list.html:52
#: contrib/admin/templates/admin/login.html:23
-#: contrib/admin/templates/registration/password_change_form.html:24
+#: contrib/admin/templates/registration/password_change_form.html:25
msgid "Please correct the error below."
-msgstr ""
-
-#: contrib/admin/templates/admin/auth/user/change_password.html:25
-#: contrib/admin/templates/admin/change_form.html:43
-#: contrib/admin/templates/admin/change_list.html:52
-#: contrib/admin/templates/admin/login.html:23
-#: contrib/admin/templates/registration/password_change_form.html:24
-msgid "Please correct the errors below."
-msgstr ""
+msgid_plural "Please correct the errors below."
+msgstr[0] ""
+msgstr[1] ""
#: contrib/admin/templates/admin/auth/user/change_password.html:29
#, python-format
msgid "Enter a new password for the user <strong>%(username)s</strong>."
msgstr ""
-#: contrib/admin/templates/admin/base.html:42
+#: contrib/admin/templates/admin/base.html:28
+msgid "Skip to main content"
+msgstr ""
+
+#: contrib/admin/templates/admin/base.html:43
msgid "Welcome,"
msgstr ""
-#: contrib/admin/templates/admin/base.html:47
+#: contrib/admin/templates/admin/base.html:48
msgid "View site"
msgstr ""
-#: contrib/admin/templates/admin/base.html:52
+#: contrib/admin/templates/admin/base.html:53
#: contrib/admin/templates/registration/password_change_done.html:4
#: contrib/admin/templates/registration/password_change_form.html:5
msgid "Documentation"
msgstr ""
-#: contrib/admin/templates/admin/base.html:60
+#: contrib/admin/templates/admin/base.html:61
#: contrib/admin/templates/registration/password_change_done.html:7
#: contrib/admin/templates/registration/password_change_form.html:8
msgid "Log out"
msgstr ""
+#: contrib/admin/templates/admin/base.html:73
+msgid "Breadcrumbs"
+msgstr ""
+
#: contrib/admin/templates/admin/change_form.html:21
#: contrib/admin/templates/admin/change_list_object_tools.html:8
#, python-format
@@ -535,26 +537,38 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: contrib/admin/templates/admin/change_list_results.html:17
+#: contrib/admin/templates/admin/change_list_results.html:16
msgid "Remove from sorting"
msgstr ""
-#: contrib/admin/templates/admin/change_list_results.html:18
+#: contrib/admin/templates/admin/change_list_results.html:17
#, python-format
msgid "Sorting priority: %(priority_number)s"
msgstr ""
-#: contrib/admin/templates/admin/change_list_results.html:19
+#: contrib/admin/templates/admin/change_list_results.html:18
msgid "Toggle sorting"
msgstr ""
+#: contrib/admin/templates/admin/color_theme_toggle.html:3
+msgid "Toggle theme (current theme: auto)"
+msgstr ""
+
+#: contrib/admin/templates/admin/color_theme_toggle.html:4
+msgid "Toggle theme (current theme: light)"
+msgstr ""
+
+#: contrib/admin/templates/admin/color_theme_toggle.html:5
+msgid "Toggle theme (current theme: dark)"
+msgstr ""
+
#: contrib/admin/templates/admin/delete_confirmation.html:18
-#: contrib/admin/templates/admin/submit_line.html:7
+#: contrib/admin/templates/admin/submit_line.html:11
#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:28
msgid "Delete"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:24
+#: contrib/admin/templates/admin/delete_confirmation.html:25
#, python-format
msgid ""
"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting "
@@ -562,32 +576,32 @@ msgid ""
"following types of objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:31
+#: contrib/admin/templates/admin/delete_confirmation.html:30
#, python-format
msgid ""
"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the "
"following protected related objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:38
+#: contrib/admin/templates/admin/delete_confirmation.html:35
#, python-format
msgid ""
"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? "
"All of the following related items will be deleted:"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:40
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:39
+#: contrib/admin/templates/admin/delete_confirmation.html:37
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:31
msgid "Objects"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:47
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:50
+#: contrib/admin/templates/admin/delete_confirmation.html:44
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:42
msgid "Yes, I’m sure"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:48
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:51
+#: contrib/admin/templates/admin/delete_confirmation.html:45
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:43
msgid "No, take me back"
msgstr ""
@@ -603,14 +617,14 @@ msgid ""
"types of objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:30
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:26
#, python-format
msgid ""
"Deleting the selected %(objects_name)s would require deleting the following "
"protected related objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:37
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:29
#, python-format
msgid ""
"Are you sure you want to delete the selected %(objects_name)s? All of the "
@@ -668,6 +682,10 @@ msgstr ""
msgid "Toggle navigation"
msgstr ""
+#: contrib/admin/templates/admin/nav_sidebar.html:3
+msgid "Sidebar"
+msgstr ""
+
#: contrib/admin/templates/admin/nav_sidebar.html:5
msgid "Start typing to filter…"
msgstr ""
@@ -690,11 +708,9 @@ msgstr ""
#: contrib/admin/templates/admin/object_history.html:49
msgid "entry"
-msgstr ""
-
-#: contrib/admin/templates/admin/object_history.html:49
-msgid "entries"
-msgstr ""
+msgid_plural "entries"
+msgstr[0] ""
+msgstr[1] ""
#: contrib/admin/templates/admin/object_history.html:52
msgid ""
@@ -732,23 +748,23 @@ msgstr[1] ""
msgid "%(full_result_count)s total"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:9
+#: contrib/admin/templates/admin/submit_line.html:5
msgid "Save as new"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:10
+#: contrib/admin/templates/admin/submit_line.html:6
msgid "Save and add another"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:11
+#: contrib/admin/templates/admin/submit_line.html:7
msgid "Save and continue editing"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:11
+#: contrib/admin/templates/admin/submit_line.html:7
msgid "Save and view"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:12
+#: contrib/admin/templates/admin/submit_line.html:8
msgid "Close"
msgstr ""
@@ -780,22 +796,22 @@ msgstr ""
msgid "Log in again"
msgstr ""
-#: contrib/admin/templates/registration/password_change_done.html:13
-#: contrib/admin/templates/registration/password_change_form.html:14
+#: contrib/admin/templates/registration/password_change_done.html:14
+#: contrib/admin/templates/registration/password_change_form.html:15
msgid "Password change"
msgstr ""
-#: contrib/admin/templates/registration/password_change_done.html:18
+#: contrib/admin/templates/registration/password_change_done.html:19
msgid "Your password was changed."
msgstr ""
-#: contrib/admin/templates/registration/password_change_form.html:29
+#: contrib/admin/templates/registration/password_change_form.html:30
msgid ""
"Please enter your old password, for security’s sake, and then enter your new "
"password twice so we can verify you typed it in correctly."
msgstr ""
-#: contrib/admin/templates/registration/password_change_form.html:57
+#: contrib/admin/templates/registration/password_change_form.html:58
#: contrib/admin/templates/registration/password_reset_confirm.html:31
msgid "Change my password"
msgstr ""
diff --git a/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po b/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po
index c31e74c523..6b3d92dd28 100644
--- a/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po
+++ b/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-17 05:26-0500\n"
+"POT-Creation-Date: 2023-01-17 02:13-0600\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -31,6 +31,7 @@ msgid "Type into this box to filter down the list of available %s."
msgstr ""
#: contrib/admin/static/admin/js/SelectFilter2.js:65
+#: contrib/admin/static/admin/js/SelectFilter2.js:110
msgid "Filter"
msgstr ""
@@ -63,15 +64,25 @@ msgid ""
"box below and then clicking the \"Remove\" arrow between the two boxes."
msgstr ""
-#: contrib/admin/static/admin/js/SelectFilter2.js:99
+#: contrib/admin/static/admin/js/SelectFilter2.js:105
+#, javascript-format
+msgid "Type into this box to filter down the list of selected %s."
+msgstr ""
+
+#: contrib/admin/static/admin/js/SelectFilter2.js:120
msgid "Remove all"
msgstr ""
-#: contrib/admin/static/admin/js/SelectFilter2.js:99
+#: contrib/admin/static/admin/js/SelectFilter2.js:120
#, javascript-format
msgid "Click to remove all chosen %s at once."
msgstr ""
+#: contrib/admin/static/admin/js/SelectFilter2.js:210
+#, javascript-format
+msgid "%s selected options not visible"
+msgstr ""
+
#: contrib/admin/static/admin/js/actions.js:67
msgid "%(sel)s of %(cnt)s selected"
msgid_plural "%(sel)s of %(cnt)s selected"
@@ -99,7 +110,7 @@ msgid ""
msgstr ""
#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:111
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:110
msgid "Now"
msgstr ""
@@ -133,33 +144,33 @@ msgid_plural "Note: You are %s hours behind server time."
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:129
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:128
msgid "Choose a Time"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:159
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:158
msgid "Choose a time"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:176
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:334
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:175
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:333
msgid "Cancel"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:239
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:319
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:238
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:318
msgid "Today"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:256
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:255
msgid "Choose a Date"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:313
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:312
msgid "Yesterday"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:325
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:324
msgid "Tomorrow"
msgstr ""
@@ -306,12 +317,6 @@ msgctxt "one letter Saturday"
msgid "S"
msgstr ""
-#: contrib/admin/static/admin/js/change_form.js:14
-msgid ""
-"You have already submitted this form. Are you sure you want to submit it "
-"again?"
-msgstr ""
-
#: contrib/admin/static/admin/js/collapse.js:16
#: contrib/admin/static/admin/js/collapse.js:34
msgid "Show"
diff --git a/django/contrib/auth/locale/en/LC_MESSAGES/django.po b/django/contrib/auth/locale/en/LC_MESSAGES/django.po
index 2ad6a03869..b3849f6411 100644
--- a/django/contrib/auth/locale/en/LC_MESSAGES/django.po
+++ b/django/contrib/auth/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-21 10:22+0200\n"
+"POT-Creation-Date: 2023-01-17 02:13-0600\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,28 +14,28 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: contrib/auth/admin.py:46
+#: contrib/auth/admin.py:49
msgid "Personal info"
msgstr ""
-#: contrib/auth/admin.py:47
+#: contrib/auth/admin.py:51
msgid "Permissions"
msgstr ""
-#: contrib/auth/admin.py:50
+#: contrib/auth/admin.py:62
msgid "Important dates"
msgstr ""
-#: contrib/auth/admin.py:134
+#: contrib/auth/admin.py:156
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
-#: contrib/auth/admin.py:144
+#: contrib/auth/admin.py:168
msgid "Password changed successfully."
msgstr ""
-#: contrib/auth/admin.py:164
+#: contrib/auth/admin.py:189
#, python-format
msgid "Change password: %s"
msgstr ""
@@ -44,11 +44,11 @@ msgstr ""
msgid "Authentication and Authorization"
msgstr ""
-#: contrib/auth/base_user.py:48
+#: contrib/auth/base_user.py:57
msgid "password"
msgstr ""
-#: contrib/auth/base_user.py:49
+#: contrib/auth/base_user.py:58
msgid "last login"
msgstr ""
@@ -56,233 +56,233 @@ msgstr ""
msgid "No password set."
msgstr ""
-#: contrib/auth/forms.py:46
+#: contrib/auth/forms.py:49
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
-#: contrib/auth/forms.py:84 contrib/auth/forms.py:325 contrib/auth/forms.py:398
+#: contrib/auth/forms.py:91 contrib/auth/forms.py:379 contrib/auth/forms.py:457
msgid "The two password fields didn’t match."
msgstr ""
-#: contrib/auth/forms.py:87 contrib/auth/forms.py:140 contrib/auth/forms.py:170
-#: contrib/auth/forms.py:402
+#: contrib/auth/forms.py:94 contrib/auth/forms.py:166 contrib/auth/forms.py:201
+#: contrib/auth/forms.py:461
msgid "Password"
msgstr ""
-#: contrib/auth/forms.py:93
+#: contrib/auth/forms.py:100
msgid "Password confirmation"
msgstr ""
-#: contrib/auth/forms.py:96 contrib/auth/forms.py:411
+#: contrib/auth/forms.py:103 contrib/auth/forms.py:472
msgid "Enter the same password as before, for verification."
msgstr ""
-#: contrib/auth/forms.py:142
+#: contrib/auth/forms.py:152 contrib/auth/models.py:353
+msgid "A user with that username already exists."
+msgstr ""
+
+#: contrib/auth/forms.py:168
msgid ""
"Raw passwords are not stored, so there is no way to see this user’s "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
-#: contrib/auth/forms.py:177
+#: contrib/auth/forms.py:208
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
-#: contrib/auth/forms.py:180
+#: contrib/auth/forms.py:211
msgid "This account is inactive."
msgstr ""
-#: contrib/auth/forms.py:243
+#: contrib/auth/forms.py:276
msgid "Email"
msgstr ""
-#: contrib/auth/forms.py:328
+#: contrib/auth/forms.py:382
msgid "New password"
msgstr ""
-#: contrib/auth/forms.py:334
+#: contrib/auth/forms.py:388
msgid "New password confirmation"
msgstr ""
-#: contrib/auth/forms.py:370
+#: contrib/auth/forms.py:425
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
-#: contrib/auth/forms.py:373
+#: contrib/auth/forms.py:429
msgid "Old password"
msgstr ""
-#: contrib/auth/forms.py:408
+#: contrib/auth/forms.py:469
msgid "Password (again)"
msgstr ""
-#: contrib/auth/hashers.py:302 contrib/auth/hashers.py:393
-#: contrib/auth/hashers.py:482 contrib/auth/hashers.py:573
-#: contrib/auth/hashers.py:623 contrib/auth/hashers.py:664
-#: contrib/auth/hashers.py:712 contrib/auth/hashers.py:757
-#: contrib/auth/hashers.py:805
+#: contrib/auth/hashers.py:327 contrib/auth/hashers.py:420
+#: contrib/auth/hashers.py:510 contrib/auth/hashers.py:605
+#: contrib/auth/hashers.py:665 contrib/auth/hashers.py:707
+#: contrib/auth/hashers.py:765 contrib/auth/hashers.py:820
+#: contrib/auth/hashers.py:878
msgid "algorithm"
msgstr ""
-#: contrib/auth/hashers.py:303
+#: contrib/auth/hashers.py:328
msgid "iterations"
msgstr ""
-#: contrib/auth/hashers.py:304 contrib/auth/hashers.py:399
-#: contrib/auth/hashers.py:484 contrib/auth/hashers.py:577
-#: contrib/auth/hashers.py:624 contrib/auth/hashers.py:665
-#: contrib/auth/hashers.py:806
+#: contrib/auth/hashers.py:329 contrib/auth/hashers.py:426
+#: contrib/auth/hashers.py:512 contrib/auth/hashers.py:609
+#: contrib/auth/hashers.py:666 contrib/auth/hashers.py:708
+#: contrib/auth/hashers.py:879
msgid "salt"
msgstr ""
-#: contrib/auth/hashers.py:305 contrib/auth/hashers.py:400
-#: contrib/auth/hashers.py:578 contrib/auth/hashers.py:625
-#: contrib/auth/hashers.py:666 contrib/auth/hashers.py:713
-#: contrib/auth/hashers.py:758 contrib/auth/hashers.py:807
+#: contrib/auth/hashers.py:330 contrib/auth/hashers.py:427
+#: contrib/auth/hashers.py:610 contrib/auth/hashers.py:667
+#: contrib/auth/hashers.py:709 contrib/auth/hashers.py:766
+#: contrib/auth/hashers.py:821 contrib/auth/hashers.py:880
msgid "hash"
msgstr ""
-#: contrib/auth/hashers.py:394
+#: contrib/auth/hashers.py:421
msgid "variety"
msgstr ""
-#: contrib/auth/hashers.py:395
+#: contrib/auth/hashers.py:422
msgid "version"
msgstr ""
-#: contrib/auth/hashers.py:396
+#: contrib/auth/hashers.py:423
msgid "memory cost"
msgstr ""
-#: contrib/auth/hashers.py:397
+#: contrib/auth/hashers.py:424
msgid "time cost"
msgstr ""
-#: contrib/auth/hashers.py:398 contrib/auth/hashers.py:576
+#: contrib/auth/hashers.py:425 contrib/auth/hashers.py:608
msgid "parallelism"
msgstr ""
-#: contrib/auth/hashers.py:483 contrib/auth/hashers.py:574
+#: contrib/auth/hashers.py:511 contrib/auth/hashers.py:606
msgid "work factor"
msgstr ""
-#: contrib/auth/hashers.py:485
+#: contrib/auth/hashers.py:513
msgid "checksum"
msgstr ""
-#: contrib/auth/hashers.py:575
+#: contrib/auth/hashers.py:607
msgid "block size"
msgstr ""
-#: contrib/auth/models.py:58 contrib/auth/models.py:109
+#: contrib/auth/models.py:62 contrib/auth/models.py:116
msgid "name"
msgstr ""
-#: contrib/auth/models.py:62
+#: contrib/auth/models.py:66
msgid "content type"
msgstr ""
-#: contrib/auth/models.py:64
+#: contrib/auth/models.py:68
msgid "codename"
msgstr ""
-#: contrib/auth/models.py:69
+#: contrib/auth/models.py:73
msgid "permission"
msgstr ""
-#: contrib/auth/models.py:70 contrib/auth/models.py:112
+#: contrib/auth/models.py:74 contrib/auth/models.py:119
msgid "permissions"
msgstr ""
-#: contrib/auth/models.py:119
+#: contrib/auth/models.py:126
msgid "group"
msgstr ""
-#: contrib/auth/models.py:120 contrib/auth/models.py:247
+#: contrib/auth/models.py:127 contrib/auth/models.py:258
msgid "groups"
msgstr ""
-#: contrib/auth/models.py:238
+#: contrib/auth/models.py:249
msgid "superuser status"
msgstr ""
-#: contrib/auth/models.py:241
+#: contrib/auth/models.py:252
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
-#: contrib/auth/models.py:250
+#: contrib/auth/models.py:261
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
-#: contrib/auth/models.py:258
+#: contrib/auth/models.py:269
msgid "user permissions"
msgstr ""
-#: contrib/auth/models.py:260
+#: contrib/auth/models.py:271
msgid "Specific permissions for this user."
msgstr ""
-#: contrib/auth/models.py:331
+#: contrib/auth/models.py:345
msgid "username"
msgstr ""
-#: contrib/auth/models.py:334
+#: contrib/auth/models.py:349
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
-#: contrib/auth/models.py:337
-msgid "A user with that username already exists."
-msgstr ""
-
-#: contrib/auth/models.py:340
+#: contrib/auth/models.py:356
msgid "first name"
msgstr ""
-#: contrib/auth/models.py:341
+#: contrib/auth/models.py:357
msgid "last name"
msgstr ""
-#: contrib/auth/models.py:342
+#: contrib/auth/models.py:358
msgid "email address"
msgstr ""
-#: contrib/auth/models.py:344
+#: contrib/auth/models.py:360
msgid "staff status"
msgstr ""
-#: contrib/auth/models.py:346
+#: contrib/auth/models.py:362
msgid "Designates whether the user can log into this admin site."
msgstr ""
-#: contrib/auth/models.py:349
+#: contrib/auth/models.py:365
msgid "active"
msgstr ""
-#: contrib/auth/models.py:352
+#: contrib/auth/models.py:368
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
-#: contrib/auth/models.py:356
+#: contrib/auth/models.py:372
msgid "date joined"
msgstr ""
-#: contrib/auth/models.py:365
+#: contrib/auth/models.py:381
msgid "user"
msgstr ""
-#: contrib/auth/models.py:366
+#: contrib/auth/models.py:382
msgid "users"
msgstr ""
-#: contrib/auth/password_validation.py:102
+#: contrib/auth/password_validation.py:111
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
@@ -293,35 +293,35 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: contrib/auth/password_validation.py:112
+#: contrib/auth/password_validation.py:123
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
-#: contrib/auth/password_validation.py:151
+#: contrib/auth/password_validation.py:206
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
-#: contrib/auth/password_validation.py:157
+#: contrib/auth/password_validation.py:213
msgid "Your password can’t be too similar to your other personal information."
msgstr ""
-#: contrib/auth/password_validation.py:188
+#: contrib/auth/password_validation.py:245
msgid "This password is too common."
msgstr ""
-#: contrib/auth/password_validation.py:193
+#: contrib/auth/password_validation.py:250
msgid "Your password can’t be a commonly used password."
msgstr ""
-#: contrib/auth/password_validation.py:203
+#: contrib/auth/password_validation.py:261
msgid "This password is entirely numeric."
msgstr ""
-#: contrib/auth/password_validation.py:208
+#: contrib/auth/password_validation.py:266
msgid "Your password can’t be entirely numeric."
msgstr ""
@@ -332,8 +332,8 @@ msgstr ""
#: contrib/auth/validators.py:12
msgid ""
-"Enter a valid username. This value may contain only English letters, "
-"numbers, and @/./+/-/_ characters."
+"Enter a valid username. This value may contain only ASCII letters, numbers, "
+"and @/./+/-/_ characters."
msgstr ""
#: contrib/auth/validators.py:22
@@ -342,34 +342,34 @@ msgid ""
"@/./+/-/_ characters."
msgstr ""
-#: contrib/auth/views.py:164
+#: contrib/auth/views.py:178
msgid "Logged out"
msgstr ""
-#: contrib/auth/views.py:221
+#: contrib/auth/views.py:237
msgid "Password reset"
msgstr ""
-#: contrib/auth/views.py:248
+#: contrib/auth/views.py:264
msgid "Password reset sent"
msgstr ""
-#: contrib/auth/views.py:258
+#: contrib/auth/views.py:274
msgid "Enter new password"
msgstr ""
-#: contrib/auth/views.py:321
+#: contrib/auth/views.py:346
msgid "Password reset unsuccessful"
msgstr ""
-#: contrib/auth/views.py:329
+#: contrib/auth/views.py:355
msgid "Password reset complete"
msgstr ""
-#: contrib/auth/views.py:341
+#: contrib/auth/views.py:367
msgid "Password change"
msgstr ""
-#: contrib/auth/views.py:364
+#: contrib/auth/views.py:390
msgid "Password change successful"
msgstr ""
diff --git a/django/contrib/postgres/locale/en/LC_MESSAGES/django.po b/django/contrib/postgres/locale/en/LC_MESSAGES/django.po
index f4e15a306d..eaf0ad734d 100644
--- a/django/contrib/postgres/locale/en/LC_MESSAGES/django.po
+++ b/django/contrib/postgres/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-11 20:56+0200\n"
+"POT-Creation-Date: 2023-01-17 02:13-0600\n"
"PO-Revision-Date: 2015-01-18 20:56+0100\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,12 +14,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: contrib/postgres/apps.py:42
+#: contrib/postgres/apps.py:54
msgid "PostgreSQL extensions"
msgstr ""
-#: contrib/postgres/fields/array.py:21 contrib/postgres/forms/array.py:16
-#: contrib/postgres/forms/array.py:170
+#: contrib/postgres/fields/array.py:21 contrib/postgres/forms/array.py:17
+#: contrib/postgres/forms/array.py:185
#, python-format
msgid "Item %(nth)s in the array did not validate:"
msgstr ""
@@ -37,39 +37,39 @@ msgstr ""
msgid "The value of “%(key)s” is not a string or null."
msgstr ""
-#: contrib/postgres/forms/hstore.py:16
+#: contrib/postgres/forms/hstore.py:17
msgid "Could not load JSON data."
msgstr ""
-#: contrib/postgres/forms/hstore.py:17
+#: contrib/postgres/forms/hstore.py:18
msgid "Input must be a JSON dictionary."
msgstr ""
-#: contrib/postgres/forms/ranges.py:33
+#: contrib/postgres/forms/ranges.py:42
msgid "Enter two valid values."
msgstr ""
-#: contrib/postgres/forms/ranges.py:34
+#: contrib/postgres/forms/ranges.py:44
msgid "The start of the range must not exceed the end of the range."
msgstr ""
-#: contrib/postgres/forms/ranges.py:82
+#: contrib/postgres/forms/ranges.py:99
msgid "Enter two whole numbers."
msgstr ""
-#: contrib/postgres/forms/ranges.py:88
+#: contrib/postgres/forms/ranges.py:105
msgid "Enter two numbers."
msgstr ""
-#: contrib/postgres/forms/ranges.py:94
+#: contrib/postgres/forms/ranges.py:111
msgid "Enter two valid date/times."
msgstr ""
-#: contrib/postgres/forms/ranges.py:100
+#: contrib/postgres/forms/ranges.py:117
msgid "Enter two valid dates."
msgstr ""
-#: contrib/postgres/validators.py:12
+#: contrib/postgres/validators.py:15
#, python-format
msgid ""
"List contains %(show_value)d item, it should contain no more than "
@@ -80,7 +80,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: contrib/postgres/validators.py:19
+#: contrib/postgres/validators.py:25
#, python-format
msgid ""
"List contains %(show_value)d item, it should contain no fewer than "
@@ -91,25 +91,24 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: contrib/postgres/validators.py:29
+#: contrib/postgres/validators.py:38
#, python-format
msgid "Some keys were missing: %(keys)s"
msgstr ""
-#: contrib/postgres/validators.py:30
+#: contrib/postgres/validators.py:39
#, python-format
msgid "Some unknown keys were provided: %(keys)s"
msgstr ""
-#: contrib/postgres/validators.py:70
+#: contrib/postgres/validators.py:81
#, python-format
msgid ""
-"Ensure that this range is completely less than or equal to %(limit_value)s."
+"Ensure that the upper bound of the range is not greater than %(limit_value)s."
msgstr ""
-#: contrib/postgres/validators.py:76
+#: contrib/postgres/validators.py:90
#, python-format
msgid ""
-"Ensure that this range is completely greater than or equal to "
-"%(limit_value)s."
+"Ensure that the lower bound of the range is not less than %(limit_value)s."
msgstr ""