django-ember-gettext
v0.9.11
Published
Ember helpers for using Django JS gettext functions in Handlebars templates.
Maintainers
Readme
django-ember-gettext
Ember helpers for using Django JS translation functions in Handlebars.
Please note that this package only adds template helpers for Ember.js. To make them work with Django's makemessages command please check django-hbs-makemessages library.
Installation
Install latest version of package in in your Ember-CLI project with following command:
ember install:addon django-ember-gettextAdd following global names to your .jshintrc predef setting:
"gettext",
"ngettext",
"gettext_noop",
"pgettext",
"npgettext",
"interpolate"Finally make browser load Django JS catalog by adding it's <script> element above Ember's and your application's .js files in your template. Depending on how your project is setup, it's base.html template may contain part like this:
<script src="/django-i18n.js"></script>
<script src="{% static "vendor.js" %}"></script>
<script src="{% static "app.js" %}"></script>In templates
This addon brings four helpers to your templates. Each helper accepts between one and four required arguments and any number of keyword arguments corresponding to %(formats)s in translated message.
To nest helpers use Ember 1.10 and HTMLBars.
gettext
gettext helper has one required argument, msgid, that is either untranslated string or variable to translate:
{{gettext "We're sorry but this page is not available."}}
{{gettext user.title.name}}ngettext
ngettext helper has three required arguments: singular, plural and count. count argument is also available as %(count)s format:
{{ngettext "You have %(count)s message." "You have %(count)s messages." user.new_messages}}pgettext
pgettext helper has two required arguments, context and msgid:
{{ngettext "month" "May"}}npgettext
ngettext helper has four required arguments: context, singular, plural and count. count argument is automatically available as %(count)s format:
{{ngettext "months" "%(count)s may" "%(count)s mays" mays_left}}In .js files
Django supports translation of messages in JavaScript files out of the box. For its usage see Django documentation:
Using the JavaScript translation catalog
Authors
Rafał Pitoń
- http://rpiton.com
- http://github.com/rafalp
- https://twitter.com/RafalPiton
Copyright and license
Copyright © 2014 Rafał Pitoń This program comes with ABSOLUTELY NO WARRANTY.
This is free software and you are welcome to modify and redistribute it under the conditions described in the license. For the complete license, refer to LICENSE
