It depends, for example how the current locale is stored. If use session or a route parameter then you can use a listener.
My suggestion would be here to use PHP’s Locale
class to set the locale in the listener class:
Locale::setDefault('en_US');
laminas-i18n uses per default this option.
See also my other comment on this topic: