我有一个“ EN”按钮和一个“ FR”按钮。用于切换语言。 到目前为止,我一直试图这样说:
1。
<a href='{{ route(\Illuminate\Support\Facades\Route::currentRouteName(), 'en') }}
但是我收到一个错误:ErrorException(E_ERROR) 路线[]未定义。
2。
I tried this `<li><a href='{{ Request::url() }}' id="first" class="Mytitle">EN</a></li>`
这只会为您提供当前网址
{{ url(app()->getLocale() . Request::url() ) }}
当您什么也没按下时
处理URL的正确方法是什么?
我想使用具有语言环境语言的当前网址,例如
来自
www.mydomain.com / zh / 服务
至
www.mydomain.com / fr / 服务
请记住,我在routes.php 'prefix'=>'{locale}'
答案 0 :(得分:1)
这应该可以帮助您。
在您的web.php文件中,我假设您已经将名称设置为路由。
Route::group(['prefix' => '{locale}'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
现在,在刀片视图中,应该是这样。
<a href="{{ route('your-route-name', 'en') }}">EN</a>
您用其他方式编写了它。您可以获取有关如何在刀片视图中使用route
方法的更多信息。 Documentation of route method
更新1:
如何添加网址的其他部分?
Route::group(['prefix' => '{locale}/SERVICES'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
关于页面翻译,我不知道您的应用程序在做什么。因此,我至少是可能的帮助。
是的,使用url(/en)
在一定程度上是对的。但随后,您将必须更新所有视图文件。使用route()
,您只需要更新一次web.php文件。您无需更新视图文件,因为您正在使用方法route
,而Laravel足够聪明,可以用适当的参数替换链接。
有关更多信息,请您仔细阅读routing documentation。这将使您更加了解route
与url
答案 1 :(得分:-1)
如果语言是静态的,您可以这样做:
<li><a href="/en/{{ Request::path() }}" id="first" class="Mytitle">EN</a></li>