From django documentation:
js_info_dict = {
‘packages’: (‘your.app.package’,), }urlpatterns = patterns(”,
(r’^jsi18n/$’, ‘django.views.i18n.javascript_catalog’,
js_info_dict), )Each string in packages should be in
Python dotted-package syntax (the same
format as the strings in
INSTALLED_APPS) and should refer to a
package that contains a locale
directory.
It says “a package that contains a locale directory.” , but i created translation files with djangoadmin.py makemessages -a and it creates locale just inside project directory. Not under any of my application directories. And i try to set packages as
js_info_dict = {
‘packages’: (‘my_project_dir’,), }
Apparently that’s not working for me. Every string from django domain gets translated but i get an empty translation catalog in javascript from javascript_catalog view. What am i missing here?
First you need to be sure that your js_info_dict is like this:
And as @daonb suggested, add ‘my_project_name’ to your INSTALLED_APPS in settings.py.
Make sure that you compile your messages like this:
That’s all!
I don’t know why Django doesn’t have that information into its documentation. I could find the solution with using these articles below:
http://www.aminche.com/blog/2010/07/06/playground-editor
http://code.djangoproject.com/ticket/5494
http://osdir.com/ml/django-users/2010-04/msg00231.html