-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to get astro-i18next to work in React Components inside Astro #46
Comments
Hey, thanks for the issue. I've setup an example for react using the Here's the stackblitz: https://stackblitz.com/edit/github-xdzdkv?file=src/components/Counter.tsx It doesn't work because i18next is only initialized server side. So when using the |
Any ideas on how to achieve this? |
And also, what about other frameworks like solidjs etc? |
I've started implementing client side translations, I've created some example folders on the develop branch (including react). Trying things out for now.
I think my experimenting with react will solve the same issues for other frameworks. Basically, frameworks render client side js, so the i18next instance should exist client side as well to retrieve translation keys. It's not ideal to have all translations handled client side in my opinion because it would hurt SEO. So I'll have to think of ways to make SSR and client side rendering work together for i18n. I have some questions that need more investigating:
Anyways, thank you for your interest. If you have any insight, I'm all ears! |
On astro docs website, they create dedicated pages for each translation (using md files). Only the UI part that using the translation key. And I will follow that convention. |
…side - update config naming - abstract i18next config + make it overridable for server and client configs - fix route translations to discard page extensions - update README to account for new route features and easier setup - add i18next-fs-backend, i18next-http-backend and i18next-browser-languagedetector packages to abstract locales detection and loading - automatically require react-i18next when @astrojs/react integration is installed BREAKING CHANGE: - defaultLanguage is now defaultLocale - supportedLanguages is now locales - i18next config is now split into two configs: `i18nextServer` and `i18nextClient` fixes #57, closes #46, #37
…side - update config naming - abstract i18next config + make it overridable for server and client configs - fix route translations to discard page extensions - update README to account for new route features and easier setup - add i18next-fs-backend, i18next-http-backend and i18next-browser-languagedetector packages to abstract locales detection and loading - automatically require react-i18next when @astrojs/react integration is installed BREAKING CHANGE: - defaultLanguage is now defaultLocale - supportedLanguages is now locales - i18next config is now split into two configs: `i18nextServer` and `i18nextClient` fixes #57, closes #46, #37
# [1.0.0-beta.13](v1.0.0-beta.12...v1.0.0-beta.13) (2022-11-06) ### Bug Fixes * add isFileHidden function + tests to prevent missing hidden files ([7dcd0aa](7dcd0aa)) * **generate:** replace isLocale check with user defined locales to prevent nested folders generation ([a598e2e](a598e2e)), closes [#56](#56) * **i18next-server:** load locale files synchronously ([e7892e2](e7892e2)) * update types import to relative ([#58](#58)) ([44a5422](44a5422)) ### Features * add option to show the default locale in the url ([#51](#51)) ([ea939db](ea939db)), closes [#54](#54) * add support for route translations ([db5200b](db5200b)), closes [#50](#50) [#29](#29) * allow implicit key for <Trans> when omitting i18nKey prop ([ff14354](ff14354)), closes [#53](#53) * simplified API + instanciate i18next both in server and client side ([ed44510](ed44510)), closes [#57](#57) [#46](#46) [#37](#37) ### BREAKING CHANGES * - defaultLanguage is now defaultLocale - supportedLanguages is now locales - i18next config is now split into two configs: `i18nextServer` and `i18nextClient`
🎉 This issue has been resolved in version 1.0.0-beta.13 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [1.0.0-beta.13](yassinedoghri/astro-i18next@v1.0.0-beta.12...v1.0.0-beta.13) (2022-11-06) ### Bug Fixes * add isFileHidden function + tests to prevent missing hidden files ([7dcd0aa](yassinedoghri/astro-i18next@7dcd0aa)) * **generate:** replace isLocale check with user defined locales to prevent nested folders generation ([a598e2e](yassinedoghri/astro-i18next@a598e2e)), closes [#56](yassinedoghri/astro-i18next#56) * **i18next-server:** load locale files synchronously ([e7892e2](yassinedoghri/astro-i18next@e7892e2)) * update types import to relative ([#58](yassinedoghri/astro-i18next#58)) ([44a5422](yassinedoghri/astro-i18next@44a5422)) ### Features * add option to show the default locale in the url ([#51](yassinedoghri/astro-i18next#51)) ([ea939db](yassinedoghri/astro-i18next@ea939db)), closes [#54](yassinedoghri/astro-i18next#54) * add support for route translations ([db5200b](yassinedoghri/astro-i18next@db5200b)), closes [#50](yassinedoghri/astro-i18next#50) [#29](yassinedoghri/astro-i18next#29) * allow implicit key for <Trans> when omitting i18nKey prop ([ff14354](yassinedoghri/astro-i18next@ff14354)), closes [#53](yassinedoghri/astro-i18next#53) * simplified API + instanciate i18next both in server and client side ([ed44510](yassinedoghri/astro-i18next@ed44510)), closes [#57](yassinedoghri/astro-i18next#57) [#46](yassinedoghri/astro-i18next#46) [#37](yassinedoghri/astro-i18next#37) ### BREAKING CHANGES * - defaultLanguage is now defaultLocale - supportedLanguages is now locales - i18next config is now split into two configs: `i18nextServer` and `i18nextClient`
What works inside .astro components doesn't in React components (.tsx) in SSR mode.
Is there any plan to make it work ? or some work around ?
The text was updated successfully, but these errors were encountered: