帮酷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  |  如果智培  |  酷兔英语