matthiasnoback/microsoft-translator-service-provider

Silex service provider for using the Microsoft Translator V2 API

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

README

By Matthias Noback

Installation

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:

<?php

use MatthiasNoback\Silex\Provider\MicrosoftTranslatorServiceProvider;

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

Usage

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