client.ts 484 B

12345678910111213141516
  1. import Cookies from 'js-cookie'
  2. import type { Locale } from '.'
  3. import { i18n } from '.'
  4. import { LOCALE_COOKIE_NAME } from '@/config'
  5. import { changeLanguage } from '@/i18n/i18next-config'
  6. // same logic as server
  7. export const getLocaleOnClient = (): Locale => {
  8. return Cookies.get(LOCALE_COOKIE_NAME) as Locale || i18n.defaultLocale
  9. }
  10. export const setLocaleOnClient = (locale: Locale) => {
  11. Cookies.set(LOCALE_COOKIE_NAME, locale)
  12. changeLanguage(locale)
  13. location.reload()
  14. }