Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Connect your Django apps to PhraseApp, the powerful in-context-translation solution.

Project Description


PhraseApp_ is the translation management solution for web and mobile applications. Collaborate with your team, find professional translators and stay on top of the process.

This adapter lets you connect your Django_ application to PhraseApp and integrate the powerful In-Context-Editor_ into your apps.

.. _PhraseApp:
.. _Django:
.. _In-Context-Editor:

How does it work?

django-phrase provides In-Context translating facilities to your Django app by hooking into i18n template tags.

It exposes the underlying key names to the In-Context Editor that is provided by PhraseApp.

To get started with PhraseApp you need to `sign up for a free account <>`_.


Install the package with pip::

pip install django-phrase

And add phrase to the list of installed apps::


You can now use the ``phrase_i18n`` template tag in your templates::

{% load phrase_i18n %}

Note: You have to load ``phrase_i18n`` *after* you load ``ì18n`` in order to let ``phrase`` override the translation methods.

Last step: add the JavaScript snippet to your base layout file with the following tag. This should go inside the ``<head>`` section of your template file::

{% phrase_javascript %}


You can configure the In-Context Editor in your settings with these options::



Enable/Disable In-Context Editor completely and fall back to standard Django i18n handling. Always disable the In-Context Editor for production environments!


Add your ProjectID. You find the Project ID on the `projects overview page <>`_.


Change the prefix and suffix of the keys that are rendered by the In-Context Editor. Default typically works great but this can conflict with some JavaScript liberaries. Use this setting to change prefix and suffix to custom ones if necessary.

Heroku and .mo Files

If you are using the current global gitignore file for python be warned that your compiled .mo files are ignored as well. That means that your translations will not appear on Heroku. If you want this not to happen or having issues with this simply comment out your *.mo ignore rule. Then run your compilemessages locally and include them into your sourcetree before pushing to Heroku.

More Information

* Signup_
* Documentation_
* Support_

.. _Signup:
.. _Documentation:
.. _Support:

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(6.6 kB) Copy SHA256 Hash SHA256
Source None Jul 27, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate