From f56c55e75c657d6348c4231779d410f4cdea7a04 Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Mon, 14 Nov 2016 21:26:01 -0500 Subject: Wait until Meteor.startup() to set the language. --- client/lib/i18n.js | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) (limited to 'client') diff --git a/client/lib/i18n.js b/client/lib/i18n.js index b8b8609d..f2709d15 100644 --- a/client/lib/i18n.js +++ b/client/lib/i18n.js @@ -2,26 +2,19 @@ // the language reactively. If the user is not connected we use the language // information provided by the browser, and default to english. -Tracker.autorun(() => { - const currentUser = Meteor.user(); - let language; - if (currentUser) { - language = currentUser.profile && currentUser.profile.language; - } else { - language = navigator.language || navigator.userLanguage; - } - - if (language) { - TAPi18n.setLanguage(language); +Meteor.startup(() => { + Tracker.autorun(() => { + const currentUser = Meteor.user(); + let language; + if (currentUser) { + language = currentUser.profile && currentUser.profile.language; + } else { + language = navigator.language || navigator.userLanguage; + } - // For languages such as Finnish (Suomi) that are not supported by meteor-accounts-t9n, - // the following may throw an exception. On the initial run of this `autorun()` callback, - // such an exception could cause the entire app to fail to load. Therefore, we catch - // the exception and log it as an error. - try { + if (language) { + TAPi18n.setLanguage(language); T9n.setLanguage(language); - } catch (e) { - console.error(e); } - } + }); }); -- cgit v1.2.3-1-g7c22