我对路线有一些疑问。
在我的应用中,我已经为相同的页面(例如,例如)
“ domain.com/en/giveaway”
“ domain.com/es/sorteo”
我的lang.routes文件就像
lang.en.routes
return [
'giveaway' => 'giveaway'
]
lang.es.routes
return [
'giveaway' => 'sorteo'
]
我的路线也一样
$l = app()->getLocale();
$lang = [
'giveaway' => __('routes.giveaway', [], $l),
];
Route::group(['prefix' => $locale], function () use ($lang) {
Route::get($lang['giveaway'], "Auth\GiveawayController@index")->name('giveaway');
});
这将在我的刀片上正常工作。当我打电话
route('giveaway')
//if app Locale is en returns domain.com/en/giveaway
//if app Locale is es returns domain.com/es/sorteo
这里没问题。
但是我的问题是
我如何显示Google备用hreflang?
在启用应用语言环境后,如何访问domain.com/es/sorteo网址?
有什么主意吗?
我想像
<link rel="alternate" hreflang="en"
href="{{route(Request::route()->getName())->getLocalized('en')}}"/>
<link rel="alternate" hreflang="es"
href="{{route(Request::route()->getName())->getLocalized('es')}}"/>
答案 0 :(得分:1)
很抱歉,您之前的评论是我误解了这个问题。尝试这样的事情:
创建一个帮助文件并自动加载到composer.json中,该文件包含以下内容:
if(!function_exists("localroute")){
function localroute($name, $locale){
$old_locale = app()->getLocale();
app()->setlocale($locale);
$route = route($name);
app()->setlocale($old_locale);
return $route;
}
}
然后只需调用localroute("giveaway")
。