Package: collective.ttwpo
Translations for Plone UI through-the-web (TTW) with option to connect to translation web-services.FeaturesCreate 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 onlyZanatais supported.Current Limitationsit is not yet possible to override global, file-system configured (zcml) i18n-domains (see todo).InstallationInstall collective.ttwpo by adding it to your buildout:[buildout]

...

eggs =
    collective.ttwpoand then runningbin/buildout.Example using theZanatawebservice connector:eggs =
    collective.ttwpo[zanata]After installation activate it in the addons control-panel.
Visit the newTTW PO Supportcontrol-panel.Configuring a webserviceFor each i18n-domain provide a JSON configuration like so:{
    "servicename":"zanata",
    "url":"https://zanata.mydomain.com/rest/",
    "user":"johndoe",
    "token":"abcdef1234567890abcdef1234567890",
    "project": "mydemo.project",
    "version": "1.x",
    "document": "zanata-document-name"
}The keyservicenameis 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-HaveAllow 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 CodeIf you want to help with the development (improvement, update, bug-fixing, …) ofcollective.ttwpothis is a great idea!The code is located in theGitHub Collective.You can clone it orget access to the GitHub Collectiveand work directly on the project.
Please always use pull-requests.Maintainers are Jens Klein and theBlueDynamics Alliancedeveloper 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 comIf you are having issues, please let me know:File an issue at theTTWPO Issue Tracker.or just write me an email tojens@bluedynamics.com.This code was initially written for and paid byPorsche Informatik Gesellschaft m.b.H., Salzburg.The project is licensed under the GPLv2.Changelog2.0b1 (2023-03-22)Migrate to Python 3
[daggelpop]1.0b4 (2017-11-15)Initial release.
[jensens]Licensecollective.ttwpo Copyright 2017, BlueDynamics Alliance, Austria, Germany, SwitzerlandThis 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.