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 from the file you upload.
To upload translations:
Select from the project navigation the project that you want to upload translations to.
Click on Resources.
In the list of resources, click on the one you'd like to import translations to.
Click on the language you want to update translations for.
In the popup, click either Upload file or Upload XLIFF file.
Upload XLIFF file will work if you previously downloaded the source file as XLIFF and now are uploading it back as XLIFF as well.
If you chose the "Download file to translate" option, then you need to upload back the file in the same format as the source, not XLIFF.
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.
In case of crowdsourced projects, translators can only suggest translations and vote on the ones they think are best. For each phrase, the suggestion with the most votes will automatically be used as the translation. This is the only way a string can be translated in a crowdsourced project. So, for this type of projects, overwriting translations via upload is not an option.
Empty translation files
In case the strings have been translated in Transifex and a translation file with no translation is being 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 are the ones that 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.
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 make sure that the translations uploaded back are correct and correspond to the current source files.