Проблемы с языком Python - PullRequest
       21

Проблемы с языком Python

0 голосов
/ 13 апреля 2019

У меня проблема с питоном и локализованными строками в нескольких дистрибутивах.

Я программировал много лет с en_US.UTF-8 языком, и у меня нет проблем. В последнее время я начал использовать другие локали, такие как pl_PL.UTF-8, и у меня возникла проблема с печатью datetime.strftime, как это было en_US.

Мой locale вывод здесь:

$ locale
LANG="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_CTYPE="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_ALL=

Локальные переменные среды:

$ env | grep LANG
LANG=pl_PL.UTF-8
$ env | grep LC
$

В Python у меня есть следующий вывод:

>>> import locale
>>> locale.getlocale()
('pl_PL', 'UTF-8')
>>> locale.getdefaultlocale()
('pl_PL', 'UTF-8')
>>> locale.getlocale(locale.LC_TIME)
(None, None)

По этой теме я нашел точно такой же вопрос *1010* с ответом, чтобы задать LC_ALL явно:

>>> locale.setlocale(locale.LC_ALL, '')
'pl_PL.UTF-8'
>>> locale.getlocale()
('pl_PL', 'UTF-8')
>>> locale.getdefaultlocale()
('pl_PL', 'UTF-8')
>>> locale.getlocale(locale.LC_TIME)
('pl_PL', 'UTF-8')

Я рассматриваю это поведение скорее как проблему в самом Python, чем как обычное использование. Что не так с Python, что он видит локаль таким образом?

...