This is currently not possible without a page reload.
The web client performs a call on startup that pulls in the translation map for this session. The key for this session-specific language is also used to request further assets such as forms (which have been generated using i18n/l10n values).
Theoretically it should be trivial to allow language switches inside an existing session, but this would generate inconsistency in the application history (the 'go back' button, which currently presents you with your previous form sans modifications) and would also introduce new problems for handling Arabic and Hebrew language variations (which are rendered right-to-left) .
I'd suggest filing a feature request in MXDN as this is a non-trivial modification.
Adding my vote to this feature request.
is there already some update on the language switcher?