Will translate all files inside a laravel project using the DeepL API and exports it to the requested language
Installation can be done through composer
composer require alessiodh/deepltranslator
Publishing the config file
php artisan vendor:publish --provider="Alessiodh\Deepltranslator\DeeplTranslatorServiceProvider"
php artisan deepl:translate {from} {to} {--filename} {--json}
Option | Description | Required |
---|---|---|
from | The from language where the translations will be taken from | Yes |
to | The language you want to translate to | Yes |
filename | In case you want to translate a single file this option can be set | No |
json | In case this flag is set , it will search for json translation files instead of PHP | No |
The from language files will be retrieved inside /lang/{from}/
The trait can be used to translate a single string to multiple languages on-the-fly
php artisan deepl:translate en nl
This command will translate all php files inside the /lang/en
directory. If the map nl
is not existing, it will create it and put all translations according to the files retrieved from the from
language.
php artisan deepl:translate en nl --filename=auth.php
This will do exactly the same as translating all files but instead will only take 1 file inconsideration.
namespace App\Http\Controllers;
use Alessiodh\Deepltranslator\Traits\DeepltranslatorTrait;
class MyTestController extends Controller
{
use DeepltranslatorTrait;
public function home(){
$translated = $this->translateString('This is a test', 'en', ['fr','nl','ru']);
/*
$translated = [
"fr" => "Il s'agit d'un test",
"nl" => "Dit is een test",
"ru" => "Это тест"
];
*/
}
}
Currently not all options that Laravel supports are supported inside this package. Following options will be added soon:
- Pluralization inside translation file
- Numeric if statements inside the translation
- Database translations
- JSON files as translation files instead of PHP