Я наконец-то нашел решение:
На app.php я сделал пользовательский массив для местоположений:
'domains' => [
'domain_1' => [
'locales' => ['en', 'lt'],
'locale' => 'lt' // default locale for this domain
],
'domain_2' => [
'locales' => ['ru', 'en']
'locale' => 'ru',
],
];
и в маршруте поставщика услуг.
/**
* Handle app requests
*
* @param Router $router
* @param Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function map(Router $router, Request $request)
{
$locale = $this->getLocaleByDomain($request);
$requestLocale = $request->segment(1);
$options = [
'namespace' => $this->namespace
];
if (in_array($requestLocale, Config::get('app.domains')[$request->getHost()]['locales'])) {
$locale = $requestLocale;
$options = array_merge(
$options,
[
'prefix' => $locale
]
);
}
app()->setLocale($locale);
$router->group($options, function ($router) {
require app_path('Http/routes.php');
});
}
/**
* Retrieve locale by domain
*
* @param $request
* @return mixed
*/
protected function getLocaleByDomain($request)
{
$locale = Config::get('app.fallback_locale');
if (array_key_exists($request->getHost(), Config::get('app.domains'))) {
$locale = Config::get('app.domains')[$request->getHost()]['locale'];
}
return $locale;
}
routes.php файл содержит:
Так что я достиг в нескольких доменов, с несколькими языками и очень хорошим SEO URL для каждого языка. Может быть, кто-нибудь может сделать некоторые другие идеи?