laravel如何切换语言

Posted

技术标签:

【中文标题】laravel如何切换语言【英文标题】:How to switch between languages in laravell 【发布时间】: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();
        
    

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于laravel如何切换语言的主要内容,如果未能解决你的问题,请参考以下文章

laravel-u-editor工具栏语言切换的方法

如何在 laravel 4 mcamara 中强制链接翻译

Laravel 5 如何从生产模式切换

Laravel:如何通过家长控制在 http 和 https 之间切换?

如何使用 Vue 在 Laravel 中切换汉堡按钮?

如何在 Laravel 中将 Vue.js 切换到生产模式?