写了一个 url slug 的轮子,支持中文翻译

这两天恰好为 laravist 社区实现这个功能,就认真造了个轮子。

Github 地址: https://github.com/JellyBool/translug

Translug

来源于 translate 和 slug 这两个词的组合,目的是实现文章和帖子中文标题也可以使用 slug 类型的 url 。

安装

这是一个标准的 Composer 的包,你可以直接通过下面的命令行来安装:

composer require jellybool/translug

或者在你的 composer.json 文件中添加:

"jellybool/translug" : "~1.0"

然后执行 composer update

初始化

在 Translug 中,翻译的功能是直接使用有道翻译 API ,你首先需要在这里注册你的网站或者 App:

http://fanyi.youdao.com/openapi?path=data-...

不用担心,非常简单! 有道翻译的免费接口限制为每小时最多 1000 次请求,如果需要更多 API 调用,请联系有道官方。

注册之后,你会拿到两个关键的信息:

1. api key
2. key from

1.Laravel 中使用

1.1 配置
默认情况在,在 laravel 项目中的 config/services.php 中添加:

  'stripe' => [
        'model' => App\User::class,
        'key' => env('STRIPE_KEY'),
        'secret' => env('STRIPE_SECRET'),
    ],
   // 下面是你添加的内容
  'youdao' => [
        'key' => env('YOUDAO_API_KEY'),
        'from' => env('YOUDAO_KEY_FROM'),
    ],

当然,你还需要在 .env 文件中添加:

YOUDAO_API_KEY=your_key
YOUDAO_KEY_FROM=your_from

config/app.php 中,添加 provideraliases :

 //provider
 \JellyBool\Translug\TranslugServiceProvider::class,

// aliases
'Translug' => \JellyBool\Translug\TranslugFacade::class,

1.2 使用

app('translug')->translate('如何安装 Laravel'); // or Translug::translate('如何安装 Laravel');
//How to install the Laravel

app('translug')->translug('如何安装 Laravel'); // or Translug::translug('如何安装 Laravel');
//how-to-install-the-laravel

//或者你只想要 slug 的话

translug('如何安装 Laravel');
//how-to-install-the-laravel

translug('怎么理解 laravel 关联模型');
//how-to-understand-the-laravel-associated-model

//針對繁體,翻譯會有一點不一樣
translug('怎麼理解 laravel 關聯模型');
//how-to-understand-the-laravel-correlation-model

2.在普通的项目使用

2.1 设置 api key 和 from

use JellyBool\Translug\Translug;

$translug = new Translug(['keyfrom'=>'your_key_from','key'=>'your_api_key']);
// 或者也可以这样
$translug = new Translug();
$translug->setConfig(['keyfrom'=>'your_key_from','key'=>'your_api_key']);

2.2 使用

$translug->translate('如何安装 Laravel');
//How to install the Laravel

$translug->translug('如何安装 Laravel');
//how-to-install-the-laravel

个人觉得这个翻译的效果还行吧,有需要的可以看看。

本帖已被设为精华帖!
本帖由系统于 5年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8

为啥不Google,我觉得Google翻译的正确率更高一点吧

7年前 评论

@ycrao 额。总有大山要翻越

7年前 评论

很棒!想法很好。发的文章如果一天不多的话,够用了 :smile:

7年前 评论
lijinma

有意思。

7年前 评论

slug 这个还是比较适合英文的吧,我刚学的时候自己写了个转换成拼音的包。。。后来发现太二了

7年前 评论

试了半天 才知道 slug只能英文 中文返回空字符串

赞一个

7年前 评论

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