Downloading and uploading translations#

You can export files from a translation, make changes, and import them again. This allows working offline, and then merging changes back into the existing translation. This works even if it has been changed in the meantime.


Available options might be limited by access control settings.

Downloading translations#

From the project or component dashboard, translatable files can be downloaded in the Files menu.

The first option is to download the file in the original format as it is stored in the repository. In this case, any pending changes in the translation are getting committed and the up-to-date file is yield without any conversions.

You can also download the translation converted into one of the widely used localization formats. The converted files will be enriched with data provided in Weblate; such as additional context, comments or flags. Several file formats are available via the FilesCustomize download menu:

  • gettext PO (po)

  • XLIFF 1.1 with gettext extensions (xliff)

  • XLIFF 1.1 (xliff11)

  • TermBase eXchange (tbx)

  • Translation Memory eXchange (tmx)

  • gettext MO (only available when translation is using gettext PO) (mo)

  • CSV (csv)

  • Excel Open XML (xlsx)

  • JSON (only available for monolingual translations) (json)

  • JSON nested structure file (only available for monolingual translations) (json-nested)

  • Android String Resource (only available for monolingual translations) (aresource)

  • iOS strings (only available for monolingual translations) (strings)


The content available in the converted files differs based on file format features, you can find overview in Translation types capabilities.


Downloading components, categories or projects#

Translation files for a component, category or project can be downloaded at once via the Files menu. The download is always served as a ZIP file, and you can choose original or converted formats similarly as in Downloading translations.

Uploading translations#

When you have made your changes, use Upload translation in the Files menu.


Supported file formats#

Any file in a supported file format can be uploaded, but it is still recommended to use the same file format as the one used for translation, otherwise some features might not be translated properly.

Import methods#

These are the choices presented when uploading translation files:

Add as translation (translate)

Imported strings are added as translations to existing strings. This is the most common usecase, and the default behavior.

Only translations are used from the uploaded file and no additional content.

Add as suggestion (suggest)

Imported strings are added as suggestions, do this when you want to have your uploaded strings reviewed.

Only translations are used from the uploaded file and no additional content.

Add as translation needing edit (fuzzy)

Imported strings are added as translations needing edit. This can be useful when you want translations to be used, but also reviewed.

Only translations are used from the uploaded file and no additional content.

Replace existing translation file (replace)

Existing file is replaced with new content. This can lead to loss of existing translations, use with caution.

Update source strings (source)

Updates source strings in bilingual translation file. This is similar to what Update PO files to match POT (msgmerge) does.

This option is supported only for some file formats.

Add new strings (add)

Adds new strings to the translation. It skips the one which already exist.

In case you want to both add new strings and update existing translations, upload the file second time with Add as translation.

This option is available only with Manage strings turned on.

Only source, translation and key (context) are used from the uploaded file.

Conflicts handling#

Defines how to deal with uploaded strings which are already translated:

Change only untranslated strings (ignore)

Ignore uploaded translations which are already translated.

Change translated strings (replace-translated)

Replace existing translations with uploaded ones, but keep approved ones.

Change translated and approved strings (replace-approved)

Replace existing translations with uploaded ones, including approved ones.

Strings needing edit#

There is also an option for how to handle strings needing edit in the imported file. Such strings can be handle in one of the three following ways: «Do not import», «Import as string needing edit», or «Import as translated».

Overriding authorship#

With admin permissions, you can also specify authorship of uploaded file. This can be useful in case you’ve received the file in another way and want to merge it into existing translations while properly crediting the actual author.