En fait, tu peux gérer ça sans modifier le code de Thelia. Il te faut créer un petit module (ou enrichir le module TemplateSwitcher), dans lequel un EventListener va s'abonner à l'évènement KernelEvents::CONTROLLER. Dans la méthode qui est traite l'évènement, tu récupères la langue courante dans la session, et tu changes le template en fonction de cette langue :
public function controllerListener(FilterControllerEvent $event, $eventName, EventDispatcherInterface $dispatcher)
{
/** @var Session $session */
$session = $event->getRequest()->getSession();
$lang = $session->getLang();
// Calculer le nom du template en fonction de la langue
$nomDuTemplate = ... ;
// Changer le template :)
$dispatcher()->dispatch(
TemplateSwitcherEvent::SWITCH_TEMPLATE_EVENT,
new TemplateSwitcherEvent($nomDuTemplate)
);
}