首页 > 解决方案 > Laravel 本地化翻译不起作用,只显示默认语言

问题描述

我正在尝试使用 laravel 构建多语言网站,但翻译存在问题。它仅显示默认语言。即使我设置了应用程序语言,laravel 继续显示默认语言

当我说app.test/ar/adminor时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

那么我该如何解决呢?任何帮助,将不胜感激。

标签: phplaravellocalization

解决方案


推荐阅读