i18n.js 625 B

123456789101112131415161718192021
  1. // We save the user language preference in the user profile, and use that to set
  2. // the language reactively. If the user is not connected we use the language
  3. // information provided by the browser, and default to english.
  4. Tracker.autorun(() => {
  5. const currentUser = Meteor.user();
  6. let language;
  7. if (currentUser) {
  8. language = currentUser.profile && currentUser.profile.language;
  9. } else {
  10. language = navigator.language || navigator.userLanguage;
  11. }
  12. if (language) {
  13. TAPi18n.setLanguage(language);
  14. // XXX
  15. const shortLanguage = language.split('-')[0];
  16. T9n.setLanguage(shortLanguage);
  17. }
  18. });