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