summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sphinx/builders/_epub_base.py2
-rw-r--r--sphinx/builders/epub3.py2
-rw-r--r--sphinx/config.py2
-rw-r--r--tests/test_util_i18n.py27
4 files changed, 19 insertions, 14 deletions
diff --git a/sphinx/builders/_epub_base.py b/sphinx/builders/_epub_base.py
index 26efdc1fb..4bb602fe0 100644
--- a/sphinx/builders/_epub_base.py
+++ b/sphinx/builders/_epub_base.py
@@ -483,7 +483,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
metadata['copyright'] = html.escape(self.config.epub_copyright)
metadata['scheme'] = html.escape(self.config.epub_scheme)
metadata['id'] = html.escape(self.config.epub_identifier)
- metadata['date'] = html.escape(format_date("%Y-%m-%d"))
+ metadata['date'] = html.escape(format_date("%Y-%m-%d", language='en'))
metadata['manifest_items'] = []
metadata['spines'] = []
metadata['guides'] = []
diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py
index 013955ed1..46c636c7d 100644
--- a/sphinx/builders/epub3.py
+++ b/sphinx/builders/epub3.py
@@ -88,7 +88,7 @@ class Epub3Builder(_epub_base.EpubBuilder):
metadata['contributor'] = html.escape(self.config.epub_contributor)
metadata['page_progression_direction'] = PAGE_PROGRESSION_DIRECTIONS.get(writing_mode)
metadata['ibook_scroll_axis'] = IBOOK_SCROLL_AXIS.get(writing_mode)
- metadata['date'] = html.escape(format_date("%Y-%m-%dT%H:%M:%SZ"))
+ metadata['date'] = html.escape(format_date("%Y-%m-%dT%H:%M:%SZ", language='en'))
metadata['version'] = html.escape(self.config.version)
metadata['epub_version'] = self.config.epub_version
return metadata
diff --git a/sphinx/config.py b/sphinx/config.py
index dc9a2a9ae..5f92479d3 100644
--- a/sphinx/config.py
+++ b/sphinx/config.py
@@ -405,7 +405,7 @@ def correct_copyright_year(app: "Sphinx", config: Config) -> None:
if getenv('SOURCE_DATE_EPOCH') is not None:
for k in ('copyright', 'epub_copyright'):
if k in config:
- replace = r'\g<1>%s' % format_date('%Y')
+ replace = r'\g<1>%s' % format_date('%Y', language='en')
config[k] = copyright_year_re.sub(replace, config[k])
diff --git a/tests/test_util_i18n.py b/tests/test_util_i18n.py
index d962fa2df..c80e9183e 100644
--- a/tests/test_util_i18n.py
+++ b/tests/test_util_i18n.py
@@ -2,6 +2,7 @@
import datetime
import os
+import warnings
import pytest
from babel.messages.mofile import read_mo
@@ -53,7 +54,11 @@ def test_format_date():
# strftime format
format = '%B %d, %Y'
- assert i18n.format_date(format, date=date) == 'February 07, 2016'
+ with warnings.catch_warnings():
+ # Test format_date() with no language argument -- this form will be
+ # removed in Sphinx 7 (xref RemovedInSphinx70Warning)
+ warnings.simplefilter("ignore")
+ assert i18n.format_date(format, date=date) == 'February 07, 2016'
assert i18n.format_date(format, date=date, language='') == 'February 07, 2016'
assert i18n.format_date(format, date=date, language='unknown') == 'February 07, 2016'
assert i18n.format_date(format, date=date, language='en') == 'February 07, 2016'
@@ -62,28 +67,28 @@ def test_format_date():
# raw string
format = 'Mon Mar 28 12:37:08 2016, commit 4367aef'
- assert i18n.format_date(format, date=date) == format
+ assert i18n.format_date(format, date=date, language='en') == format
format = '%B %d, %Y, %H:%M:%S %I %p'
datet = datetime.datetime(2016, 2, 7, 5, 11, 17, 0)
- assert i18n.format_date(format, date=datet) == 'February 07, 2016, 05:11:17 05 AM'
+ assert i18n.format_date(format, date=datet, language='en') == 'February 07, 2016, 05:11:17 05 AM'
format = '%B %-d, %Y, %-H:%-M:%-S %-I %p'
- assert i18n.format_date(format, date=datet) == 'February 7, 2016, 5:11:17 5 AM'
+ assert i18n.format_date(format, date=datet, language='en') == 'February 7, 2016, 5:11:17 5 AM'
format = '%x'
- assert i18n.format_date(format, date=datet) == 'Feb 7, 2016'
+ assert i18n.format_date(format, date=datet, language='en') == 'Feb 7, 2016'
format = '%X'
- assert i18n.format_date(format, date=datet) == '5:11:17 AM'
- assert i18n.format_date(format, date=date) == 'Feb 7, 2016'
+ assert i18n.format_date(format, date=datet, language='en') == '5:11:17 AM'
+ assert i18n.format_date(format, date=date, language='en') == 'Feb 7, 2016'
format = '%c'
- assert i18n.format_date(format, date=datet) == 'Feb 7, 2016, 5:11:17 AM'
- assert i18n.format_date(format, date=date) == 'Feb 7, 2016'
+ assert i18n.format_date(format, date=datet, language='en') == 'Feb 7, 2016, 5:11:17 AM'
+ assert i18n.format_date(format, date=date, language='en') == 'Feb 7, 2016'
# timezone
format = '%Z'
- assert i18n.format_date(format, date=datet) == 'UTC'
+ assert i18n.format_date(format, date=datet, language='en') == 'UTC'
format = '%z'
- assert i18n.format_date(format, date=datet) == '+0000'
+ assert i18n.format_date(format, date=datet, language='en') == '+0000'
@pytest.mark.xfail(os.name != 'posix', reason="Path separators don't match on windows")