Plugin source location: <serge_root>/lib/Serge/Sync/Plugin/TranslationService/pootle.pm
This plugin provides integration with Pootle — a free open-source online translation server software.
IMPORTANT: This pluginis kept for historical reasons; Pootle open-source project is no longer maintained by the open-source community, so for new installations we recommend using Zing.
On push-ts
sync step, Serge will tell Pootle to scan generated translation files and update its internal translation database so that the new content becomes available for translation online. Respectively, on pull-ts
sync step, Serge will tell Pootle to synchronize all the translations back into translation files.
When working with Pootle, use the serialize_po serializer for translation interchange files.
Communication between Serge and Pootle is performed by the means of running Pootle's command-line API tool (the script is called manage.py
). Note that this means that Pootle must be installed on the same machine as Serge. Please refer to Serge + Pootle configuration guide for more information.
Each configuration file in Serge represents a single translation project, and maps to a single specific project in Pootle. The typical workflow is this:
/var/serge/po/
my_project.serge
) for your translation project so that it generates .po files under /var/serge/po/my_project/
(see Configuration File Reference, jobs → ... → ts_file_path
parameter)serge localize my_project.serge
to make sure everything works; after this step, you get .po files in your output directorymy_project
code; Pootle will automatically know that its files are located under /var/serge/po/my_project/
foldersync/ts
section (see the example below), and specify my_project
as a value for project_id
parameterserge push-ts my_project.serge
to push your translations into Pootle for the first time, then go to Pootle's translation UI and see if everything works as expectedLater you will run serge sync
continuously against this configuration file, which will perform the two-way sync between Serge and Pootle among other synchronization/localization steps. See Localization Cycle for more information.