diff --git a/src/components/AppProviders.js b/src/components/AppProviders.js index 04aa54815..541b7480e 100644 --- a/src/components/AppProviders.js +++ b/src/components/AppProviders.js @@ -71,9 +71,9 @@ FullScreenShim.propTypes = { * plugins + config to inject additional translations. */ const StoreAwareI18nextProvider = ({ children, language, translations }) => { - const [i18n] = useState(createI18nInstance()); + const [i18n] = useState(createI18nInstance({ lng: language })); useEffect(() => { - i18n.changeLanguage(language); + if (i18n && i18n.language !== language) i18n.changeLanguage(language); }, [i18n, language]); useEffect(() => { diff --git a/src/i18n.js b/src/i18n.js index 3f6d0f4f2..f3c1b4797 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -25,7 +25,7 @@ import nbNo from './locales/nbNo/translation.json'; /** * Load translations for each language */ -function createI18nInstance() { +function createI18nInstance(i18nConfig = {}) { const resources = { ar, bg, @@ -58,6 +58,7 @@ function createI18nInstance() { }, lng: 'en', resources, + ...i18nConfig, }); return instance;