Задать вопрос

Как реализуется локализация по субдоменам?

Добрый всем вечер.
Поделитесь пожалуйста как реализуется локализация при помощь субдоменов?
Например для русского языка - ru.site.com, английского - en.site.com и так далее.
Не могу найти нормальную информацию. Заранее благодарен)
  • Вопрос задан
  • 230 просмотров
Подписаться 4 Простой Комментировать
Решения вопроса 1
@bkosun
Примерно так:

Для всех поддоменов устанавливается единый Document Root, а далее в приложении:

$url_array = explode('.', parse_url($request->url(), PHP_URL_HOST));
$subdomain = $url_array[0];

...

$languages = ['en','de'];
if (in_array($langcode, $languages)){
    App::setLocale($langcode);
}


Примеры:
https://kovah.me/en/laravel-5-localization-based-o...
https://github.com/LaurentEsc/Laravel-Subdomain-Lo...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksclub
@Maksclub Куратор тега Веб-разработка
maksfedorov.ru
Например так:

При входе на главный домен идет определение языка в посреднике (middleware):
по субдомену → или по GET запросу → или по кукам → или по сессии → или по IP → или по HTTP заголовку → или дефолтный

По этому значению посредник идет в БД и смотрит — есть ли такой язык в системе, и ставит значение например в куку/сессию и/или редиректит на поддомен с нужной локацией, далее выводит уже локализированный контент
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы