clientjs/packages/annotation-dashboard-explorunivers/src/intl.js
changeset 11 37ecf0b9c174
parent 10 28971cf04a91
child 12 256b31ffdc33
equal deleted inserted replaced
10:28971cf04a91 11:37ecf0b9c174
     1 import React from 'react';
       
     2 
       
     3 import { addLocaleData, IntlProvider } from 'react-intl';
       
     4 import en from 'react-intl/locale-data/en';
       
     5 import fr from 'react-intl/locale-data/fr';
       
     6 
       
     7 
       
     8 export default function setIntl(messagesData, WrappedComponent) {
       
     9   addLocaleData([...en, ...fr]);
       
    10 
       
    11   let language = (navigator.languages && navigator.languages[0])
       
    12     || navigator.language
       
    13     || navigator.userLanguage;
       
    14 
       
    15   let language6391 = language.toLowerCase().split(/[_-]+/)[0];
       
    16 
       
    17   if (!(language6391 in messagesData)) {
       
    18     language = 'en';
       
    19     language6391 = 'en';
       
    20   }
       
    21 
       
    22   const messages = messagesData[language6391] || messagesData[language] || messagesData.en;
       
    23 
       
    24   return props => (
       
    25     <IntlProvider
       
    26       locale={language}
       
    27       messages={messages}
       
    28     >
       
    29       <WrappedComponent {...props} />
       
    30     </IntlProvider>
       
    31   );
       
    32 }