我正在尝试使用laravel构建多语言网站,但是翻译存在问题。它仅显示默认语言。即使我设置了应用区域设置语言,laravel仍会显示默认语言
当我说app.test/ar/admin
或app.test/en/admin
时,路线和其他路线也可以使用,我可以到达视图,只是跨消息无法使用。.
管理刀片服务器
<div class="row">
<h1>{{trans('admin.welcome')}}</h1>
</div>
我尝试使用__('admin.welcome')
,但结果仍然相同。
应用服务提供商;
public function boot(Request $request)
{
if (!session()->has("locale")) {
session()->put("locale", $request->getPreferredLanguage(config("translatable.locales")));
}
app()->setLocale(session()->get("locale"));
}
路线服务提供商
Route::group([
'middleware' => 'web',
'namespace' => $this->namespace,
'prefix' => session()->get("locale"),
], function ($router) {...});
语言中间件
public function handle(Request $request, Closure $next)
{
if (!in_array($request->segment(1), config('translatable.locales'))) {
$segments = $request->segments();
$segments = array_prepend($segments, app()->getLocale());
return redirect()->to(implode('/', $segments));
}
return $next($request);
}
文件夹结构
--en
+admin.php
+auth.php
+pagination.php
+passwords.php
+validation.php
--ar
+admin.php
+auth.php
+pagination.php
+passwords.php
+validation.php
那么我该如何解决呢?任何帮助将不胜感激。