Duplicate resource/merging translations

We have a few longstanding opensource projects that are being localized/translated with Transifex. The previous autosync feature that sent our .pot file updates to Transifex broke, and we recently reconfigured the repos with the GitHub sync feature. However, when we did this, the project now has two separate .pot resources. In several cases, the old .pot resource has all the existing translations associated with it, rather than the new resource which is being automatically synced via GitHub.
Transifex is also opening PRs when translations are added to the new resource. How can we preserve/merge the translations added for the old resource into the new synced resource?

Here’s an example: Aldine localization | Transifex

The first resource is the newly created/synced one from our GitHub repo. The second resource was the .pot file from this repo as of May 2022. The old resource has translations that we want to move over to the new resource. We then want to delete the old resource, but we don’t want to do this until the existing translations have been associated with the new resource.

Hello! We have a way to associate the existing resource with the file in your repo and avoid Transifex from creating another resource for the file; the process is posted here. Please let me know if you have any further questions or concerns.

- Sandy

Hi @Sandy_DLR I followed this process in this project: Pressbooks CAS SSO localization | Transifex, but I still have duplicate resources

Can you please remove an unnecessary resource from our platform and try to sync to ensure that the process was set correctly?

- Sandy

If we remove the old resource, we will be deleting all the previously translated strings in all the languages that had translations. That’s what we’re trying to avoid doing. In the example above, you can see that the old resource is at 11.11% translated, and the new one (which is syncing correctly) is at 9.03% translated. How can we keep/merge the old translations (the .po files) with the new ones? If we’re able to do that (i.e. import/merge the .po files for languages that are more comprehensive) than we’d be happy to delete the old/unwanted resources.

Hello!

Thank you for your reply, in that case I would advice the following flow:

  • Enable the translation memory fillup to make Transifex automatically translate the strings in resource A that were already translated in resource B and viceversa.
  • In case that the resource you want to keep is the old resource, I would recommend to follow this process to link the old resource with your repository, instead of the other recently created.
  • Finally, now that you have all the translations in the right resource and this resource is lined to your Repo; you can proceed and remove the unwanted resource.

Let me know if this approach is more helpful,

-Sandy

Hello @Sandy_DLR thank you for your reply and help

I enabled translation memory fillup and I noticed both resources gets updated and the old resource still has more translations than the new one, so probably we would want to keep the old resource, just I want to double check if we are following the process described here as expected.

  1. I created the following string (following the format described in the docs page below)
github#pressbooks/pressbooks-aldine#dev#source/languages/pressbooks-aldine.pot
  1. I hashed that string using md5 as required
  2. I pasted the resultant md5 string as the slug on the OLD (B) project
  3. What’s next? I updated the POT file with some translations but the OLD (B) resource wasn’t updated, the new one (A) got updated as expected

I noticed the new resource (A) has a category like the following, I was wondering if should I create the MD5 string with that string instead (maybe the docs are not updated?)

github#repository:pressbooks/pressbooks-aldine#branch:dev#path:languages/pressbooks-aldine.pot

Thank you very much for your help

Hey @Sandy_DLR sorry for chime in again, by any chance do you have any ideas?

We want just to double check we are not missing any important step.

Thank you very much for your help

Hello!

Regarding your question, after confirming that the correct format is the following one

github#pankav/Transifex#develop#translation_en.po

and not this one

github#repository:pankav/Transifex#branch:develop#path:translation_en.po

We can say that our documentation is correct.

  • To confirm the process that you want to follow, are these resources part of the same project? This is because I noticed that you mentioned Project (B)
  • Where do you update the POT file with some translations? On the GitHub side?
  • If this happens on the Github side, you should consider that Transifex bring these translations only during the first initial sync. Is this the first initial sync for the Resource (B)?

Lastly, you need to unlink and relink the project so you can access the translations in the Transifex project from the GitHub side.

- Sandy