首页 > 解决方案 > laravel 中的多语言

问题描述

在我的 laravel 项目中,我想要多种语言。我知道有一个 lang 文件夹,您可以在其中存储不同的语言模板和其他内容。
问题是:
我的域是:example.com ,
默认情况下,我希望“EN”作为我的主要语言
所以用户会明白他改变了语言。但是我们他点击“EN”,网址中没有“EN”,并且将显示默认域。

标签: laravelroutesmultilingual

解决方案


我将尝试回答这个问题。Laravel 实际上提供了一种非常干净的方法来做到这一点。所以基本上你需要App::setLocale($locale);为请求会话设置默认语言环境。

为了清楚起见,从这里添加代码片段:

Route::get('welcome/{locale}', function ($locale) {
    if (! in_array($locale, ['en', 'es', 'fr'])) {
        abort(400);
    }
    App::setLocale($locale);
});

如果您不使用此方法,“en”将始终用作默认后备。

现在,进入第二部分,您要特别更改“en”的 url。在这种情况下,您只需添加一个redirect


推荐阅读