我有一个五种语言的网站,并且每个页面都使用每种语言翻译所有网址,我将使用 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/contattaci
或http://localhost/myproject/en/kontakt
我可以访问“联系人”视图,但这不应该发生,只需使用 en 区域设置联系:/en/contact
和 contattaci 与意大利语(/it/contattaci
)和 kontakt 与德语(/de/kontakt
)等。
有人知道为什么会发生这种情况,或者哪种方法是创建不同翻译路线的正确方法?
答案 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的链接,因为有更简单的方法来管理本地化路线。