A Microservice for managing Translations in your application
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin Tests Added Apr 4, 2015
src Tests May 21, 2015
tests Tests fixed May 21, 2015
.gitignore Added .idea to .gitignore Apr 4, 2015
.htaccess .htaccess for Apache configuration Apr 7, 2015
.travis.yml added php7 Apr 29, 2016
LICENSE Initial commit Apr 3, 2015
README.md docs typo fixed Apr 28, 2015
composer.json Update composer.json Apr 29, 2016
composer.lock updated composer.lock Apr 29, 2016
index.php Tests May 21, 2015



Current Version: 0.0.2

Build Status

A PHP Microservice for managing Translations in your application. You can set it up anywhere in your stack and use it to upload and download translations.


MicroTranslator is written in PHP, and currently uses MongoDB as its storage engine. For more details, feel free to head over the article on Marco Troisi's blog. The source code is being released under the MIT Licence, which means you are free to reuse, modify and even sell your work based on it. If you do any of the above listed actions, please consider following its creator on Twitter as a way to say thanks!


Show all available locales

To see all locales available (e.g. en_GB, de_DE, af_ZA, etc.), just fire up the following request:

GET /locale

and you will get a nice JSON response that looks like this:


As you can see, the response will normally have an items section, with the actual result, and a count value, which will always represent the integer number of results.

Show all terms for a given locale

In order to see all the terms (available, translated words) for a given locale (e.g. de_DE), just do:

GET /translation?locale=de_DE

The result will be something like this:

        "Good morning":"Guten Tag"

At the moment, en_GB is the default locale, in case you don't specify your locale parameter.

Show a single term for a given locale

In order to see only one term (e.g. "Good morning") for a given locale (e.g. it_IT), you can call:

GET /translation/Good+morning?locale=it_IT

The result will be:

        "Good morning":"Buongiorno"

Insert/Update a term for a given locale

To insert a new term, or update an existing one, use the following:

POST /translation/Good+morning?locale=es_ES

with POST parameter translation (e.g. { translation: "Buenas Dias"})

The result will be a true or false value, based on the success of the operation.


As you may have noticed, there is still work necessary in order for MicroTranslator to get where it should. In the future, that's what it will feature:

  • Authentication
  • Docker integration
  • A frontend UI for adding/updating terms (on a separate repository)
  • Some other interesting things!


Please send me an email at hello@marcotroisi.com in order to ask your questions about MicroTranslator.

Ideas? Found a bug?

Feel free to open a Github issue or even to fork and create a Pull Request.