【发布时间】:2021-11-26 20:49:56
【问题描述】:
我是 laravell 的新手,想了解如何以最佳方式在两种语言之间切换。
我的网站只使用两种语言。我想构建一个简单的语言切换器。 这是我的 HTML -> 应该显示我想要切换到的语言。不显示当前语言。
例如。如果我在 www.test.com/en 我的 html 上说
<a class="lang-switch">German</a>
所以当我点击它时,我会登陆
现在我的 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