Laravel多语言网站和路线

时间:2016-10-12 15:51:28

标签: php laravel routes multilingual

我有一个五种语言的网站,并且每个页面都使用每种语言翻译所有网址,我将使用 Laravel 5.3 更新它。

我已按照this教程将以下多语言区域设置添加到我的项目中:

'locales' => ['de' => 'German', 'en' => 'English', 'fr' => 'French', 'it' => 'Italian', 'es' => 'Spanish']

这可能是Contact Us文件中web.php页面路由的示例:

Route::get('/kontakt', 'ContactController@index');
Route::get('/contact', 'ContactController@index');
Route::get('/contactez', 'ContactController@index');
Route::get('/contattaci', 'ContactController@index');
Route::get('/contacto', 'ContactController@index');

但如果我输入浏览器: http://localhost/myproject/en/contattacihttp://localhost/myproject/en/kontakt

我可以访问“联系人”视图,但这不应该发生,只需使用 en 区域设置联系/en/contact contattaci 与意大利语(/it/contattaci)和 kontakt 与德语(/de/kontakt)等。

有人知道为什么会发生这种情况,或者哪种方法是创建不同翻译路线的正确方法?

1 个答案:

答案 0 :(得分:0)

您可能没有指定完整的路径路径。尝试这样的事情:

// EN routes
Route::group(['prefix' => 'en'], function() {
    Route::get('contact', 'ContactController@index');
    //... other EN routes
});
// FR routes
Route::group(['prefix' => 'fr'], function() {
    Route::get('contact', 'ContactController@index');
    //... other FR routes
});

但您应该查看@ Moppo的链接,因为有更简单的方法来管理本地化路线。