Поскольку entities по определению должны быть очень лёгкими объектами - здесь можно рассмотреть несколько вариантов решения:
Наиболее корректным будет вариант использования Doctrine event listener'а который будет слушать событие postLoad и производить локализацию. Что именно и как локализовывать - можно решить несколькими путями:
Дать entity самой решать как это сделать и позволить event listener'у просто передавать ей объект-переводчик (Translator в случае Symfony). Чтобы понять надо ли передавать переводчик - стоит определить отдельный интерфейс, какой-нибудь TranslatableEntityInterface
Указать event listener'у что переводить, к примеру через кастомные аннотации, решение более сложное, но более гибкое
Можно дать возможность entity дёргать какой-нибудь известный и доступный ей метод из которого она будет получать объект-переводчик, к примеру это может быть какой-нибудь StaticTranslatorProvider со статическим методом getTranslator(). В целом не очень хорошая идея, но работать будет
Можно не трогать entities вообще, а запрашивать локализацию непосредственно во внешнем коде. В целом плохой вариант, но тоже возможный