Did you know how to migrate resources from one project to another?

Ever found yourself needing to shuffle resources between projects and wondered about the best way to do it without losing your sanity? :dizzy_face: Whether you’re restructuring, shifting to a new organization, or simply optimizing how you manage your resources, we’ve got you covered with some neat tricks right here in Transifex. :hammer_and_wrench:

Today, we’re exploring three savvy methods to transfer resources in Transifex: using the intuitive UI :art:, the mighty CLI :computer:, and the versatile API :electric_plug:. Each one has its own superpowers depending on what you need and how deep you want to dive. :rocket:

  1. Using the UI: This method lets you manually download and upload files through the Transifex web interface, making it easy for teams with less tech know-how.
  2. Using the CLI: With the CLI, you can do bulk operations and automation, saving time on bigger projects. It requires setup but gives powerful tools for managing transfers efficiently.
  3. Using the API: For teams wanting max automation and integration, the API method is tops. It involves a series of API calls to handle transfers programmatically.

In the next sections, we’ll guide you through each method so you can pick what suits your team’s needs and skills best, ensuring a smooth transfer of your translation resources in Transifex.

How It Works:

Using the UI:

  1. Download your TMX file from the project in the old organization; you can read about it here.
  2. Download translation files from the old project. Link
  3. Create a new project for the new organization. Link.
  4. Upload the TMX file from the old project to the new project. Link
  5. Upload the source files to the new project. Link.
  6. Upload the translation files. Link.

Using the CLI:

  1. Install the transifex CLI. Link
  2. Add the resources in bulk from your Transifex project to your local folder. Link
  3. Pull all the source files and translations using the tx pull -s -t -all command. Link
  4. Open your .tx/config file, and replace the old project slug with your new project slug in all your file filters, and save the changes (see image below).

https://downloads.intercomcdn.com/i/o/991982789/25db99c5150a4e8f28756e5e/Screenshot+2024-03-14+at+14_58_16.png?expires=1717011900&signature=f3668739fc2588ed77d0c02ab8bcca340dfec50efd91ca97cee3078eea747590&resize=516x

  1. Push the resources and their translations to your new project using the tx push -s -t files.


Note. Using the CLI, the Translation memory file is not migrated, but you can do it by following steps 1 and 4 from the UI process or using steps 8-11 of the API process.

Using the API:

For all the resources that you want to migrate, do the following:

  1. Use this endpoint to start the download job of the source file.

  2. Consult the status of the download job using this endpoint until it is done.

  3. Create the resource in the other project using this endpoint.

  4. Use this endpoint to start the upload job of the source file.

  5. Consult the status of the upload job using this endpoint until it is done.

  6. Upload the translation files using this endpoint.

  7. Query the status of the upload of the translation files with this endpoint.

  8. Start the download job of the translation memory file (to download it from the old project) with this endpoint.

  9. Query the status of the download job of the Translation memory file with this endpoint.

  10. Start the upload job of the translation memory file (to upload it to the new project) with this endpoint.

  11. Query the status of the upload job of the Translation memory file with this endpoint.

Note. You can replace steps 8-11 with steps 1 and 4 of the UI process.

Give it a whirl, and tell us how it goes! :tada:

We’re all about making things easier and would love to hear your experiences or any tips you might have. :memo: Dive in, try out the method that suits you best, and don’t hesitate to reach out if you hit a snag. :sos: We’re here to help, and who knows? Your insights might just be what someone else needs! :star2:

Happy localizing, and let’s keep making our translation efforts as seamless as possible! :globe_with_meridians::sparkles:

1 Like