2016-06-29 3 views
0

Интересно, есть ли способ в системе шаблонов django форматировать дату в зависимости от языка.Изменение формата даты в зависимости от языка

Как если мой сайт на английском языке, этот код {{ submitted_date | date }} будет отображаться следующим образом: 29 июня 2016

Но если сайт отображается на французском и тот же код должен отображать этот формат: 27 JUIN 2016.

Есть ли способ сказать Django сделать это, или мне просто нужно жестко кодировать его с помощью операторов if? (Но если у меня много языков ?!)

ответ

2

Самого первое предложение в локализациях документов для date formatting говорит

система форматирование Джанго способна отображать дату, время и номер в шаблонах, используя формат для текущей локали. Он также обрабатывает локализованный ввод в формах.

Так что вам не нужно ничего делать, даты локализованы по текущему языку по умолчанию.

+0

Действительно, он меняет язык даты (например, месяц), но не меняет формат. На французском языке месяц должен быть после даты и без запятой до года. Есть ли способ заставить это? – Emmurd

+1

Я думаю, что это вариант для меня. https://docs.djangoproject.com/en/1.9/topics/i18n/formatting/#creating-custom-format-files – Emmurd

+0

Если я посмотрю на этот файл https://github.com/django/django/blob/master /django/conf/locale/fr/formats.py формат хорош. Может быть, что-то странное с языковым переключателем? – Emmurd

0

По какой-то причине я не знаю, по умолчанию django не использует настройки формата, установленные файлами по умолчанию.

Per Например: https://github.com/django/django/blob/master/django/conf/locale/fr/formats.py

Добавляя имя нужного формата, шаблон отображения хороший формат для локали. {{ submitted_date | date:"DATE_FORMAT" }}

Спасибо за то, что встретили меня на трассе!