ejesus / laravel-auto-translator
A Laravel package that leverages the DeepL Translation API to automatically translate all your language files based on an existing translation, making multilingual projects faster and easier to manage.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/ejesus/laravel-auto-translator
Requires
- php: ^8.3.0
- guzzlehttp/guzzle: ^7.9
- laravel/framework: ^11.31
- nunomaduro/termwind: ^2.3
Requires (Dev)
- laravel/pint: ^1.18.1
- orchestra/testbench: ^9.9
- pestphp/pest: ^3.7
- pestphp/pest-plugin-type-coverage: ^3.1
- phpstan/phpstan: ^1.12.7
README
A Laravel package that automatically translates content based on user input. This package allows users to specify a source language (--from) and a target language (--to), supporting multiple target languages by separating them with commas (e.g., pt,es). The package uses Deepl API for translation, requiring an API key to work.
Installation
- Install the package via Composer:
composer require edgar/laravel-auto-translator
- Add the API key to your
.envfile: To use Deepl API, you need to obtain an API key from Deepl (https://www.deepl.com/pro) and set it in your.envfile.
TRANSLATE_API_KEY=your_deepl_api_key
Usage
You can use the package with the following Artisan command:
php artisan translator:run --from=<source_language> --to=<target_languages>
Parameters
--from: The source language code (e.g.,enfor English,defor German).--to: The target language(s) for translation. You can specify multiple target languages by separating them with commas (e.g.,pt,esfor Portuguese and Spanish).
Example
To translate from English (en) to Portuguese (pt) and Spanish (es):
php artisan translator:run --from=en --to=pt,es
This command will automatically translate your content from English to both Portuguese and Spanish using Deepl API.
Requirements
-
Deepl API Key: You need to create an account on Deepl and generate an API key. Place the key in your
.envfile under the variableTRANSLATE_API_KEY. -
Laravel 8 or higher.
Notes
- The translation will be done based on the API capabilities of Deepl. If Deepl API has any rate limits or issues, the translation process might be delayed.
- The
--fromand--tolanguages should use standard ISO language codes (e.g.,en,es,de, etc.). - If multiple target languages are provided, the content will be translated and saved for each target language specified.
License
This package is open source and available under the MIT License.