atran/translate

简化 Laravel 5+ 中 Microsoft Translator API 版本 3 的使用。

8.0 2021-05-04 12:00 UTC

README

简化 Laravel 5+ 中 Microsoft Translator API 版本 3 的使用。

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

  • 检测文本信息,如语言代码和脚本。请参阅 ATran@detectTextInformation。
  • 检测文本信息的列表,如语言代码和脚本。请参阅 ATran@detectTextsInformation。
  • 将文本从一种语言翻译到一种或多种语言。请参阅 ATran@translateText。
  • 生成从一种语言到另一种语言的文本转写。请参阅 ATran@transliterateTextInformation。
  • 请求可用的翻译语言,包括语言代码列表。请参阅 ATran@translationsAvailable。
  • 请求可用的转写语言,包括可用脚本列表。请参阅 ATran@transliterationAvailable。

Laravel Microsoft Translator 集成

有 3 个文件可供查看,以便了解集成的工作方式

  • config/atran.php (API 端点配置与授权密钥配置)
  • routes.php (配置 PlayWithAPIController 路由)
  • ATran\Translate\PlayWithAPIController (一个具有处理 API 端点的方法的控制器)

所需软件包

"guzzlehttp/guzzle": "^7.0.1",
"tebru/gson-php": "^0.7.3"

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

  • 1- 进入您的 Laravel 项目根目录并本地安装软件包:
composer require "atran/translate"
  • 2- 安装服务提供程序并加载配置以及路由引用:
php artisan vendor:publish
  • 3- 通过输入其索引值从列表中选择 "ATran\Translate\ATranServiceProvider" 提供程序。

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

AZURETRAN_KEY=Azure Cognitive Services API SUBSCRIPTION KEY
  • 5- 完成了!

旧版 Laravel 的安装

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

  • 1- 进入您的 Laravel 项目根目录并本地安装软件包:
composer require "atran/translate"
  • 2- 手动将 ATran 服务提供程序添加到 config/app.php 中的 providers 列表:
'providers' => [
    // ...
    ATran\Translate\\ATranServiceProvider::class,
]
  • 3- 加载配置以及路由引用:
php artisan vendor:publish --force --provider="ATran\Translate\ATranServiceProvider"
  • 4- 进入 env 文件并在底部包含:
AZURETRAN_KEY=Azure Cognitive Services API SUBSCRIPTION KEY
  • 5- 完成了!

使用 PlayWithAPIController 和 Postman 进行演示

配置

  • 代码库配置

-1 进入 PlayWithAPIController

-2 进入 detectTextInformation 和 transliterationsAvailable 的定义。

-3 检查函数

-1 包含以下头部:

Accept: application/json

2- 包含以下正文:form-data

KEY     TEXT
text    Hello

3- 响应

{
    "language": "en",
    "score": 1,
    "isTranslationSupported": true,
    "isTransliterationSupported": false,
    "alternatives": [
        {
            "language": "de",
            "score": 1,
            "isTranslationSupported": true,
            "isTransliterationSupported": false
        },
        {
            "language": "fr",
            "score": 1,
            "isTranslationSupported": true,
            "isTransliterationSupported": false
        }
    ]
}

-1 包含以下头部:

Accept: application/json

2- 响应

{
    "ar": {
        "name": "Arabic",
        "nativeName": "العربية",
        "scripts": [
            {
                "code": "Arab",
                "name": "Arabic",
                "nativeName": "العربية",
                "dir": "rtl",
                "toScripts": [
                    {
                        "code": "Latn",
                        "name": "Latin",
                        "nativeName": "اللاتينية",
                        "dir": "ltr"
                    }
                ]
            },
            {
                "code": "Latn",
                "name": "Latin",
                "nativeName": "اللاتينية",
                "dir": "ltr",
                "toScripts": [
                    {
                        "code": "Arab",
                        "name": "Arabic",
                        "nativeName": "العربية",
                        "dir": "rtl"
                    }
                ].............

使用方法

在您的 Laravel 项目控制器顶部导入 Use

use ATran;

通过以下方式访问函数

ATran::detectTextInformation($text);

可用函数

  • detectTextInformation($text)
  • detectTextsInformation($texts)
  • transliterateTextInformation($text,$language,$fromscript,$toscript)
  • translateText($text, $to)
  • transliterationsAvailable($languagecode = null)
  • translationsAvailable($languagecode = null)

关于

ATran 软件包在 The Unlicense 许可下发布。如果您有任何问题,请随时通过 hi@zakaria.website 联系。