Silex service provider for using the Microsoft Translator V2 API

v0.2.0 2013-07-16 06:48 UTC

This package is auto-updated.

Last update: 2021-10-29 01:36:09 UTC


By Matthias Noback


Using Composer, add to composer.json:

    "require": {
        "matthiasnoback/microsoft-translator-service-provider": "dev-master"

Then using the Composer binary:

php composer.phar install

Register the service provider:


use MatthiasNoback\Silex\Provider\MicrosoftTranslatorServiceProvider;

$app->register(new MicrosoftTranslatorServiceProvider(), array(
    'microsoft_oauth.client_id' => 'YOUR-CLIENT-ID',
    'microsoft_oauth.client_secret' => 'YOUR-CLIENT-SECRET',


This service provider wraps the corresponding Microsoft Translator V2 API PHP library and adds the translator as the service microsoft_translator to your application.

You need to register your application at the Azure DataMarket and thereby retrieve a "client id" and a "client secret". Copy these values to the right keys in the options array (see above):

Making calls

Translate a string

// in your controller

$translatedString = $app['microsoft_translator']->translate('This is a test', 'nl', 'en');

// $translatedString will be 'Dit is een test', which is Dutch for...

Detect the language of a string

$text = 'This is a test';

$detectedLanguage = $app['microsoft_translator']->detect($text);

// $detectedLanguage will be 'en'

Get a spoken version of a string

$text = 'My name is Matthias';

$spoken = $app['microsoft_translator']->speak($text, 'en', 'audio/mp3', 'MaxQuality');

// $spoken will be the raw MP3 data, which you can save for instance as a file

For more examples, see the README of the PHP library