GitHub: Installation and configuration (original) (raw)
You can effortlessly update resources on GitHub without coding by just pointing and clicking. Through Transifex GitHub integration, you can link a localization project in Transifex to a designated GitHub repository using only the Transifex user interface.
Installing the GitHub Integration in a Specific Project
To install the standalone integration that connects Transifex and GitHub, you need to perform the following steps:
Linking a Specific Project With a GitHub Repository
Clicking on the Link Repository button, the GitHub Integration wizard will pop up to manage the setup.
Select your Repository
On the wizard's first step, select the GitHub repository and branch to sync with the project. The available repositories listed are the ones you authorized when you installed the Transifex app on the GitHub account you used for the integration. At this point, the GitHub integration works on top of a single branch.
You can find more information about the multi-branching feature here.
Select files
When you finish this step, click Next to set up the repository files related to localization. There are two ways to select what GitHub files will be synced with your Transifex project:
Regardless of the synchronization option you select for your files, you can validate the detected files based on the specified paths in your configuration by selecting the "Test configuration" button. After you complete it, you can click the Next button to establish a connection between your Transifex project and your GitHub repository and branch.
Sync content
By clicking the Next button, you will be directed to the last step of the configuration, where you will establish the mechanism for synchronization between Transifex and GitHub.
Pulling content from your repository to Transifex.
Whenever any changes are made to the designated branch of a GitHub repository, the process of pulling content from that branch happens automatically. This means that any new code or updates pushed to the repository will be automatically incorporated into the project. This automated process saves significant time and effort, as it eliminates the need for manual updates or synchronization of the code.
Pushing content from Transifex to your repository.
You can decide when and how your localized content is pushed to your repository.
When to push your localized content to GitHub depends on the progress of your localization process. You can decide when to push your translated content to your repo; you have the following options to set this up:
Below, you'll read more about these options.
When a target language reaches 100% of the translation work done.
When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings translated in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of completion.
For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) and Greek(el) will be sent to your repository, and the Spanish(es) translations will be ignored.
When a target language reaches 100% of reviewed strings.
When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings reviewed in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of reviewed strings.
For example, if you have a file with the following translation progress, only the translations of Afrikaans(af) will be sent to your repository, and the Spanish(es) and Greek(el) translations will be ignored.
When a target language reaches 100% of proofread strings.
When you choose to push your content to your repository using this option, it means that Transifex will only push a file's translations once this file has all its strings proofread in a specific target language; it will only push the translations of this language to the repository; and it'll not push the translations of target languages that have less than 100% of proofread strings.
For example, if you have a file with the following translation progress, only the translations of Greek(el) will be sent to your repository, and the Spanish(es) and Afrikaans(af) translations will be ignored.
Push content according to a Custom threshold (<100%)
If you need your translations to reach GitHub faster without waiting for languages to be fully completed, you can set a less than 100% custom threshold and select the desired translation status (translated, reviewed, proofread).
For example, if you have a file with the following translation progress and define the custom threshold to 60% translated, only the translations of Greek(el) and Afrikaans(af) will be sent to your repository, and the Spanish(es) translations will be ignored.
You can also define how your translation content reaches your repository; below, you'll find the option you have to set up the way the translations in Transifex hit your repository. You can choose between:
Below, you'll find more information about these options:
Create a Pull Request
This will create a new branch with the localized content and open a PR on the branch that you can later merge directly from GitHub. However, if an open PR already exists containing previous translations, it will be updated with the latest ones.
Additionally, in this tab of the GitHub integration wizard, you'll find some optional settings. To learn more about them, visit the section Optional Settings in the Sync content tab.
Once you complete the setup, click "Save & Sync" to initiate the synchronization process between GitHub and Transifex.
Optional settings in the Sync content tab
When configuring the link settings between your Transifex project and your GitHub repository, you'll come across a section called "Sync Content".
In this section, you'll find various alternative features that can be used to set up the way your translated content reaches your repository:
In this article, you'll find the specifications of such features.
Add a Prefix Your Commit Message
If you have configured GitHub Actions in your repository and want to exclude commits made by the Transifex GitHub integration from workflow runs, you can add a prefix to the commit message. This will also improve readability in your workflow.
For example, if I add the prefix "TRANSLATION-UPDATE" and save this setting update:
The commits sent to GitHub will show this prefix.
Add a prefix in the Pull Request title.
If you have configured GitHub Actions in your repository and want to admit only certain Pull Requests in your workflow, you can add a prefix to the Pull Requests title; this will also improve readability in your workflow.
For example, if I add the prefix "NEW-PR-TITLE" and save this setting update:
The Pull Requests sent to GitHub will show this prefix.
Receive updates for source files.
Enabling the feature Receive updates for source files means that you can sync any changes you make to your source file in Transifex with your repository without any manual intervention. This can save you a considerable amount of time and effort. Additionally, it ensures that the most up-to-date version of your project is always available to your users.
It's important to note that not all file formats support automatic updates. Therefore, it's advisable to consult the article on Updating Content to obtain more information about which file formats can have their source updated in Transifex.
Add an interval between commits.
If you want to avoid having many commits of the same translation file flooding your repository for every single update of translations, you can set a time interval to group those updates in one commit.
By setting a time interval in minutes (up to a maximum of 60 minutes), you can control how often translation updates get pushed to your repository so that you can manage your translation changes in your repository more effectively.
For example, let's say that you've set the commit interval to 10 minutes. Within those 10 minutes, you make several translation edits in a resource file. Instead of individual commits for each change, you'll receive a single commit after the 10-minute interval expires, including all the latest updates. If you continue to edit the same translations, a new commit will be generated after another 10 minutes, grouping all changes made during that time.
YAML Configuration Parameter Descriptions
The following are the parameters that are used for the YAML Configuration:
The configuration follows a YAML syntax, and users can define a list of individual files or use regular expressions to match multiple files simultaneously. Illustrated examples can be found below:
You can have multiple entries beneath the opening "filters:" keyword for different source file types or locations. Each entry begins with "- filter_type: ".
Check the section More Examples of YAML Configurations for samples.
More Examples of YAML Configurations
Syncing a Single File
Syncing Multiple Files of a Single File Type
Syncing a Single File Using a Specific Download Mode
Syncing Multiple Files, Excluding Specific Paths/Localization Files
Syncing Files With a Specific Branch Name and With Language Mapping
Examples of the dynamic filter type (Ignore_dirs and Ignore_files are also supported in this filter type)
Example 1:
Examples of possible source file matches:
Example 2:
Examples of possible matches:
Other examples of filter_type: dynamic
💡Tip
Find answers or post to get help from Transifex Support and our Community.
Related Articles
Bitbucket: Installation and ConfigurationUsing Transifex With GitHub in Your Development WorkflowGitLab: Installation and ConfigurationinGitHub: Auto-syncing and ManagementAzure Repos: Installation and Configuration


























