Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to give package names to django javascript_catalog view?

Tags:

django

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?

like image 395
hamdiakoguz Avatar asked Dec 26 '09 14:12

hamdiakoguz


2 Answers

First you need to be sure that your js_info_dict is like this:

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('my_project_name',),
}

And as @daonb suggested, add 'my_project_name' to your INSTALLED_APPS in settings.py.

Make sure that you compile your messages like this:

django-admin.py makemessages -a -d djangojs

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

like image 193
pocoa Avatar answered Sep 18 '22 11:09

pocoa


Try adding 'my_project_dir' to INSTALLED_APPS in settings.py

like image 45
daonb Avatar answered Sep 17 '22 11:09

daonb