- Information about Deepl: https://www.deepl.com
- Deepl API Documentation: https://www.deepl.com/api.html
- php (See the compatibility table below for supported php versions)
- Implementations of PSR17 (Http-Factories) (Available packages) and PSR18 (Http-Client) (Available packages)
- A deepl free/pro api key
Connector-Version | PHP-Version(s) |
---|---|
master (dev) | 8.2, 8.3 |
3.x (features and bugfixes) | 7.4, 8.0, 8.1, 8.2, 8.3 |
2.x (EOL) | 7.3, 7.4, 8.0, 8.1 |
1.x (EOL) | 7.2, 7.3, 7.4 |
Via Composer
$ composer require scn/deepl-api-connector
The DeeplClientFactory
supports auto-detection of installed psr17/psr18 implementations.
Just call the create
method and you are ready to go
require_once __DIR__ . '/vendor/autoload.php';
use \Scn\DeeplApiConnector\DeeplClientFactory;
$deepl = DeeplClientFactory::create('your-api-key');
Optionally, you can provide already created instances of HttpClient, StreamFactory and RequestFactory as params to the create method.
require_once __DIR__ . '/vendor/autoload.php';
use \Scn\DeeplApiConnector\DeeplClientFactory;
$deepl = DeeplClientFactory::create(
'your-api-key',
$existingHttpClientInstance,
$existingStreamFactoryInstance,
$existingRequestFactoryInstance,
);
If a custom HTTP client implementation is to be used, this can also be done via the DeeplClientFactory::create method. The Client must support PSR18.
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$usageObject = $deepl->getUsage();
}
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$translation = new \Scn\DeeplApiConnector\Model\TranslationConfig(
'My little Test',
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE
...,
...,
);
$translationObject = $deepl->getTranslation($translation);
}
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$translation = new \Scn\DeeplApiConnector\Model\TranslationConfig(
'My little Test',
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE
);
$translationObject = $deepl->translate('some text', \Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE);
}
Optional you also can translate a batch of texts as once, see example/translate_batch.php
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$fileTranslation = new \Scn\DeeplApiConnector\Model\FileTranslationConfig(
file_get_contents('test.txt'),
'test.txt',
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_EN,
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE
);
$fileSubmission = $deepl->translateFile($fileTranslation);
$fileSubmission->getDocumentId()
}
All translation states are available in FileStatusEnum
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$fileTranslation = new \Scn\DeeplApiConnector\Model\FileTranslationConfig(
file_get_contents('test.txt'),
'test.txt',
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_EN,
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE
);
$fileSubmission = $deepl->translateFile($fileTranslation);
$translationStatus = $deepl->getFileTranslationStatus($fileSubmission);
}
require_once __DIR__ . '/vendor/autoload.php';
$deepl = \Scn\DeeplApiConnector\DeeplClientFactory::create('your-api-key');
try {
$fileTranslation = new \Scn\DeeplApiConnector\Model\FileTranslationConfig(
file_get_contents('test.txt'),
'test.txt',
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_EN,
\Scn\DeeplApiConnector\Enum\LanguageEnum::LANGUAGE_DE
);
$fileSubmission = $deepl->translateFile($fileTranslation);
$file = $deepl->getFileTranslation($fileSubmission);
echo $file->getContent();
}
See example/retrieve_supported_languages.php
$ composer test
The MIT License (MIT). Please see License File for more information.