Download the PHP package penobit/google-translate-php without Composer
On this page you can find all versions of the php package penobit/google-translate-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download penobit/google-translate-php
More information about penobit/google-translate-php
Files in penobit/google-translate-php
Package google-translate-php
Short Description Free Google Translate API PHP Package
License MIT
Homepage http://github.com/Penobit/google-translate-php
Informations about the package google-translate-php
Google Translate PHP
Free Google Translate API PHP Package. Translates totally free of charge.
- Installation
- Basic Usage
- Advanced Usage
- Language Detection
- Using Raw Response
- Custom URL
- HTTP Client Configuration
- Custom Token Generator
- Errors and Exception Handling
- Known Limitations
- Disclaimer
- Donation
Installation
Install this package via Composer.
Note: PHP 7.1 or later is required.
Basic Usage
Create GoogleTranslate object
Or you can change languages later
Translate sentences
Also, you can also use method chaining
Or call a shorthand static method trans
Advanced Usage
Language Detection
To detect language automatically, just set the source language to null
:
Use getLastDetectedSource()
to get detected language:
Return value will be null
if the language couldn't be detected.
Supported languages are listed in Google API docs.
Using Raw Response
For advanced usage, you might need the raw results that Google Translate provides. you can use getResponse
method for that.
Custom URL
You can override the default Google Translate url by setUrl
method. Useful for some countries
HTTP Client Configuration
This package uses Guzzle for HTTP requests. You can pass an array of guzzle client configuration options as a third parameter to GoogleTranslate
constructor, or just use setOptions
method.
You can configure proxy, user-agent, default headers, connection timeout and so on using this options.
For more information, see Creating a Client section in Guzzle docs (6.x version).
Custom Token Generator
You can override the token generator class by passing a generator object as a fourth parameter of constructor or just use setTokenProvider
method.
Generator must implement Penobit\GoogleTranslate\Tokens\TokenProviderInterface
.
And use:
Errors and Exception Handling
Static method trans()
and non-static translate()
and getResponse()
will throw following Exceptions:
ErrorException
If the HTTP request fails for some reason.UnexpectedValueException
If data received from Google cannot be decoded.
In addition, translate()
and trans()
methods will return null
if there is no translation available.
Known Limitations
503 Service Unavailable
response: If you are getting this error, it is most likely that Google has banned your external IP address and/or requires you to solve a CAPTCHA. This is not a bug in this package. Google has become stricter, and it seems like they keep lowering the number of allowed requests per IP per a certain amount of time. Try sending less requests to stay under the radar, or change your IP frequently (for example using proxies). Please note that once an IP is banned, even if it's only temporary, the ban can last from a few minutes to more than 12-24 hours, as each case is different.429 Too Many Requests
response: This error is basically the same as explained above.413 Request Entity Too Large
response: This error means that your input string is too long. Google only allows a maximum of 5000 characters to be translated at once. If you want to translate a longer text, you can split it to shorter parts, and translate them one-by-one.403 Forbidden
response: This is not an issue with this package. Google Translate itself has some problems when it comes to translating some characters and HTML entities.
Disclaimer
This 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.
All versions of google-translate-php with dependencies
guzzlehttp/guzzle Version ~6.0|~7.0
ext-json Version *
ext-mbstring Version *