Transifex does not pull translated resources from Github

Hi, I set up the integeration with GitHub, all works fine but the update of translated resources FROM GitHub. So in summary:

  • If I update translations from Transifex, it sends updates to GiHub, GOOD
  • If I update origin resources (english, to be translated) from GitHub with a commit, Transifex gets the update, GOOD
  • If I update translated resources from GitHub with a commit, Transifex runs (I see it updates the sync status), but nothing happens, BAD

The reason for that is that we have translators that can use git locally without problems, so they send translation directly pushing to GitHub, and others that work instead only via Transifex’s web interface.

The only way I found to get the updated translated resources again on Transifex is to update the filter with a “false” change (removing and adding a “/” at the end of the source_file_dir parameter). This way Transifex starts a full sync again and it gets also all translated resources from GitHub.

Is this an intended behavior?

If so, the only other workaround I can think is to use a git hook to fire an API call when I update translated resources from GitHub, but I hope I don’t need to do it :slight_smile: Any other ideas?

This is my current filters configuration:

filters:
  - filter_type: dir
    file_format: YAML_GENERIC
    source_file_extension: yml
    source_language: en
    source_file_dir: src/transifex-en/
    translation_files_expression: 'src/transifex-<lang>/'

Hello Giuseppe Via,

Thank you for contacting Transifex community.

Please allow me to explain how the Github integration works:

  • During the initial syncing, both source and translations found in GitHub are synced with Transifex. This happens in order to help you get started and bring everything into Transifex.
  • After that, the integration works as follows:
  • Any source updates that happen in GitHub, Transifex gets notified and pulls the source content to Transifex so that the translation process can start.
  • Any translation updates that happen in Transifex (once a language is fully reviewed or translated) are sent to GitHub.
  • Any translation updates that happen in GitHub are not sent to Transifex. This is expected and only happens during the first/initial sync. However, you can perform an “initial” sync again by editing the YAML config (Edit Settings link); simply placing an extra space on a commented-out line is enough. Here is some more info on Editing the Project-GitHub link.

So, the workaround you sent, it seems a good idea.

Kind regards,
Panagiotis

Thanks for the kind reply.

Rebus sic stantibus, I introduced the use of transifex-client for translators that use directly GitHub so they can pull latest translations from Transifex, check if there are not overlappings or resources in a work in progress state, and then push only updated resources.

I also find a very cool GitHub Transifex Action from SĂ©rgio Isidoro, useful for those wanting to automate this step.

1 Like