googletran/translate

此包已被弃用且不再维护。作者建议使用 gtran/translate 包。

简化Laravel 5+中使用Google Cloud翻译API版本2的过程。

8.0 2021-05-04 11:59 UTC

README

简化Laravel 5+中使用Google Cloud翻译API版本2的过程。

通过此集成,您可以执行以下操作

  • 检测文本信息,如语言代码和脚本。请参阅GTran@detectTextInformation。
  • 将文本从一种语言翻译成另一种语言。接受字符串或连接的字符串作为翻译查询。请参阅GTran@translateText。
  • 将文本从一种语言翻译成另一种语言。接受数组作为翻译查询。请参阅GTran@translateTextWithoutConcat。
  • 请求翻译可用的语言,包括语言代码列表。请参阅GTran@translationsAvailable。

Laravel Google Cloud Translator Integration

为了了解集成的工作原理,需要查看以下3个文件

  • config/gtran.php (API端点和授权密钥的配置)
  • routes.php (配置PlayWithAPIController路由)
  • GTran\Translate\PlayWithAPIController (一个具有操作API端点的方法的控制器)

所需包

"guzzlehttp/guzzle": "^7.0.1",

Laravel 5+的安装。已在8.40上测试。

  • 1- 进入您的laravel项目根目录并本地安装此包:
composer require "gtran/translate"
  • 2- 安装服务提供者并加载配置以及路由引用:
php artisan vendor:publish
  • 3- 从列表中选择“GTran\Translate\GTranServiceProvider”提供者,通过输入其索引值。

  • 4- 进入env文件并在底部包含:

GOOGLETRAN_KEY=Google Cloud API KEY
  • 5- 完成!

旧版Laravel的安装

您可能需要更多调试才能使其工作。

  • 1- 进入您的laravel项目根目录并本地安装此包:
composer require "gtran/translate"
  • 2- 将GTran服务提供者手动添加到config/app.php中的提供者列表中:
'providers' => [
    // ...
    GTran\Translate\\GTranServiceProvider::class,
]
  • 3- 加载配置以及路由引用:
php artisan vendor:publish --force --provider="GTran\Translate\GTranServiceProvider"
  • 4- 进入env文件并在底部包含:
GOOGLETRAN_KEY=Google Cloud API KEY
  • 5- 完成!

使用PlayWithAPIController和Postman的演示

配置

  • 代码库配置

-1 进入PlayWithAPIController

-2 进入detectTextInformation和translateText的定义。

-3 检查函数

  • detectTextInformation | Postman配置到路由"http://yourwebsite.com/gdetecttext"和POST类型。

-1 包含以下头部:

Accept: application/json

2- 包含以下Body: form-data

KEY     TEXT
query    Hello

3- 响应

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "en"
        }
      ]
    ]
  }
}
  • translationsAvailable | Postman配置到路由"http://yourwebsite.com/gtranslationavailable"和POST类型。

-1 包含以下头部:

Accept: application/json

2- 包含以下Body: form-data

KEY     TEXT
model    base, P.S. you can go for nmt, Neural Machine Translation.
locale   en

3- 响应

{
  "data": {
    "languages": [
      {
        "language": "af",
        "name": "Afrikaans"
      },
      {
        "language": "sq",
        "name": "Albanian"
      },
      {
        "language": "am",
        "name": "Amharic"
      },
      {.................................

用法

在您的laravel项目控制器/特质中顶部导入使用。

use GTran;

通过访问函数

GTran::detectTextInformation($query);

可用函数

  • detectTextInformation($query,$concat = false,$concatType = false)
  • translateTextWithoutConcat($queries, $target, $source, $format, $model)
  • translateText($query,$target,$source,$format,$model,$concat = false,$concatType = false)
  • translationsAvailable($model,$locale)

关于

该GTran包是在The Unlicense许可证下发布的。如果您有任何问题,请随时通过hi@zakaria.website与我们联系。