milkycode/deepltranslator
最新稳定版本:1.1.1
Composer 安装命令:
composer require milkycode/deepltranslator
包简介
Will translate all files inside a laravel project using the DeepL API and exports it to the requested language
README 文档
README
Will translate all files inside a laravel project using the DeepL API and exports it to the requested language
Installation
Installation can be done through composer
composer require milkycode/deepltranslator
Publishing the config file
php artisan vendor:publish --provider="milkycode\Deepltranslator\DeeplTranslatorServiceProvider" --force
Add API Key to .env file or in config/deepltranslator.php
DEEPL_API_KEY=XXXXXXXXXXXXXXXXXXXXXXX
Add API mode (pro or free) to .env file or in config/deepltranslator.php
DEEPL_PRO_API=false|true
Usage
Command
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}/
Trait
The trait can be used to translate a single string to multiple languages on-the-fly
Limitations
- You can only have max 128kb per translate call including all parameters.
- In the DeepL free plan you can only translate a maximum of 500k characters per month.
- If you translate files, a maximum of 50 files per translate call, can be translated.
Examples
Translating all files
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.
Single file
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.
Trait usage
namespace App\Http\Controllers; use milkycode\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" => "Это тест" ]; */ } }
Upcoming changes
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
统计信息
- 总下载量: 28
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2025-07-25