首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel,路由的jetstream全局语言前缀

Laravel,路由的jetstream全局语言前缀
EN

Stack Overflow用户
提问于 2021-09-16 11:32:10
回答 1查看 69关注 0票数 0

是否可以为每个url设置一个全局语言前缀:目前php artisan route:list --compact给出了

代码语言:javascript
复制
+----------+----------------------------------+-..
| Method   | URI                              | Action..
+----------+----------------------------------+-..
| GET|HEAD | api/user                         | Closur..
| GET|HEAD | forgot-password                  | Laravel\Fortify\Htt...
| POST     | forgot-password                  | Lara..
| GET|HEAD | livewire/livewire.js             | Livewire\..
..
| GET|HEAD | login                            | Lara..
| GET|HEAD | sanctum/csrf-cookie              | Lar..
| POST     | two-factor-challenge             | L..
| POST     | user/confirm-password            | Lar..
| GET|HEAD | user/confirm-password            | La..
..
| POST     | user/two-factor-recovery-codes   | Lar..
+----------+----------------------------------+-..

但是我想(如果是英语和西班牙语)

代码语言:javascript
复制
+----------+----------------------------------+-..
| Method   | URI                              | Action..
+----------+----------------------------------+-..
| GET|HEAD | en/api/user                         | Closur..
| GET|HEAD | en/forgot-password                  | Laravel\Fortify\Htt...
| POST     | en/forgot-password                  | Lara..
| GET|HEAD | en/livewire/livewire.js             | Livewire\..
..
| GET|HEAD | en/login                            | Lara..
| GET|HEAD | en/sanctum/csrf-cookie              | Lar..
| POST     | en/two-factor-challenge             | L..
| POST     | en/user/confirm-password            | Lar..
| GET|HEAD | en/user/confirm-password            | La..
..
| POST     | en/user/two-factor-recovery-codes   | Lar..

     ....the same in spain:
| GET|HEAD | es/api/user                         | Closur..
| GET|HEAD | es/forgot-password                  | Laravel\Fortify\Htt...

..。相应地,哪种语言是活跃的。在web.php中,我尝试

代码语言:javascript
复制
foreach (['en', 'es'] as $k) {
    //echo (substr(url()->current(), strlen(url('/')) + 1, 2) == $k);
    Route::prefix($k)->group(function () use ($k) {
        Route::get('/', fn () => view('welcome'))->name("{$k}_home");
    });
}
Route::get('/', function () {
    return Redirect::route('es_home');
});

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-09-16 12:27:18

Route::group([ 'prefix‘=> '{locale}','where’=> ['locale‘=> 'a-zA-Z{2}'],’中间件‘=> 'setlocale']);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69207674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档