Skip to content

Workflow between GitHub and Transifex

Leonardo J. Caballero G edited this page Nov 9, 2016 · 22 revisions

WARNING: WORK IN PROCESS!!!

Workflow between GitHub/Transifex

Find out how to create a perfect workflow for the plone.app.locales package between GitHub & Transifex with the .TX Client command tool.

Motivation

This a proposal to improvement the concurrent Plone i18n workflow, using the Transifex platform and GitHub repository.

Inspirations

There a several open-source projects that using different workflow for translations, using some features like:

All these feature are including into the Transifex platform, these very useful to more people working on Plone translations process.

Thera a good examples of open-source projects that using the Transifex platform, as the following:

  • WP-Translations, is a community that aims to be a bridge between developers and translators. We are dedicated entirely to translate WordPress, it’s themes, plugins and documentations.

  • Plone Intranet, is the code name for Quaive, a Social Intranet Collaboration Solution based on Plone.

  • Plone 5 Training, A collection of Plone 5 trainings developed and created by the Plone Community.

  • Plone 4 Training, A collection of Plone 4 trainings developed and created by the Plone Community.

  • Plone 5 Documentation, The translation of Plone 5 Documentation.

Why Transifex?

Thousands of Reasons

Transifex is a dedicated platform for translation, trusted by the Open Source Community, so perfect for Plone projects.

A Platform for Translator

Based on a cloud platform, no need to install anything on your computer. If you’re used to translate on your own locally, with Poedit, no problem, you can import your translated files.

With a clear dashboard and the notifications system stay up to date is everything that happens to our projects.

Transifex integrates lots of tools to create way to communicate between users, at every level of a project, from the management to the translation with tools like global announcements, discussions places (forums) for every languages. At the string level you have a detailed area (extracted from the source language file and the comments of the authors), a tag system, an history system, a glossary and the suggestions.

The suggestions system use a globalized TM (Translation Memory) shared between all the projects of our community. It means a better uniformation of regular stings used in different projects but also a gain of time for every translators with the autocomplete of similar strings.

Every project as in Plone got is own use role system to easily manage them : coordinators, reviewers and translators and to create quality translations files.

But also a platform for Developers

Project can be linked to your .pot source file and every changes you do to it will automatically be reflected on Transifex side. No more hassle managing i18n files and getting in touch with translators, you’re free to spend your time coding.

The Transifex dedicated command line client tool, integrates perfectly in your workflow. Like a Git or svn client simply push and pull to your local folder the translations and get everything ready for your next update.

But enough talking, the best thing to do is using it isn’t it?

Proposal details

The proposal details about this workflow improvement are:

  1. The Plone backend guys add i18n, generate / update the Gettext files (pot and po files).

  2. Using the transifex client (like a git command) to push the pot files (source translation) or translations (po files) to the transifex project.

  3. The Plone translators write his translations and later when the every Team language leader, example Spanish translation team leader, believes the translation is ready to use, then make a pull for translations made (po files) from transifex organizatation using transifex client into plone.app.locales package.

  4. Add a new commit and pull request, for wait to the maintainer guys or owner plone.app.locales package, that for check out and merge the pull request.

Plone organization at Transifex

Our Plone organization into Transifex.

At the moment for Open source projects Transifex only support a specific version for every project, for example:

  • Plone 5 CMS.

  • Plone 5 Documentation.

  • Plone 5 someting.

  • Plone 4 CMS.

  • Plone 4 Documentation.

  • Plone 4 someting.

Every Transifex project target to a specific github repository branch

Requirements

The following requirements are needed for works with this workflow proposal:

  • A GitHub account.

  • The TX client installed.

  • A Git tool.

  • A update working copy of the plone.app.locales package from GitHub repository.

  • Update the pot and po files.

Getting started

Install the .TX client

TODO.

Configuration

Configure the TX client

TODO.

Initialize your project

TODO.

Creates / updates the Gettext files

Creates or updates the Gettext files (pot and po files) from the plone.app.locales package.

TODO.

Push translations

Then push the Gettext files (pot and po files) to Transifex.

TODO.

Pull translations

Pulls translations (po files) from Transifex and creates the .mo files

TODO.

Display or erase

Display or erase Transifex resources / languages (translations) from Transifex.

TODO.

Clone this wiki locally