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",