Uploading localization files

Uploading localization files to PhraseApp is the easiest way to import your existing resources into your localization project. For a complete list of supported file formats see our format guide.

Uploading files

You can upload files in the Translation Center, via the API or via our command-line client.

By default PhraseApp will only extract new content and thus not delete or update any existing keys in your localization project. PhraseApp will scan your file and only import new keys or translations that are not already stored inside PhraseApp. No data will be lost by uploading files. However, if you want to overwrite existing data we do offer the Update translations option.

Update translations

In order to replace your PhraseApp project resources with the content from your localization file, select the Update translations option. This option is available within the Translation Center upload interface and via the API. Your existing translations will be overwritten with the content of the uploaded localization file.

To prevent data loss, make sure that you download the latest changes to your localization file from PhraseApp before changing it and uploading it again with the Update translations option.

Upload archive

Select the project and go to “Uploads” to access the upload archive. The upload archive lists all uploads you have made in the past. It includes their processing status and a detailed summary of affected resources. Additionally, you can find all successful uploads in your project’s activity stream.

Removing keys

To prevent accidental deletion of keys when you remove keys from your localization file and upload it again, we do not automatically delete those keys on PhraseApp. However, we do offer an easy way to remove those keys, too:

  1. Upload your file through the Translation Center
  2. Click “Delete” and choose “Delete unmentioned keys”
  3. Confirm your selection

All keys and associated translations that were not included in the file you uploaded will be removed from your PhraseApp project.

Undo an upload

Every upload triggers multiple actions and can modify a lot of data in your projects. Thus we do not offer a simple undo. However, PhraseApp allows you to easily remove keys that were (wrongly) introduced by a file you uploaded:

  1. Go to the upload summary of the affected upload
  2. Click “Delete” and choose “Delete created keys”
  3. Confirm your selection

All keys and associated translations created by that upload will be removed. Please note that translations for keys that existed prior to the upload will not be removed. To remove individual translations, you can use the version history for each translation.



I receive an error message when uploading a file, what do I do?

Please make sure that the file you’re uploading is included in the formats we support. Make sure your file does not contain any syntax errors or invalid characters. Verify that you selected the correct character encoding. If your file includes emoji symbols, make sure you enable the Emoji support option for the upload.

If you still experience issues, please contact our support team for assistance.

What are upload tags and how can I disable them?

All keys created through an upload are automatically tagged with an upload tag. This new tag can be used to filter search results or API responses. Every upload tag includes a timestamp that indicates the upload date.

The number of upload tags can grow quickly, if you upload a lot of files or if you choose the Update translations option. You can skip the automatic generation of upload tags by selecting the Skip upload tags option to avoid this.

I have a lot of duplicate keys after uploading a file - what happened?

When you upload a file and don’t specify a character encoding explicitly, PhraseApp tries to guess the encoding. This can in rare cases lead to an incorrect encoding which results in duplicate keys being added to your project. If this happened to you, remove the duplicate keys (see “Undo an upload”) and upload the file again with a correctly specified character encoding.

Did this answer your question?