Note (2022-05-11): This project is no longer maintained.


Puente is a Python library that handles l10n things for Django projects using Jinja2 templates.

  • extract command to extract strings from your project and shove them into a .pot file
  • merge command that merges new strings from a .pot file into locale .po files
  • code to collapse whitespace for Jinja2’s trans block
  • add pgettext and npgettext to template environment and they correctly escape things and work the same way as Jinja2’s newstyle gettext
  • configured using Django settings
  • solid documentation
  • solid tests

This is derived from Tower, but heavily changed.

This project is lightly maintained, and the goal is to phase it out, replacing it with standard Django for most cases, and Babel for more complex cases. For more information, see the issues and the current status of phasing Puente out.

Issues:No longer maintained.
License:BSD 3-clause; See LICENSE
Contributors:See AUTHORS.rst


From PyPI


$ pip install puente

For hacking


# Clone the repository
$ git clone https://github.com/mozilla/puente

# Create a virtualenvironment

# Install Puente and dev requirements
$ pip install -r requirements-dev.txt


See documentation <https://puente.readthedocs.io/> for configuration and usage.

Indices and tables