Move Language Selector to Sidebar Footer

Install this theme component

This theme component relocates the header language selector down to the sidebar footer.

Why this change?

In the default Discourse layout, the header can quickly become cluttered, especially on active communities that add custom header links etc.

The language selector is fundamentally a “set it and forget it” type of setting. Users usually select their preferred language once and stick with it.

Moving it to the sidebar footer cleans up the header UI while keeping the setting easily accessible whenever needed.

Screenshot 2026-07-10 at 11.19.05

10 Likes

Oh! This was on my todo list for months now but I’ve never really gotten around to it. Great!

3 Likes

Thank you very much. Is it intended that only logged-in users have the language selection in the footer, or can this also be enabled for guests?

3 Likes

Judging by the code, it seems that one must be logged in for it to appear. But I wonder, should it use the Content localization language switcher site setting for the logic instead (@Don)?

2 Likes

Hello :waving_hand:

Thank you for your suggestion!

It was originally configured that way because guests often navigate pages where the sidebar is completely hidden by the system (such as the full-page login screen), which would have caused the language switcher to disappear entirely for them.

However, I have successfully updated the logic to enable the language selection for guests as well. To ensure a seamless user experience, I implemented a dynamic solution:

  • Both logged-in users and guests will see the language selector nicely integrated into the sidebar footer.

  • The system automatically detects that the sidebar is missing and moves the language switcher up to the header, ensuring guests never lose the ability to change the language.

  • If a user or guest manually closes the sidebar, the switcher remains hidden as intended, keeping the header clean.

4 Likes