We’ve migrated our documentation to a new site, which means some URLs have changed.
Subscriptions

How do I Transfer Localization Files between Piano Applications?

Learn how to transfer localization files between Piano apps by downloading and uploading .PO files, including key considerations for merging translations and avoiding overwrites.

Downloading from the source app

  1. Log into the Piano Dashboard for the source app.

  2. Navigate to Manage→ Localization.

  3. Open the "..." (ellipsis) menu at the right of each language.\n

  4. Select Download to get the .PO file for each language you want to transfer.

Uploading to the destination app

  1. Log into the Piano Dashboard for the destination app.

  2. Navigate to Manage→ Localization.

  3. Open the "..." menu for the language you want to update.

  4. Select Upload and upload the .PO file.

Important considerations

  • The import tool will merge results — if the destination app already has a translation and the imported file doesn't include it, the existing translation in the destination app will be kept.

  • Context (msgctxt) is required — Make sure your PO file entries include the proper context values. If entries are missing context, they may not be recognized during upload. It's recommended to first download the current translation from the destination app and then edit it, preserving the existing context.

  • Entries with blank msgstr values may be skipped during upload unless you explicitly choose to overwrite.

  • Protected/system-level contexts (e.g., checkout.platform) cannot be edited via the Dashboard upload and will be ignored.

How do I avoid overwriting existing translations?

  1. Download .PO files from both apps.

  2. Compare them using a text comparison tool.

  3. Remove any keys from the source file that already exist in the destination file.

  4. Upload only the file with the new keys to the destination app.

  5. Verify that the upload summary shows only new keys being added, with no existing keys being updated.

For a complete overview of localization features and configuration, see Localization.

Last updated: