本地化路由和页面转跳怎么处理?
文档代码
use Illuminate\Support\Facades\App;
Route::get('/greeting/{locale}', function ($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
abort(400);
}
App::setLocale($locale);
//
});
那么问题来了
假如目前有1000个路由含有本地化,那么相互转跳是不是route()
的参数里面都必须携带locale
,
如果页面的js
需要生成网址是不是只能以拼接的形式?
- 如何给
locale
设置默认值呢?让每次生成路由链接不用每次都传locale
js
中如何简洁的生成路由链接(含有多个参数)?
可以把locale放在路由前面设置为可选参数,然后使用中间接来设置,大部分网站也是这样的,比如xxx.com/zh/index.html