基于 Laravel,Lumen 框架集成百度翻译,有道翻译,Google 翻译的 Composer package

Translate for laravel5.* or lumen

github


Installing

  • 非laravel 移步https://github.com/ShaoZeMing/translate
$ composer require shaozeming/laravel-translate -v

Laravel

// config/app.php

    'providers' => [
        //...
        ShaoZeMing\LaravelTranslate\TranslateServiceProvider::class,    //This is default in laravel 5.5
    ],

And publish the config file:

$ php artisan vendor:publish --provider=ShaoZeMing\\LaravelTranslate\\TranslateServiceProvider

if you want to use facade mode, you can register a facade name what you want to use, for example translate:

// config/app.php

    'aliases' => [
        'Translate' => ShaoZeMing\LaravelTranslate\Facade\Translate::class,   //This is default in laravel 5.5
    ],

lumen

  • 在 bootstrap/app.php 中 82 行左右:
    $app->register( ShaoZeMing\LaravelTranslate\TranslateServiceProvider::class);

    vendor/ShaoZeMing/laravel-translate/config/translate.php 拷贝到项目根目录/config目录下,并将文件名改成translate.php

configuration

// config/translate.php

     //使用什么翻译驱动
       // 目前支持这几种: "baidu", "youdao","google"
       /*
        *  默认使用google  google使用的是免费接口爬取,目前能用,为了确保稳定,请配置一个备用服务,
        */
       'defaults' => [
           'driver' => 'google',   //默认使用google翻译
           'spare_driver' => 'baidu',  // 备用翻译api ,第一个翻译失败情况下,调用备用翻译服务,填写备用翻译api 需要在下面对应的drivers中配置你参数
           'from' => 'zh',   //原文本语言类型 ,目前支持:auto【自动检测】,en【英语】,zh【中文】,jp【日语】,ko【韩语】,fr【法语】,ru【俄文】,pt【西班牙】
           'to' => 'en',     //翻译文本 :en【英语】,zh【中文】,jp【日语】,ko【韩语】,fr【法语】,ru【俄文】,pt【西班牙】
       ],

       'drivers' => [
           'baidu' => [
               'base_url' => 'http://api.fanyi.baidu.com/api/trans/vip/translate',
               //App id of the translation api
               'app_id' => '20180611000174972',
               //secret of the translation api
               'app_key' => 'cEXha7w4elaXO23NJ2Tt',
           ],

           'youdao' => [
               'base_url' => 'https://openapi.youdao.com/api',
               //App id of the translation api
               'app_id' => '',
               //secret of the translation api
               'app_key' => '',
           ],

           'google' => [
               'base_url' => 'http://translate.google.cn/translate_a/single',
               'app_id' => '',
               'app_key' => '',
           ],
       ],

Usage

use Translate;

//第1种
$result = Translate::translate('你知道我对你不仅仅是喜欢');
print_r($result);

Example:

// 更换翻译服务商
$result = Translate::setDriver('baidu')->translate('你知道我对你不仅仅是喜欢');
print_r($result);

// 更换翻译语言 可选语言请看配置文件中可定义的几种
$from="en";
$to="zh";
$result = Translate::setFromAndTo($from,$to)->translate('I love you.');
print_r($result);
本作品采用《CC 协议》,转载必须注明作者和本文链接
ShaoZeMing
ShaoZeMing
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4
ShaoZeMing

更新一个bug

5年前 评论

@ShaoZeMing

$ composer require shaozeming/laravel-translate -v
Using version ^1.0 for shaozeming/laravel-translate
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Dependency resolution completed in 0.001 seconds
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - shaozeming/translate v1.1 requires guzzlehttp/guzzle ~6.3 -> satisfiable by guzzlehttp/guzzle[6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.x-dev] but these conflict with your requirements or minimum-stability.
    - shaozeming/translate v1.0 requires guzzlehttp/guzzle ~6.3 -> satisfiable by guzzlehttp/guzzle[6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.x-dev] but these conflict with your requirements or minimum-stability.
    - shaozeming/laravel-translate v1.0 requires shaozeming/translate ^1.0 -> satisfiable by shaozeming/translate[v1.0, v1.1].
    - Installation request for shaozeming/laravel-translate ^1.0 -> satisfiable by shaozeming/laravel-translate[v1.0].

Installation failed, reverting ./composer.json to its original content.
5年前 评论
ShaoZeMing

@lovecn 你的其他组件对guzzlehttp/guzzle ~6.3 要求统一,

5年前 评论

这个不支持laravel7.6.x要怎么解决,忽略平台版本可以嘛?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!