LingoHub Help Center

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

GitLab integration

GitLab is one of the most popular repository providers. Although it is possible to use LingoHub with manual file upload or over the Public REST API, we created a premium experience for integrating with GitLab that allows you to:

  • Synchronize resource files back and forth between LingoHub and your repository.
  • Push changes directly or create a pull request.
  • Create custom commit messages/custom pull request information.
  • Synchronize instantly, periodically, or manually.


You can perform the installation of your integration in two ways:

  • Right after creating your LingoHub project by choosing the Connect with a service option. You will be redirected to the repository page.
  • At any time by accessing the project settings.

To connect your LingoHub project with GitLab after creating your project, you need to access the repository page first. Follow the steps below:

  1. Click dashboard in the top navigation bar. You will be redirected to the project's dashboard.
  2. Click repository.

Connecting with the service

From the repository page, two connection options are available, which are described in detail below. You can either use OAuth or GitLab self-hosted.

Connecting through OAuth

To connect through OAuth, follow the steps below:

  1. Select the GitLab repository provider.

  2. Click connect through OAuth.

    Note: You may need to log into your GitLab account.


    You are now connected with GitLab and need to connect your repository in the next step.

Using GitLab self-hosted

The GitLab self-hosted integration feature is only available in the Professional and Enterprise plans

To use the GitLab self-hosted option, follow the steps below:

  1. Click on the GitLab Self-Hosted link.

  2. Enter your installation URL and access token.

  3. Click on the Select repository button.


You are now connected with GitLab and need to connect your repository.

Connecting the repository

LingoHub is now connected with GitLab. To proceed, follow the steps below:

  1. Specify the repository that should be connected to your LingoHub project.
  2. Specify the branch on which the resource files are going to be pushed to and pulled from.
  3. Click Next: select files.


Note: The repository URL and the branch will be verified. A check will ensure they exist on GitLab and LingoHub has access to them.

Selecting the resource files

The last step of the configuration consists of defining the way the repository files are going to be synchronized with LingoHub.

When selecting the files you want to synchronize, LingoHub creates a powerful file matcher. The file matcher works in two different modes:

  • Simple: The simple matcher is folder-based and allows you to select a folder (with a dynamic part for the locales) that contains the resource files.
  • Advanced: The advanced matcher offers a regex-like matcher for unlimited flexibility.

Note: To avoid problems like timeouts or exceeded rate limits, always make sure that you specify the nearest folder that contains the files.

When all resource files have been selected and all options set, click create integration.


Managing your repository settings

You can get detailed information about your integration and manage the different settings of your installation at any time in the repository tab.

To access the repository tab, follow the steps below:

  1. Access the project dashboard, as described above.
  2. Click repository.

You will be redirected to the repository tab and have two main setting categories, general and import/export.


Repository settings

In the repository settings you have the following options:

  • Configure installation: This is a direct link to your app installation and lets you configure your installation easily.

  • Different repository: Update your repository here at any time if the URL or name changes, or you simply want to connect with a different repository.

  • Default branch: Enter the name of the default branch. This branch is the main branch that is associated with this project.

GitHub repository settings


In the files tab you have the following options:

  • Automatically create files: When a new file or a new language variant was added to GitLab, the file will automatically be created on LingoHub.

  • Automatically remove files: When the source file is removed from your repository, the file (including all language variants) is removed from LingoHub as well.

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 description 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

In the import file settings you have the following options:

  • Manual synchronization: Allows you to pull files from your repository.

  • Automatic import - on commits: Installs a webhook in your repository on commits, 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

In the export file settings you have the following options:

  • 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.

  • Automatic import - periodically: Define a recurring export for your repository. This uses the default export method.

Congratulations! You finished our article on the GitLab integration. If there's anything we can help you with, please get in touch with our support.

Ready to optimize your translation workflow?