[FIX] Default server language not being applied (#11719)

* Fix default server language not being applied

* Always set user's language on localStorage
pull/11739/merge
Diego Sampaio 8 years ago committed by GitHub
parent f8d1a1ce23
commit 87cceb2d72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      client/startup/i18n.js
  2. 7
      packages/rocketchat-ui-login/client/login/form.js

@ -56,29 +56,25 @@ Meteor.startup(() => {
loadMomentLocale(language).then(locale => moment.locale(locale), error => console.error(error));
};
const setLanguage = language => {
currentLanguage.set(filterLanguage(language));
localStorage.setItem('userLanguage', currentLanguage.get());
const setLanguage = (language) => {
const lang = filterLanguage(language);
currentLanguage.set(lang);
localStorage.setItem('userLanguage', lang);
};
window.setLanguage = setLanguage;
window.defaultUserLanguage = () => RocketChat.settings.get('Language') || getBrowserLanguage() || 'en';
const defaultUserLanguage = () => RocketChat.settings.get('Language') || getBrowserLanguage() || 'en';
window.defaultUserLanguage = defaultUserLanguage;
Tracker.autorun(() => {
const user = RocketChat.models.Users.findOne(Meteor.userId(), { fields: { username: 1 }});
const userLanguage = user && user.language;
const defaultLanguage = userLanguage || RocketChat.settings.get('Language') || 'en';
const user = RocketChat.models.Users.findOne(Meteor.userId(), { fields: { language: 1 }});
if (!currentLanguage.get()) {
setLanguage(defaultLanguage);
}
setLanguage((user && user.language) || defaultUserLanguage());
});
if (userLanguage && userLanguage !== currentLanguage.get()) {
setLanguage(userLanguage);
Tracker.autorun(() => {
if (currentLanguage.get()) {
applyLanguage(currentLanguage.get());
}
applyLanguage(currentLanguage.get());
});
});

@ -1,4 +1,4 @@
/*globals OnePassword, device, setLanguage */
/*globals OnePassword, device */
import _ from 'underscore';
import s from 'underscore.string';
import toastr from 'toastr';
@ -133,7 +133,6 @@ Template.loginForm.events({
loginMethod = 'loginWithCrowd';
}
return Meteor[loginMethod](s.trim(formData.emailOrUsername), formData.pass, function(error) {
const user = Meteor.user();
instance.loading.set(false);
if (error != null) {
if (error.error === 'no-valid-email') {
@ -144,10 +143,6 @@ Template.loginForm.events({
return;
}
Session.set('forceLogin', false);
if (user && user.language) {
localStorage.setItem('userLanguage', user.language);
return setLanguage(Meteor.user().language);
}
});
}
}

Loading…
Cancel
Save