Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Improvement for a javascript gettext support in Django
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
djsgettext
.gitignore
CHANGES.rst
LICENSE
README.rst
setup.py

README.rst

django-jsgettext

It is an improvement to the implementation of django gettext for javascrtipt.

Features:

  • Now parse javascript teplates for translatable strings (tested with underscore.template)
  • New I18n view more extensible (build on top of CBV) that exposes the djangojs gettext domain and djsgettext domain generated for translation scrings from js templates. Aditionaly the performance is improved with caching of this view (does not supports by django view as default behavior).

How it works?

Django makemesages command generates a djangojs domain po file from *.js files, django-jsgettext generates a djgettext domain po file from .html files (javascript templates) and the new view exposes the two gettext domains to the javascript.

Note

The new view is created because the primary view of django is monolitic and not permits expose domains distinct than djangojs and django.

Currently, only is tested with underscore templates. Example:

<div><%= gettext('sample message') %></div>
<div><%= ngettext('1 message', 'some messages', num) %></div>
<div><%= interpolate(gettext('sample %s'), [1]) %></div>

How use it?

Urls files:

from djsgettext.views import I18n

urlpatterns = patterns('',
    url(r'^js-gettext/$', I18n.as_view()),
)

Collect messages from templates:

python manage.py jsgettext_makemessages
Something went wrong with that request. Please try again.