Download the PHP package aw-studio/laravel-deeplable without Composer
On this page you can find all versions of the php package aw-studio/laravel-deeplable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-deeplable
Laravel Deeplable
A package for translating Laravel Models using DeepL's API. It contains a translator for the astrotomic/laravel-translatable composer package. Translators for other usecases can be written easily.
Installation
Install the package via composer:
and publish the config file:
Setup
After publishing the config/deeplable.php
you must enter your DeepL-Secret in order to use their API.
You may also configure all Models you want to translate when you run the deeplable:run
command.
Usage
You can translate your translatable models to all languages that are set in your config/translatable.php
as long as they are available on DeepL. In order to translate your models to a target language the default translation (fallback_locale
) must be available. You can use the Deeplable
trait to easily translate your model to a target language.
Imagine you have stored the default language ('en') and want to auto-generate the german translation for all translated attributes:
If you want to translate all Models to all locales, simply run the deeplable
artisan command:
You may also set an argument if you want to translate a specific language:
Translators
Translators have the purpose to bind a translatable attribute to a model. A build in example is the AstrotomicTranslator
that updates models that are translated by the astrotomic/laravel-translatable package.
Creating A Translator
A translator must extend the AwStudio\Deeplable\Translators\BaseTranslator
class which has 2 abstract methods:
Registering The Translator
A translator may be registered in a Service Provider like this:
Using The Translator
The translator can then be used like this:
Translation Strategy
Given the case that different models need different translators, a translation strategy can be specified in a service provider like this:
The correct translator can now be received like this:
All versions of laravel-deeplable with dependencies
guzzlehttp/guzzle Version ^7.3
illuminate/support Version ^8.0|^9.0|^10.0|^11.0
illuminate/console Version ^8.0|^9.0|^10.0|^11.0
illuminate/database Version ^8.0|^9.0|^10.0|^11.0