i18n.js 821 B

123456789101112131415161718192021222324252627
  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. Meteor.startup(() => {
  5. TAPi18n.conf.i18n_files_route = Meteor._relativeToSiteRootUrl('/tap-i18n');
  6. const currentUser = Meteor.user();
  7. let language;
  8. if (currentUser) {
  9. language = currentUser.profile && currentUser.profile.language;
  10. }
  11. if (!language) {
  12. if (navigator.languages) {
  13. language = navigator.languages[0];
  14. } else {
  15. language = navigator.language || navigator.userLanguage;
  16. }
  17. }
  18. if (language) {
  19. TAPi18n.setLanguage(language);
  20. // eslint-disable-next-line no-console
  21. // console.log('language set!');
  22. T9n.setLanguage(language);
  23. }
  24. });