我正在使用laravel 5.3 并在标题中创建链接以切换语言,如下所示
<a class="nav-link" href="{{ str_replace(env('REDIRECT').'/'.$locale,
$locale == 'en' ? env('REDIRECT').'/ar' : env('REDIRECT').'/en',
\URL::full()) }}">
<i class="fa fa-globe i.con-lang" aria-hidden="true"></i>
<span class="language-text">{{ $locale == 'en' ? 'ع' :
'en' }}</span>
</a>
,URL从数据库生成,如
http://localhost/example/public/en/service/mobile-app-development
请注意[(service)=&gt;我从DB获得它的翻译
mobile-app-development => translated from DB also
]
另一种语言(阿拉伯语)的替代网址是:
http://localhost/example/public/ar/تطبيقات-الموبايل/الخدمة
和我的路线一样
Route::get(getSlugByKey('service').'/{service_slug}',
'HomeController@service')->name('service');
这样getSlugByKey是获取给定键的翻译单词的方法 例如:
for 'en' getSlugByKey('service') => 'Service'
for 'ar' getSlugByKey('service') => 'الخدمة'
如果我用英语浏览我的网站,当我在Mobile-App页面时,URL是
http://localhost/example/public/en/service/mobile-app-development
当我点击按钮更改语言时,它将返回404页面
如何切换语言并同时获取翻译的URL?
提前致谢