rexlmanu / laravel-auto-translate
使用谷歌翻译自动翻译语言文件
Requires
- php: ^7.2
- google/cloud: ^0.105.0
- illuminate/support: 5.6.* || 5.7.* || 5.8.*
- scn/deepl-api-connector: ^1.3
- stichoza/google-translate-php: ^4.0
- themsaid/laravel-langman: ^1.3
Requires (Dev)
- mockery/mockery: ^1.2
- orchestra/testbench: 3.6.* || 3.7.* || 3.8.*
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-16 22:02:25 UTC
README
使用本包,您可以借助翻译服务翻译语言文件。本包包含免费的谷歌翻译版本、谷歌翻译API和Deepl。
指定源语言和目标语言,它会自动翻译您的文件。如果您想快速原型设计或只是想得到翻译的初步想法以便稍后编辑,这将非常有用。本包包含两个 artisan 命令。一个用于翻译源语言中设置但目标语言中没有的所有缺失翻译,另一个用于翻译所有源语言文件并覆盖目标语言中的所有内容。
安装
本包可在 Laravel 5.6 或更高版本中使用,需要 PHP 7.2 或更高版本。
您可以通过 composer 安装此包
composer require ben182/laravel-auto-translate
配置
安装后发布配置文件
php artisan vendor:publish --provider="Ben182\AutoTranslate\AutoTranslateServiceProvider"
您可以在其中指定源语言、目标语言、翻译器和语言文件路径。
翻译器
如果您有很多翻译要做,我推荐谷歌云翻译或Deepl。它们速度快,可靠,您不会遇到任何速率限制。
使用方法
缺失的翻译
只需调用 artisan 缺失命令,翻译源语言中设置但目标语言中没有的所有翻译
php artisan autotrans:missing
例如,您将英语设置为源语言。源语言在 auth.php 中有翻译
<?php return [ 'failed' => 'These credentials do not match our records.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', ];
您的目标语言是德语。auth.php 文件有以下翻译
<?php return [ 'failed' => 'Diese Kombination aus Zugangsdaten wurde nicht in unserer Datenbank gefunden.', ];
artisan 缺失命令将翻译缺失的 auth.throttle
键。
所有翻译
要覆盖所有现有的目标语言键,并使用源语言的翻译替换,只需调用
php artisan autotrans:all
这将用等效源语言键的翻译覆盖每个键。
参数
有时您会有这样的翻译
'welcome' => 'Welcome, :name',
它们可以用变量替换。当我们将这些占位符传递给翻译服务时,可能会发生奇怪的事情。有时占位符以大写字母返回,或者已经被翻译。幸运的是,包将尊重您的变量占位符,因此翻译后它们将保持不变。
扩展
您可以通过创建一个实现了 \Ben182\AutoTranslate\Translators\TranslatorInterface
的类来创建自己的翻译器。只需在配置文件中引用它即可。
测试
composer test
更新日志
请参阅更新日志了解最近的变化。
贡献
请参阅贡献以获取详细信息。
安全
如果您发现任何安全问题,请通过电子邮件moin@benjaminbortels.de报告,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。请参阅许可文件获取更多信息。
Laravel 包模板
此包是用 Laravel Package Boilerplate 生成的。