|
|
|
|
@ -10,7 +10,7 @@ Meteor.startup -> |
|
|
|
|
window.lastMessageWindow = {} |
|
|
|
|
window.lastMessageWindowHistory = {} |
|
|
|
|
|
|
|
|
|
@defaultUserLanguage = -> |
|
|
|
|
@defaultAppLanguage = -> |
|
|
|
|
lng = window.navigator.userLanguage || window.navigator.language || 'en' |
|
|
|
|
# Fix browsers having all-lowercase language settings eg. pt-br, en-us |
|
|
|
|
re = /([a-z]{2}-)([a-z]{2})/ |
|
|
|
|
@ -18,6 +18,9 @@ Meteor.startup -> |
|
|
|
|
lng = lng.replace re, (match, parts...) -> return parts[0] + parts[1].toUpperCase() |
|
|
|
|
return lng |
|
|
|
|
|
|
|
|
|
@defaultUserLanguage = -> |
|
|
|
|
return RocketChat.settings.get('Language') || defaultAppLanguage() |
|
|
|
|
|
|
|
|
|
loadedLaguages = [] |
|
|
|
|
|
|
|
|
|
setLanguage = (language) -> |
|
|
|
|
@ -35,17 +38,14 @@ Meteor.startup -> |
|
|
|
|
Function(localeFn)() |
|
|
|
|
moment.locale(language) |
|
|
|
|
|
|
|
|
|
Tracker.autorun (c) -> |
|
|
|
|
if Meteor.user()?.language? |
|
|
|
|
c.stop() |
|
|
|
|
|
|
|
|
|
if localStorage.getItem('userLanguage') isnt Meteor.user().language |
|
|
|
|
localStorage.setItem("userLanguage", Meteor.user().language) |
|
|
|
|
setLanguage Meteor.user().language |
|
|
|
|
if isRtl localStorage.getItem "userLanguage" |
|
|
|
|
$('html').addClass "rtl" |
|
|
|
|
Meteor.subscribe("userData", () -> |
|
|
|
|
userLanguage = Meteor.user()?.language |
|
|
|
|
userLanguage ?= defaultUserLanguage() |
|
|
|
|
|
|
|
|
|
userLanguage = localStorage.getItem("userLanguage") |
|
|
|
|
userLanguage ?= defaultUserLanguage() |
|
|
|
|
if localStorage.getItem('userLanguage') isnt userLanguage |
|
|
|
|
localStorage.setItem('userLanguage', userLanguage) |
|
|
|
|
if isRtl localStorage.getItem 'userLanguage' |
|
|
|
|
$('html').addClass "rtl" |
|
|
|
|
|
|
|
|
|
setLanguage userLanguage |
|
|
|
|
setLanguage userLanguage |
|
|
|
|
) |
|
|
|
|
|