2
0
Эх сурвалжийг харах

Wait until Meteor.startup() to set the language.

David Renshaw 8 жил өмнө
parent
commit
f56c55e75c
1 өөрчлөгдсөн 12 нэмэгдсэн , 19 устгасан
  1. 12 19
      client/lib/i18n.js

+ 12 - 19
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);
     }
-  }
+  });
 });