【问题标题】:How to switch between languages in laravelllaravel如何切换语言
【发布时间】:2021-11-26 20:49:56
【问题描述】:

我是 laravell 的新手,想了解如何以最佳方式在两种语言之间切换。

我的网站只使用两种语言。我想构建一个简单的语言切换器。 这是我的 HTML -> 应该显示我想要切换到的语言。不显示当前语言。

例如。如果我在 www.test.com/en 我的 html 上说

            <a class="lang-switch">German</a>

所以当我点击它时,我会登陆

www.test.com/de

现在我的 html 应该说

                <a class="lang-switch">English</a>

这是我如何进行语言路由的。

Route::get('/{locale?}', function ($locale = null) {
    if (isset($locale) && in_array($locale, config('app.available_locales'))) {
        app()->setLocale($locale);
    }

    return view('home');
});

Route::get('/{locale?}/contact/', function ($locale = null) {

    if (isset($locale) && in_array($locale, config('app.available_locales'))) {
        app()->setLocale($locale);
    }

    return view('contact');
});

我需要这个开关才能在两个网站上工作,因为它是一个静态导航栏。

我在 app.php 文件中注册了我的语言环境

        'available_locales' => [
        'English' => 'en',
        'German' => 'de',
    ],

我创建了一个语言控制器,但我不确定如何正确实现或使用它。

    class LanguageController extends Controller
    {
      public function switchLang($lang)
        {
          if (array_key_exists($lang, Config::get('languages'))) {
             Session::put('applocale', $lang);
          }
          return Redirect::back();
        }
    }

【问题讨论】:

    标签: php laravel laravel-5 laravel-blade lang


    【解决方案1】:

    app()-&gt;setLocale("de")设置应用语言

    app()-&gt;getLocale()获取应用语言

    您可能需要查看 laravel 文档以获取详细说明

    https://laravel.com/docs/8.x/localization

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-13
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多