laravel - 根据DB值切换语言和翻译网址

时间:2017-09-19 06:54:16

标签: php laravel-5

我正在使用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?

提前致谢

0 个答案:

没有答案