Fixing language setting issue. Fixes #1041

This commit is contained in:
Dessalines 2020-07-29 22:29:41 -04:00
parent f5211aab2a
commit d14bc121c0
3 changed files with 6 additions and 4 deletions

View file

@ -30,6 +30,7 @@ import {
messageToastify,
md,
setTheme,
getLanguage,
} from '../utils';
import { i18n } from '../i18next';
@ -435,7 +436,7 @@ export class Navbar extends Component<any, NavbarState> {
this.requestNotificationPermission();
this.fetchUnreads();
setTheme(data.my_user.theme, true);
i18n.changeLanguage(data.my_user.lang);
i18n.changeLanguage(getLanguage());
}
this.state.isLoggedIn = true;
}

View file

@ -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<any, UserState> {
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);
}

4
ui/src/utils.ts vendored
View file

@ -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();