MODX 3 - Manager Language

Hi, a question about the Manager Language.

I don’t want to work in a German Manager by default, because most documents and this forum are in English and therefore I would prefer a system setting like in MODX 2. If this is no longer possible, at least the manager should keep my last selected language? I can override the detected language in the user settings. Unfortunately, the manager doesn’t keep it. Or have I missed something?

MODX 3.0.2
Linux Manjaro and Mozilla Firefox 107

Try the cultureKey System Setting. There is some more info on this here.

Hi Bob, thanks for your reply. This doesn’t work, the cultureKey in the system setting is for the frontpage. I tried it with “en” and then only the buttons on the frontpage are in english. A different language can only be selected at the bottom of the login screen, but it will not remember this setting. Unfortunately the link is not helpful for me, it says: “In MODX 3, this setting has been removed, and the manager language is instead stored in the users’ session.” I simply do not understand why this is not saved.

Does this help you?

When visiting the manager, it will automatically select the most likely desirable language based on the browser language.

1 Like

Good idea, the manager will then be displayed in English and I will try it this way. I set Choose the languages used to display menus, messages, and notifications from Firefox to German and Choose your preferred language for displaying pages to English.

Sounds promising. You could also use two different browsers to view different things.

It’s not a solution, but it’s a useful workaround for me.

You should be able to change that in the manager: Manager Language - Upgrading from 2.x to 3.0 | MODX Documentation

yes, of course, but not remember at the next login.

Maybe you can create a custom plugin that runs on the event “OnManagerLogin” and sets the correct language.
Something like this may work:

$eventName = $modx->event->name;
switch($eventName) {
    case 'OnManagerLogin':
        $id = $user->get('id');
        if ($id == 1){ // user has ID = 1
            $_SESSION['manager_language'] = 'en';

This is perfectly for me and works with any browser, THANKS!

This topic was automatically closed 2 days after discussion ended and a solution was marked. New replies are no longer allowed. You can open a new topic by clicking the link icon below the original post or solution and selecting “+ New Topic”.