all repos — caroster @ v0.10.1

[Octree] Group carpool to your event https://caroster.io

frontend/i18n.ts (view raw)

 1import i18n from 'i18next';
 2import {initReactI18next} from 'react-i18next';
 3import translationFr from './locales/fr.json';
 4import translationEn from './locales/en.json';
 5import {Enum_Userspermissionsuser_Lang} from './generated/graphql';
 6
 7const resources = {
 8  fr: {
 9    translation: translationFr,
10  },
11  en: {
12    translation: translationEn,
13  },
14};
15
16export const getUserLng = () => {
17  if (
18    typeof window !== 'undefined' &&
19    typeof window.navigator !== 'undefined'
20  ) {
21    if (navigator.language === 'fr' || navigator.language.includes('fr-')) {
22      return Enum_Userspermissionsuser_Lang.Fr
23    }
24  }
25  return Enum_Userspermissionsuser_Lang.En
26};
27
28i18n
29  .use(initReactI18next) // passes i18n down to react-i18next
30  .init({
31    resources,
32    lng: getUserLng(),
33    supportedLngs: ['fr', 'en'],
34    interpolation: {
35      escapeValue: false, // react already safes from xss
36    },
37  });
38
39export default i18n;