Pārlūkot izejas kodu

fix: i18n runtime error (#1376)

zxhlyh 1 gadu atpakaļ
vecāks
revīzija
d14f15863d

+ 0 - 2
web/app/components/i18n-server.tsx

@@ -4,12 +4,10 @@ import { ToastProvider } from './base/toast'
 import { getDictionary, getLocaleOnServer } from '@/i18n/server'
 
 export type II18NServerProps = {
-  // locale: Locale
   children: React.ReactNode
 }
 
 const I18NServer = async ({
-  // locale,
   children,
 }: II18NServerProps) => {
   const locale = getLocaleOnServer()

+ 8 - 5
web/app/components/i18n.tsx

@@ -1,23 +1,26 @@
 'use client'
 
 import type { FC } from 'react'
-import React from 'react'
-import '@/i18n/i18next-config'
+import React, { useEffect } from 'react'
+import { changeLanguage } from '@/i18n/i18next-config'
 import I18NContext from '@/context/i18n'
 import type { Locale } from '@/i18n'
-import { getLocaleOnClient, setLocaleOnClient } from '@/i18n/client'
+import { setLocaleOnClient } from '@/i18n/client'
 
 export type II18nProps = {
   locale: Locale
   dictionary: Record<string, any>
   children: React.ReactNode
-  setLocaleOnClient: (locale: Locale) => void
 }
 const I18n: FC<II18nProps> = ({
+  locale,
   dictionary,
   children,
 }) => {
-  const locale = getLocaleOnClient()
+  useEffect(() => {
+    changeLanguage(locale)
+  }, [locale])
+
   return (
     <I18NContext.Provider value={{
       locale,

+ 1 - 4
web/i18n/i18next-config.ts

@@ -33,9 +33,6 @@ import datasetCreationEn from './lang/dataset-creation.en'
 import datasetCreationZh from './lang/dataset-creation.zh'
 import exploreEn from './lang/explore.en'
 import exploreZh from './lang/explore.zh'
-import { getLocaleOnClient } from '@/i18n/client'
-
-const localLng = getLocaleOnClient()
 
 const resources = {
   'en': {
@@ -88,7 +85,7 @@ i18n.use(initReactI18next)
   // init i18next
   // for all options read: https://www.i18next.com/overview/configuration-options
   .init({
-    lng: localLng,
+    lng: undefined,
     fallbackLng: 'en',
     // debug: true,
     resources,