在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):Stichoza/google-translate-php开源软件地址(OpenSource Url):https://github.com/Stichoza/google-translate-php开源编程语言(OpenSource Language):PHP 100.0%开源软件介绍(OpenSource Introduction):Google Translate PHPFree Google Translate API PHP Package. Translates totally free of charge. InstallationInstall this package via Composer.
Basic UsageCreate GoogleTranslate object use Stichoza\GoogleTranslate\GoogleTranslate;
$tr = new GoogleTranslate('en'); // Translates into English Or you can change languages later $tr = new GoogleTranslate(); // Translates to 'en' from auto-detected language by default
$tr->setSource('en'); // Translate from English
$tr->setSource(); // Detect language automatically
$tr->setTarget('ka'); // Translate to Georgian Translate sentences echo $tr->translate('Hello World!'); Also, you can also use method chaining echo $tr->setSource('en')->setTarget('ka')->translate('Goodbye'); Or call a shorthand static method echo GoogleTranslate::trans('Hello again', 'ka', 'en'); Advanced UsageLanguage DetectionTo detect language automatically, just set the source language to $tr = new GoogleTranslate('es', null); // Or simply do not pass the second parameter $tr->setSource(); // Another way Use $tr = new GoogleTranslate('fr');
$text = $tr->translate('Hello World!');
echo $tr->getLastDetectedSource(); // Output: en Return value will be Supported languages are listed in Google API docs. Using Raw ResponseFor advanced usage, you might need the raw results that Google Translate provides. you can use $responseArray = $tr->getResponse('Hello world!'); Custom URLYou can override the default Google Translate url by $tr->setUrl('http://translate.google.cn/translate_a/single'); HTTP Client ConfigurationThis package uses Guzzle for HTTP requests. You can pass an array of guzzle client configuration options as a third parameter to You can configure proxy, user-agent, default headers, connection timeout and so on using this options. $tr = new GoogleTranslate('en', 'ka', [
'timeout' => 10,
'proxy' => [
'http' => 'tcp://localhost:8125',
'https' => 'tcp://localhost:9124'
],
'headers' => [
'User-Agent' => 'Foo/5.0 Lorem Ipsum Browser'
]
]); // Set proxy to tcp://localhost:8090
$tr->setOptions(['proxy' => 'tcp://localhost:8090'])->translate('Hello');
// Set proxy to socks5://localhost:1080
$tr->setOptions(['proxy' => 'socks5://localhost:1080'])->translate('World'); For more information, see Creating a Client section in Guzzle docs (6.x version). Custom Token GeneratorYou can override the token generator class by passing a generator object as a fourth parameter of constructor or just use Generator must implement use Stichoza\GoogleTranslate\Tokens\TokenProviderInterface;
class MyTokenGenerator implements TokenProviderInterface
{
public function generateToken(string $source, string $target, string $text) : string
{
// Your code here
}
} And use: $tr->setTokenProvider(new MyTokenGenerator); Translation Client (Quality)Google Translate has a parameter named You can use Errors and Exception HandlingStatic method
In addition, Known Limitations
DisclaimerThis package is developed for educational purposes only. Do not depend on this package as it may break anytime as it is based on crawling the Google Translate website. Consider buying Official Google Translate API for other types of usage. DonationIf this package helped you reduce your time to develop something, or it solved any major problems you had, feel free give me a cup of coffee :) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论