diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo index 0edbebab07..77a4d9d3d1 100644 Binary files a/django/conf/locale/ca/LC_MESSAGES/django.mo and b/django/conf/locale/ca/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po index b0446fd81c..243135f419 100644 --- a/django/conf/locale/ca/LC_MESSAGES/django.po +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -1064,11 +1064,11 @@ msgstr ", %(number)d %(type)s" #: utils/translation/trans_real.py:568 msgid "DATE_FORMAT" -msgstr "j \\de F \\de Y" +msgstr "j \\d\\e F \\d\\e Y" #: utils/translation/trans_real.py:569 msgid "DATETIME_FORMAT" -msgstr "j \\de F \\de Y, H:i" +msgstr "j \\d\\e F \\d\\e Y, H:i" #: utils/translation/trans_real.py:570 msgid "TIME_FORMAT" @@ -1076,11 +1076,11 @@ msgstr "H:i" #: utils/translation/trans_real.py:591 msgid "YEAR_MONTH_FORMAT" -msgstr "F \\de Y" +msgstr "F \\d\\e Y" #: utils/translation/trans_real.py:592 msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" +msgstr "j \\d\\e F" #: views/generic/create_update.py:121 #, python-format diff --git a/django/conf/locale/ca/formats.py b/django/conf/locale/ca/formats.py index 71ea7e9325..9a0054d0fb 100644 --- a/django/conf/locale/ca/formats.py +++ b/django/conf/locale/ca/formats.py @@ -4,11 +4,11 @@ # The *_FORMAT strings use the Django date format syntax, # see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'G:i:s' -DATETIME_FORMAT = r'j \de F \de Y \a \le\s G:i' -YEAR_MONTH_FORMAT = r'F \de\l Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\e\s G:i' +YEAR_MONTH_FORMAT = r'F \d\e\l Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y G:i' FIRST_DAY_OF_WEEK = 1 # Monday diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index b05c07da63..81e473f200 100644 Binary files a/django/conf/locale/es/LC_MESSAGES/django.mo and b/django/conf/locale/es/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/es/LC_MESSAGES/django.po b/django/conf/locale/es/LC_MESSAGES/django.po index 7d624d0158..e2c2b786eb 100644 --- a/django/conf/locale/es/LC_MESSAGES/django.po +++ b/django/conf/locale/es/LC_MESSAGES/django.po @@ -1084,7 +1084,7 @@ msgstr "F Y" #: utils/translation/trans_real.py:602 msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" +msgstr "j \\d\\e F" #: views/generic/create_update.py:121 #, python-format diff --git a/django/conf/locale/es/formats.py b/django/conf/locale/es/formats.py index 85070eaa5a..f10351c649 100644 --- a/django/conf/locale/es/formats.py +++ b/django/conf/locale/es/formats.py @@ -4,11 +4,11 @@ # The *_FORMAT strings use the Django date format syntax, # see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'H:i:s' -DATETIME_FORMAT = r'j \de F \de Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \de Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' +YEAR_MONTH_FORMAT = r'F \d\e Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' FIRST_DAY_OF_WEEK = 1 # Monday diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index 3ba97f5fdd..6b6c59e418 100644 Binary files a/django/conf/locale/es_AR/LC_MESSAGES/django.mo and b/django/conf/locale/es_AR/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.po b/django/conf/locale/es_AR/LC_MESSAGES/django.po index 8476981b3e..bb2e8b3ca3 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -1082,7 +1082,7 @@ msgstr "F Y" #: utils/translation/trans_real.py:592 msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" +msgstr "j \\d\\e F" #: views/generic/create_update.py:121 #, python-format diff --git a/django/conf/locale/es_AR/formats.py b/django/conf/locale/es_AR/formats.py index 81d9e53fc1..e28841f90a 100644 --- a/django/conf/locale/es_AR/formats.py +++ b/django/conf/locale/es_AR/formats.py @@ -8,7 +8,7 @@ DATE_FORMAT = r'j N Y' TIME_FORMAT = r'H:i:s' DATETIME_FORMAT = r'j N Y H:i:s' YEAR_MONTH_FORMAT = r'F Y' -MONTH_DAY_FORMAT = r'j \de F' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = r'd/m/Y' SHORT_DATETIME_FORMAT = r'd/m/Y H:i' FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday diff --git a/django/conf/locale/es_MX/LC_MESSAGES/django.mo b/django/conf/locale/es_MX/LC_MESSAGES/django.mo index 0b5bc978ad..ac79e93b46 100644 Binary files a/django/conf/locale/es_MX/LC_MESSAGES/django.mo and b/django/conf/locale/es_MX/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/es_MX/LC_MESSAGES/django.po b/django/conf/locale/es_MX/LC_MESSAGES/django.po index a1a44d04e7..885866a9f2 100644 --- a/django/conf/locale/es_MX/LC_MESSAGES/django.po +++ b/django/conf/locale/es_MX/LC_MESSAGES/django.po @@ -1082,7 +1082,7 @@ msgstr "F Y" #: utils/translation/trans_real.py:592 msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" +msgstr "j \\d\\e F" #: views/generic/create_update.py:121 #, python-format diff --git a/django/conf/locale/es_MX/formats.py b/django/conf/locale/es_MX/formats.py index 7f14b976bd..20a30f4cb9 100644 --- a/django/conf/locale/es_MX/formats.py +++ b/django/conf/locale/es_MX/formats.py @@ -2,18 +2,17 @@ # This file is distributed under the same license as the Django package. # -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'H:i:s' -DATETIME_FORMAT = r'j \de F \de Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \de Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' +YEAR_MONTH_FORMAT = r'F \d\e Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 +FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 DATE_INPUT_FORMATS = ( - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%Y%m%d', # '20061025' - + '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' + '%Y%m%d', # '20061025' ) TIME_INPUT_FORMATS = ( '%H:%M:%S', '%H:%M', # '14:30:59', '14:30' diff --git a/django/conf/locale/es_NI/formats.py b/django/conf/locale/es_NI/formats.py index b91d7f8dbd..fd5cc9a925 100644 --- a/django/conf/locale/es_NI/formats.py +++ b/django/conf/locale/es_NI/formats.py @@ -2,11 +2,11 @@ # This file is distributed under the same license as the Django package. # -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'H:i:s' -DATETIME_FORMAT = r'j \de F \de Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \de Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' +YEAR_MONTH_FORMAT = r'F \d\e Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 diff --git a/django/conf/locale/pt/formats.py b/django/conf/locale/pt/formats.py index dc02132846..a6ce2c08de 100644 --- a/django/conf/locale/pt/formats.py +++ b/django/conf/locale/pt/formats.py @@ -4,11 +4,11 @@ # The *_FORMAT strings use the Django date format syntax, # see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'H:i:s' -DATETIME_FORMAT = r'j \de F \de Y à\s H:i' -YEAR_MONTH_FORMAT = r'F \de Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y à\s H:i' +YEAR_MONTH_FORMAT = r'F \d\e Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' FIRST_DAY_OF_WEEK = 0 # Sunday diff --git a/django/conf/locale/pt_BR/LC_MESSAGES/django.mo b/django/conf/locale/pt_BR/LC_MESSAGES/django.mo index 5d2cdfbadf..bbaf444404 100644 Binary files a/django/conf/locale/pt_BR/LC_MESSAGES/django.mo and b/django/conf/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/pt_BR/LC_MESSAGES/django.po b/django/conf/locale/pt_BR/LC_MESSAGES/django.po index dde815ed04..3b36b12f35 100644 --- a/django/conf/locale/pt_BR/LC_MESSAGES/django.po +++ b/django/conf/locale/pt_BR/LC_MESSAGES/django.po @@ -1059,11 +1059,11 @@ msgstr ", %(number)d %(type)s" #: utils/translation/trans_real.py:568 msgid "DATE_FORMAT" -msgstr "j \\de N \\de Y" +msgstr "j \\d\\e N \\d\\e Y" #: utils/translation/trans_real.py:569 msgid "DATETIME_FORMAT" -msgstr "j \\de N \\de Y à\\s H:i" +msgstr "j \\d\\e N \\d\\e Y à\\s H:i" #: utils/translation/trans_real.py:570 msgid "TIME_FORMAT" @@ -1071,11 +1071,11 @@ msgstr "H:i" #: utils/translation/trans_real.py:591 msgid "YEAR_MONTH_FORMAT" -msgstr "F \\de Y" +msgstr "F \\d\\e Y" #: utils/translation/trans_real.py:592 msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" +msgstr "j \\d\\e F" #: views/generic/create_update.py:121 #, python-format diff --git a/django/conf/locale/pt_BR/formats.py b/django/conf/locale/pt_BR/formats.py index 7645346999..6a44d38651 100644 --- a/django/conf/locale/pt_BR/formats.py +++ b/django/conf/locale/pt_BR/formats.py @@ -4,11 +4,11 @@ # The *_FORMAT strings use the Django date format syntax, # see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \de F \de Y' +DATE_FORMAT = r'j \d\e F \d\e Y' TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \de F \de Y à\s H:i' -YEAR_MONTH_FORMAT = r'F \de Y' -MONTH_DAY_FORMAT = r'j \de F' +DATETIME_FORMAT = r'j \d\e F \d\e Y à\s H:i' +YEAR_MONTH_FORMAT = r'F \d\e Y' +MONTH_DAY_FORMAT = r'j \d\e F' SHORT_DATE_FORMAT = 'd/m/Y' SHORT_DATETIME_FORMAT = 'd/m/Y H:i' FIRST_DAY_OF_WEEK = 0 # Sunday diff --git a/django/utils/dateformat.py b/django/utils/dateformat.py index 81c2d87f91..1b2dd57fe7 100644 --- a/django/utils/dateformat.py +++ b/django/utils/dateformat.py @@ -147,7 +147,7 @@ class DateFormat(TimeFormat): def e(self): "Timezone name if available" try: - if self.data.tzinfo: + if hasattr(self.data, 'tzinfo') and self.data.tzinfo: # Have to use tzinfo.tzname and not datetime.tzname # because datatime.tzname does not expect Unicode return self.data.tzinfo.tzname(self.data) or "" diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py index 36f8f5851c..1660a75e9c 100644 --- a/tests/regressiontests/defaultfilters/tests.py +++ b/tests/regressiontests/defaultfilters/tests.py @@ -487,7 +487,7 @@ class DefaultFiltersTests(TestCase): # real testing of date() is in dateformat.py self.assertEqual(date(datetime.datetime(2005, 12, 29), u"d F Y"), u'29 December 2005') - self.assertEqual(date(datetime.datetime(2005, 12, 29), ur'jS o\f F'), + self.assertEqual(date(datetime.datetime(2005, 12, 29), ur'jS \o\f F'), u'29th of December') def test_time(self): diff --git a/tests/regressiontests/i18n/tests.py b/tests/regressiontests/i18n/tests.py index 27b25468d4..4b543d2bbf 100644 --- a/tests/regressiontests/i18n/tests.py +++ b/tests/regressiontests/i18n/tests.py @@ -439,7 +439,7 @@ class FormattingTests(TestCase): settings.USE_L10N = True # Catalan locale with translation.override('ca', deactivate=True): - self.assertEqual('j \de F \de Y', get_format('DATE_FORMAT')) + self.assertEqual('j \d\e F \d\e Y', get_format('DATE_FORMAT')) self.assertEqual(1, get_format('FIRST_DAY_OF_WEEK')) self.assertEqual(',', get_format('DECIMAL_SEPARATOR')) self.assertEqual(u'10:15:48', time_format(self.t)) diff --git a/tests/regressiontests/utils/dateformat.py b/tests/regressiontests/utils/dateformat.py index 313a76ba4b..c1910b0f33 100644 --- a/tests/regressiontests/utils/dateformat.py +++ b/tests/regressiontests/utils/dateformat.py @@ -104,7 +104,7 @@ class DateFormatTests(unittest.TestCase): self.assertEqual(dateformat.format(my_birthday, r'Y z \C\E\T'), u'1979 189 CET') - self.assertEqual(dateformat.format(my_birthday, r'jS o\f F'), u'8th of July') + self.assertEqual(dateformat.format(my_birthday, r'jS \o\f F'), u'8th of July') def test_futuredates(self): the_future = datetime(2100, 10, 25, 0, 00)