Да, конечно, у вас мало подходов к переводу.
Если вы хотите сохранить данные перевода проекта в своей базе данных, вы должны создать сущности для перевода данных, и после этого вы можете использовать глобальный фильтр SQL для выбора.данные каждого языка.
И вы можете прочитать о Symfony Translation Component.
Для изменения языка проекта вы можете написать слушатель.
вот так
public function onKernelRequest(GetResponseEvent $event)
{
/** Set language parameter*/
$lang = $event->getRequest()->query->get('lang', 'en'); //this is optional you can write another code for getting language.
$event->getRequest()->setLocale($lang);
}
Этот пример, если вы хотите установить каждый язык запроса.Прочитайте документацию по компонентам перевода Symfony, есть и другие полезные вещи.