All Collections
Integrations
Development
GitHub
GitHub: Auto-syncing and Management
GitHub: Auto-syncing and Management

Syncing content between Transifex and GitHub

Antonis Mylonas avatar
Written by Antonis Mylonas
Updated over a week ago

Syncing Existing Resources with GitHub

Suppose your localization process is ongoing, and your projects/resources have been established in Transifex. In that case, you can still leverage the GitHub integration to synchronize the content already present in Transifex with the files residing in GitHub. All you need to do is execute the following steps:

  • Locate the TX resources in your selected GitHub repository and branch.

  • Note the path of each resource in the GitHub repository,

  • Keep the following details separately:

    • Repository name, e.g., transifex/GitHub-Transifex-Integration

    • Branch name, e.g., master

    • The full path name of the resource, e.g., source/product_A.json

  • Construct a temporary text using the following pattern:

    github#{full_repo_name}#{branch_name}#{source_file_path}

    e.g.

    github#transifex/GitHub-Transifex-Integration#master#source/product_A.json

  • Generate a hash for this text using the md5 algorithm, e.g., 4e18446ca9ed69e98e4846aca5a1d816 (Tip: You can use an online generator, like

  • Edit each resource's settings and add the generated hash as a slug.


Syncing content from GitHub

Syncing content from GitHub to Transifex happens either upon saving or updating the integration settings on the project level or automatically whenever new content is found on GitHub (after a commit on the branch associated with the integration).

When a syncing process is initiated, you will see that syncing is in progress from within the integration’s UI. Go to your Project settings > integrations tab under GitHub and click the Manage link. Remember that this process may take some time, depending on the number and size of the synced files.

The integration page will display an activity log of all syncing operations with GitHub. These logs allow you to identify any potential issues with particular files that may have failed to sync or could not be located.


Syncing content from Transifex

If the file format of a resource allows, a project maintainer or administrator can directly edit it in Transifex's editor, regardless of whether the resource came from a GitHub repository. This feature allows for quick corrections, such as fixing spelling or punctuation mistakes. Any changes made in Transifex are automatically synchronized back to GitHub, either as a new pull request (PR) or a direct commit to the original branch. Consequently, developers are relieved from the manual task of retrieving the updated resources from Transifex and pushing them to GitHub.

The integration's activity log will record this action.


Commit and PR messages from Transifex on GitHub

Any commits or PRs opening due to the integration happening from a GitHub user are called Transifex-localization-platform[bot].


Checking the status of the GitHub integration

Sometimes, changes on the GitHub side can affect the GitHub integration and the synchronization with Transifex.

More specifically, if the configuration file in the GitHub repository is corrupt or absent or the linked branch is deleted, Transifex and GitHub will stop exchanging content. The owner of the integration, i.e., the project maintainer or administrator who installed it in a specific project, will receive notifications regarding the integration's health status in two ways:

  • When viewing the integration’s UI, the status indicator for the connection with the associated GitHub repository shifts from green to red.

  • The integration owner receives an automated email notification that prompts them to investigate the cause of the problem in the GitHub integration.


💡Tip

Looking for more help? Get support from our Transifex Community Forum!

Find answers or post to get help from Transifex Support and our Community.

Did this answer your question?