syed-sohail9t5/laravel-auto-translate

此包已被废弃,不再维护。未建议替代包。

使用谷歌翻译自动翻译您的语言文件

dev-master 2022-11-11 04:24 UTC

This package is auto-updated.

Last update: 2022-11-11 11:07:12 UTC


README

68747470733a2f2f692e6962622e636f2f356868635053482f646566696c652d64652d6d6f64652d312e706e67

Latest Version Build Status Quality Score

使用此包,您可以使用翻译服务翻译您的语言文件。该包附带免费谷歌翻译版本、谷歌翻译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 包模板 生成的。