Gitloc is a software localization platform for modern web applications. Unlike other localization platforms, eg. Locize or Phrase, Gitloc stores all translations and their versions directly in your git repository.

Gitloc is programming language and framework independent. It works directly with git systems, like Github and Gitlab, and files, which contain values to be localized. You can learn more about currently supported git systems and file types in the Currently supported paragraph of this document.

How it works

When you push changes into the remote repository, which is hosted in cloud Git system, like Github or Gitlab, Gitloc determines if localization values were added, modified or removed. In case it is, Gitloc translates new and modified values and creates a commit with translations. This commit can be pushed into your remote repository as a commit of the base branch (branch which was pushed), or Gitloc can create a new branch and a pull request to review.


Suppose, our repository has the next structure of localization files:

└── src
    └── locales
        ├── en
        │   ├── common.json
        │   └── enums.json
        ├── es
        │   ├── common.json
        │   └── enums.json 
        └── fr
            ├── common.json
            └── enums.json

And we added a new key footer into the file src/locales/en/common.json:

    "title": "Hello, World!",
    "subtitle": "it is an example",
    "footer": "Produced by {{company}}"

When we push this change into the remote repository, Gitloc determines that the new key footer was added into the file src/locales/en/common.json. After that Gitloc translates the value of the footer key to Spanish and French languages and updates the corresponding files src/locales/es/common.json and src/locales/fr/common.json.

As a result, Gitloc creates a commit with changes of the corresponding files src/locales/es/common.json and src/locales/fr/common.json and push them into your remote repository.

Manual translations

Gitloc provides user interface for developers and translators, who can translate values manually, or correct auto-translated values. Results of manual translation process will be pushed to the remote repository as a new commit. Also you can manage if it has to be pushed directly to the base branch, or Gitloc has to create a new branch and a pull request to review.

Currently supported


  • (cloud)

Note, that we currently do not support standalone Github and Gitlab, however, we are going to support them in the future. If you are interested in it, let us know, it can help prioritize new features.

File types

  • JSON

  • HTML

  • Markdown (.md)

Last updated