Product SiteDocumentation Site

6.2. Push source strings and existing translations

You can use Zanata to obtain translations for any software project that provides its source strings in GNU Gettext .pot file format and can consume translated .po files.
Procedure 6.2. Push software project .pot file(s) to Zanata for translation
Follow this procedure to push a project's source strings to Zanata for translation. If you have existing translations you wish to push to the server along with source strings, refer to Procedure 6.3, “Push software project .pot file(s) and existing translations”.

Source string merging

If you push a newer version of source strings to an ongoing Zanata translation project with translation already underway, the server will merge any existing translations for that project to preserve translation work so far. Any source language strings that had translations on the server before the push will have them after the push.
Procedure 6.3. Push software project .pot file(s) and existing translations
Use this procedure to push a project's strings to Zanata along with existing translations.

Target string merging

If you push .po translations to an ongoing translation project that has translations on the server, you have two different merging schemas.
Merge Auto schema
The Merge Auto is the default schema, and is used when no schema is specified, or when the --merge auto command switch is specified. The Merge Auto schema will add all new translations from the .po file (translations added to the .po file since the last import). So, if translations have been done offline in .po files, you can contribute these translations to your Zanata translation project. Where a string has been updated on the server, but remains unchanged in the .po file since the last import, the server-side translation is preserved. When a translation has been updated in both the .po file and the server since the last import, the .po file translation will overwrite the server-side translation.
Merge Import schema
The merge import schema is used when the --merge import command switch is supplied. The Merge Import schema will overwrite all server-side translations with the .po files contents. Where a server-side translation exists and no translation exists in the .po file, the server-side translation is lost.