puente 1.0.0
Strings extraction and other tools -- UNMAINTAINED
License: BSD

======
puente
======

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

.. image:: puente_logo.jpg

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 <https://github.com/clouserw/tower>`_, but heavily
changed.

This project is lightly maintained, and the goal is to phase it out, replacing
it with
`standard Django <https://docs.djangoproject.com/en/2.2/topics/i18n/translation/>`_
for most cases, and 
`Babel <http://babel.pocoo.org/en/latest/>`_ for more complex cases. For more
information, see the issues and the
`current status of phasing Puente out <https://puente.readthedocs.io/en/latest/goals.html#current-status-of-phasing-puente-out>`_.


:Code:          https://github.com/mozilla/puente/
:Issues:        No longer maintained.
:License:       BSD 3-clause; See LICENSE
:Contributors:  See AUTHORS.rst
:Documentation: https://puente.readthedocs.io/


Install
=======

From PyPI
---------

Run::

    $ pip install puente


For hacking
-----------

Run::

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

    # Create a virtualenvironment
    ...

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


Usage
=====

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




=======
History
=======

1.0.0 (May 11th, 2022)
======================

Backwards incompatible changes:

* Dropped support for Python < 3.7.
* Dropped support for Django < 3.2.
* Ended the project. Please switch to something else.

Changes:

* Added support for Django 3.2.
* Added support for Python 3.7, 3.8, 3.9, and 3.10.
* Fixed issues with recent Jinja2 releases.
* Switched to semver!


0.5 (March 3rd, 2017)
=====================

* Drop support for Django 1.7 and Jingo
* Add support for Python 3.5 and 3.6
* Add support for Django 1.9, 1.10 and 1.11b1 (#59) (Thank you, Thor K. H!)


0.4.1 (December 10th, 2015)
===========================

* Add all the Django keywords for extraction (#53)


0.4 (November 20th, 2015)
=========================

* Implement pgettext and npgettext (#45)
* Remove undocumented STANDALONE_DOMAINS setting and fix extract/merge code (#44)
* Add ngettext tests
* Rework gettext code, clarify documentation and add tests (#42)
* Project infrastructure fixes


0.3 (November 5th, 2015)
========================

* add "Translators:" to the translator prefix list (#34)
* make ``puente.ext.i18n`` be an alias for ``puente.ext.PuenteI18nExtension``
* fix the gettext alias to be moar korrect (#35)
* fix the jingo-related docs in regards to extensions (#35)
* lots of changes to the Migrating from Tower document
* fleshed out ``test_project_jingo`` so we can use it for development
* fixed merge to handle ``LANGUAGES`` setting correctly
* first pass on Python 3.4 support (pretty sure it works) (#15)
* logo (#37)


0.2 (October 30th, 2015)
========================

* fix requirements
* remove mention of elasticutils in release process
* fix meta information regarding python 3--we don't support that, yet


0.1 (October 30th, 2015)
========================

Initial writing. Everything has changed!