Backend: Add preferred language switcher when login/signup
Related issue link: #367626 (closed)
Related frontend MR: !102509 (merged)
-
Database migration MR: !102612 (merged) -
Add i18n support to default brand title !102362 (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 withpreferred_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
).
The unlogged-in user changed the preferred language
Display in the user preferred language (zh_CN
).
The unlogged-in user filled register form
Display in the user preferred language (zh_CN
).
Welcome page after login
Display in the user preferred language (zh_CN
).
And the user's preferred_language
is zh_CN
/cc JH EM @prajnamas