syed-sohail9t5 / laravel-auto-translate
使用谷歌翻译自动翻译您的语言文件
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2022-11-11 11:07:12 UTC
README
使用此包,您可以使用翻译服务翻译您的语言文件。该包附带免费谷歌翻译版本、谷歌翻译API和DeepL。
指定源语言和目标语言,它将自动翻译您的文件。如果您想快速原型或只是对翻译有一个初步的想法以便稍后编辑,这很有用。该包附带两个 artisan 命令。一个用于翻译在源语言中设置但未在目标语言中设置的所有缺失翻译。另一个用于翻译所有源语言文件并覆盖目标语言中的所有内容。
安装
此包可用于 Laravel 7 或更高版本,需要 PHP 7.2 或更高版本。
您可以通过 composer 安装此包
composer require Sohail9t5/laravel-auto-translate
配置
安装后发布配置文件
php artisan vendor:publish --provider="Sohail9t5\AutoTranslate\AutoTranslateServiceProvider"
您可以在其中指定源语言、目标语言(复数)、翻译器和语言文件的路径。
翻译器
名称 | 免费 | 文件 | 文档 | 支持的语言 |
---|---|---|---|---|
谷歌翻译HTTP | 是 | Sohail9t5\AutoTranslate\Translators\SimpleGoogleTranslator | / | 超过100种 |
谷歌云翻译 | 否 | Sohail9t5\AutoTranslate\Translators\GoogleCloudTranslator | 文档 | 超过100种 |
DeepL API v2 | 否 | Sohail9t5\AutoTranslate\Translators\DeeplTranslator | 文档 | EN, DE, FR, ES, PT, IT, NL, PL, RU |
如果您有很多翻译要做,我推荐使用谷歌云翻译或DeepL。它们速度快、可靠,您不会遇到任何速率限制。
用法
缺失的翻译
只需调用 artisan missing 命令来翻译在您的源语言中设置但在目标语言中未设置的所有翻译。
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 missing 命令将翻译缺失的 auth.throttle
键。
所有翻译
要覆盖所有现有的目标语言键,用源语言中的翻译替换,只需调用
php artisan autotrans:all
这将用等效源语言键的翻译覆盖每个键。
参数
有时您有如下翻译
'welcome' => 'Welcome, :name',
它们可以被变量替换。当我们将这些占位符传递给翻译服务时,可能会发生奇怪的事情。有时占位符会以大写字母返回,或者已经被翻译。幸运的是,该包会尊重您的变量占位符,因此翻译后它们将保持不变。
扩展
您可以通过创建一个实现 \Sohail9t5\AutoTranslate\Translators\TranslatorInterface
的类来创建自己的翻译器。只需在您的配置文件中引用它即可。
测试
composer test
更新日志
请参阅 更新日志 了解最近有哪些变化。
贡献
请参阅 贡献指南 了解详细信息。
安全
如果您发现任何安全问题,请通过电子邮件 sohail.haider@socialbletech.com.au 联系我们,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。