Skip to content

Backend: Add preferred language switcher when login/signup

Related issue link: #367626 (closed)

Related frontend MR: !102509 (merged)

What does this MR do and why?

[Backend]: Add preferred language switcher when sign/signup.

(The implementation of the front end will be in another separate MR: !102509 (merged))

Use a cookie preferred_language to record the user's preferred language.

  • Display in default language (en) when the user is not logged in
  • Display in preferred_language when the user is not logged in but set the cookie with preferred_language
  • Add a language switcher, allowing the user to switch the language of the page on the login and signup pages
  • When the user registers, set the language selected by user as the preferred_language

Default preferred language is English.

If the administrator configures Gitlab::CurrentSettings.default_preferred_language, the default preferred language is the one specified by the administrator.

Screenshots

(This MR only contains code of backend, (frontend MR)[!102509 (merged)] depends on this MR. The complete screenshot effect requires frontend code. )

The unlogged-in user's first visit

Display in default preferred language (en).

first-visit

The unlogged-in user changed the preferred language

Display in the user preferred language (zh_CN).

changed-before-login

The unlogged-in user filled register form

Display in the user preferred language (zh_CN).

register-with-changed

Welcome page after login

Display in the user preferred language (zh_CN).

And the user's preferred_language is zh_CN

welcome-page

截屏2022-11-02_16.55.33

/cc JH EM @prajnamas

Edited by Baodong

Merge request reports