Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-40699

User Language Changes When You Login/Logout of Moodle

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      Environment Setup and Configuration

      • Moodle 2.5 thru 3.8
      • Boost theme... pretty much any theme.

      Enable French language support in Moodle

      1. If not already, log into Moodle as an Administrator
      2. Click Home > Site administration > Language > Language Packs
      3. In the right-hand list, select Français and click the Install selected language pack button.

      Configuring the language options

      1. If not already, log into Moodle as an Administrator.
      2. Click Home > Site administration > Language > Language settings.
      3. Uncheck the Language Autodetect option.
      4. Set Default Language to English.
      5. Check the Display Language Menu option.
      6. Click Save Changes at the bottom of the page.
      7. From the user menu, click Preferences > Preferred Language and ensure that it is set to English. If you had to change it, click Save Changes

      Reproducing and testing the Issue

      1. Login to Moodle.
      2. If the UI is not already in English, use the language selection menu or link (depending on your theme) - usually in the upper right corner of the page - to switch language to English and logout. Moodle should now be display it's pages in English.
      3. Switch to French language using the language selection menu. Moodle should now display its pages in French... or English depending on the URL.
      4. ISSUE #1: This is an unexpected UI behaviour. My users and testers both agree that the language of the application should never change unless the user chose to change language. However the current behaviour is consistent with the Moodle documentation as seen in the diagram found on the following page: http://docs.moodle.org/en/Language_settings. What language you actually end up in depends on whether or not lang=fr was part of the URL of the previous page. If it was, you end up logged into Moodle in French. If it wasn't, you end up logged into Moodle in English.
      5. If you ended up in Englihs, switch to French language again using the language selection menu. Moodle should now be displaying its pages in French.
      6. Click Logout (Déconnexion).
      7. ISSUE #2: Unexpectedly (to my users and testers), Moodle switched UI language again without being told to and now displays in English, the site default language, instead of in French. Once again, a proper UI/UX should not do things unexpectedly. For those crying for backwards compatibility, a solution could add a kiosk setting in Moodle which would restore the current behaviour. However, I think most people would prefer the consistent behaviour.

      Let me know if you have any questions.

      Best regards,

      Michael

      Show
      Environment Setup and Configuration Moodle 2.5 thru 3.8 Boost theme... pretty much any theme. Enable French language support in Moodle If not already, log into Moodle as an Administrator Click Home > Site administration > Language > Language Packs In the right-hand list, select Français and click the Install selected language pack button. Configuring the language options If not already, log into Moodle as an Administrator . Click Home > Site administration > Language > Language settings . Uncheck the Language Autodetect option. Set Default Language to English . Check the Display Language Menu option. Click Save Changes at the bottom of the page. From the user menu, click Preferences > Preferred Language and ensure that it is set to English . If you had to change it, click  Save Changes Reproducing and testing the Issue Login to Moodle. If the UI is not already in English, use the language selection menu or link (depending on your theme) - usually in the upper right corner of the page - to switch language to English and logout. Moodle should now be display it's pages in English. Switch to French language using the language selection menu. Moodle should now display its pages in French... or English depending on the URL. ISSUE #1: This is an unexpected UI behaviour. My users and testers both agree that the language of the application should never change unless the user chose to change language. However the current behaviour is consistent with the Moodle documentation as seen in the diagram found on the following page:  http://docs.moodle.org/en/Language_settings.  What language you actually end up in depends on whether or not lang=fr was part of the URL of the previous page. If it was, you end up logged into Moodle in French. If it wasn't, you end up logged into Moodle in English. If you ended up in Englihs, switch to French language again using the language selection menu. Moodle should now be displaying its pages in French. Click Logout (Déconnexion). ISSUE #2: Unexpectedly (to my users and testers), Moodle switched UI language again without being told to and now displays in English, the site default language, instead of in French. Once again, a proper UI/UX should not do things unexpectedly. For those crying for backwards compatibility, a solution could add a kiosk setting in Moodle which would restore the current behaviour. However, I think most people would prefer the consistent behaviour. Let me know if you have any questions. Best regards, Michael
    • Affected Branches:
      MOODLE_25_STABLE, MOODLE_35_STABLE, MOODLE_36_STABLE, MOODLE_37_STABLE, MOODLE_38_STABLE
    • Pull Master Branch:
      MDL-40699-UI-language-changes-when-logging-out-of-Moodle
    • Story Points:
      3

      Description

      ISSUE SUMMARY

      When you logout of Moodle, the site language reverts back to the default instead of being maintained when you log out. When you log in, the language may switch on you if your preferred langauge is different from the current language. This confuses users and, in cases of unilingual users, may cause them to be unable to understand the screen before them if the language changes unexpectedly. This makes it an accessibility issue for them, regardless of whether or not they have any disability.

      DESIRED OUTCOME

      When logging in or out, the UI language of the web site should be controlled by the user using the language toggle.

      PROPOSED SOLUTION

      In 2008, David Mudrák stated it well when he said "if you manually select the language at the front page, it will remain selected even after you log in, regardless your user profile, browser preferences and site default. This is the expected behaviour as manual selections should always have precedence". See https://moodle.org/mod/forum/discuss.php?d=105495 for context.

      This is the most intuitive and expected behaviour from an end user's perspective.

      Beginning with that, this is what I suggest:

      or perhaps even better, more intuitive and simpler IMHO...

      The last step, Store the language to the current session, should (optionally?) also include saving the setting to the user's profile unless you can think of a scenario where the user would actually want to set their preferred language to be different from the language of the UI.

      The only thing missing from the diagram is when a course forces the language of the UI. That should override the session language but not change it (or whatever way it currently works).

      The proposed solution above should not affect Moodle installations which are unilingual.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              michael-milette Michael Milette
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, cameron1729, David Mudrák (@mudrd8mz), Helen Foster
              Votes:
              1 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 minute
                  1m