Auto-Translation with Google Translate

Machine Translation (MT) is a term that is used to describe translations that are carried out by a computer. One very popular MT service is Google Translate.

Google Translate

Recently, Google Translate started to use Deep Learning strategies to improve its translations with great success. Even though Google Translate is still not comparable to a native-speaker translator, the results are usually “good enough” until someone proofread them.

For this reason, we created the new Auto-Translate feature(1) that is located in the project settings.

Project Settings

If you enable it, every new source text will be directly translated for free using Google Translate, and then pushed back into your code. A new auto translated tag will be added to these segments and your translators will be notified to proofread them at their own convenience.

You can also click on “Auto-Translate now” to translate an existing project into a specific target language.

Project Settings

(1) This feature was sponsored by Tanda.

Custom Languages

You may want to add a custom language that is derived from an existing language. It's useful if you want to change some translations for another instance of the application or for a specific customer.

The structure of a custom language is : existing language code + "-" + custom text.

Examples: en-microsoft or fr-be-custom.

Custom languages can be added like any other language and fallbacks work as expected. It means that if the en-microsoft.some_key is missing, then it will fallback to en.some_key. So you only need to translate keys that should be customized.

Note that fallback are chained, so fr-be-custom will fallback to fr-be that will itself fallback to fr.

Using GetText syntax, it will only fallback to the source language. So either you create a fallback mechanism by yourself or you avoid fallbacking by translating everything in for that custom language. for Laravel

We are proud to announce that is now supporting Laravel the same way as Ruby on Rails.

Laravel Translation Made Simple

Syntax is a bit different but it works exactly the same:

  • t('source text') for GetText
  • trans('some.keys') for PHP key-value

Just select your favorite framework when creating a new project and you will receive the installation instructions:

New Laravel Project

If you like working with us and you know some fellow Laravel developers, please tell them we're open for business. For each positive or negative feedback, we'll offer them 3 free months on

We'd like to thank @armandsar for helping us bootstrapping this package.

You will find more information about the installation and usage of the Laravel package on the official repository:

Better History and Activity Email Digests

A year ago we added a history feature to It allows you to view the history of all your translation projects.

Better History

We have been working on the improvement of that history lately. It was not possible to filter it by language, user or change type, and we thought it was a missing option.

You can now open the history modal from any of your projects:

Translation History Modal

The history contains all types of changes:

  • translation of a segment;
  • source text editions;
  • comments and tag additions/removals;

and you can filter on them.

Email Digests

As the project owner, being notified when a translator makes some change on the project is a must-have. Also, if you are the responsible translator for a specific language, you want to know when new non-translated segments are added to the project.

That's why we have added email digests for activity on your projects.

All changes performed by others on your projects will be compiled into a nice email. Don't worry we won't SPAM you too much!

Translation History Digest

You are watching all of your projects by default. You can unwatch activity on a per-project basis directly on their respective translation pages:

Translation History Notification Watch

We hope you will enjoy the new history and we are as always eager for feeback!

Smart URLs in Translation Interface

Maybe you've noticed that the URL of the page changes almost everytime you do an action on the translation interface: moving from a segment to another, changing filters, searching a word, etc.

Smart URLs

Actually the current state is kept in the URL so you can share URLs from your work with your collaborators/translators. If they follow the link, they will get right where you were: same filters, same selected segment, same target language.

Also, the navigation history is preserved so the back button of the browser will bring you back exactly where you were before. It's not much, but that's unfortunately not always like that on modern one-page applications.