Laravel设置了默认语言不起作用



我已将默认网站在conding/app.php中更改为(de)

'locale' => 'de',
'fallback_locale' => 'de',

但仍在" en"本地化中加载。

我尝试清除视图缓存和缓存,但没有任何更改。

我正在使用https://github.com/mcamara/laravel-localization

我只有在我使用URL时才激活DEdomainname.com/de

在不使用URL中的动态语言环境中,您似乎必须调整此软件包的配置文件:

'useAcceptLanguageHeader' => false,

来自该变量的评论:

"如果未在URL中定义的情况?如果是错误的,则使用接受语言标头协商使用App.php locale属性"

似乎让它使用该默认值您必须将其设置为false。

您可以使用其他变量:

'hideDefaultLocaleInURL' => true,

查看如何调整默认行为。

我有相同的推荐转到config

中的laravellocalization.php

和make

'useAcceptlanguageHeader'=>错误,

然后运行

php工匠配置:清除

它将起作用

尝试将__construct()函数添加到控制器。:)

public function __construct(){}

这种方式最适合我

app/Providers/AppServiceProvider.php

在boot()函数中写下这些行

session()->put('locale', 'ar');

app()->setLocale(session()->get('locale'));

//用语言AR制作默认网站。

//第一次没有任何会话。因此,我们将添加

//会话,如果不是第一次,则将语言设置为AR。

//然后,取决于您选择的语言。

//Web.php

Route::get('/', function () {
    if (Session::get('language') == 'en') {
        Session::put('language', 'en');
        App::setLocale('en');
        return redirect('main-services/1/1');
    } else {
        Session::put('language', 'ar');
        App::setLocale('ar');
        return redirect('main-services/1/1');
    }
});

最新更新