reliqarts / laravel-auto-translator
Laravel 自动翻译。
v1.0.4
2024-07-15 21:26 UTC
Requires
- php: ^8.2
- deeplcom/deepl-php: ^1.5
- illuminate/support: ^8.0|^9.0|^10|^11.0
- kkomelin/laravel-translatable-string-exporter: ^1.21
- reliqarts/laravel-common: ^7.0|^8.0
- stichoza/google-translate-php: ^5.1
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.12|^9.2
- phpro/grumphp: ^2.0
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.6|^11.0
- yieldstudio/grumphp-laravel-pint: ^1.0
README
Laravel 自动翻译器,适用于 Laravel 10+
此包将扫描您的应用程序,定位所有翻译字符串键,并根据您的配置生成翻译。
功能
- 简单,易于安排 artisan 命令以生成所有翻译
- 自动语言文件生成(json)
- 易于配置,支持自定义翻译器实现
安装
通过 composer 安装
composer require reliqarts/laravel-auto-translator
配置
您可以选择发布配置文件并根据需要进行自定义。每个内置翻译器实现都有自己的配置选项。所有配置选项都在配置文件中有解释。
php artisan vendor:publish --provider="\ReliqArts\AutoTranslator\ServiceProvider"
翻译器
auto_translate_via
键允许您指定用于自动翻译的翻译器。默认情况下,这设置为 Google 的简单翻译器。任何实现 \ReliqArts\AutoTranslator\Contract\Translator
接口的服务都可以在这里使用。
内置实现
重要
对于生产用途,请考虑使用付费翻译服务。不要依赖于此包中包含的免费 Google HTTP 实现,因为它可能会随时中断。请参阅google-translate-php上的原始免责声明。
用法
Artisan 命令
该包提供了一个易于使用的命令,您可以选择按需或按计划运行。
php artisan auto-translator:translate
您可以通过传递一个或多个语言代码(以逗号分隔)来指定应翻译成哪些语言。例如。
php artisan auto-translator:translate es,de
可选的 replace-existing
标志(r
)允许您覆盖现有翻译。例如。
php artisan auto-translator:translate es,de -r
语言切换端点和中间件
该包提供了一个路由/中间件组合,允许用户切换应用程序的语言。
用法
- 将
\ReliqArts\AutoTranslator\Http\Middleware\LanguageDetector
中间件添加到您的App\Http\Kernel
类中的 web 路由组。 - 通过向
switch-language
路由发送 POST 请求来切换语言。(在配置文件中可更改名称和端点) 您可以使用选择框、一组标志等来调用此端点。UI 选择完全由您决定 😃
致谢与灵感
此包受到了 laravel-auto-translate 的启发,并得益于以下内容
完成!🍻