【发布时间】:2018-09-02 11:30:40
【问题描述】:
我正在使用 Laravel 5.6 并试图找出翻译路线的最佳方法。
我使用顶级域对语言环境进行排序
mydomain.pt -> locale pt
mydomain.es -> locale es
mydomain.com -> locale en
我创建了一个中间件来处理这个
class Language
{
public function handle($request, Closure $next)
{
$url_array = explode('.', parse_url($request->url(), PHP_URL_HOST));
$top_domain = end($url_array);
if(!empty($top_domain)){
App::setLocale($top_domain);
}
}
}
这工作正常,当我切换域时,相应文件中的翻译字符串可以工作。
但是,出于 SEO 的目的,我希望能够拥有这样的链接
mydomain.pt/dynamic/perto-de-mim
mydomain.es/dynamic/cerca-de-mi
mydomain.com/dynamic/near-me
在 laravel 中获取我的路线的最佳方法是什么
Route::get('{category}/near-me/', 'ServicesController@nearMe');
要使用上面的所有示例吗?
谢谢
【问题讨论】:
-
您可以使用这样的库:github.com/mcamara/laravel-localization 来帮助您并简化一些事情。
-
如果我没记错的话,该库假定您使用的是前缀而不是像我这样的其他方法,对吗?
标签: php laravel routes localization