i18n.js 629 B

123456789101112131415161718192021
  1. import { TAPi18n } from '/imports/i18n';
  2. // We save the user language preference in the user profile, and use that to set
  3. // the language reactively. If the user is not connected we use the language
  4. // information provided by the browser, and default to english.
  5. Meteor.startup(() => {
  6. const currentUser = Meteor.user();
  7. // Select first available language
  8. const [language] = [
  9. // User profile
  10. currentUser?.profile?.language,
  11. // Browser locale
  12. navigator.languages?.at(0),
  13. navigator.language,
  14. navigator.userLanguage,
  15. ].filter(Boolean);
  16. if (language) {
  17. TAPi18n.setLanguage(language);
  18. }
  19. });