Opened 16 years ago

Closed 16 years ago

Last modified 16 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: dev
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: no UI/UX: no

Description

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

According to `this link <http://www.djangoproject.com/documentation/i18n/#using-translations-in-your-own-projects>`_, 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 <http://www.djangoproject.com/documentation/i18n/#the-javascript-catalog-view>`_::

    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:

.. code-block:: python

    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``:

.. code-block:: python

    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 by Jannis Leidel, 16 years ago

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 by Marc Fargas, 16 years ago

Component: TranslationsInternationalization

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

comment:3 by Eric Holscher, 16 years ago

milestone: 1.0 maybe
Triage Stage: UnreviewedDesign decision needed

comment:4 by Trevor Caira, 16 years ago

Resolution: duplicate
Status: newclosed

This is the same issue as #5494.

comment:5 by (none), 16 years ago

milestone: 1.0 maybe

Milestone 1.0 maybe deleted

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