Moved interpretation logic to a separate service TranslationManager. some renaming: translation bridges -> listener bridges translator bridges -> speaker bridges When audio exited/listen only, or interpretation is inactive, interpretation-related UI elements will now be hidden. Clicking "End Interpretation" will now trigger an event that informs all connected clients to: exit all listener bridges exit all speaker bridges join floor channel reset floor/translation volume After translation is started, moderators can now use the "Open all bridges" button to connect all translator bridges at once. Fixed a bug that would cause the interpreter audio listening channel to keep opened after an interpreter has joined a speaker bridge and left again. Channel switching now only works if the channel is not already active. Added some error handling and robustness improvements