Language switch in panel with multiple browser tabs/windows

If an user opens two instances of the panel in multiple tabs or windows and switches the language in one of them, the language change gets applied to the other tabs of the browser session. The new language is not shown in these tabs without a reload, but changed content will get saved with the new language overwriting the old one. This leads to content loss when working with multiple tabs.

The problem is: When translating content, opening multiple tabs and switching around languages in one of them is a very obvious thing to do. this creates quite a lot confusion and frustration among the editors.

Is there any way to prevent this or warn the users when switching languages? Maybe warn the user, if the language shown in the client does not longer match the session language before saving content?

I don’t have a solution but I have an idea that I’ve been having in my mind for a while.

When switching language this appear in the url:

/panel/pages/om-oss/edit?language=sv

When clicking around the ?language=sv disapear. I would like it to remain there. It would be nice to have the url reflect the language that is active.

That’s probably a bug for the panel (unexpected but sensible use leading to data loss). Could you file it as an issue on GitHub?

The Panel might be relying on the language session variable when saving a page, instead of putting that information in the HTML page and sending as a POST parameter, or something like that.

I created an issue here: https://github.com/getkirby/panel/issues/824