TranslatableListener heavy refactoring

I think it should be `$locale` and `$this->locale = $locale;` to be clear