Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#7706 closed (duplicate)

locale dir allowed in project dir, but views.i18n.javascript_catalog filters it out

Reported by: Robby Dermody Owned by: nobody
Component: Internationalization Version: master
Severity: Keywords: javascript_catalog, i18n, jsi18n
Cc: Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

Back again. I found what seems to be a bit of a design inconsistency.

According to this link, the locale dir can be in the Django project directory (instead of being in a specific django app directory). That's all fine and good, and that's how we do it now.

Moreover, the docs state:

The main solution to these problems is the javascript_catalog view, which sends out a JavaScript code library with functions
that mimic the gettext interface, plus an array of translation strings. Those translation strings are taken from the application,
project or Django core, according to what you specify in either the info_dict or the URL.

This lead me to believe that translations under the project dir would work fine. So I began using the jsi18n view in our project, as:

jsInfoDict = {
    'packages': ('django.conf', 'bla.mydjangoproject'),
}
urlpatterns += patterns('',
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', jsInfoDict),
)

We can get to the view fine, but our project's translations are not showing up. Going into the javascript_catalog code, I see that the problem seems to be with the line 124:

packages = [p for p in packages if p == 'django.conf' or p in settings.INSTALLED_APPS]

As I want to use locales under the project dir, that is not put into INSTALLED_APPS, as it's not a django app (obviously). So unless I am totally missing something here, this view needs to be enhanced to not filter out (in addition to INSTALLED_APPS):

  • The root project directory
  • Possibly any path specified in settings.LOCALE_PATHS

If this is acceptable, I can provide a patch if need be. That javascript_catalog section's docs will need to be updated as well.

Change History (5)

comment:1 Changed 8 years ago by Jannis Leidel

I can at least confirm that the code definitely doesn't appear to comply with the documentation, or the other way around.

The change is pretty old: http://code.djangoproject.com/changeset/1531/django/trunk/django/views/i18n.py

comment:2 Changed 8 years ago by Marc Fargas

Component: TranslationsInternationalization

The translations component is for Translations, that's for Internationalitzation ;)

comment:3 Changed 8 years ago by Eric Holscher

milestone: 1.0 maybe
Triage Stage: UnreviewedDesign decision needed

comment:4 Changed 8 years ago by Trevor Caira

Resolution: duplicate
Status: newclosed

This is the same issue as #5494.

comment:5 Changed 8 years ago by (none)

milestone: 1.0 maybe

Milestone 1.0 maybe deleted

Note: See TracTickets for help on using tickets.
Back to Top