帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:API  Google翻译  PHP  PACK  PAC  FREE  CHAR  
Google Translate API free PHP class. Translates totally free of charge.

  • 源代码名称:google-translate-php
  • 源代码网址:http://www.github.com/Stichoza/google-translate-php
  • google-translate-php源代码文档
  • google-translate-php源代码下载
  • Git URL:
    git://www.github.com/Stichoza/google-translate-php.git
  • Git Clone代码到本地:
    git clone http://www.github.com/Stichoza/google-translate-php
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Stichoza/google-translate-php
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • :谷歌翻译 PHP

    Build StatusLatest Stable VersionTotal DownloadsDownloads MonthCode ClimateScrutinizer Code Quality

    免费的谷歌翻译API包。 完全免费翻译。

    安装

    通过 Composer 安装这个软件包。

    
    composer require stichoza/google-translate-php
    
    
    
    

    或者编辑你的项目 composer.json 以要求 stichoza/google-translate-php,然后运行 composer update

    "require": {
     "stichoza/google-translate-php": "~3.2"}

    用法

    基本用法

    注意:你应该拥有包含 Composer ( 这是显而易见的)的自动装载程序

    实例化TranslateClient对象

    useStichozaGoogleTranslateTranslateClient;$tr=newTranslateClient('en', 'ka');

    或者设置/更改语言

    $tr=newTranslateClient(); // Default is from 'auto' to 'en'$tr->setSource('en'); // Translate from English$tr->setTarget('ka'); // Translate to Georgian$tr->setUrlBase('http://translate.google.cn/translate_a/single'); // Set Google Translate URL base (This is not necessary, only for some countries)

    翻译句子

    echo$tr->translate('Hello World!');

    此外,还可以使用方法链接

    echo$tr->setSource('en')->setTarget('ka')->translate('Goodbye');

    或者调用 static 方法

    echoTranslateClient::translate('en', 'ka', 'Hello again');

    从v3.2开始,就有多个句子/array 翻译。

    echo$tr->translate(['I can dance', 'I like trains', 'Double rainbow']);

    从v3.2.3开始,你可以调用 getResponse() 方法从谷歌翻译获得原始响应。 请注意,这里方法对于 static 调用不可用。

    $tr->getResponse($word); // Returns raw array of translated data.

    高级配置

    这里软件包使用 Guzzle 用于HTTP请求。 你可以将 guzzle客户机配置选项的关联 array 传递给 TranslateClient 构造函数的第三个参数。

    你可以使用这里选项配置代理。USER-AGENT。默认头。连接超时等。

    $tr=newTranslateClient(null, 'en', ['defaults'=> ['timeout'=>10,'proxy'=> ['http'=>'tcp://localhost:8125','https'=>'tcp://localhost:9124' ],'headers'=> ['User-Agent'=>'Foo/5.0 Lorem Ipsum Browser' ] ]]);

    你可以使用 setHttpOption 方法配置 guzzle客户端配置选项。

    // set proxy to tcp://localhost:8090$tr->setHttpOption(['proxy'=>'tcp://localhost:8090'])->translate('Hello');// set proxy to socks5://localhost:1080$tr->setHttpOption(['proxy'=>'socks5://localhost:1080'])->translate('World');

    有关更多信息,请参见在Guzzle文档( 6.x 版本) 中创建客户端节。

    语言检测

    要自动检测语言,只需将源语言设置为 null

    $tr=newTranslateClient(null, 'es'); // Detect language and translate to Spanish
    $tr->setSource(null); // Another way
    检测到语言

    你还可以静态和非静态地使用 getLastDetectedSource() 方法来获取检测到的语言。

    $tr=newTranslateClient(null, 'fr');$text=$tr->translate('Hello World!');echo$tr->getLastDetectedSource(); // Output: enechoTranslateClient::getLastDetectedSource(); // Output: en

    注意:对于和非静态方法调用,上次检测源的值是相同的。

    如果没有检测到的语言,则返回值可能为布尔值 FALSE

    可用语言

    支持语言是 Google文档中的列表。

    运行时错误和异常处理程序

    static 和非静态 translate() 方法都将引发以下异常:

    • InvalidArgumentException 如果参数不正确传递。
    • 如果某些原因导致HTTP请求失败,则为 ErrorException
    • UnexpectedValueException 如果无法解码来自Google的数据。
    • BadMethodCallException 如果你调用错误。 调用 translate(),而不是 Ghost Busters

    此外,如果没有可用的翻译,translate() 方法将返回布尔 FALSE

    免责声明

    这个软件包是为教育目的而开发的。 不要依赖这个软件包,因为它可能随时中断,因为它是基于抓取谷歌翻译网站。 考虑购买官方的谷歌翻译 API,用于其他类型的用法。

    此外,谷歌可能会禁止你的服务器IP或者需要解决CAPTCHA问题,如果你发送异常的流量。



    文章标签:API  PHP  PAC  PACK  FREE  CHAR  Google翻译  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语