【问题标题】:App::setLocale is setting the local with null value in Laravel 5.2App::setLocale 在 Laravel 5.2 中使用 null 值设置本地
【发布时间】:2020-07-09 10:02:15
【问题描述】:

我正在尝试在我的网站中添加翻译,但没有翻译。 我制作了下面给出的本地化控制器

class LocalizationController extends Controller {

    public function index($locale) {
        
        App::setLocale($locale);
        
        //store the locale in session so that the middleware can register it
        session()->put('locale', $locale);
        return redirect()->back();
    }

}

我还做了一个本地化中间件

本地化.php

class Localization {

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next) {
        App::setLocale(env('APP_LOCALE'));
        return $next($request);
    }

}

我在resources/langfolder 中创建了语言 en、ro、pk 等文件夹,在这些语言文件夹中,我创建了提供相应翻译的文件。例如,对于罗马尼亚语,下面给出了翻译

ro.json 文件

{
    "Hi there!": "Salut",
    "How are you doing?": "Ce mai faci?",
    "This is basic example of how you use Laravel Localizations": "Acesta este un exemplu de bază despre cum puteți utiliza localizarea pârghiei"
}

我的路线是:

Route::get('lang/{locale}', 'LocalizationController@index');

但我找不到确切的问题,为什么它没有设置我在下拉菜单中选择的语言环境?

任何帮助将不胜感激...谢谢

【问题讨论】:

  • 您不应该从中间件的会话中检索语言环境吗?目前你使用的是env(),你不应该在配置文件之外使用它。
  • @Remul 我该怎么做..我是新手..所以帮助我
  • 在你的中间件中可能有类似App::setLocale($request->session()->get('locale', config('app.locale')));的东西。
  • @Remul 如何在刀片中访问意味着我的网站内容是如何翻译的?
  • 在刀片中访问 what?您需要知道的一切都在文档here 中。

标签: laravel laravel-5 translation


【解决方案1】:

这是你可以在 Laravel 上的所有页面上实现翻译的方法

添加控制器:

class LocalizationController extends Controller {
        public function index($locale){
        session()->put('locale', $locale);
        return redirect()->back();
    }
}

在您的 web.php 上:

Route::get('/locale/{locale}', [LanguageController::class, 'index']);

在您的刀片视图(语言选择器)上:

    <a class="dropdown-item" href="/locale/en">English</a>
    <a class="dropdown-item" href="/locale/fr">French</a>

这应该可以解决问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2016-08-02
    • 1970-01-01
    • 2019-03-07
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多