waithaw/deeplapitranslate

To translate languages with Deep L Translator API in Laravel

v1.0.0 2023-06-14 19:03 UTC

This package is auto-updated.

Last update: 2024-06-14 21:34:26 UTC


README

Laravel DeepL API Translation Package

GitHub issues GitHub stars GitHub forks GitHub license

To translate languages with Deep L Translator API

Easy to use Deep L API for translation in Laravel projects

Installation

Install this package via Composer.

composer require waithaw/deeplapitranslate

You can publish the config file using the following command:

php artisan vendor:publish --provider="WaiThaw\DeeplTranslate\DeeplTranslateServiceProvider"

This will create the package's config file called deepltranslate.php in the config directory. The contents of the published config file are as follows.

return [
    /*
      |-------------------------------------------------------------------------------
      | Api Key generated from Deep L account.
      |-------------------------------------------------------------------------------
      */
    'auth_key' => env('DEEPL_TRANSLATE_API_KEY'),

    /*
      |-------------------------------------------------------------------------------
      | Api Endpoint URL from Deep L account.
      |-------------------------------------------------------------------------------
      */
    'api_url' => env('DEEPL_TRANSLATE_API_ENDPOINT_URL'),
];

Usage

  • After setting up the config file values in .env, you can use translation methods.

Create DeeplTranslate object

use WaiThaw\DeeplTranslate\DeeplTranslate;

$deepl = new DeeplTranslate();

Translate

// parameters are $text, $source_language, $target_language
$translated_text = $deepl->translate('are you hungry?', 'EN', 'JA'); // Output translated text string

echo $translated_text;

Supported languages

$languages = $deepl->languages();
foreach($languages as $lang){
    echo $lang['language']."-".$lang['name'].'<br>';
}

For supported Source-languages

$source_languages = $deepl->languages('source');
foreach($source_languages as $lang){
    echo $lang['language']."-".$lang['name'].'<br>';
}

For supported Target-languages

$target_languages = $deepl->languages('target');
foreach($target_languages as $lang){
    echo $lang['language']."-".$lang['name'].'<br>';
}

Monitoring Usage

You can monitor the number of traslated characters and maximun limitations

$usage= $deepl->usage();
echo $usage['character_count'].' characters have been used. Maximum number of characters that can be translated in the current billing period are '.$usage['character_limit'];

Setting for cURL timeout

You can setup a timeout to prevent waiting in case of api unreachable

$deepl->setTimeout(10);

Security

If you discover any security related issues, please email them to waithawoocw@gmail.com instead of using the issue tracker.

License

The MIT License (MIT). Please see the License File for more information.