Как дать имена пакетов представлению django javascript_catalog? - PullRequest
6 голосов
/ 26 декабря 2009

Из документации Django:

js_info_dict = { 'packages': ('your.app.package',),}

urlpatterns = Patterns ('', (r '^ jsi18n / $', 'django.views.i18n.javascript_catalog', js_info_dict),)

Каждая строка в пакетах должна быть в Синтаксис Python с точками форматировать как строки в INSTALLED_APPS) и должен ссылаться на пакет, содержащий локаль каталог.

Там написано "пакет, содержащий каталог локали". , но я создал файлы перевода с помощью djangoadmin.py makemessages -a, и он создает локаль только внутри директории проекта. Ни в одной из моих каталогов приложений. И я пытаюсь установить пакеты как

js_info_dict = { 'packages': ('my_project_dir',),}

Очевидно, это не работает для меня. Каждая строка из домена django переводится, но я получаю пустой каталог перевода в javascript из представления javascript_catalog. Что мне здесь не хватает?

Ответы [ 3 ]

7 голосов
/ 26 августа 2010

Во-первых, вы должны быть уверены, что ваш js_info_dict такой:

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

И, как предложил @daonb, добавьте my_project_name к вашему INSTALLED_APPS в settings.py.

Убедитесь, что вы компилируете свои сообщения следующим образом:

django-admin.py makemessages -a -d djangojs

Вот и все!

Я не знаю, почему у Django нет этой информации в документации. Я мог бы найти решение с помощью этих статей ниже:

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

3 голосов
/ 24 августа 2010

Попробуйте добавить 'my_project_dir' в INSTALLED_APPS в settings.py

0 голосов
/ 26 ноября 2014

Для других в моем конкретном случае сообщения js генерируются и компилируются в порядке, но не отображаются в шаблонах или страницах при использовании URL-адресов языка i18n.

Это связано с тем, что каталог javascript следует добавлять в шаблоны URL-адресов i18n, а не в обычные шаблоны.

urlpatterns += patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), )

=>

urlpatterns += i18n_patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...