language Translatr

A modern and intuitive i18n tool

Translatr simplifies i18n for developers and translators


Speeds up development

Preview, quick switching between locales, and the possibility of build system integration allow faster development.


User experience focused

Using the application is made as comfortable as possible because of focussing on both main use cases - development and translation.


Easy to work with

All elements - search, content creation, notifications, ... - follow the concepts of Material Design to allow the easiest and most intuitive use possible.


The activity graph shows the usage of Translatr. The change history contains contributions to users, projects, locales, keys, and translations. That way the activity of a project can be estimated, as well as the activity of individual users.

Command Line Interface

The Command Line Interface allows to manage translations through the command line. Operations can be used in build scripts to automatically retrieve the latest translations.


Paste this at a terminal prompt:

curl -fsSL | bash


To use Translatr CLI we need a .translatr.yml config file. Create one in any directory that you want to enable the CLI. Translatr will then use that file as configuration.

Example .translatr.yml for Play messages
  access_token: <access token>
  project_id: <project ID>
    file_type: play_messages
    target: conf/messages.?{}
    file_type: play_messages
    target: conf/messages.?{}

Create a new access token and enter it in the .translatr.yml: create an access token.

Then, create a project in the web GUI and enter the project ID (40 character UUID in the URL, i.e. http://localhost:9000/project/6f1ee0a7-b5d1-4c7f-8e4d-46c09fece220 -> project ID: 6f1ee0a7-b5d1-4c7f-8e4d-46c09fece220) in the .translatr.yml.


By pushing you send the matching messages files to the given endpoint, creating locales if needed.

translatr push

This will overwrite all existing messages, if any. No existing keys/locales will be removed, this is not a sync operation.


By pulling you download all locales into separate files into the configured files ( key).

translatr pull

This will overwrite any existing files locally. All known locales will be downloaded.