Wednesday, June 30, 2010

Ignored LANGUAGE_CODE !!

I found that Django completely ignore the defined language code in all
cases except "runserver" and "runfcgi".

I was very surprised when discovered that cool i18n doesn't work
neither in my daemon tasks (publish information at given time) using
Celery nor in console!

Every time this lead "en-us" to be used instead of ru/fr/he as
language code so all translations, images, formatting were broken.

After few hours of investigating and trying (that's hard to debug
daemons) I found that Django is INTENDED to ignore the language code:

from django.utils import translation
translation.activate('en-us')

For all cases except "runserver" and "runfcgi" that revert language
code to settings.LANGUAGE_CODE.

A have also found an OBSOLETE comment about that:

Switch to English, because django-admin.py creates database
content
like permissions, and those shouldn't contain any translations.

I tried to disable that block and create tables - everything worked
including permissions.

Guys, we need to fix that ASAP. That disabled i18n for many usecases.

I have created a ticket for that - http://code.djangoproject.com/ticket/13859

I would fix it if I had rights to write to SVN.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment