picolab / translator
具有翻译提供者的简单翻译类
0.8
2016-07-28 13:54 UTC
Requires
- guzzlehttp/guzzle: ^6.2
This package is not auto-updated.
Last update: 2024-09-14 19:58:40 UTC
README
具有一些翻译提供者的简单翻译类
使用方法
$translator = new Picolab\Translator\Translator(); // set up your translating provider from available providers $translator->setProvider($translateProvider); // translate: $translation = $translator->from('en')->to('ru')->translate('Some other language'); // You can output the results immediately with echo echo $translation; // output: // Другой язык $outputResponse = $translation->getResponse(); //output: /* Array ( [code] => 200 [to] => ru [from] => en [text] => Array ( [0] => Другой язык ) ) */ // You can use language autodetect feature, if provider is supporting it: $translation = $translator->to('ru')->translate('Some other language'); // output $translation->getResponse(): /* Array ( [code] => 200 [to] => ru [from] => en [text] => Array ( [0] => Другой язык ) ) */ // You can even use arrays for translating multiple texts $translation = $translator->to('ru')->translate(['Some other language', 'Some other value']); // $translation->getResponse(): /* Array ( [code] => 200 [to] => ru [from] => en [text] => Array ( [0] => Другой язык [1] => другое значение ) ) */ // p.s. in this case echo $translation will output only first array item
提供者使用Guzzle Http客户端,如果您有特定的guzzle客户端配置,可以使用setGuzzleInstance函数进行设置
$translator = new Picolab\Translator\Translator(); $translator->setGuzzleInstance($yourGuzzleClientInstance); ...
可用提供者
Microsoft Translator服务提供者
开发文档:https://msdn.microsoft.com/en-us/library/dd576287.aspx
$translateProvider = new Picolab\Translator\Providers\BingProvider([ 'client_id' => 'client id', 'client_secret' => 'client secret', ]);
Yandex提供者
开发文档:https://translate.yandex.com/developers
$translateProvider = new Picolab\Translator\Providers\YandexProvider([ 'key' => 'your api key', ]);
Tilde机器翻译提供者
开发文档:http://www.tilde.com/mt/tools/api
由于可用的语言已在MT系统中定义,因此您不需要在那里指定它们,但提供者类将输出系统源语言和目标语言
$translateProvider = new Picolab\Translator\Providers\LetsMTProvider([ 'client_id' => 'client ID', 'systemID' => 'System ID', ]); $translator = new Picolab\Translator\Translator(); $translator->setProvider($translateProvider); // Due to the fact that available languages is already defined in the MT system, // you do not need to specify them there // Translation system EN-LV $translation = $translator->translate('Some other language'); // output first translation echo $translation;
Google Translate API提供者
开发文档:https://cloud.google.com/translate/docs/
$translateProvider = new Picolab\Translator\Providers\GoogleProvider([ 'api_key' => 'your api key' ]);
许可:MIT