summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2018-05-17 12:07:04 +0200
committerClaude Paroz <claude@2xlibre.net>2018-05-17 12:09:40 +0200
commit77f6340d3b804ee3c4ce3b63cdf5abce05162795 (patch)
treecbd8e7e0c1a986d9db41827cfc5eb8e30fb328a9
parent437c4b57ac50fe934b93d12fe22aed02425d91a7 (diff)
Updated translation catalogs
-rw-r--r--django/conf/locale/en/LC_MESSAGES/django.po500
-rw-r--r--django/contrib/admin/locale/en/LC_MESSAGES/django.po343
-rw-r--r--django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po83
-rw-r--r--django/contrib/humanize/locale/en/LC_MESSAGES/django.po254
-rw-r--r--django/contrib/postgres/locale/en/LC_MESSAGES/django.po48
5 files changed, 714 insertions, 514 deletions
diff --git a/django/conf/locale/en/LC_MESSAGES/django.po b/django/conf/locale/en/LC_MESSAGES/django.po
index 5fa7e05351..73acc786d1 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: 2017-12-01 21:10+0100\n"
+"POT-Creation-Date: 2018-05-17 11:49+0200\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,359 +14,359 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: conf/global_settings.py:57
+#: conf/global_settings.py:52
msgid "Afrikaans"
msgstr ""
-#: conf/global_settings.py:58
+#: conf/global_settings.py:53
msgid "Arabic"
msgstr ""
-#: conf/global_settings.py:59
+#: conf/global_settings.py:54
msgid "Asturian"
msgstr ""
-#: conf/global_settings.py:60
+#: conf/global_settings.py:55
msgid "Azerbaijani"
msgstr ""
-#: conf/global_settings.py:61
+#: conf/global_settings.py:56
msgid "Bulgarian"
msgstr ""
-#: conf/global_settings.py:62
+#: conf/global_settings.py:57
msgid "Belarusian"
msgstr ""
-#: conf/global_settings.py:63
+#: conf/global_settings.py:58
msgid "Bengali"
msgstr ""
-#: conf/global_settings.py:64
+#: conf/global_settings.py:59
msgid "Breton"
msgstr ""
-#: conf/global_settings.py:65
+#: conf/global_settings.py:60
msgid "Bosnian"
msgstr ""
-#: conf/global_settings.py:66
+#: conf/global_settings.py:61
msgid "Catalan"
msgstr ""
-#: conf/global_settings.py:67
+#: conf/global_settings.py:62
msgid "Czech"
msgstr ""
-#: conf/global_settings.py:68
+#: conf/global_settings.py:63
msgid "Welsh"
msgstr ""
-#: conf/global_settings.py:69
+#: conf/global_settings.py:64
msgid "Danish"
msgstr ""
-#: conf/global_settings.py:70
+#: conf/global_settings.py:65
msgid "German"
msgstr ""
-#: conf/global_settings.py:71
+#: conf/global_settings.py:66
msgid "Lower Sorbian"
msgstr ""
-#: conf/global_settings.py:72
+#: conf/global_settings.py:67
msgid "Greek"
msgstr ""
-#: conf/global_settings.py:73
+#: conf/global_settings.py:68
msgid "English"
msgstr ""
-#: conf/global_settings.py:74
+#: conf/global_settings.py:69
msgid "Australian English"
msgstr ""
-#: conf/global_settings.py:75
+#: conf/global_settings.py:70
msgid "British English"
msgstr ""
-#: conf/global_settings.py:76
+#: conf/global_settings.py:71
msgid "Esperanto"
msgstr ""
-#: conf/global_settings.py:77
+#: conf/global_settings.py:72
msgid "Spanish"
msgstr ""
-#: conf/global_settings.py:78
+#: conf/global_settings.py:73
msgid "Argentinian Spanish"
msgstr ""
-#: conf/global_settings.py:79
+#: conf/global_settings.py:74
msgid "Colombian Spanish"
msgstr ""
-#: conf/global_settings.py:80
+#: conf/global_settings.py:75
msgid "Mexican Spanish"
msgstr ""
-#: conf/global_settings.py:81
+#: conf/global_settings.py:76
msgid "Nicaraguan Spanish"
msgstr ""
-#: conf/global_settings.py:82
+#: conf/global_settings.py:77
msgid "Venezuelan Spanish"
msgstr ""
-#: conf/global_settings.py:83
+#: conf/global_settings.py:78
msgid "Estonian"
msgstr ""
-#: conf/global_settings.py:84
+#: conf/global_settings.py:79
msgid "Basque"
msgstr ""
-#: conf/global_settings.py:85
+#: conf/global_settings.py:80
msgid "Persian"
msgstr ""
-#: conf/global_settings.py:86
+#: conf/global_settings.py:81
msgid "Finnish"
msgstr ""
-#: conf/global_settings.py:87
+#: conf/global_settings.py:82
msgid "French"
msgstr ""
-#: conf/global_settings.py:88
+#: conf/global_settings.py:83
msgid "Frisian"
msgstr ""
-#: conf/global_settings.py:89
+#: conf/global_settings.py:84
msgid "Irish"
msgstr ""
-#: conf/global_settings.py:90
+#: conf/global_settings.py:85
msgid "Scottish Gaelic"
msgstr ""
-#: conf/global_settings.py:91
+#: conf/global_settings.py:86
msgid "Galician"
msgstr ""
-#: conf/global_settings.py:92
+#: conf/global_settings.py:87
msgid "Hebrew"
msgstr ""
-#: conf/global_settings.py:93
+#: conf/global_settings.py:88
msgid "Hindi"
msgstr ""
-#: conf/global_settings.py:94
+#: conf/global_settings.py:89
msgid "Croatian"
msgstr ""
-#: conf/global_settings.py:95
+#: conf/global_settings.py:90
msgid "Upper Sorbian"
msgstr ""
-#: conf/global_settings.py:96
+#: conf/global_settings.py:91
msgid "Hungarian"
msgstr ""
-#: conf/global_settings.py:97
+#: conf/global_settings.py:92
msgid "Interlingua"
msgstr ""
-#: conf/global_settings.py:98
+#: conf/global_settings.py:93
msgid "Indonesian"
msgstr ""
-#: conf/global_settings.py:99
+#: conf/global_settings.py:94
msgid "Ido"
msgstr ""
-#: conf/global_settings.py:100
+#: conf/global_settings.py:95
msgid "Icelandic"
msgstr ""
-#: conf/global_settings.py:101
+#: conf/global_settings.py:96
msgid "Italian"
msgstr ""
-#: conf/global_settings.py:102
+#: conf/global_settings.py:97
msgid "Japanese"
msgstr ""
-#: conf/global_settings.py:103
+#: conf/global_settings.py:98
msgid "Georgian"
msgstr ""
-#: conf/global_settings.py:104
+#: conf/global_settings.py:99
msgid "Kabyle"
msgstr ""
-#: conf/global_settings.py:104
+#: conf/global_settings.py:100
msgid "Kazakh"
msgstr ""
-#: conf/global_settings.py:105
+#: conf/global_settings.py:101
msgid "Khmer"
msgstr ""
-#: conf/global_settings.py:106
+#: conf/global_settings.py:102
msgid "Kannada"
msgstr ""
-#: conf/global_settings.py:107
+#: conf/global_settings.py:103
msgid "Korean"
msgstr ""
-#: conf/global_settings.py:108
+#: conf/global_settings.py:104
msgid "Luxembourgish"
msgstr ""
-#: conf/global_settings.py:109
+#: conf/global_settings.py:105
msgid "Lithuanian"
msgstr ""
-#: conf/global_settings.py:110
+#: conf/global_settings.py:106
msgid "Latvian"
msgstr ""
-#: conf/global_settings.py:111
+#: conf/global_settings.py:107
msgid "Macedonian"
msgstr ""
-#: conf/global_settings.py:112
+#: conf/global_settings.py:108
msgid "Malayalam"
msgstr ""
-#: conf/global_settings.py:113
+#: conf/global_settings.py:109
msgid "Mongolian"
msgstr ""
-#: conf/global_settings.py:114
+#: conf/global_settings.py:110
msgid "Marathi"
msgstr ""
-#: conf/global_settings.py:115
+#: conf/global_settings.py:111
msgid "Burmese"
msgstr ""
-#: conf/global_settings.py:116
+#: conf/global_settings.py:112
msgid "Norwegian Bokmål"
msgstr ""
-#: conf/global_settings.py:117
+#: conf/global_settings.py:113
msgid "Nepali"
msgstr ""
-#: conf/global_settings.py:118
+#: conf/global_settings.py:114
msgid "Dutch"
msgstr ""
-#: conf/global_settings.py:119
+#: conf/global_settings.py:115
msgid "Norwegian Nynorsk"
msgstr ""
-#: conf/global_settings.py:120
+#: conf/global_settings.py:116
msgid "Ossetic"
msgstr ""
-#: conf/global_settings.py:121
+#: conf/global_settings.py:117
msgid "Punjabi"
msgstr ""
-#: conf/global_settings.py:122
+#: conf/global_settings.py:118
msgid "Polish"
msgstr ""
-#: conf/global_settings.py:123
+#: conf/global_settings.py:119
msgid "Portuguese"
msgstr ""
-#: conf/global_settings.py:124
+#: conf/global_settings.py:120
msgid "Brazilian Portuguese"
msgstr ""
-#: conf/global_settings.py:125
+#: conf/global_settings.py:121
msgid "Romanian"
msgstr ""
-#: conf/global_settings.py:126
+#: conf/global_settings.py:122
msgid "Russian"
msgstr ""
-#: conf/global_settings.py:127
+#: conf/global_settings.py:123
msgid "Slovak"
msgstr ""
-#: conf/global_settings.py:128
+#: conf/global_settings.py:124
msgid "Slovenian"
msgstr ""
-#: conf/global_settings.py:129
+#: conf/global_settings.py:125
msgid "Albanian"
msgstr ""
-#: conf/global_settings.py:130
+#: conf/global_settings.py:126
msgid "Serbian"
msgstr ""
-#: conf/global_settings.py:131
+#: conf/global_settings.py:127
msgid "Serbian Latin"
msgstr ""
-#: conf/global_settings.py:132
+#: conf/global_settings.py:128
msgid "Swedish"
msgstr ""
-#: conf/global_settings.py:133
+#: conf/global_settings.py:129
msgid "Swahili"
msgstr ""
-#: conf/global_settings.py:134
+#: conf/global_settings.py:130
msgid "Tamil"
msgstr ""
-#: conf/global_settings.py:135
+#: conf/global_settings.py:131
msgid "Telugu"
msgstr ""
-#: conf/global_settings.py:136
+#: conf/global_settings.py:132
msgid "Thai"
msgstr ""
-#: conf/global_settings.py:137
+#: conf/global_settings.py:133
msgid "Turkish"
msgstr ""
-#: conf/global_settings.py:138
+#: conf/global_settings.py:134
msgid "Tatar"
msgstr ""
-#: conf/global_settings.py:139
+#: conf/global_settings.py:135
msgid "Udmurt"
msgstr ""
-#: conf/global_settings.py:140
+#: conf/global_settings.py:136
msgid "Ukrainian"
msgstr ""
-#: conf/global_settings.py:141
+#: conf/global_settings.py:137
msgid "Urdu"
msgstr ""
-#: conf/global_settings.py:142
+#: conf/global_settings.py:138
msgid "Vietnamese"
msgstr ""
-#: conf/global_settings.py:143
+#: conf/global_settings.py:139
msgid "Simplified Chinese"
msgstr ""
-#: conf/global_settings.py:144
+#: conf/global_settings.py:140
msgid "Traditional Chinese"
msgstr ""
@@ -386,15 +386,15 @@ msgstr ""
msgid "Syndication"
msgstr ""
-#: core/paginator.py:40
+#: core/paginator.py:42
msgid "That page number is not an integer"
msgstr ""
-#: core/paginator.py:42
+#: core/paginator.py:44
msgid "That page number is less than 1"
msgstr ""
-#: core/paginator.py:47
+#: core/paginator.py:49
msgid "That page contains no results"
msgstr ""
@@ -402,7 +402,7 @@ msgstr ""
msgid "Enter a valid value."
msgstr ""
-#: core/validators.py:102 forms/fields.py:649
+#: core/validators.py:102 forms/fields.py:659
msgid "Enter a valid URL."
msgstr ""
@@ -479,21 +479,25 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: core/validators.py:395
+#: core/validators.py:394 forms/fields.py:289 forms/fields.py:324
+msgid "Enter a number."
+msgstr ""
+
+#: core/validators.py:396
#, python-format
msgid "Ensure that there are no more than %(max)s digit in total."
msgid_plural "Ensure that there are no more than %(max)s digits in total."
msgstr[0] ""
msgstr[1] ""
-#: core/validators.py:400
+#: core/validators.py:401
#, python-format
msgid "Ensure that there are no more than %(max)s decimal place."
msgid_plural "Ensure that there are no more than %(max)s decimal places."
msgstr[0] ""
msgstr[1] ""
-#: core/validators.py:405
+#: core/validators.py:406
#, python-format
msgid ""
"Ensure that there are no more than %(max)s digit before the decimal point."
@@ -502,22 +506,22 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: core/validators.py:459
+#: core/validators.py:468
#, python-format
msgid ""
"File extension '%(extension)s' is not allowed. Allowed extensions are: "
"'%(allowed_extensions)s'."
msgstr ""
-#: core/validators.py:512
+#: core/validators.py:520
msgid "Null characters are not allowed."
msgstr ""
-#: db/models/base.py:1119 forms/models.py:753
+#: db/models/base.py:1110 forms/models.py:752
msgid "and"
msgstr ""
-#: db/models/base.py:1121
+#: db/models/base.py:1112
#, python-format
msgid "%(model_name)s with this %(field_labels)s already exists."
msgstr ""
@@ -553,175 +557,180 @@ msgstr ""
msgid "Field of type: %(field_type)s"
msgstr ""
-#: db/models/fields/__init__.py:882 db/models/fields/__init__.py:1782
+#: db/models/fields/__init__.py:898 db/models/fields/__init__.py:1766
msgid "Integer"
msgstr ""
-#: db/models/fields/__init__.py:886 db/models/fields/__init__.py:1780
+#: db/models/fields/__init__.py:902 db/models/fields/__init__.py:1764
#, python-format
msgid "'%(value)s' value must be an integer."
msgstr ""
-#: db/models/fields/__init__.py:959 db/models/fields/__init__.py:1851
+#: db/models/fields/__init__.py:977 db/models/fields/__init__.py:1833
msgid "Big (8 byte) integer"
msgstr ""
-#: db/models/fields/__init__.py:971
+#: db/models/fields/__init__.py:989
#, python-format
msgid "'%(value)s' value must be either True or False."
msgstr ""
-#: db/models/fields/__init__.py:973
+#: db/models/fields/__init__.py:990
+#, python-format
+msgid "'%(value)s' value must be either True, False, or None."
+msgstr ""
+
+#: db/models/fields/__init__.py:992
msgid "Boolean (Either True or False)"
msgstr ""
-#: db/models/fields/__init__.py:1039
+#: db/models/fields/__init__.py:1034
#, python-format
msgid "String (up to %(max_length)s)"
msgstr ""
-#: db/models/fields/__init__.py:1102
+#: db/models/fields/__init__.py:1098
msgid "Comma-separated integers"
msgstr ""
-#: db/models/fields/__init__.py:1150
+#: db/models/fields/__init__.py:1147
#, 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:1152 db/models/fields/__init__.py:1294
+#: db/models/fields/__init__.py:1149 db/models/fields/__init__.py:1292
#, 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:1155
+#: db/models/fields/__init__.py:1152
msgid "Date (without time)"
msgstr ""
-#: db/models/fields/__init__.py:1292
+#: db/models/fields/__init__.py:1290
#, 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:1296
+#: db/models/fields/__init__.py:1294
#, 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:1300
+#: db/models/fields/__init__.py:1298
msgid "Date (with time)"
msgstr ""
-#: db/models/fields/__init__.py:1447
+#: db/models/fields/__init__.py:1446
#, python-format
msgid "'%(value)s' value must be a decimal number."
msgstr ""
-#: db/models/fields/__init__.py:1449
+#: db/models/fields/__init__.py:1448
msgid "Decimal number"
msgstr ""
-#: db/models/fields/__init__.py:1601
+#: db/models/fields/__init__.py:1587
#, 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:1604
+#: db/models/fields/__init__.py:1590
msgid "Duration"
msgstr ""
-#: db/models/fields/__init__.py:1656
+#: db/models/fields/__init__.py:1640
msgid "Email address"
msgstr ""
-#: db/models/fields/__init__.py:1680
+#: db/models/fields/__init__.py:1663
msgid "File path"
msgstr ""
-#: db/models/fields/__init__.py:1746
+#: db/models/fields/__init__.py:1729
#, python-format
msgid "'%(value)s' value must be a float."
msgstr ""
-#: db/models/fields/__init__.py:1748
+#: db/models/fields/__init__.py:1731
msgid "Floating point number"
msgstr ""
-#: db/models/fields/__init__.py:1866
+#: db/models/fields/__init__.py:1849
msgid "IPv4 address"
msgstr ""
-#: db/models/fields/__init__.py:1897
+#: db/models/fields/__init__.py:1880
msgid "IP address"
msgstr ""
-#: db/models/fields/__init__.py:1978
+#: db/models/fields/__init__.py:1960 db/models/fields/__init__.py:1961
#, python-format
msgid "'%(value)s' value must be either None, True or False."
msgstr ""
-#: db/models/fields/__init__.py:1980
+#: db/models/fields/__init__.py:1963
msgid "Boolean (Either True, False or None)"
msgstr ""
-#: db/models/fields/__init__.py:2043
+#: db/models/fields/__init__.py:1998
msgid "Positive integer"
msgstr ""
-#: db/models/fields/__init__.py:2055
+#: db/models/fields/__init__.py:2011
msgid "Positive small integer"
msgstr ""
-#: db/models/fields/__init__.py:2068
+#: db/models/fields/__init__.py:2025
#, python-format
msgid "Slug (up to %(max_length)s)"
msgstr ""
-#: db/models/fields/__init__.py:2098
+#: db/models/fields/__init__.py:2057
msgid "Small integer"
msgstr ""
-#: db/models/fields/__init__.py:2105
+#: db/models/fields/__init__.py:2064
msgid "Text"
msgstr ""
-#: db/models/fields/__init__.py:2133
+#: db/models/fields/__init__.py:2092
#, 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:2135
+#: db/models/fields/__init__.py:2094
#, 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:2138
+#: db/models/fields/__init__.py:2097
msgid "Time"
msgstr ""
-#: db/models/fields/__init__.py:2263
+#: db/models/fields/__init__.py:2223
msgid "URL"
msgstr ""
-#: db/models/fields/__init__.py:2286
+#: db/models/fields/__init__.py:2245
msgid "Raw binary data"
msgstr ""
-#: db/models/fields/__init__.py:2333
+#: db/models/fields/__init__.py:2295
#, python-format
msgid "'%(value)s' is not a valid UUID."
msgstr ""
@@ -730,16 +739,16 @@ msgstr ""
msgid "File"
msgstr ""
-#: db/models/fields/files.py:359
+#: db/models/fields/files.py:360
msgid "Image"
msgstr ""
-#: db/models/fields/related.py:780
+#: db/models/fields/related.py:778
#, python-format
msgid "%(model)s instance with %(field)s %(value)r does not exist."
msgstr ""
-#: db/models/fields/related.py:782
+#: db/models/fields/related.py:780
msgid "Foreign Key (type determined by related field)"
msgstr ""
@@ -763,51 +772,52 @@ 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:171
+#: forms/boundfield.py:146
msgid ":?.!"
msgstr ""
-#: forms/fields.py:53
+#: forms/fields.py:52
msgid "This field is required."
msgstr ""
-#: forms/fields.py:245
+#: forms/fields.py:244
msgid "Enter a whole number."
msgstr ""
-#: forms/fields.py:290 forms/fields.py:325
-msgid "Enter a number."
-msgstr ""
-
-#: forms/fields.py:396 forms/fields.py:1114
+#: forms/fields.py:395 forms/fields.py:1128
msgid "Enter a valid date."
msgstr ""
-#: forms/fields.py:420 forms/fields.py:1115
+#: forms/fields.py:419 forms/fields.py:1129
msgid "Enter a valid time."
msgstr ""
-#: forms/fields.py:442
+#: forms/fields.py:441
msgid "Enter a valid date/time."
msgstr ""
-#: forms/fields.py:471
+#: forms/fields.py:470
msgid "Enter a valid duration."
msgstr ""
-#: forms/fields.py:525
+#: forms/fields.py:472
+#, python-brace-format
+msgid "The number of days must be between {min_days} and {max_days}."
+msgstr ""
+
+#: forms/fields.py:533
msgid "No file was submitted. Check the encoding type on the form."
msgstr ""
-#: forms/fields.py:526
+#: forms/fields.py:534
msgid "No file was submitted."
msgstr ""
-#: forms/fields.py:527
+#: forms/fields.py:535
msgid "The submitted file is empty."
msgstr ""
-#: forms/fields.py:529
+#: forms/fields.py:537
#, python-format
msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
msgid_plural ""
@@ -815,30 +825,30 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: forms/fields.py:532
+#: forms/fields.py:540
msgid "Please either submit a file or check the clear checkbox, not both."
msgstr ""
-#: forms/fields.py:597
+#: forms/fields.py:601
msgid ""
"Upload a valid image. The file you uploaded was either not an image or a "
"corrupted image."
msgstr ""
-#: forms/fields.py:753 forms/fields.py:843 forms/models.py:1267
+#: forms/fields.py:763 forms/fields.py:853 forms/models.py:1272
#, python-format
msgid "Select a valid choice. %(value)s is not one of the available choices."
msgstr ""
-#: forms/fields.py:844 forms/fields.py:959 forms/models.py:1266
+#: forms/fields.py:854 forms/fields.py:969 forms/models.py:1271
msgid "Enter a list of values."
msgstr ""
-#: forms/fields.py:960
+#: forms/fields.py:970
msgid "Enter a complete value."
msgstr ""
-#: forms/fields.py:1173
+#: forms/fields.py:1187
msgid "Enter a valid UUID."
msgstr ""
@@ -847,7 +857,7 @@ msgstr ""
msgid ":"
msgstr ""
-#: forms/forms.py:207
+#: forms/forms.py:212
#, python-format
msgid "(Hidden field %(name)s) %(error)s"
msgstr ""
@@ -878,36 +888,36 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: forms/models.py:748
+#: forms/models.py:747
#, python-format
msgid "Please correct the duplicate data for %(field)s."
msgstr ""
-#: forms/models.py:752
+#: forms/models.py:751
#, python-format
msgid "Please correct the duplicate data for %(field)s, which must be unique."
msgstr ""
-#: forms/models.py:758
+#: forms/models.py:757
#, 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:767
+#: forms/models.py:766
msgid "Please correct the duplicate values below."
msgstr ""
-#: forms/models.py:1094
+#: forms/models.py:1093
msgid "The inline value did not match the parent instance."
msgstr ""
-#: forms/models.py:1155
+#: forms/models.py:1160
msgid "Select a valid choice. That choice is not one of the available choices."
msgstr ""
-#: forms/models.py:1269
+#: forms/models.py:1274
#, python-format
msgid "\"%(pk)s\" is not a valid value."
msgstr ""
@@ -919,62 +929,62 @@ msgid ""
"may be ambiguous or it may not exist."
msgstr ""
-#: forms/widgets.py:391
+#: forms/widgets.py:383
msgid "Clear"
msgstr ""
-#: forms/widgets.py:392
+#: forms/widgets.py:384
msgid "Currently"
msgstr ""
-#: forms/widgets.py:393
+#: forms/widgets.py:385
msgid "Change"
msgstr ""
-#: forms/widgets.py:706
+#: forms/widgets.py:699
msgid "Unknown"
msgstr ""
-#: forms/widgets.py:707
+#: forms/widgets.py:700
msgid "Yes"
msgstr ""
-#: forms/widgets.py:708
+#: forms/widgets.py:701
msgid "No"
msgstr ""
-#: template/defaultfilters.py:782
+#: template/defaultfilters.py:788
msgid "yes,no,maybe"
msgstr ""
-#: template/defaultfilters.py:811 template/defaultfilters.py:828
+#: template/defaultfilters.py:817 template/defaultfilters.py:834
#, python-format
msgid "%(size)d byte"
msgid_plural "%(size)d bytes"
msgstr[0] ""
msgstr[1] ""
-#: template/defaultfilters.py:830
+#: template/defaultfilters.py:836
#, python-format
msgid "%s KB"
msgstr ""
-#: template/defaultfilters.py:832
+#: template/defaultfilters.py:838
#, python-format
msgid "%s MB"
msgstr ""
-#: template/defaultfilters.py:834
+#: template/defaultfilters.py:840
#, python-format
msgid "%s GB"
msgstr ""
-#: template/defaultfilters.py:836
+#: template/defaultfilters.py:842
#, python-format
msgid "%s TB"
msgstr ""
-#: template/defaultfilters.py:838
+#: template/defaultfilters.py:844
#, python-format
msgid "%s PB"
msgstr ""
@@ -1059,218 +1069,218 @@ msgstr ""
msgid "Sun"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "January"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "February"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "March"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "April"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "May"
msgstr ""
-#: utils/dates.py:18
+#: utils/dates.py:14
msgid "June"
msgstr ""
-#: utils/dates.py:19
+#: utils/dates.py:15
msgid "July"
msgstr ""
-#: utils/dates.py:19
+#: utils/dates.py:15
msgid "August"
msgstr ""
-#: utils/dates.py:19
+#: utils/dates.py:15
msgid "September"
msgstr ""
-#: utils/dates.py:19
+#: utils/dates.py:15
msgid "October"
msgstr ""
-#: utils/dates.py:19
+#: utils/dates.py:15
msgid "November"
msgstr ""
-#: utils/dates.py:20
+#: utils/dates.py:16
msgid "December"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "jan"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "feb"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "mar"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "apr"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "may"
msgstr ""
-#: utils/dates.py:23
+#: utils/dates.py:19
msgid "jun"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "jul"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "aug"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "sep"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "oct"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "nov"
msgstr ""
-#: utils/dates.py:24
+#: utils/dates.py:20
msgid "dec"
msgstr ""
-#: utils/dates.py:31
+#: utils/dates.py:23
msgctxt "abbrev. month"
msgid "Jan."
msgstr ""
-#: utils/dates.py:32
+#: utils/dates.py:24
msgctxt "abbrev. month"
msgid "Feb."
msgstr ""
-#: utils/dates.py:33
+#: utils/dates.py:25
msgctxt "abbrev. month"
msgid "March"
msgstr ""
-#: utils/dates.py:34
+#: utils/dates.py:26
msgctxt "abbrev. month"
msgid "April"
msgstr ""
-#: utils/dates.py:35
+#: utils/dates.py:27
msgctxt "abbrev. month"
msgid "May"
msgstr ""
-#: utils/dates.py:36
+#: utils/dates.py:28
msgctxt "abbrev. month"
msgid "June"
msgstr ""
-#: utils/dates.py:37
+#: utils/dates.py:29
msgctxt "abbrev. month"
msgid "July"
msgstr ""
-#: utils/dates.py:38
+#: utils/dates.py:30
msgctxt "abbrev. month"
msgid "Aug."
msgstr ""
-#: utils/dates.py:39
+#: utils/dates.py:31
msgctxt "abbrev. month"
msgid "Sept."
msgstr ""
-#: utils/dates.py:40
+#: utils/dates.py:32
msgctxt "abbrev. month"
msgid "Oct."
msgstr ""
-#: utils/dates.py:41
+#: utils/dates.py:33
msgctxt "abbrev. month"
msgid "Nov."
msgstr ""
-#: utils/dates.py:42
+#: utils/dates.py:34
msgctxt "abbrev. month"
msgid "Dec."
msgstr ""
-#: utils/dates.py:45
+#: utils/dates.py:37
msgctxt "alt. month"
msgid "January"
msgstr ""
-#: utils/dates.py:46
+#: utils/dates.py:38
msgctxt "alt. month"
msgid "February"
msgstr ""
-#: utils/dates.py:47
+#: utils/dates.py:39
msgctxt "alt. month"
msgid "March"
msgstr ""
-#: utils/dates.py:48
+#: utils/dates.py:40
msgctxt "alt. month"
msgid "April"
msgstr ""
-#: utils/dates.py:49
+#: utils/dates.py:41
msgctxt "alt. month"
msgid "May"
msgstr ""
-#: utils/dates.py:50
+#: utils/dates.py:42
msgctxt "alt. month"
msgid "June"
msgstr ""
-#: utils/dates.py:51
+#: utils/dates.py:43
msgctxt "alt. month"
msgid "July"
msgstr ""
-#: utils/dates.py:52
+#: utils/dates.py:44
msgctxt "alt. month"
msgid "August"
msgstr ""
-#: utils/dates.py:53
+#: utils/dates.py:45
msgctxt "alt. month"
msgid "September"
msgstr ""
-#: utils/dates.py:54
+#: utils/dates.py:46
msgctxt "alt. month"
msgid "October"
msgstr ""
-#: utils/dates.py:55
+#: utils/dates.py:47
msgctxt "alt. month"
msgid "November"
msgstr ""
-#: utils/dates.py:56
+#: utils/dates.py:48
msgctxt "alt. month"
msgid "December"
msgstr ""
@@ -1290,7 +1300,7 @@ msgid "or"
msgstr ""
#. Translators: This string is used as a separator between list elements
-#: utils/text.py:256 utils/timesince.py:69
+#: utils/text.py:256 utils/timesince.py:83
msgid ", "
msgstr ""
@@ -1336,7 +1346,7 @@ msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: utils/timesince.py:58
+#: utils/timesince.py:72
msgid "0 minutes"
msgstr ""
@@ -1427,7 +1437,7 @@ msgstr ""
msgid "Invalid date string '%(datestr)s' given format '%(format)s'"
msgstr ""
-#: views/generic/detail.py:53
+#: views/generic/detail.py:54
#, python-format
msgid "No %(verbose_name)s found matching the query"
msgstr ""
@@ -1446,16 +1456,16 @@ msgstr ""
msgid "Empty list and '%(class_name)s.allow_empty' is False."
msgstr ""
-#: views/static.py:41
+#: views/static.py:40
msgid "Directory indexes are not allowed here."
msgstr ""
-#: views/static.py:43
+#: views/static.py:42
#, python-format
msgid "\"%(path)s\" does not exist"
msgstr ""
-#: views/static.py:83
+#: views/static.py:80
#, python-format
msgid "Index of %(directory)s"
msgstr ""
@@ -1464,18 +1474,18 @@ msgstr ""
msgid "Django: the Web framework for perfectionists with deadlines."
msgstr ""
-#: views/templates/default_urlconf.html:370
+#: views/templates/default_urlconf.html:345
#, python-format
msgid ""
"View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "
"target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s"
msgstr ""
-#: views/templates/default_urlconf.html:392
+#: views/templates/default_urlconf.html:367
msgid "The install worked successfully! Congratulations!"
msgstr ""
-#: views/templates/default_urlconf.html:393
+#: views/templates/default_urlconf.html:368
#, python-format
msgid ""
"You are seeing this page because <a href=\"https://docs.djangoproject.com/en/"
@@ -1484,26 +1494,26 @@ msgid ""
"URLs."
msgstr ""
-#: views/templates/default_urlconf.html:407
+#: views/templates/default_urlconf.html:383
msgid "Django Documentation"
msgstr ""
-#: views/templates/default_urlconf.html:408
+#: views/templates/default_urlconf.html:384
msgid "Topics, references, &amp; how-to's"
msgstr ""
-#: views/templates/default_urlconf.html:417
+#: views/templates/default_urlconf.html:395
msgid "Tutorial: A Polling App"
msgstr ""
-#: views/templates/default_urlconf.html:418
+#: views/templates/default_urlconf.html:396
msgid "Get started with Django"
msgstr ""
-#: views/templates/default_urlconf.html:427
+#: views/templates/default_urlconf.html:407
msgid "Django Community"
msgstr ""
-#: views/templates/default_urlconf.html:428
+#: views/templates/default_urlconf.html:408
msgid "Connect, get help, or contribute"
msgstr ""
diff --git a/django/contrib/admin/locale/en/LC_MESSAGES/django.po b/django/contrib/admin/locale/en/LC_MESSAGES/django.po
index 7c50d9a305..28cb897129 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: 2017-01-19 16:49+0100\n"
+"POT-Creation-Date: 2018-05-17 12:08+0200\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,319 +14,340 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: contrib/admin/actions.py:50
+#: contrib/admin/actions.py:45
#, python-format
msgid "Successfully deleted %(count)d %(items)s."
msgstr ""
-#: contrib/admin/actions.py:62 contrib/admin/options.py:1707
+#: contrib/admin/actions.py:54 contrib/admin/options.py:1835
#, python-format
msgid "Cannot delete %(name)s"
msgstr ""
-#: contrib/admin/actions.py:64 contrib/admin/options.py:1709
+#: contrib/admin/actions.py:56 contrib/admin/options.py:1837
msgid "Are you sure?"
msgstr ""
-#: contrib/admin/actions.py:89
+#: contrib/admin/actions.py:82
#, python-format
msgid "Delete selected %(verbose_name_plural)s"
msgstr ""
-#: contrib/admin/apps.py:11
+#: contrib/admin/apps.py:12
msgid "Administration"
msgstr ""
-#: contrib/admin/filters.py:107 contrib/admin/filters.py:205
-#: contrib/admin/filters.py:241 contrib/admin/filters.py:278
-#: contrib/admin/filters.py:384
+#: contrib/admin/filters.py:108 contrib/admin/filters.py:203
+#: contrib/admin/filters.py:238 contrib/admin/filters.py:272
+#: contrib/admin/filters.py:391
msgid "All"
msgstr ""
-#: contrib/admin/filters.py:242
+#: contrib/admin/filters.py:239
msgid "Yes"
msgstr ""
-#: contrib/admin/filters.py:243
+#: contrib/admin/filters.py:240
msgid "No"
msgstr ""
-#: contrib/admin/filters.py:257
+#: contrib/admin/filters.py:250
msgid "Unknown"
msgstr ""
-#: contrib/admin/filters.py:316
+#: contrib/admin/filters.py:320
msgid "Any date"
msgstr ""
-#: contrib/admin/filters.py:317
+#: contrib/admin/filters.py:321
msgid "Today"
msgstr ""
-#: contrib/admin/filters.py:321
+#: contrib/admin/filters.py:325
msgid "Past 7 days"
msgstr ""
-#: contrib/admin/filters.py:325
+#: contrib/admin/filters.py:329
msgid "This month"
msgstr ""
-#: contrib/admin/filters.py:329
+#: contrib/admin/filters.py:333
msgid "This year"
msgstr ""
-#: contrib/admin/filters.py:359
+#: contrib/admin/filters.py:341
msgid "No date"
msgstr ""
-#: contrib/admin/filters.py:360
+#: contrib/admin/filters.py:342
msgid "Has date"
msgstr ""
-#: contrib/admin/forms.py:14
+#: contrib/admin/forms.py:13
#, python-format
msgid ""
"Please enter the correct %(username)s and password for a staff account. Note "
"that both fields may be case-sensitive."
msgstr ""
-#: contrib/admin/helpers.py:27
+#: contrib/admin/helpers.py:21
msgid "Action:"
msgstr ""
-#: contrib/admin/helpers.py:286
+#: contrib/admin/helpers.py:303
#, python-format
msgid "Add another %(verbose_name)s"
msgstr ""
-#: contrib/admin/helpers.py:289
+#: contrib/admin/helpers.py:306
msgid "Remove"
msgstr ""
-#: contrib/admin/models.py:39
+#: contrib/admin/models.py:17
+msgid "Addition"
+msgstr ""
+
+#: contrib/admin/models.py:18
+#: contrib/admin/templates/admin/edit_inline/stacked.html:12
+#: contrib/admin/templates/admin/edit_inline/tabular.html:34
+#: contrib/admin/templates/admin/index.html:40
+#: contrib/admin/templates/admin/related_widget_wrapper.html:12
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:10
+msgid "Change"
+msgstr ""
+
+#: contrib/admin/models.py:19
+msgid "Deletion"
+msgstr ""
+
+#: contrib/admin/models.py:41
msgid "action time"
msgstr ""
-#: contrib/admin/models.py:46
+#: contrib/admin/models.py:48
msgid "user"
msgstr ""
-#: contrib/admin/models.py:51
+#: contrib/admin/models.py:53
msgid "content type"
msgstr ""
-#: contrib/admin/models.py:54
+#: contrib/admin/models.py:56
msgid "object id"
msgstr ""
#. Translators: 'repr' means representation (https://docs.python.org/3/library/functions.html#repr)
-#: contrib/admin/models.py:56
+#: contrib/admin/models.py:58
msgid "object repr"
msgstr ""
-#: contrib/admin/models.py:57
+#: contrib/admin/models.py:59
msgid "action flag"
msgstr ""
-#: contrib/admin/models.py:59
+#: contrib/admin/models.py:61
msgid "change message"
msgstr ""
-#: contrib/admin/models.py:64
+#: contrib/admin/models.py:66
msgid "log entry"
msgstr ""
-#: contrib/admin/models.py:65
+#: contrib/admin/models.py:67
msgid "log entries"
msgstr ""
-#: contrib/admin/models.py:74
+#: contrib/admin/models.py:76
#, python-format
msgid "Added \"%(object)s\"."
msgstr ""
-#: contrib/admin/models.py:76
+#: contrib/admin/models.py:78
#, python-format
msgid "Changed \"%(object)s\" - %(changes)s"
msgstr ""
-#: contrib/admin/models.py:81
+#: contrib/admin/models.py:83
#, python-format
msgid "Deleted \"%(object)s.\""
msgstr ""
-#: contrib/admin/models.py:83
+#: contrib/admin/models.py:85
msgid "LogEntry Object"
msgstr ""
-#: contrib/admin/models.py:109
+#: contrib/admin/models.py:111
#, python-brace-format
msgid "Added {name} \"{object}\"."
msgstr ""
-#: contrib/admin/models.py:111
+#: contrib/admin/models.py:113
msgid "Added."
msgstr ""
-#: contrib/admin/models.py:115 contrib/admin/options.py:1917
+#: contrib/admin/models.py:117 contrib/admin/options.py:2049
msgid "and"
msgstr ""
-#: contrib/admin/models.py:119
+#: contrib/admin/models.py:121
#, python-brace-format
msgid "Changed {fields} for {name} \"{object}\"."
msgstr ""
-#: contrib/admin/models.py:123
+#: contrib/admin/models.py:125
#, python-brace-format
msgid "Changed {fields}."
msgstr ""
-#: contrib/admin/models.py:127
+#: contrib/admin/models.py:129
#, python-brace-format
msgid "Deleted {name} \"{object}\"."
msgstr ""
-#: contrib/admin/models.py:130
+#: contrib/admin/models.py:132
msgid "No fields changed."
msgstr ""
-#: contrib/admin/options.py:196 contrib/admin/options.py:225
+#: contrib/admin/options.py:202 contrib/admin/options.py:233
msgid "None"
msgstr ""
-#: contrib/admin/options.py:261
+#: contrib/admin/options.py:271
msgid ""
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
msgstr ""
-#: contrib/admin/options.py:1115 contrib/admin/options.py:1186
+#: contrib/admin/options.py:1202 contrib/admin/options.py:1226
#, python-brace-format
-msgid ""
-"The {name} \"{obj}\" was added successfully. You may edit it again below."
+msgid "The {name} \"{obj}\" was added successfully."
msgstr ""
-#: contrib/admin/options.py:1129
+#: contrib/admin/options.py:1204
+msgid "You may edit it again below."
+msgstr ""
+
+#: contrib/admin/options.py:1216
#, python-brace-format
msgid ""
"The {name} \"{obj}\" was added successfully. You may add another {name} "
"below."
msgstr ""
-#: contrib/admin/options.py:1139
+#: contrib/admin/options.py:1266
#, python-brace-format
-msgid "The {name} \"{obj}\" was added successfully."
+msgid ""
+"The {name} \"{obj}\" was changed successfully. You may edit it again below."
msgstr ""
-#: contrib/admin/options.py:1176
+#: contrib/admin/options.py:1276
#, python-brace-format
msgid ""
-"The {name} \"{obj}\" was changed successfully. You may edit it again below."
+"The {name} \"{obj}\" was added successfully. You may edit it again below."
msgstr ""
-#: contrib/admin/options.py:1199
+#: contrib/admin/options.py:1289
#, python-brace-format
msgid ""
"The {name} \"{obj}\" was changed successfully. You may add another {name} "
"below."
msgstr ""
-#: contrib/admin/options.py:1211
+#: contrib/admin/options.py:1301
#, python-brace-format
msgid "The {name} \"{obj}\" was changed successfully."
msgstr ""
-#: contrib/admin/options.py:1296 contrib/admin/options.py:1564
+#: contrib/admin/options.py:1386 contrib/admin/options.py:1676
msgid ""
"Items must be selected in order to perform actions on them. No items have "
"been changed."
msgstr ""
-#: contrib/admin/options.py:1315
+#: contrib/admin/options.py:1405
msgid "No action selected."
msgstr ""
-#: contrib/admin/options.py:1336
+#: contrib/admin/options.py:1430
#, python-format
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
msgstr ""
-#: contrib/admin/options.py:1397
+#: contrib/admin/options.py:1509
#, python-format
msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?"
msgstr ""
-#: contrib/admin/options.py:1475
+#: contrib/admin/options.py:1597
#, python-format
msgid "Add %s"
msgstr ""
-#: contrib/admin/options.py:1475
+#: contrib/admin/options.py:1597
#, python-format
msgid "Change %s"
msgstr ""
-#: contrib/admin/options.py:1543
+#: contrib/admin/options.py:1652
msgid "Database error"
msgstr ""
-#: contrib/admin/options.py:1606
+#: contrib/admin/options.py:1724
#, 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:1633
+#: contrib/admin/options.py:1755
#, python-format
msgid "%(total_count)s selected"
msgid_plural "All %(total_count)s selected"
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/options.py:1639
+#: contrib/admin/options.py:1763
#, python-format
msgid "0 of %(cnt)s selected"
msgstr ""
-#: contrib/admin/options.py:1755
+#: contrib/admin/options.py:1880
#, python-format
msgid "Change history: %s"
msgstr ""
#. Translators: Model verbose name and instance representation,
#. suitable to be an item in a list.
-#: contrib/admin/options.py:1911
+#: contrib/admin/options.py:2043
#, python-format
msgid "%(class_name)s %(instance)s"
msgstr ""
-#: contrib/admin/options.py:1918
+#: contrib/admin/options.py:2050
#, python-format
msgid ""
"Deleting %(class_name)s %(instance)s would require deleting the following "
"protected related objects: %(related_objects)s"
msgstr ""
-#: contrib/admin/sites.py:40 contrib/admin/templates/admin/base_site.html:3
+#: contrib/admin/sites.py:41 contrib/admin/templates/admin/base_site.html:3
msgid "Django site admin"
msgstr ""
-#: contrib/admin/sites.py:43 contrib/admin/templates/admin/base_site.html:6
+#: contrib/admin/sites.py:44 contrib/admin/templates/admin/base_site.html:6
msgid "Django administration"
msgstr ""
-#: contrib/admin/sites.py:46
+#: contrib/admin/sites.py:47
msgid "Site administration"
msgstr ""
-#: contrib/admin/sites.py:398 contrib/admin/templates/admin/login.html.py:61
+#: contrib/admin/sites.py:383 contrib/admin/templates/admin/login.html:61
#: contrib/admin/templates/registration/password_reset_complete.html:18
-#: contrib/admin/tests.py:131
+#: contrib/admin/tests.py:123
msgid "Log in"
msgstr ""
-#: contrib/admin/sites.py:525
+#: contrib/admin/sites.py:510
#, python-format
msgid "%(app)s administration"
msgstr ""
@@ -343,20 +364,20 @@ 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:13
-#: contrib/admin/templates/admin/base.html:56
+#: contrib/admin/templates/admin/base.html:61
#: contrib/admin/templates/admin/change_form.html:18
#: contrib/admin/templates/admin/change_list.html:31
-#: contrib/admin/templates/admin/delete_confirmation.html:13
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:13
+#: contrib/admin/templates/admin/delete_confirmation.html:14
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:14
#: 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:6
#: contrib/admin/templates/registration/password_change_form.html:7
#: contrib/admin/templates/registration/password_reset_complete.html:6
-#: contrib/admin/templates/registration/password_reset_confirm.html:6
+#: contrib/admin/templates/registration/password_reset_confirm.html:7
#: contrib/admin/templates/registration/password_reset_done.html:6
-#: contrib/admin/templates/registration/password_reset_form.html:6
+#: contrib/admin/templates/registration/password_reset_form.html:7
msgid "Home"
msgstr ""
@@ -378,24 +399,24 @@ msgid ""
"email and should be fixed shortly. Thanks for your patience."
msgstr ""
-#: contrib/admin/templates/admin/actions.html:4
+#: contrib/admin/templates/admin/actions.html:8
msgid "Run the selected action"
msgstr ""
-#: contrib/admin/templates/admin/actions.html:4
+#: contrib/admin/templates/admin/actions.html:8
msgid "Go"
msgstr ""
-#: contrib/admin/templates/admin/actions.html:10
+#: contrib/admin/templates/admin/actions.html:16
msgid "Click here to select the objects across all pages"
msgstr ""
-#: contrib/admin/templates/admin/actions.html:10
+#: contrib/admin/templates/admin/actions.html:16
#, python-format
msgid "Select all %(total_count)s %(module_name)s"
msgstr ""
-#: contrib/admin/templates/admin/actions.html:12
+#: contrib/admin/templates/admin/actions.html:18
msgid "Clear selection"
msgstr ""
@@ -410,72 +431,72 @@ msgid "Enter a username and password."
msgstr ""
#: contrib/admin/templates/admin/auth/user/change_password.html:17
-#: contrib/admin/templates/admin/auth/user/change_password.html:54
-#: contrib/admin/templates/admin/base.html:44
+#: contrib/admin/templates/admin/auth/user/change_password.html:55
+#: contrib/admin/templates/admin/base.html:49
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:4
msgid "Change password"
msgstr ""
-#: contrib/admin/templates/admin/auth/user/change_password.html:27
-#: contrib/admin/templates/admin/change_form.html:47
-#: contrib/admin/templates/admin/change_list.html:58
+#: contrib/admin/templates/admin/auth/user/change_password.html:28
+#: contrib/admin/templates/admin/change_form.html:43
+#: contrib/admin/templates/admin/change_list.html:51
#: contrib/admin/templates/admin/login.html:21
#: contrib/admin/templates/registration/password_change_form.html:21
msgid "Please correct the error below."
msgstr ""
-#: contrib/admin/templates/admin/auth/user/change_password.html:27
-#: contrib/admin/templates/admin/change_form.html:47
-#: contrib/admin/templates/admin/change_list.html:58
+#: contrib/admin/templates/admin/auth/user/change_password.html:28
+#: contrib/admin/templates/admin/change_form.html:43
+#: contrib/admin/templates/admin/change_list.html:51
#: contrib/admin/templates/admin/login.html:21
#: contrib/admin/templates/registration/password_change_form.html:21
msgid "Please correct the errors below."
msgstr ""
-#: contrib/admin/templates/admin/auth/user/change_password.html:31
+#: contrib/admin/templates/admin/auth/user/change_password.html:32
#, python-format
msgid "Enter a new password for the user <strong>%(username)s</strong>."
msgstr ""
-#: contrib/admin/templates/admin/base.html:30
+#: contrib/admin/templates/admin/base.html:35
msgid "Welcome,"
msgstr ""
-#: contrib/admin/templates/admin/base.html:35
+#: contrib/admin/templates/admin/base.html:40
msgid "View site"
msgstr ""
-#: contrib/admin/templates/admin/base.html:40
+#: contrib/admin/templates/admin/base.html:45
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:4
msgid "Documentation"
msgstr ""
-#: contrib/admin/templates/admin/base.html:46
+#: contrib/admin/templates/admin/base.html:51
#: contrib/admin/templates/registration/password_change_done.html:3
#: contrib/admin/templates/registration/password_change_form.html:4
msgid "Log out"
msgstr ""
#: contrib/admin/templates/admin/change_form.html:21
-#: contrib/admin/templates/admin/change_list.html:49
+#: contrib/admin/templates/admin/change_list_object_tools.html:8
#, python-format
msgid "Add %(name)s"
msgstr ""
-#: contrib/admin/templates/admin/change_form.html:33
+#: contrib/admin/templates/admin/change_form_object_tools.html:5
#: contrib/admin/templates/admin/object_history.html:10
msgid "History"
msgstr ""
-#: contrib/admin/templates/admin/change_form.html:35
+#: contrib/admin/templates/admin/change_form_object_tools.html:7
#: contrib/admin/templates/admin/edit_inline/stacked.html:14
#: contrib/admin/templates/admin/edit_inline/tabular.html:36
msgid "View on site"
msgstr ""
-#: contrib/admin/templates/admin/change_list.html:69
+#: contrib/admin/templates/admin/change_list.html:62
msgid "Filter"
msgstr ""
@@ -492,13 +513,14 @@ msgstr ""
msgid "Toggle sorting"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:17
-#: contrib/admin/templates/admin/related_widget_wrapper.html:23
-#: contrib/admin/templates/admin/submit_line.html:6
+#: contrib/admin/templates/admin/delete_confirmation.html:18
+#: contrib/admin/templates/admin/related_widget_wrapper.html:30
+#: contrib/admin/templates/admin/submit_line.html:7
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:24
msgid "Delete"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:23
+#: contrib/admin/templates/admin/delete_confirmation.html:24
#, python-format
msgid ""
"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting "
@@ -506,40 +528,40 @@ msgid ""
"following types of objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:30
+#: contrib/admin/templates/admin/delete_confirmation.html:31
#, 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:37
+#: contrib/admin/templates/admin/delete_confirmation.html:38
#, 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:39
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:38
+#: contrib/admin/templates/admin/delete_confirmation.html:40
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:39
msgid "Objects"
msgstr ""
-#: contrib/admin/templates/admin/delete_confirmation.html:46
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:49
+#: contrib/admin/templates/admin/delete_confirmation.html:47
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:50
msgid "Yes, I'm sure"
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:48
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:51
msgid "No, take me back"
msgstr ""
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:16
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:17
msgid "Delete multiple objects"
msgstr ""
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:22
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:23
#, python-format
msgid ""
"Deleting the selected %(objects_name)s would result in deleting related "
@@ -547,14 +569,14 @@ msgid ""
"types of objects:"
msgstr ""
-#: contrib/admin/templates/admin/delete_selected_confirmation.html:29
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:30
#, 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:36
+#: contrib/admin/templates/admin/delete_selected_confirmation.html:37
#, python-format
msgid ""
"Are you sure you want to delete the selected %(objects_name)s? All of the "
@@ -563,9 +585,9 @@ msgstr ""
#: contrib/admin/templates/admin/edit_inline/stacked.html:12
#: contrib/admin/templates/admin/edit_inline/tabular.html:34
-#: contrib/admin/templates/admin/index.html:37
-#: contrib/admin/templates/admin/related_widget_wrapper.html:9
-msgid "Change"
+#: contrib/admin/templates/admin/index.html:38
+#: contrib/admin/templates/admin/related_widget_wrapper.html:15
+msgid "View"
msgstr ""
#: contrib/admin/templates/admin/edit_inline/tabular.html:20
@@ -587,27 +609,28 @@ msgid "Models in the %(name)s application"
msgstr ""
#: contrib/admin/templates/admin/index.html:31
-#: contrib/admin/templates/admin/related_widget_wrapper.html:16
+#: contrib/admin/templates/admin/related_widget_wrapper.html:23
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:17
msgid "Add"
msgstr ""
-#: contrib/admin/templates/admin/index.html:47
-msgid "You don't have permission to edit anything."
+#: contrib/admin/templates/admin/index.html:51
+msgid "You don't have permission to view or edit anything."
msgstr ""
-#: contrib/admin/templates/admin/index.html:55
+#: contrib/admin/templates/admin/index.html:59
msgid "Recent actions"
msgstr ""
-#: contrib/admin/templates/admin/index.html:56
+#: contrib/admin/templates/admin/index.html:60
msgid "My actions"
msgstr ""
-#: contrib/admin/templates/admin/index.html:60
+#: contrib/admin/templates/admin/index.html:64
msgid "None available"
msgstr ""
-#: contrib/admin/templates/admin/index.html:74
+#: contrib/admin/templates/admin/index.html:78
msgid "Unknown content"
msgstr ""
@@ -653,7 +676,7 @@ msgid "Show all"
msgstr ""
#: contrib/admin/templates/admin/pagination.html:11
-#: contrib/admin/templates/admin/submit_line.html:3
+#: contrib/admin/templates/admin/submit_line.html:4
msgid "Save"
msgstr ""
@@ -661,17 +684,25 @@ msgstr ""
msgid "Popup closing..."
msgstr ""
-#: contrib/admin/templates/admin/related_widget_wrapper.html:8
+#: contrib/admin/templates/admin/related_widget_wrapper.html:11
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:9
#, python-format
msgid "Change selected %(model)s"
msgstr ""
-#: contrib/admin/templates/admin/related_widget_wrapper.html:15
+#: contrib/admin/templates/admin/related_widget_wrapper.html:14
#, python-format
-msgid "Add another %(model)s"
+msgid "View selected %(model)s"
msgstr ""
#: contrib/admin/templates/admin/related_widget_wrapper.html:22
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:16
+#, python-format
+msgid "Add another %(model)s"
+msgstr ""
+
+#: contrib/admin/templates/admin/related_widget_wrapper.html:29
+#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:23
#, python-format
msgid "Delete selected %(model)s"
msgstr ""
@@ -692,18 +723,26 @@ msgstr[1] ""
msgid "%(full_result_count)s total"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:8
+#: contrib/admin/templates/admin/submit_line.html:9
msgid "Save as new"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:9
+#: contrib/admin/templates/admin/submit_line.html:10
msgid "Save and add another"
msgstr ""
-#: contrib/admin/templates/admin/submit_line.html:10
+#: contrib/admin/templates/admin/submit_line.html:11
msgid "Save and continue editing"
msgstr ""
+#: contrib/admin/templates/admin/submit_line.html:11
+msgid "Save and view"
+msgstr ""
+
+#: contrib/admin/templates/admin/submit_line.html:12
+msgid "Close"
+msgstr ""
+
#: contrib/admin/templates/registration/logged_out.html:8
msgid "Thanks for spending some quality time with the Web site today."
msgstr ""
@@ -728,13 +767,13 @@ msgid ""
msgstr ""
#: contrib/admin/templates/registration/password_change_form.html:54
-#: contrib/admin/templates/registration/password_reset_confirm.html:24
+#: contrib/admin/templates/registration/password_reset_confirm.html:32
msgid "Change my password"
msgstr ""
#: contrib/admin/templates/registration/password_reset_complete.html:7
#: contrib/admin/templates/registration/password_reset_done.html:7
-#: contrib/admin/templates/registration/password_reset_form.html:7
+#: contrib/admin/templates/registration/password_reset_form.html:8
msgid "Password reset"
msgstr ""
@@ -742,25 +781,25 @@ msgstr ""
msgid "Your password has been set. You may go ahead and log in now."
msgstr ""
-#: contrib/admin/templates/registration/password_reset_confirm.html:7
+#: contrib/admin/templates/registration/password_reset_confirm.html:8
msgid "Password reset confirmation"
msgstr ""
-#: contrib/admin/templates/registration/password_reset_confirm.html:17
+#: contrib/admin/templates/registration/password_reset_confirm.html:18
msgid ""
"Please enter your new password twice so we can verify you typed it in "
"correctly."
msgstr ""
-#: contrib/admin/templates/registration/password_reset_confirm.html:21
+#: contrib/admin/templates/registration/password_reset_confirm.html:24
msgid "New password:"
msgstr ""
-#: contrib/admin/templates/registration/password_reset_confirm.html:23
+#: contrib/admin/templates/registration/password_reset_confirm.html:29
msgid "Confirm password:"
msgstr ""
-#: contrib/admin/templates/registration/password_reset_confirm.html:29
+#: contrib/admin/templates/registration/password_reset_confirm.html:38
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
@@ -802,50 +841,50 @@ msgstr ""
msgid "The %(site_name)s team"
msgstr ""
-#: contrib/admin/templates/registration/password_reset_form.html:15
+#: contrib/admin/templates/registration/password_reset_form.html:16
msgid ""
"Forgotten your password? Enter your email address below, and we'll email "
"instructions for setting a new one."
msgstr ""
-#: contrib/admin/templates/registration/password_reset_form.html:19
+#: contrib/admin/templates/registration/password_reset_form.html:22
msgid "Email address:"
msgstr ""
-#: contrib/admin/templates/registration/password_reset_form.html:19
+#: contrib/admin/templates/registration/password_reset_form.html:25
msgid "Reset my password"
msgstr ""
-#: contrib/admin/templatetags/admin_list.py:387
+#: contrib/admin/templatetags/admin_list.py:410
msgid "All dates"
msgstr ""
-#: contrib/admin/views/main.py:81
+#: contrib/admin/views/main.py:83
#, python-format
msgid "Select %s"
msgstr ""
-#: contrib/admin/views/main.py:83
+#: contrib/admin/views/main.py:85
#, python-format
msgid "Select %s to change"
msgstr ""
-#: contrib/admin/widgets.py:92
+#: contrib/admin/widgets.py:101
msgid "Date:"
msgstr ""
-#: contrib/admin/widgets.py:93
+#: contrib/admin/widgets.py:102
msgid "Time:"
msgstr ""
-#: contrib/admin/widgets.py:175
+#: contrib/admin/widgets.py:164
msgid "Lookup"
msgstr ""
-#: contrib/admin/widgets.py:363
+#: contrib/admin/widgets.py:343
msgid "Currently:"
msgstr ""
-#: contrib/admin/widgets.py:364
+#: contrib/admin/widgets.py:344
msgid "Change:"
msgstr ""
diff --git a/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po b/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po
index 0e51c84022..2b335c9325 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: 2016-05-17 23:12+0200\n"
+"POT-Creation-Date: 2018-05-17 11:50+0200\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -72,21 +72,21 @@ msgstr ""
msgid "Click to remove all chosen %s at once."
msgstr ""
-#: contrib/admin/static/admin/js/actions.js:47
+#: contrib/admin/static/admin/js/actions.js:48
#: contrib/admin/static/admin/js/actions.min.js:2
msgid "%(sel)s of %(cnt)s selected"
msgid_plural "%(sel)s of %(cnt)s selected"
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/static/admin/js/actions.js:116
-#: contrib/admin/static/admin/js/actions.min.js:4
+#: contrib/admin/static/admin/js/actions.js:117
+#: contrib/admin/static/admin/js/actions.min.js:5
msgid ""
"You have unsaved changes on individual editable fields. If you run an "
"action, your unsaved changes will be lost."
msgstr ""
-#: contrib/admin/static/admin/js/actions.js:128
+#: contrib/admin/static/admin/js/actions.js:129
#: contrib/admin/static/admin/js/actions.min.js:5
msgid ""
"You have selected an action, but you haven't saved your changes to "
@@ -94,76 +94,76 @@ msgid ""
"action."
msgstr ""
-#: contrib/admin/static/admin/js/actions.js:130
-#: contrib/admin/static/admin/js/actions.min.js:5
+#: contrib/admin/static/admin/js/actions.js:131
+#: contrib/admin/static/admin/js/actions.min.js:6
msgid ""
"You have selected an action, and you haven't made any changes on individual "
"fields. You're probably looking for the Go button rather than the Save "
"button."
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:74
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:118
+msgid "Now"
+msgstr ""
+
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:14
+msgid "Midnight"
+msgstr ""
+
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:15
+msgid "6 a.m."
+msgstr ""
+
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:16
+msgid "Noon"
+msgstr ""
+
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:17
+msgid "6 p.m."
+msgstr ""
+
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:83
#, javascript-format
msgid "Note: You are %s hour ahead of server time."
msgid_plural "Note: You are %s hours ahead of server time."
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:82
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:91
#, javascript-format
msgid "Note: You are %s hour behind server time."
msgid_plural "Note: You are %s hours behind server time."
msgstr[0] ""
msgstr[1] ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:109
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:149
-msgid "Now"
-msgstr ""
-
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:116
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:136
msgid "Choose a Time"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:146
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:166
msgid "Choose a time"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:150
-msgid "Midnight"
-msgstr ""
-
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:151
-msgid "6 a.m."
-msgstr ""
-
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:152
-msgid "Noon"
-msgstr ""
-
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:153
-msgid "6 p.m."
-msgstr ""
-
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:157
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:281
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:183
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:343
msgid "Cancel"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:217
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:274
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:248
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:328
msgid "Today"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:224
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:265
msgid "Choose a Date"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:272
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:322
msgid "Yesterday"
msgstr ""
-#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:276
+#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:334
msgid "Tomorrow"
msgstr ""
@@ -252,11 +252,12 @@ msgstr ""
#: contrib/admin/static/admin/js/collapse.js:10
#: contrib/admin/static/admin/js/collapse.js:21
-#: contrib/admin/static/admin/js/collapse.min.js:1
+#: contrib/admin/static/admin/js/collapse.min.js:4
+#: contrib/admin/static/admin/js/collapse.min.js:5
msgid "Show"
msgstr ""
#: contrib/admin/static/admin/js/collapse.js:18
-#: contrib/admin/static/admin/js/collapse.min.js:1
+#: contrib/admin/static/admin/js/collapse.min.js:4
msgid "Hide"
msgstr ""
diff --git a/django/contrib/humanize/locale/en/LC_MESSAGES/django.po b/django/contrib/humanize/locale/en/LC_MESSAGES/django.po
index cf0f2fe34c..e63dc9cd44 100644
--- a/django/contrib/humanize/locale/en/LC_MESSAGES/django.po
+++ b/django/contrib/humanize/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: 2018-05-07 18:29+0200\n"
+"POT-Creation-Date: 2018-05-17 11:49+0200\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,242 +14,342 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: contrib/humanize/apps.py:8
+#: contrib/humanize/apps.py:7
msgid "Humanize"
msgstr ""
+#. Translators: Ordinal format for 11 (11th), 12 (12th), and 13 (13th).
#: contrib/humanize/templatetags/humanize.py:30
-msgid "th"
+msgctxt "ordinal 11, 12, 13"
+msgid "{}th"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:30
-msgid "st"
+#. Translators: Ordinal format when value ends with 0, e.g. 80th.
+#: contrib/humanize/templatetags/humanize.py:34
+msgctxt "ordinal 0"
+msgid "{}th"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:30
-msgid "nd"
+#. Translators: Ordinal format when value ends with 1, e.g. 81st, except 11.
+#: contrib/humanize/templatetags/humanize.py:36
+msgctxt "ordinal 1"
+msgid "{}st"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:30
-msgid "rd"
+#. Translators: Ordinal format when value ends with 2, e.g. 82nd, except 12.
+#: contrib/humanize/templatetags/humanize.py:38
+msgctxt "ordinal 2"
+msgid "{}nd"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 3, e.g. 83th, except 13.
+#: contrib/humanize/templatetags/humanize.py:40
+msgctxt "ordinal 3"
+msgid "{}rd"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 4, e.g. 84th.
+#: contrib/humanize/templatetags/humanize.py:42
+msgctxt "ordinal 4"
+msgid "{}th"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 5, e.g. 85th.
+#: contrib/humanize/templatetags/humanize.py:44
+msgctxt "ordinal 5"
+msgid "{}th"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 6, e.g. 86th.
+#: contrib/humanize/templatetags/humanize.py:46
+msgctxt "ordinal 6"
+msgid "{}th"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 7, e.g. 87th.
+#: contrib/humanize/templatetags/humanize.py:48
+msgctxt "ordinal 7"
+msgid "{}th"
+msgstr ""
+
+#. Translators: Ordinal format when value ends with 8, e.g. 88th.
+#: contrib/humanize/templatetags/humanize.py:50
+msgctxt "ordinal 8"
+msgid "{}th"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:61
+#. Translators: Ordinal format when value ends with 9, e.g. 89th.
+#: contrib/humanize/templatetags/humanize.py:52
+msgctxt "ordinal 9"
+msgid "{}th"
+msgstr ""
+
+#: contrib/humanize/templatetags/humanize.py:84
#, python-format
msgid "%(value).1f million"
msgid_plural "%(value).1f million"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:62
+#: contrib/humanize/templatetags/humanize.py:85
#, python-format
msgid "%(value)s million"
msgid_plural "%(value)s million"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:65
+#: contrib/humanize/templatetags/humanize.py:88
#, python-format
msgid "%(value).1f billion"
msgid_plural "%(value).1f billion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:66
+#: contrib/humanize/templatetags/humanize.py:89
#, python-format
msgid "%(value)s billion"
msgid_plural "%(value)s billion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:69
+#: contrib/humanize/templatetags/humanize.py:92
#, python-format
msgid "%(value).1f trillion"
msgid_plural "%(value).1f trillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:70
+#: contrib/humanize/templatetags/humanize.py:93
#, python-format
msgid "%(value)s trillion"
msgid_plural "%(value)s trillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:73
+#: contrib/humanize/templatetags/humanize.py:96
#, python-format
msgid "%(value).1f quadrillion"
msgid_plural "%(value).1f quadrillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:74
+#: contrib/humanize/templatetags/humanize.py:97
#, python-format
msgid "%(value)s quadrillion"
msgid_plural "%(value)s quadrillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:77
+#: contrib/humanize/templatetags/humanize.py:100
#, python-format
msgid "%(value).1f quintillion"
msgid_plural "%(value).1f quintillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:78
+#: contrib/humanize/templatetags/humanize.py:101
#, python-format
msgid "%(value)s quintillion"
msgid_plural "%(value)s quintillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:81
+#: contrib/humanize/templatetags/humanize.py:104
#, python-format
msgid "%(value).1f sextillion"
msgid_plural "%(value).1f sextillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:82
+#: contrib/humanize/templatetags/humanize.py:105
#, python-format
msgid "%(value)s sextillion"
msgid_plural "%(value)s sextillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:85
+#: contrib/humanize/templatetags/humanize.py:108
#, python-format
msgid "%(value).1f septillion"
msgid_plural "%(value).1f septillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:86
+#: contrib/humanize/templatetags/humanize.py:109
#, python-format
msgid "%(value)s septillion"
msgid_plural "%(value)s septillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:89
+#: contrib/humanize/templatetags/humanize.py:112
#, python-format
msgid "%(value).1f octillion"
msgid_plural "%(value).1f octillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:90
+#: contrib/humanize/templatetags/humanize.py:113
#, python-format
msgid "%(value)s octillion"
msgid_plural "%(value)s octillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:93
+#: contrib/humanize/templatetags/humanize.py:116
#, python-format
msgid "%(value).1f nonillion"
msgid_plural "%(value).1f nonillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:94
+#: contrib/humanize/templatetags/humanize.py:117
#, python-format
msgid "%(value)s nonillion"
msgid_plural "%(value)s nonillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:97
+#: contrib/humanize/templatetags/humanize.py:120
#, python-format
msgid "%(value).1f decillion"
msgid_plural "%(value).1f decillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:98
+#: contrib/humanize/templatetags/humanize.py:121
#, python-format
msgid "%(value)s decillion"
msgid_plural "%(value)s decillion"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:101
+#: contrib/humanize/templatetags/humanize.py:124
#, python-format
msgid "%(value).1f googol"
msgid_plural "%(value).1f googol"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:102
+#: contrib/humanize/templatetags/humanize.py:125
#, python-format
msgid "%(value)s googol"
msgid_plural "%(value)s googol"
msgstr[0] ""
msgstr[1] ""
-#: contrib/humanize/templatetags/humanize.py:153
+#: contrib/humanize/templatetags/humanize.py:176
msgid "one"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:153
+#: contrib/humanize/templatetags/humanize.py:176
msgid "two"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:153
+#: contrib/humanize/templatetags/humanize.py:176
msgid "three"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:153
+#: contrib/humanize/templatetags/humanize.py:176
msgid "four"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:153
+#: contrib/humanize/templatetags/humanize.py:176
msgid "five"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:154
+#: contrib/humanize/templatetags/humanize.py:177
msgid "six"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:154
+#: contrib/humanize/templatetags/humanize.py:177
msgid "seven"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:154
+#: contrib/humanize/templatetags/humanize.py:177
msgid "eight"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:154
+#: contrib/humanize/templatetags/humanize.py:177
msgid "nine"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:178 contrib/humanize/tests.py:145
+#: contrib/humanize/templatetags/humanize.py:201
msgid "today"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:180 contrib/humanize/tests.py:145
+#: contrib/humanize/templatetags/humanize.py:203
msgid "tomorrow"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:182 contrib/humanize/tests.py:145
+#: contrib/humanize/templatetags/humanize.py:205
msgid "yesterday"
msgstr ""
#. Translators: delta will contain a string like '2 months' or '1 month, 2 weeks'
-#: contrib/humanize/templatetags/humanize.py:223
+#: contrib/humanize/templatetags/humanize.py:225
#, python-format
msgid "%(delta)s ago"
msgstr ""
-#: contrib/humanize/templatetags/humanize.py:205
+#. Translators: 'naturaltime-past' strings will be included in
+#. '%(delta)s ago'
+#: contrib/humanize/templatetags/humanize.py:228
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:229
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:230
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d week"
+msgid_plural "%d weeks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:231
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:232
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+
#: contrib/humanize/templatetags/humanize.py:233
+#, python-format
+msgctxt "naturaltime-past"
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:236
+#: contrib/humanize/templatetags/humanize.py:272
msgid "now"
msgstr ""
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:210
+#: contrib/humanize/templatetags/humanize.py:241
#, python-format
msgid "a second ago"
msgid_plural "%(count)s seconds ago"
@@ -258,7 +358,7 @@ msgstr[1] ""
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:217
+#: contrib/humanize/templatetags/humanize.py:248
#, python-format
msgid "a minute ago"
msgid_plural "%(count)s minutes ago"
@@ -267,7 +367,7 @@ msgstr[1] ""
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:224
+#: contrib/humanize/templatetags/humanize.py:255
#, python-format
msgid "an hour ago"
msgid_plural "%(count)s hours ago"
@@ -275,14 +375,64 @@ msgstr[0] ""
msgstr[1] ""
#. Translators: delta will contain a string like '2 months' or '1 month, 2 weeks'
-#: contrib/humanize/templatetags/humanize.py:250
+#: contrib/humanize/templatetags/humanize.py:261
#, python-format
msgid "%(delta)s from now"
msgstr ""
+#. Translators: 'naturaltime-future' strings will be included in
+#. '%(delta)s from now'
+#: contrib/humanize/templatetags/humanize.py:264
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:265
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:266
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d week"
+msgid_plural "%d weeks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:267
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:268
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: contrib/humanize/templatetags/humanize.py:269
+#, python-format
+msgctxt "naturaltime-future"
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:238
+#: contrib/humanize/templatetags/humanize.py:277
#, python-format
msgid "a second from now"
msgid_plural "%(count)s seconds from now"
@@ -291,7 +441,7 @@ msgstr[1] ""
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:245
+#: contrib/humanize/templatetags/humanize.py:284
#, python-format
msgid "a minute from now"
msgid_plural "%(count)s minutes from now"
@@ -300,7 +450,7 @@ msgstr[1] ""
#. Translators: please keep a non-breaking space (U+00A0)
#. between count and time unit.
-#: contrib/humanize/templatetags/humanize.py:252
+#: contrib/humanize/templatetags/humanize.py:291
#, python-format
msgid "an hour from now"
msgid_plural "%(count)s hours from now"
diff --git a/django/contrib/postgres/locale/en/LC_MESSAGES/django.po b/django/contrib/postgres/locale/en/LC_MESSAGES/django.po
index 0e00e7484b..af9b2fdd82 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: 2017-01-19 16:49+0100\n"
+"POT-Creation-Date: 2018-05-17 11:49+0200\n"
"PO-Revision-Date: 2015-01-18 20:56+0100\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
@@ -14,17 +14,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: contrib/postgres/apps.py:12
+#: contrib/postgres/apps.py:13
msgid "PostgreSQL extensions"
msgstr ""
-#: contrib/postgres/fields/array.py:19 contrib/postgres/forms/array.py:15
-#: contrib/postgres/forms/array.py:145
+#: contrib/postgres/fields/array.py:22 contrib/postgres/forms/array.py:16
+#: contrib/postgres/forms/array.py:170
#, python-format
-msgid "Item %(nth)s in the array did not validate: "
+msgid "Item %(nth)s in the array did not validate:"
msgstr ""
-#: contrib/postgres/fields/array.py:20
+#: contrib/postgres/fields/array.py:23
msgid "Nested arrays must have the same length."
msgstr ""
@@ -32,57 +32,57 @@ msgstr ""
msgid "Map of strings to strings/nulls"
msgstr ""
-#: contrib/postgres/fields/hstore.py:17
+#: contrib/postgres/fields/hstore.py:18
#, python-format
msgid "The value of \"%(key)s\" is not a string or null."
msgstr ""
-#: contrib/postgres/fields/jsonb.py:15
+#: contrib/postgres/fields/jsonb.py:32
msgid "A JSON object"
msgstr ""
-#: contrib/postgres/fields/jsonb.py:17
+#: contrib/postgres/fields/jsonb.py:34
msgid "Value must be valid JSON."
msgstr ""
-#: contrib/postgres/forms/hstore.py:15
+#: contrib/postgres/forms/hstore.py:16
msgid "Could not load JSON data."
msgstr ""
-#: contrib/postgres/forms/hstore.py:18
+#: contrib/postgres/forms/hstore.py:17
msgid "Input must be a JSON dictionary."
msgstr ""
-#: contrib/postgres/forms/jsonb.py:16
+#: contrib/postgres/forms/jsonb.py:19
#, python-format
msgid "'%(value)s' value must be valid JSON."
msgstr ""
-#: contrib/postgres/forms/ranges.py:13
+#: contrib/postgres/forms/ranges.py:16
msgid "Enter two valid values."
msgstr ""
-#: contrib/postgres/forms/ranges.py:14
+#: contrib/postgres/forms/ranges.py:17
msgid "The start of the range must not exceed the end of the range."
msgstr ""
-#: contrib/postgres/forms/ranges.py:59
+#: contrib/postgres/forms/ranges.py:64
msgid "Enter two whole numbers."
msgstr ""
-#: contrib/postgres/forms/ranges.py:65
+#: contrib/postgres/forms/ranges.py:70
msgid "Enter two numbers."
msgstr ""
-#: contrib/postgres/forms/ranges.py:71
+#: contrib/postgres/forms/ranges.py:76
msgid "Enter two valid date/times."
msgstr ""
-#: contrib/postgres/forms/ranges.py:77
+#: contrib/postgres/forms/ranges.py:82
msgid "Enter two valid dates."
msgstr ""
-#: contrib/postgres/validators.py:14
+#: contrib/postgres/validators.py:12
#, python-format
msgid ""
"List contains %(show_value)d item, it should contain no more than "
@@ -93,7 +93,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: contrib/postgres/validators.py:21
+#: contrib/postgres/validators.py:19
#, python-format
msgid ""
"List contains %(show_value)d item, it should contain no fewer than "
@@ -104,23 +104,23 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: contrib/postgres/validators.py:31
+#: contrib/postgres/validators.py:29
#, python-format
msgid "Some keys were missing: %(keys)s"
msgstr ""
-#: contrib/postgres/validators.py:32
+#: contrib/postgres/validators.py:30
#, python-format
msgid "Some unknown keys were provided: %(keys)s"
msgstr ""
-#: contrib/postgres/validators.py:73
+#: contrib/postgres/validators.py:70
#, python-format
msgid ""
"Ensure that this range is completely less than or equal to %(limit_value)s."
msgstr ""
-#: contrib/postgres/validators.py:78
+#: contrib/postgres/validators.py:76
#, python-format
msgid ""
"Ensure that this range is completely greater than or equal to "