我已将默认网站在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');
}
});