Skip to main content

Manage your PO Translation Files TTW and Sync with Translationservices

Project description

Translations for Plone UI through-the-web (TTW) with option to connect to translation web-services.


  • Create an i18n-domain and languages variants TTW (also delete them).
  • Add GNU Gettext (*.po) files TTW to a language.
  • Manage different versions of a GNU Gettext file and set one as current.
  • Fetch GNU Gettext files from configured translations services. So far only Zanata is supported.

Current Limitations

  • it is not yet possible to override global, file-system configured (zcml) i18n-domains (see todo).


Install collective.ttwpo by adding it to your buildout:



eggs =

and then running bin/buildout.

Example using the Zanata webservice connector:

eggs =

After installation activate it in the addons control-panel. Visit the new TTW PO Support control-panel.

Configuring a webservice

For each i18n-domain provide a JSON configuration like so:

    "project": "mydemo.project",
    "version": "1.x",
    "document": "zanata-document-name"

The key servicename is mandatory and used to look a up a named adapter. All other settings are adapter specific and are passed as-is to the adapter.

Todo/ Nice-to-Have

  • Allow single users or groups to manage a language: create/delete/make current/sync.
  • Download uploaded PO files.
  • If an i18n-domain was already registered global, use their catalogs. Order: First local catalog, then global catalogs.
  • Make upload capability configurable.
  • Add Transifex connector.
  • Allow environment variables in webservice configuration, which then are replaced.
  • If a webservice was configured, sync all languages at once. Create missing languages.
  • GenericSetup import/ export of the whole configuration.

Contributions and Source Code

If you want to help with the development (improvement, update, bug-fixing, …) of collective.ttwpo this is a great idea!

The code is located in the GitHub Collective.

You can clone it or get access to the GitHub Collective and work directly on the project. Please always use pull-requests.

Maintainers are Jens Klein and the BlueDynamics Alliance developer team.

We appreciate any contribution and if a release is needed to be done on pypi, please just contact one of us: dev@bluedynamics dot com

If you are having issues, please let me know:

This code was initially written for and paid by Porsche Informatik Gesellschaft m.b.H., Salzburg.

The project is licensed under the GPLv2.


1.0b5 (2017-11-15)

  • Initial release. [jensens]


collective.ttwpo Copyright 2017, BlueDynamics Alliance, Austria, Germany, Switzerland

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

Project details

Download files

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

Files for collective.ttwpo, version 1.0b5
Filename, size File type Python version Upload date Hashes
Filename, size collective.ttwpo-1.0b5-py2-none-any.whl (33.6 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size (38.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page