coliving / laravel-autotranslate
A Laravel package to automatically translate the application's language files into a chosen language using DeepL.
Requires
- php: ^8.1 || ^8.3
- deeplcom/deepl-php: ^1.2
- illuminate/contracts: ^9.0|^10.0|^11.0
- spatie/laravel-package-tools: ^1.13.0
- symfony/http-client: ^7.1
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0|^7.0|^8.0
- orchestra/testbench: ^7.0|^8.0
- pestphp/pest: ^1.21|^2.0
- pestphp/pest-plugin-laravel: ^1.1|^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5|^10.0
- spatie/laravel-ray: ^1.36
This package is not auto-updated.
Last update: 2024-11-08 07:31:10 UTC
README
A Laravel package to automatically translate the application's JSON language files into a chosen language using DeepL. This is folks from bernskioldmedia/laravel-autotranslate package to supports Laravel 11.
Installation
You can install the package via composer:
composer require coliving/laravel-autotranslate
You can install the package using the installation command:
php artisan autotranslate:install
You can publish the config file with:
php artisan vendor:publish --tag="laravel-autotranslate-config"
This is the contents of the published config file:
return [ /** * The source language that your application language is in before translation. */ 'source_language' => 'en', /** * This is your DeepL API key. */ 'api_key' => env('AUTOTRANSLATE_DEEPL_KEY'), /** * DeepL supports settings for each language to translate to. * These are the default settings that will be applied * unless you override it for a specific language below. * * See the DeepL PHP SDK for more information: https://github.com/DeepLcom/deepl-php */ 'options' => [ // Choose the formality of the text. // This setting is only available for certain languages: https://github.com/DeepLcom/deepl-php#listing-available-languages // Available options: 'less', 'more', 'default', 'prefer_less', 'prefer_more' 'formality' => 'default', // Specify how input text should be split into sentences. // Available options: 'on', (default) 'off', 'nonewlines' 'split_sentences' => 'on', // Controls automatic-formatting-correction. // Set to true to prevent automatic-correction of formatting. 'preserve_formatting' => false, // Type of tags to parse before translation. // Available options: 'html', 'xml' 'tag_handling' => 'html', // The ID of the DeepL glossary to use. 'glossary' => null, ], 'language_options' => [ // 'de' => [ // 'formality' => 'less', // ], ], ];
Usage
To translate your application's language files, you can use the autotranslate:translate
command:
php artisan autotranslate:translate sv
The language parameter is required, and should correspond to the language path within your application's languages folder.
Automatically exporting strings
If you want to automatically export strings from your application to the language files, you can use the Translatable String Exporter for Laravel package.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.