Table of Contents


If you have translations that were done outside of Transifex, you can import them into Transifex. When you do this, any existing translations will be overwritten, and new translations will be added to the file you upload.

Uploading a Translation File

To upload translations:

  1. Select from the project navigation the project that you want to upload translations to.

  2. Click on Resources.

  3. In the list of resources, click on the one you'd like to import translations to.

  4. Click on the language you want to update translations for.

  5. In the popup, click either Upload file or Upload XLIFF file.

    resource-details-popup.png#asset:167

Warning!

Uploading an XLIFF file will work if you previously downloaded the source file as XLIFF and are now uploading it back as XLIFF.

If you chose the "Download file to translate" option, you need to upload the file back in the same format as the source, not XLIFF.


When uploading a translation file

Let's take a look at a few scenarios.

Translations reviewed in Transifex

Please keep in mind that the translations that have already been reviewed in Transifex cannot be modified by translators. So, if a translator tries to upload a translation file with strings different from those that have already been reviewed in Transifex, then Transifex will ignore those strings and keep the ones that have been reviewed in Transifex. Any unreviewed strings will be properly updated based on the translations that are being uploaded.

Crowdsourced projects

In the case of crowdsourced projects, translators can only suggest translations and vote on the ones they think are best. The suggestion with the most votes will automatically be used for each phrase as the translation. This is the only way a string can be translated in a crowdsourced project. So, overwriting translations via upload is not an option for this type of project.

Empty translation files

If the strings have been translated in Transifex, and a translation file with no translation is uploaded, the translated strings in Transifex will remain translated.

Partially translated files

Depending on the file format, the untranslated strings will return either empty or as comments so that the translator can easily understand which ones he/she needs to work on.

So, if a translator translates the file partially, then the rest of the entries will be either empty or commented out. As a result, during the upload, the Transifex parser will ignore such entries, and only the translated strings will be updated.


Successful Upload

For the translation file to be uploaded successfully, the source and translation files should be of the same file format and with the same mapping, i.e.:

  • If your translation file is in the same file format as the original source file you uploaded to Transifex, then the option "Upload file" should be used;

  • If your translation file is in the XLIFF format (the file generated by Transifex during the "Download for translation as XLIFF" option), then the option "Upload XLIFF" should be used;

  • The translation file encoding should be UTF-8. Transifex uses the UTF-8 encoding for most of the formats it supports. That is, all files that are uploaded to Transifex or downloaded from it have to be encoded in UTF-8.

Please note that the translation version you want to upload to Transifex might be outdated. While a translator was translating outside of Transifex, the source file in Transifex might have been updated, so the current translation version might not correspond to the source file anymore. (Read more about what happens when a source file gets updated while translators work offline here.)

To avoid this, we recommend either translating within Transifex or coordinating with the translation and dev teams to ensure that the translations uploaded back are correct and correspond to the current source files.

back to top


Continue Reading

Introduction

Working with Projects

Resources and Content

TX Editors and Translations

Transifex Native

Transifex Live

Languages and Locals

Did this answer your question?