lumen增加多语言功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lumen增加多语言功能相关的知识,希望对你有一定的参考价值。

先增加一个中间件app/Http/Middleware/App.php

 

<?php

namespace App\\Http\\Middleware;

use Closure;

class App {

    /**
     * Handle an incoming request.
     *
     * @param  \\Illuminate\\Http\\Request  $request
     * @param  \\Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        app(‘translator‘)->setLocale($request->input(‘lang‘));

        return $next($request);
    }
}

  

然后在bootstrap/app.php里注册为全局中间件

 

$app->middleware([
    App\\Http\\Middleware\\App::class,
    // ...
]);

  

resource目录下增加lang文件夹:

技术分享

 

 

resources/lang/cn/messages.php内容实例:

<?php

return [
    ‘validation_failed‘ => ‘验证失败。‘,
];

  

代码里调用翻译:

 

use Illuminate\\Support\\Facades\\Lang;

// ...
$output = Lang::get(‘messages.validation_failed‘);

  

然后url里加上lang=cn就可以显示翻译后的内容了。

以上是关于lumen增加多语言功能的主要内容,如果未能解决你的问题,请参考以下文章

多语言系统的数据库设计

php网站中英文切换

WPF中的多语言[关闭]

Google 智能助理,支持多种语言功能!

阿里云 Aliplayer高级功能介绍:多语言

Mailchimp 多语言功能