Zing Synchronization Plugin
Plugin source location: <serge_root>/lib/Serge/Sync/Plugin/TranslationService/zing.pm
This plugin provides integration with Zing, Evernote's own open-source translation platform.
On push-ts
sync step, Serge will tell Zing 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 Zing to synchronize all the translations back into translation files.
When working with Zing, use the serialize_po serializer for translation interchange files.
Communication between Serge and Zing is performed by the means of running Zing's command-line API tool, zing
. Note that this means that Zing must be installed on the same machine as Serge. Please refer to Serge + Zing configuration guide for more information.
Each configuration file in Serge represents a single translation project, and maps to a single specific project in Zing. The typical workflow is this:
- Install Zing and set it up that it's root directory with .po files is e.g.
/var/serge/po/
- Create a new Serge configuration file (let's call it
my_project.serge
) for your translation project so that it generates .po files under/var/serge/data/ts/my_project/
(see Configuration File Reference,jobs → ... → ts_file_path
parameter) - Run
serge localize my_project.serge
to make sure everything works; after this step, you get .po files in your output directory - Go to Zing and add a new project with
my_project
code; Zing will automatically know that its files are located under/var/serge/data/ts/my_project/
folder - Edit your Serge configuration file to add a
sync/ts
section (see the example below), and specifymy_project
as a value forproject_id
parameter - Run
serge push-ts my_project.serge
to push your translations into Zing for the first time, then go to Zing's translation UI and see if everything works as expected
Later you will run serge sync
continuously against this configuration file, which will perform the two-way sync between Serge and Zing among other synchronization/localization steps. See Localization Cycle for more information.