-
Notifications
You must be signed in to change notification settings - Fork 459
Closed
Description
Overview Description
babel.lists.format_list does not work with non-English locales, when style is set to "unit".
Steps to Reproduce
Install latest babel 2.15.0
from babel.lists import format_list
print(format_list([1, 2, 3, 4], style="unit", locale="zh_CN"))
Actual Results
Traceback (most recent call last):
File "<eval command - snippet #20>", line 4, in func
print(format_list([1, 2, 3, 4], style="unit", locale="zh_CN"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/redenv/lib/python3.11/site-packages/babel/lists.py", line 89, in format_list
result = patterns['start'].format(lst[0], lst[1])
~~~~~~~~^^^^^^^^^
File "/home/ubuntu/redenv/lib/python3.11/site-packages/babel/localedata.py", line 234, in __getitem__
orig = val = self._data[key]
~~~~~~~~~~^^^^^
KeyError: 'start'
Expected Results
Something like 1, 2, 3, 4
but locale dependent of course!
Reproducibility
I can reproduce this in every non-Engilsh language I've tried, es_ES zh_CN fr_FR
Various EN locales en_GB en_US en_CN produce the expected result 1, 2, 3, 4
Additional Information
Similar to #781 but this error occurs with supported styleunit
and has a wider language scope
Metadata
Metadata
Assignees
Labels
No labels