samsonphp/google_translate 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

samsonphp/google_translate

最新稳定版本:1.0.1

Composer 安装命令:

composer require samsonphp/google_translate

包简介

Google Translate SamsonPHP module

README 文档

README

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

##Configuration

Before using translate module methods, you must create configuration and enter your Google API Key for using Google Translate API

All you need is create configuration class which is working thanks to SamsonPHP module/service configuration:

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

Creating translate request

After creating configuration you can make request to Google Translate API. To create simple request you must define source language of your text and target language which you want to get. To identify languages you can use source($source) and target($target) methods.

For example you want to translate 'Hello World' to french:

/** @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);

Fixing translation errors

If you have some problems with API Key or you have make some errors in defining source or target locales, you will get error from Google Translate API. You can check status of your request using method 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();

Using this code you will get:

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

Translate array of information using just one request

If you need to translate a lot of strings, the best way is define array of your strings as trans($data) parameter. Simple example:

/** @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);

If your Google API Key is active, you will get this data:

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

This module is working using Google Translate API

统计信息

  • 总下载量: 52
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: Open
  • 更新时间: 2015-01-22