samsonphp/google_translate

Google Translate SamsonPHP 模块

1.0.1 2015-01-27 10:21 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:29:26 UTC


README

Latest Stable Version Build Status Code Coverage Total Downloads Scrutinizer Code Quality Stories in Ready

##配置

在使用翻译模块方法之前,您必须创建配置并输入您的 Google API 密钥以使用 Google 翻译 API

您只需要创建一个配置类,它可以通过 SamsonPHP 模块/服务配置 来运行

class Google_TranslateConfig extends \samson\core\Config
{
    public $apiKey = 'Your_Google_API_Key';
}

创建翻译请求

创建配置后,您可以向 Google 翻译 API 发送请求。要创建简单请求,您必须定义文本的源语言以及您希望得到的语言。要识别语言,您可以使用 source($source)target($target) 方法。

例如,您想将 'Hello World' 翻译成法语

/** @var \samson\google\Translate $trans Get SamsonPHP GoogleTranslate module */
$trans = & m('google_translate');

// Source text
$helloWorld = 'Hello World';

// Translated text
$bonjourLeMonde = $trans->source('en')->target('fr')->trans($helloWorld);

修复翻译错误

如果您有 API 密钥的问题或您在定义源或目标区域时犯了错误,您将收到 Google 翻译 API 的错误。您可以使用方法 lastRequestStatus() 检查您的请求状态。

/** @var \samson\google\Translate $trans Get SamsonPHP GoogleTranslate module */
$trans = & m('google_translate');

// Source text
$helloWorld = 'Hello World';

// Translated text
$bonjourLeMonde = $trans->source('gb')->target('fr')->trans($helloWorld);
echo 'Translated string - "'.$bonjourLeMonde.'"; <br>';

// Is false, because gb locale is not found in Google language codes.
echo 'Request status is '.$trans->lastRequestStatus();

使用此代码,您将获得

Translated string - "Invalid value";
Request status is false

使用单个请求翻译信息数组

如果您需要翻译许多字符串,最佳方式是将您的字符串数组定义为 trans($data) 参数。简单示例

/** @var \samson\google\Translate $trans Get SamsonPHP GoogleTranslate module */
$trans = & m('google_translate');

// Source strings
$myStrings = array('white dog', 'cat', 'rabbit', 'squirrel');

// Translate it
$myTranslatedStrings = $trans->source('en')->target('fr')->trans($myStrings);

// Look at the response
print_r($myTranslatedStrings);

如果您的 Google API 密钥处于活动状态,您将获得以下数据

Array
(
    [white dog] => chien blanc
    [cat] => chat
    [rabbit] => lapin
    [squirrel] => écureuil
)

此模块使用 Google Translate API 运行