alessiodh/deepltranslator

使用DeepL API翻译laravel项目中的所有文件,并将其导出到指定的语言

v1.0.3 2021-06-20 08:41 UTC

This package is auto-updated.

Last update: 2024-09-13 20:00:58 UTC


README

使用DeepL API翻译laravel项目中的所有文件,并将其导出到指定的语言

安装

可以通过composer安装

composer require alessiodh/deepltranslator

发布配置文件

php artisan vendor:publish --provider="Alessiodh\Deepltranslator\DeeplTranslatorServiceProvider"

用法

命令

php artisan deepl:translate {源语言} {目标语言} {--filename} {--json}

源语言文件将被检索到 /lang/{源语言}/

特性

特性可用于即时将单个字符串翻译成多种语言

示例

翻译所有文件

php artisan deepl:translate en nl

此命令将翻译 /lang/en 目录中的所有PHP文件。如果映射 nl 不存在,它将创建它,并将所有翻译根据从 源语言 检索到的文件进行放置。

单个文件

php artisan deepl:translate en nl --filename=auth.php

这将与翻译所有文件完全相同,但只会考虑一个文件。

特性使用

namespace App\Http\Controllers;

use Alessiodh\Deepltranslator\Traits\DeepltranslatorTrait;

class MyTestController extends Controller
{
    use DeepltranslatorTrait;

    public function home(){
        $translated = $this->translateString('This is a test', 'en', ['fr','nl','ru']);

        /*
            $translated = [
              "fr" => "Il s'agit d'un test",
              "nl" => "Dit is een test",
              "ru" => "Это тест"
            ];
        */
    }
}

即将到来的更改

目前,此包不支持Laravel支持的所有选项。以下选项将很快添加:

  • 翻译文件中的复数形式
  • 翻译中的数字if语句
  • 数据库翻译
  • 使用JSON文件作为翻译文件而不是PHP