azuretran/translate

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

简化Laravel 5+中使用Microsoft翻译API版本3的过程。

8.0 2021-05-04 12:00 UTC

README

简化Laravel 5+中使用Microsoft翻译API版本3的过程。

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

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

Laravel Microsoft Translator Integration

有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' => [
    // ...
    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- 包含以下正文:表单数据

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