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.
Features
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).
Installation
Install collective.ttwpo by adding it to your buildout:
[buildout] ... eggs = collective.ttwpo
and then running bin/buildout.
Example using the Zanata webservice connector:
eggs = collective.ttwpo[zanata]
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:
{ "servicename":"zanata", "url":"https://zanata.mydomain.com/rest/", "user":"johndoe", "token":"abcdef1234567890abcdef1234567890", "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:
File an issue at the TTWPO Issue Tracker.
or just write me an email to jens@bluedynamics.com.
This code was initially written for and paid by Porsche Informatik Gesellschaft m.b.H., Salzburg.
The project is licensed under the GPLv2.
Changelog
2.0b1 (2023-03-22)
Migrate to Python 3 [daggelpop]
1.0b4 (2017-11-15)
Initial release. [jensens]
License
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file collective.ttwpo-2.0b1.tar.gz
.
File metadata
- Download URL: collective.ttwpo-2.0b1.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45f3b2201f42fe6263da1f4f35ede87411310d09f92250eb5e65edc05b64ec41 |
|
MD5 | fec3a6448aa85063cee4bb6739dc721e |
|
BLAKE2b-256 | e319ba6e73399b339ed6c57cf4aca7398ed99a04a4fe42853626d9c8d31c50d1 |