diff --git a/django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo b/django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo index eb8e731871..e92c54eae4 100644 Binary files a/django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo and b/django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo differ diff --git a/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po b/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po index c5a7e2adff..c20f721bf8 100644 --- a/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po +++ b/django/contrib/humanize/locale/fr/LC_MESSAGES/django.po @@ -23,6 +23,12 @@ msgstr "" msgid "Humanize" msgstr "Humanisation" +#. Translators: Ordinal format when value is 1. +#: contrib/humanize/templatetags/humanize.py:37 +msgctxt "ordinal is 1" +msgid "{}st" +msgstr "{}er" + #. Translators: Ordinal format for 11 (11th), 12 (12th), and 13 (13th). msgctxt "ordinal 11, 12, 13" msgid "{}th" @@ -36,7 +42,7 @@ msgstr "{}e" #. Translators: Ordinal format when value ends with 1, e.g. 81st, except 11. msgctxt "ordinal 1" msgid "{}st" -msgstr "{}er" +msgstr "{}e" #. Translators: Ordinal format when value ends with 2, e.g. 82nd, except 12. msgctxt "ordinal 2" diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index 26a9dd3a3f..79d2e15667 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -32,7 +32,10 @@ def ordinal(value): return value if value < 0: return str(value) - if value % 100 in (11, 12, 13): + if value == 1: + # Translators: Ordinal format when value is 1 (1st). + value = pgettext("ordinal is 1", "{}st").format(value) + elif value % 100 in (11, 12, 13): # Translators: Ordinal format for 11 (11th), 12 (12th), and 13 (13th). value = pgettext("ordinal 11, 12, 13", "{}th").format(value) else: diff --git a/tests/humanize_tests/tests.py b/tests/humanize_tests/tests.py index b9f1e58ef7..35914fe70e 100644 --- a/tests/humanize_tests/tests.py +++ b/tests/humanize_tests/tests.py @@ -108,7 +108,7 @@ class HumanizeTests(SimpleTestCase): "11e", "12e", "13e", - "101er", + "101e", "102e", "103e", "111e",