Login

Ensure ugettext is available absolutely everywhere

Author:
ElfSternberg
Posted:
June 29, 2009
Language:
Python
Version:
1.0
Tags:
internationalization gettext
Score:
1 (after 1 ratings)

Put this into the init.py file in the root of your project (the same directory level as urls.py and settings.py) and this installs _() as a global reference into the current running python VM, and now it’s as universally available as int(), map(), or str().

This is, of course, controversial. Modifying the python global namespace to add a function can be considered maintenance-hostile. But the gettext feature is so universal– at least to me– that init.py is where it belongs.

1
2
3
4
5
6
# Add to __init.py__ in root of your project (same directory 
# as urls.py and settings.py):

from django.utils.translation import ugettext
import __builtin__
__builtin__.__dict__['_'] = ugettext

More like this

  1. uuid model field by newspire 6 years, 8 months ago
  2. GlobalRequest middleware by myq 2 years, 9 months ago
  3. Universal JsonResponse by pietras 6 years, 1 month ago
  4. universal JSONResponse by guetux 4 years, 4 months ago
  5. Getting the global error of a form by baptiste 8 years, 3 months ago

Comments

Please login first before commenting.