rival-black•2y ago
react-i18next empty object
Hi,
I am following https://refine.dev/docs/guides-concepts/i18n/#adding-the-translations-files
To add translation to refine, I did add the json files inside public/locales/en/common.json
However when I console.log(i18n) inside my app.tsx, its an empty object with no prototype methods, I found that out because i18n.languages gave me undefined in vite
Internationalization (i18n) | Refine
Internationalization (i18n) is a process that allows software applications to be localized for different regions and languages. Refine can work with any i18n framework, but needs an i18nProvider to be created based on the chosen library.
11 Replies
Hi @BlackBearFTW. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
It seems like you're having trouble with the
react-i18next library in your Refine application. Based on the information provided in the knowledge sources, it's important to ensure that you've correctly set up your i18nProvider and passed it to the <Refine /> component in your App.tsx file.
Here's an example of how to do this:
(Source: Refine Documentation (https://refine.dev/docs/guides-concepts/i18n#creating-the-i18n-provider))
If you're still seeing an empty object when you log i18n, it's possible that the react-i18next library hasn't finished initializing yet. You might want to check if the library has been correctly installed and initialized in your project.
If you're still having trouble, you might find it helpful to refer to the Refine i18n Provider documentation (https://refine.dev/docs/i18n/i18n-provider/) or the react-i18next documentation (https://react.i18next.com).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@490961337896402944> kapa.ai is still learning and improving, please let us know how it did by reacting below
rival-blackOP•2y ago
@kapa.ai
Let me check the knowledge base for you. One moment! :books:
rival-blackOP•2y ago
----------------------
Based on the code you've provided, it seems like you're correctly setting up the
i18nProvider and passing it to the <Refine /> component. However, you're having trouble logging the i18n.languages array.
The i18n.languages array should contain the list of languages used in your application. If it's undefined, it might be because the i18n instance hasn't finished initializing when you're trying to log i18n.languages.
To ensure that the i18n instance is ready before you try to access i18n.languages, you can use the ready property of the i18n instance. Here's an example:
In this example, console.log(i18n.languages) will only run after the i18n instance has finished initializing.
If you're still having trouble, you might find it helpful to refer to the Refine i18n Provider documentation (https://refine.dev/docs/i18n/i18n-provider/) or the react-i18next documentation (https://react.i18next.com).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@490961337896402944> kapa.ai is still learning and improving, please let us know how it did by reacting below
rival-blackOP•2y ago
@kapa.ai isInitialized is undefined
Let me check the knowledge base for you. One moment! :books:
----------------------
I apologize for the confusion. The
isInitialized property is not available in the i18n instance returned by useTranslation() in react-i18next.
Instead, you can use the useEffect hook to log i18n.languages after the component has mounted. Here's an example:
In this example, console.log(i18n.languages) will run after the App component has mounted and any time the i18n instance changes.
If you're still having trouble, you might find it helpful to refer to the Refine i18n Provider documentation (https://refine.dev/docs/i18n/i18n-provider/) or the react-i18next documentation (https://react.i18next.com).
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@490961337896402944> kapa.ai is still learning and improving, please let us know how it did by reacting below
rival-blackOP•2y ago
Note: don't forget to import ./i18n in the index file