Skip to content

GitHub App

The GitHub App is the hands-off option. Install it on a repository, and Localizer opens a pull request whenever your strings change. You don’t need to add anything to your workflows.

  • On installation, it opens the onboarding pull request, Localize this CLI with Localizer.
  • On every push to your default branch that changes Go files, go.mod or .localizer.yml, it translates the new strings and updates one rolling pull request, Update translations, from the localizer-translations branch.
  • It never pushes to your default branch. It writes only your catalogs, plus .localizer.yml, locales/embed.go and the one-line integration in the onboarding pull request. An allowlist in the service enforces this.
Permission Why
Contents: read and write Read your source, and push the localizer-translations branch.
Pull requests: read and write Open and update the translations pull request.
Metadata: read Required by GitHub for every App.

The App listens to push events to notice string changes, and to installation events to set up new repositories. Each job uses an installation token scoped to the one repository it works on. The token is valid for at most an hour and is never stored.

Localizer serves open-source (public) repositories only. Private repositories are refused at installation and again on every job. If you need translations for private code, the runtime library works with catalogs you maintain yourself (see Catalogs).