Skip to main content
Version: 1.6.2

Default Locale

OpenPanel is fully localization-ready, but currently ships only with English (en) as the default language. Additional languages can be installed by the System Administrator from OpenAdmin → Settings → Locales, and they will become immediately available in the user interface.

If your preferred locale isn’t available yet, you can help by contributing a translation: 👉 OpenPanel Translations on GitHub


Setting the Default Locale

In OpenPanel, there are five different sources that determine which locale is applied to a user. They are checked in the following priority order:

PrioritySourceExample Path / Data
1️⃣Session (session['locale'])'fr'
2️⃣User-specific file/home/<context>/locale
3️⃣Browser best matchAccept-Language: es-ES,es;q=0.9
4️⃣Default locale file/etc/openpanel/openpanel/default_locale → e.g. de
5️⃣Hardcoded final fallback'en'

1. Session Locale

When a user visits OpenPanel, the system first checks the session for a stored locale. A session locale is created when the user logs in. For example, if the user selects 'de' (German) on the login page, that locale is set for the current session.

Note: This setting overrides all other locale sources.


2. User-Specific File

After logging in, users can change their preferred language — if the locale module and feature are enabled for them. Navigate to: OpenPanel → Account → Change Language (Docs link) - this view lists all languages installed by the Administrator. The user’s chosen locale overrides their browser settings and the system default.

The user’s preference is stored in a per-user file:

/home/<context>/locale

3. Browser Best Match

If the user hasn’t set a locale yet, OpenPanel checks the browser’s Accept-Language header. If the preferred language is installed on the server, it will be temporarily applied for that session.

*NOTE: This only affects the current session** and does not persist as a user preference. It overrides the Administrator’s default locale for that session only.

Example header:

Accept-Language: es-ES,es;q=0.9

4. Default Locale

The Administrator can set a global default locale by creating a configuration file at:

/etc/openpanel/openpanel/default_locale

For example, to set Spanish (es) as the default:

echo 'es' > /etc/openpanel/openpanel/default_locale

5. Fallback Locale

If no other locale setting is found, OpenPanel defaults to English (en), which is included by default.


Checking Which Locale Is Active

To verify which locale is being used for a user, you can temporarily enable developer mode and check the logs.

  1. Enable dev_mode:

    opencli config update dev_mode on
  2. Repeat the user action in the browser.

  3. Tail the logs:

    docker logs -f openpanel

Look for log lines similar to:

APP - Using locale..