laravel 多语言
multi language in laravel
在我的 laravel 项目中,我想要多种语言。我知道有一个 lang 文件夹,您可以在其中存储不同的语言模板和其他内容。
问题是 :
我的域名是:example.com
默认情况下我希望 "EN" 作为我的主要语言
我想在网站 header 中为 "FR" 语言添加一个 link,然后单击它,"FR" 将出现在 url 中,因此用户会明白他改变了语言。但我们点击 "EN",url 中没有 "EN",将显示默认域。
我会尽力回答这个问题。 Laravel 实际上提供了一种非常干净的方法来做到这一点。所以基本上你需要做 App::setLocale($locale);
来设置请求会话的默认语言环境。
从 here:
中添加一段代码以便更清晰
Route::get('welcome/{locale}', function ($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
abort(400);
}
App::setLocale($locale);
});
如果您不使用此方法,"en" 将始终使用默认回退。
现在,进入第二部分,您要将 url 更改为 "en" 的特殊性。在这种情况下,您可以只添加一个 redirect。
在我的 laravel 项目中,我想要多种语言。我知道有一个 lang 文件夹,您可以在其中存储不同的语言模板和其他内容。
问题是 :
我的域名是:example.com
默认情况下我希望 "EN" 作为我的主要语言
我想在网站 header 中为 "FR" 语言添加一个 link,然后单击它,"FR" 将出现在 url 中,因此用户会明白他改变了语言。但我们点击 "EN",url 中没有 "EN",将显示默认域。
我会尽力回答这个问题。 Laravel 实际上提供了一种非常干净的方法来做到这一点。所以基本上你需要做 App::setLocale($locale);
来设置请求会话的默认语言环境。
从 here:
中添加一段代码以便更清晰Route::get('welcome/{locale}', function ($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
abort(400);
}
App::setLocale($locale);
});
如果您不使用此方法,"en" 将始终使用默认回退。
现在,进入第二部分,您要将 url 更改为 "en" 的特殊性。在这种情况下,您可以只添加一个 redirect。