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?
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.
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.
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.
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.
I created the following string (following the format described in the docs page below)
I pasted the resultant md5 string as the slug on the OLD (B) project
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?)
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.
We realized the md5 slug is the same as the newly created resource, so we just copied the new resource slug and replace the old resource one with that, then we proceeded to delete the new resource.