MicrosoftTranslatorBundle
By Matthias Noback, (*1)
Installation
Using Composer, add to composer.json
:, (*2)
{
"require": {
"matthiasnoback/microsoft-translator-bundle": "dev-master"
}
}
Then using the Composer binary:, (*3)
php composer.phar install
Register the bundle in /app/AppKernel.php
:, (*4)
<?php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new MatthiasNoback\MicrosoftTranslatorBundle\MatthiasNobackMicrosoftTranslatorBundle(),
);
}
}
Usage
This bundle wraps the corresponding Microsoft Translator V2 API PHP library
and adds the translator as the service microsoft_translator
to your service container., (*5)
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 config.yml
:, (*6)
matthias_noback_microsoft_translator:
oauth:
client_id: "YOUR-CLIENT-ID"
client_secret: "YOUR-CLIENT-SECRET"
Making calls
Translate a string
// in your controller
$translatedString = $this->get('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 = $this->get('microsoft_translator')->detect($text);
// $detectedLanguage will be 'en'
Get a spoken version of a string
$text = 'My name is Matthias';
$spoken = $this->get('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, (*7)