ben182 / laravel-auto-translate
使用Google翻译自动翻译您的语言文件
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-15 20:05:21 UTC
README
使用此包,您可以使用翻译服务翻译语言文件。该包附带免费版Google翻译、Google翻译API和Deepl。
指定源语言和目标语言,它将自动翻译您的文件。如果您想快速原型或只是对翻译有一个初步的想法以便稍后编辑,这非常有用。该包包含两个artisan命令。一个用于翻译在源语言中设置但未在目标语言中设置的所有缺失翻译。另一个用于翻译所有源语言文件并覆盖目标语言中的所有内容。
安装
此包可在Laravel 5.6或更高版本中使用,并需要PHP 7.2或更高版本。
您可以通过composer安装此包
composer require ben182/laravel-auto-translate
配置
安装后,发布配置文件
php artisan vendor:publish --provider="Ben182\AutoTranslate\AutoTranslateServiceProvider"
您可以在其中指定源语言、目标语言(们)、翻译器和语言文件的路径。
翻译器
如果您有很多翻译要做,我建议使用Google Cloud Translate或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 生成。