Решение ошибки Django OSError: No translation files found
Если вы разрабатываете сайт на языке не поддерживаемом Django, то можете столкнуться с подобной ошибкой:
File "/home/user/.virtualenvs/laos/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 102, in __init__
raise IOError("No translation files found for default language %s." % settings.LANGUAGE_CODE)
OSError: No translation files found for default language lo.
Язык в settings.py
определён правильно, ошибка довольно загадочная, и поиск не даёт разумных результатов.
Если попытаться скомпилировать переводы командой compilemessages
, то она естественно не выполняется с той же самой ошибкой.
Самый простой способ обхода: перейти в каталог с переводами для данного языка и скомпилировать переводы вручную:
cd locale/lo/LC_MESSAGES
msgfmt -o django.mo django.po
msgfmt -o djangojs.mo djangojs.po
Более простой и быстрый вариант: временно поменять язык по умолчанию на en
, выполнить compilemessages
, поменять язык обратно.
Наверное надо создать соответствующий баг в трекере Django, если дойдут руки, дополню пост.