Проблема с локализацией даты

244 views
Skip to first unread message

leotr

unread,
Apr 14, 2008, 5:07:37 AM4/14/08
to Django russian
Здравствуйте!
При переключении языка дата у меня продолжает отображаться на
английском, а не на русском. Можно ли это как-нибудь исправить без
сложностей (чтобы все было прозрачно)? Или я что-то упустил?

Alexander Pugachev

unread,
Apr 14, 2008, 8:42:28 AM4/14/08
to django-...@googlegroups.com
А какая строка формата даты используется?

14.04.08, leotr<leotr...@gmail.com> написал(а):

leotr

unread,
Apr 14, 2008, 11:23:38 PM4/14/08
to Django russian
Я использую '%d %b %Y'

1 jan 2008 для английского
1 oca 2008 для турецкого
1 янв 2008 для русского
1 кан 2008 для казахского
и т. д...

Ниже приведен код, который это дело выполняет:

[leo@ /usr/home/leo]$ python
Python 2.5.2 (r252:60911, Mar 26 2008, 19:47:03)
[GCC 4.2.1 20070719 [FreeBSD]] on freebsd7
Type "help", "copyright", "credits" or "license" for more
information.
>>> import locale
>>> import datetime
>>> d = datetime.datetime(2008, 1, 1)
>>> d
datetime.datetime(2008, 1, 1, 0, 0)
>>> d.strftime('%d %b %Y')
'01 Jan 2008'
>>> locale.setlocale(locale.LC_ALL, 'tr_TR.UTF-8')
'tr_TR.UTF-8'
>>> d.strftime('%d %b %Y')
'01 Oca 2008'

Работает, вот только куда воткнуть это дело в джанге?

On Apr 14, 12:42 pm, "Alexander Pugachev"
<alexander.pugac...@gmail.com> wrote:
> А какая строка формата даты используется?
>
> 14.04.08, leotr<leotrub...@gmail.com> написал(а):

Alexander Pugachev

unread,
Apr 15, 2008, 12:07:08 AM4/15/08
to django-...@googlegroups.com
В django/core/global_settings.py определено несколько переменных для
строк формата даты. Рядом комментарии о назначении переменных. Если
определить переменные с такими именами в settings.py, то их значения
перекроют умолчальные.

15.04.08, leotr<leotr...@gmail.com> написал(а):

leotr

unread,
Apr 15, 2008, 2:07:04 AM4/15/08
to Django russian
Нет, не в формате же дело. Я хочу чтобы у меня для каждого языка
название месяца выводилось в соответствии с языком.
Дата выводится при помощи определенного мною тэга. Дело в том, что при
переключении языка не переключается локаль - т. е. остается
английской. Хотелось бы поэтому узнать - это только у меня не
переключается или у всех, и изменения необходимо вносить в
django.utils.i18n?

On Apr 15, 4:07 am, "Alexander Pugachev"
<alexander.pugac...@gmail.com> wrote:
> В django/core/global_settings.py определено несколько переменных для
> строк формата даты. Рядом комментарии о назначении переменных. Если
> определить переменные с такими именами в settings.py, то их значения
> перекроют умолчальные.
>
> 15.04.08, leotr<leotrub...@gmail.com> написал(а):

Yuri Baburov

unread,
Apr 15, 2008, 2:57:01 AM4/15/08
to django-...@googlegroups.com
Изменения в django планируется сделать в ближайшие несколько месяцев,
до выхода версии 1.0
Как жить до этого момента... придумайте сами.
Например, можно фильтр date заменить на свой, который умеет определять
локаль. Или что-нибудь ещё подобное.
Возможно (и наверняка даже), такие патчи уже есть.

2008/4/15 leotr <leotr...@gmail.com>:

--
Best regards, Yuri V. Baburov, ICQ# 99934676, Skype: yuri.baburov,
MSN: bu...@live.com

Alexander Pugachev

unread,
Apr 15, 2008, 6:22:22 AM4/15/08
to django-...@googlegroups.com
А как вообще язык переключается? django/views/i18n.py?

15.04.08, leotr<leotr...@gmail.com> написал(а):

Reply all
Reply to author
Forward
0 new messages