Запретить Django переводить даты
У меня есть приложение django, в котором я использую переводы.
Моя проблема в том, что django также переводит даты, а я хочу сохранить даты в одном формате для всех языков. Есть ли решение для этого? Это создает другие проблемы для меня, формы не проверяют даты из-за этого. Я получаю выборку дат на английском языке, как показано на следующем изображении, тогда как мне нужно, чтобы она была на французском, если язык установлен на французский.
Вот мои языковые настройки
USE_I18N = True # use internationalization
USE_L10N = True # use localization
from django.utils.translation import gettext_lazy as _
LANGUAGES =[ ('en', _('English')),
('fr', _('French')),
('ar', _('Arabic')),]
Спасибо.
С помощью L10N
вы можете определить файл форматов для каждого языка, который определяет такие вещи, как форматы дат.
Документация по этому вопросу находится здесь; https://docs.djangoproject.com/en/3.2/topics/i18n/formatting/
При создании файлов пользовательского формата вы можете добавить настройку в ваш проект;
FORMAT_MODULE_PATH = [
'mysite.formats',
'some_app.formats',
]
И ваша директория форматов будет выглядеть следующим образом;
mysite/
formats/
__init__.py
en/
__init__.py
formats.py
Для примеров того, что вы можете добавить в эти файлы, посмотрите, что делает с ними сам django здесь
Вы просто создадите один такой файл для каждого из ваших языков и убедитесь, что форматы одинаковы в каждом из них.