LingoHub Help Center

Our experience, knowledge and lessons learned - all here just for you.

GitHub Integration

GitHub is one of the most beloved development platforms and repository hoster. Although it is possible to use LingoHub with manual file upload and over the REST API, we created a premium experience for integrating with GitHub that allows you to:

  • Synchronize resource files back and forth between LingoHub and your repository
  • Directly push the changes or create a Pull Request
  • Custom commit message/Custom Pull Request information
  • Instant, periodic or manual synchronization

Note: The LingoHub app was specifically made with the intention to have the least possible permissions to your repository. We understand how important security and trust are.


Once you created your LingoHub project, you can create a GitHub integration in the Repository Tab.

Select GitHub Integration

You know have 2 options:

  1. Install the LingoHub App on your GitHub account
  2. Go to the next step if the LingoHub App is already installed.

Install LingoHub App

Clicking the green button Install LingoHub on GitHub will redirect you to GitHub to install the app. There you will find a dialog that allows you to specify if the app should be installed for the entire organization or just for specific repositories.

GitHub Repository Select

Once the app installation was successful, you will be automatically redirected to LingoHub.

Connecting the repository

Now that LingoHub has access to the GitHub organization, it is time to specify which repository should be connected to your LingoHub project and what the default branch is.

Repository and branch information

Note: The repository URL and the branch will be verified if they exist on GitHub and if LingoHub has access to them.

Selecting the resource files

The last configuration step is to select the files you wanna synchronize with LingoHub. For that LingoHub created a powerful file matcher. The file matcher works in two different modes: simple and advanced. The simple is folder based and allows you to select a folder (with a dynamic part for the locales) that contains the resource files. The advanced modus offers a regex like matcher for unlimited flexibility. For more information about the Matcher, visit the help page (LINK).

Note: Always make sure that you specify the nearest folder that contains the files because otherwise, GitHub's API can report problems like timeouts or rate limits exceeded.

Now you only have to click the Create Integration button and your integration is ready!

Finish GitHub setup



Respository Settings

  • Configure installation: Is a direct link to your app installation, so you can easily configure it
  • Different repository: If your repository URL or name changes, you can enter here the new URL.
  • Default branch: Enter the name of the default branch. This branch is the main branch that is associated with this project.

GitHub repository settings


  • Create files automatically: When a new file was added to GitHub (also a new language variant), the file will be automatically created on LingoHub.
  • Remove files automatically: When the source file is removed from your repository, the file (including all language variants) are removed from LingoHub as well.

Please read our Matcher tutorial (LINK) to see how you can select files from your repository.

GitHub Settings file matcher

Default settings

This section lets you specify default values:

  • Commit message: The default commit message that is used for direct pushes.
  • Commit description (optional): The default commit descritipin that is used for direct pushes.
  • PR branch name: The default branch name that is created when the Pull Request method is used.
  • PR name: The default name of the Pull Request.
  • PR description (optional): The default description of the Pull Request.

Note: These values are used for automatic synchronization (e.g. on commits) and for periodic synchronization. For manual pull/push all these values can be overwritten.

GitHub settings - defaults


Import files

  • Manual synchronization: Allows you to pull files from your repository. See our documention about the Push dialog (LINK) and about Resource Imports (LINK).
  • Automatic import - on commits: On commits installs a webhook in your repository, so LingoHub is informed on each commit. If a resource file changed in a commit, it will be imported.
  • Automatic import - periodically: Define a recurring pull for your repository. Note: this can lead to many imports without changes.

Export files

  • Default export method: Define if automatic exports should either be a direct push or a Pull Request creation.
  • Manual synchronization: Allows you to directly push or create a Pull Request. See our documention about the Push dialog.
  • Automatic import - periodically: Define a recurring export for your repository. Used the default export method.

Related resources

Ready to optimize your translation workflow?