title: react-i18next: How to sync Browser and Express LanguageDetector?
body: <p>In my server's routes, I do something like this (Note: The <code>i18next-express-middleware</code> is already in the pipeline, and Server Side Rendering is working good):</p>
  
  <pre><code>export default function (req, res) {
    const lng = req.language.toUpperCase()
  
    console.log(lng) // Always display [EN]
  
    MyModel
      .findOne(query, { fieldEN: 1, fieldFR: 1 })
      .exec()
      .then(res =&gt; reply(res[`field${lng}`]))
      .catch(err =&gt; handle(err))
  }
  </code></pre>
  
  <p>So I try to return the right version of the field, base on the USER's selected language.</p>
  
  <p>But no matter what language is selected on the browser side, on the server side it is always set to the default, EN.</p>
  
  <p>Is there a way to let the server side <code>LanguageDetector</code> know about the current language on the browser side ?</p>
  
  <p>This is my Client <code>i18n init</code>:</p>
  
  <pre><code>import i18n from 'i18next'
  import Backend from 'i18next-xhr-backend'
  import LanguageDetector from 'i18next-browser-languagedetector'
  
  i18n
    .use(Backend)
    .use(LanguageDetector)
    .init({
      whitelist: ['en', 'fr'],
      fallbackLng: 'en',
      preload: ['en', 'fr'],
  
      // debug: true,
  
      interpolation: {
        escapeValue: false
      },
  
      ns: ['home', 'channel', 'common'],
      defaultNS: 'home',
  
      backend: {
        loadPath: '/locales/{{lng}}/{{ns}}.json'
      },
  
      react: {
        wait: true,
        bindI18n: 'languageChanged loaded',
        bindStore: 'added removed',
        nsMode: 'default'
      }
    })
  
  export default i18n
  </code></pre>
  
  <p>And this is my server <code>i18n init</code>:</p>
  
  <pre><code>import i18n from 'i18next'
  import Backend from 'i18next-node-fs-backend'
  import { LanguageDetector } from 'i18next-express-middleware'
  
  i18n
    .use(Backend)
    .use(LanguageDetector)
    .init({
      whitelist: ['en', 'fr'],
      fallbackLng: 'en',
      preload: ['en', 'fr'],
  
      // debug: true,
  
      interpolation: {
        escapeValue: false
      },
  
      ns: ['home', 'channel', 'common'],
      defaultNS: 'home',
  
      backend: {
        loadPath: `${__dirname}/public/locales/{{lng}}/{{ns}}.json`,
        jsonIndent: 2
      }
    })
  
  export default i18n
  </code></pre>