|
'use client' |
|
|
|
import type { FC } from 'react' |
|
import React, { useEffect } from 'react' |
|
import { changeLanguage } from '@/i18n/i18next-config' |
|
import I18NContext from '@/context/i18n' |
|
import type { Locale } from '@/i18n' |
|
import { setLocaleOnClient } from '@/i18n' |
|
|
|
export type II18nProps = { |
|
locale: Locale |
|
children: React.ReactNode |
|
} |
|
const I18n: FC<II18nProps> = ({ |
|
locale, |
|
children, |
|
}) => { |
|
useEffect(() => { |
|
changeLanguage(locale) |
|
}, [locale]) |
|
|
|
return ( |
|
<I18NContext.Provider value={{ |
|
locale, |
|
i18n: {}, |
|
setLocaleOnClient, |
|
}}> |
|
{children} |
|
</I18NContext.Provider> |
|
) |
|
} |
|
export default React.memo(I18n) |
|
|