Надо получить какой сейчас язык на сайте и отправлять API, в Accept-Language записывать какой сейчас язык.
При загрузки сайта сразу идут запросы на сервер и проблема в том что i18next.language изначально undefined
Нужно как то дождаться пока проинициализируется i18next и только потом слать запросы
api.js
import * as axios from 'axios'
import i18next from 'i18next';
const instance = axios.create({
baseURL: 'https://api/',
headers: {
'Accept-Language': i18next.language
}
})
i18n.js
import i18n from 'i18next'
import Backend from 'i18next-http-backend'
import LanguageDetector from 'i18next-browser-languagedetector'
import { initReactI18next } from 'react-i18next'
i18n
.use(Backend)
.use(LanguageDetector)
.use (initReactI18next)
.init({
fallbackLng: 'ru',
debug: true,
ns: ["translation", "Header", "MainSlider", "Centers", "Purpose", "Contact"],
defaultNS: 'translation',
react: {
useSuspense: true,
wait: true
},
interpolation: {
escapeValue: false
}
})
export default i18n;