diff --git a/ui/src/components/navbar.tsx b/ui/src/components/navbar.tsx index 2986ce7ea..6418bb222 100644 --- a/ui/src/components/navbar.tsx +++ b/ui/src/components/navbar.tsx @@ -30,6 +30,7 @@ import { messageToastify, md, setTheme, + getLanguage, } from '../utils'; import { i18n } from '../i18next'; @@ -435,7 +436,7 @@ export class Navbar extends Component { this.requestNotificationPermission(); this.fetchUnreads(); setTheme(data.my_user.theme, true); - i18n.changeLanguage(data.my_user.lang); + i18n.changeLanguage(getLanguage()); } this.state.isLoggedIn = true; } diff --git a/ui/src/components/user.tsx b/ui/src/components/user.tsx index e4d4439b1..d0dcdf55e 100644 --- a/ui/src/components/user.tsx +++ b/ui/src/components/user.tsx @@ -30,6 +30,7 @@ import { showAvatars, toast, setupTippy, + getLanguage, } from '../utils'; import { UserListing } from './user-listing'; import { SortSelect } from './sort-select'; @@ -877,7 +878,7 @@ export class User extends Component { handleUserSettingsLangChange(i: User, event: any) { i.state.userSettingsForm.lang = event.target.value; - i18n.changeLanguage(i.state.userSettingsForm.lang); + i18n.changeLanguage(getLanguage(i.state.userSettingsForm.lang)); i.setState(i.state); } diff --git a/ui/src/utils.ts b/ui/src/utils.ts index 892516bff..fa7f12978 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -350,9 +350,9 @@ export function debounce( }; } -export function getLanguage(): string { +export function getLanguage(override: string): string { let user = UserService.Instance.user; - let lang = user && user.lang ? user.lang : 'browser'; + let lang = override || (user && user.lang ? user.lang : 'browser'); if (lang == 'browser') { return getBrowserLanguage();