Например так:
При входе на главный домен идет определение языка в посреднике (middleware):
по субдомену → или по GET запросу → или по кукам → или по сессии → или по IP → или по HTTP заголовку → или дефолтный
По этому значению посредник идет в БД и смотрит — есть ли такой язык в системе, и ставит значение например в куку/сессию и/или редиректит на поддомен с нужной локацией, далее выводит уже локализированный контент