Skip to content

Commit 23e1602

Browse files
committed
Use a comma as the French decimal separator
fr_FR was the only locale in the table pairing a group separator with a dot decimal mark. French uses the comma, so intcomma and intword printed 1 234 567.89 instead of 1 234 567,89. naturalsize is unchanged because filesize.py does not read the separator.
1 parent ce4147b commit 23e1602

2 files changed

Lines changed: 28 additions & 28 deletions

File tree

src/humanize/i18n.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
# Mapping of locale to decimal separator
3232
_DECIMAL_SEPARATOR: dict[str | None, str] = {
3333
"de_DE": ",",
34-
"fr_FR": ".",
34+
"fr_FR": ",",
3535
"it_IT": ",",
3636
"pt_BR": ",",
3737
"hu_HU": ",",

tests/test_i18n.py

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ def test_intcomma() -> None:
6363

6464
humanize.i18n.activate("fr_FR")
6565
assert humanize.intcomma(number) == "10 000 000"
66-
assert humanize.intcomma(1_234_567.89) == "1 234 567.89"
67-
assert humanize.intcomma("1 234 567.89") == "1 234 567.89"
66+
assert humanize.intcomma(1_234_567.89) == "1 234 567,89"
67+
assert humanize.intcomma("1 234 567,89") == "1 234 567,89"
6868

6969
humanize.i18n.activate("pt_BR")
7070
assert humanize.intcomma(number) == "10.000.000"
@@ -125,46 +125,46 @@ def test_naturaldelta() -> None:
125125
("lv", 2_000_000, "2,0 miljoni"),
126126
("lv", 11_000_000, "11,0 miljoni"),
127127
("lv", 21_000_000, "21,0 miljons"),
128-
("fr_FR", "1_000", "1.0 mille"),
129-
("fr_FR", "12_400", "12.4 milles"),
130-
("fr_FR", "12_490", "12.5 milles"),
131-
("fr_FR", "1_000_000", "1.0 million"),
132-
("fr_FR", "-1_000_000", "-1.0 million"),
133-
("fr_FR", "1_200_000", "1.2 millions"),
134-
("fr_FR", "1_290_000", "1.3 millions"),
135-
("fr_FR", "999_999_999", "1.0 milliard"),
136-
("fr_FR", "1_000_000_000", "1.0 milliard"),
137-
("fr_FR", "-1_000_000_000", "-1.0 milliard"),
138-
("fr_FR", "2_000_000_000", "2.0 milliards"),
139-
("fr_FR", "999_999_999_999", "1.0 billion"),
140-
("fr_FR", "1_000_000_000_000", "1.0 billion"),
141-
("fr_FR", "6_000_000_000_000", "6.0 billions"),
142-
("fr_FR", "-6_000_000_000_000", "-6.0 billions"),
143-
("fr_FR", "999_999_999_999_999", "1.0 billiard"),
144-
("fr_FR", "1_000_000_000_000_000", "1.0 billiard"),
145-
("fr_FR", "1_300_000_000_000_000", "1.3 billiards"),
146-
("fr_FR", "-1_300_000_000_000_000", "-1.3 billiards"),
147-
("fr_FR", "3_500_000_000_000_000_000_000", "3.5 trilliards"),
148-
("fr_FR", "8_100_000_000_000_000_000_000_000_000_000_000", "8.1 quintilliards"),
128+
("fr_FR", "1_000", "1,0 mille"),
129+
("fr_FR", "12_400", "12,4 milles"),
130+
("fr_FR", "12_490", "12,5 milles"),
131+
("fr_FR", "1_000_000", "1,0 million"),
132+
("fr_FR", "-1_000_000", "-1,0 million"),
133+
("fr_FR", "1_200_000", "1,2 millions"),
134+
("fr_FR", "1_290_000", "1,3 millions"),
135+
("fr_FR", "999_999_999", "1,0 milliard"),
136+
("fr_FR", "1_000_000_000", "1,0 milliard"),
137+
("fr_FR", "-1_000_000_000", "-1,0 milliard"),
138+
("fr_FR", "2_000_000_000", "2,0 milliards"),
139+
("fr_FR", "999_999_999_999", "1,0 billion"),
140+
("fr_FR", "1_000_000_000_000", "1,0 billion"),
141+
("fr_FR", "6_000_000_000_000", "6,0 billions"),
142+
("fr_FR", "-6_000_000_000_000", "-6,0 billions"),
143+
("fr_FR", "999_999_999_999_999", "1,0 billiard"),
144+
("fr_FR", "1_000_000_000_000_000", "1,0 billiard"),
145+
("fr_FR", "1_300_000_000_000_000", "1,3 billiards"),
146+
("fr_FR", "-1_300_000_000_000_000", "-1,3 billiards"),
147+
("fr_FR", "3_500_000_000_000_000_000_000", "3,5 trilliards"),
148+
("fr_FR", "8_100_000_000_000_000_000_000_000_000_000_000", "8,1 quintilliards"),
149149
(
150150
"fr_FR",
151151
"-8_100_000_000_000_000_000_000_000_000_000_000",
152-
"-8.1 quintilliards",
152+
"-8,1 quintilliards",
153153
),
154154
(
155155
"fr_FR",
156156
1_000_000_000_000_000_000_000_000_000_000_000_000,
157-
"1000.0 quintilliards",
157+
"1000,0 quintilliards",
158158
),
159159
(
160160
"fr_FR",
161161
1_100_000_000_000_000_000_000_000_000_000_000_000,
162-
"1100.0 quintilliards",
162+
"1100,0 quintilliards",
163163
),
164164
(
165165
"fr_FR",
166166
2_100_000_000_000_000_000_000_000_000_000_000_000,
167-
"2100.0 quintilliards",
167+
"2100,0 quintilliards",
168168
),
169169
],
170170
)

0 commit comments

Comments
 (0)