In fact it is quite hard to implement translation change in the current code, because we need to refresh UI.
Current refresh methods are creating new widgets, which is not working well.
So we need to :
Clean up the code to handle refresh with a non destructive way.
Override retranslateUI methods to add our own custom strings.
In the meantime, here is the implementation of a dynamic switch language capability :
Refactor the language translator setup in core.app in a switch_language method :
Yeah I agree that after refactoring the network, our effort should focus on enhancing the life cycle of the Widgets.
I agree with your proposal in the meantime.
Ok so this is working. But at the moment, I can't find a way to go back to the "source language" dynamicaly. So the dynamic switch works from en_GB to fr_FR but not fr_FR to en_GB.