rexlmanu/laravel-auto-translate

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

0.7.0 2019-09-15 08:21 UTC

This package is auto-updated.

Last update: 2024-09-16 22:02:25 UTC


README

Latest Version Build Status Quality Score

使用本包,您可以借助翻译服务翻译语言文件。本包包含免费的谷歌翻译版本、谷歌翻译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 生成的。