@intlayer/docs 7.5.6 → 7.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_i18next.md +8 -4
- package/blog/ar/intlayer_with_next-i18next.md +8 -4
- package/blog/ar/intlayer_with_next-intl.md +8 -4
- package/blog/ar/intlayer_with_react-i18next.md +8 -4
- package/blog/ar/intlayer_with_react-intl.md +8 -4
- package/blog/ar/intlayer_with_vue-i18n.md +8 -4
- package/blog/de/intlayer_with_i18next.md +8 -4
- package/blog/de/intlayer_with_next-i18next.md +8 -4
- package/blog/de/intlayer_with_next-intl.md +8 -4
- package/blog/de/intlayer_with_react-i18next.md +8 -4
- package/blog/de/intlayer_with_react-intl.md +8 -4
- package/blog/de/intlayer_with_vue-i18n.md +8 -4
- package/blog/en/intlayer_with_i18next.md +8 -4
- package/blog/en/intlayer_with_next-i18next.md +8 -4
- package/blog/en/intlayer_with_next-intl.md +8 -4
- package/blog/en/intlayer_with_react-i18next.md +8 -4
- package/blog/en/intlayer_with_react-intl.md +8 -4
- package/blog/en/intlayer_with_vue-i18n.md +8 -4
- package/blog/en-GB/intlayer_with_i18next.md +8 -4
- package/blog/en-GB/intlayer_with_next-i18next.md +8 -4
- package/blog/en-GB/intlayer_with_next-intl.md +8 -4
- package/blog/en-GB/intlayer_with_react-i18next.md +8 -4
- package/blog/en-GB/intlayer_with_react-intl.md +8 -4
- package/blog/en-GB/intlayer_with_vue-i18n.md +8 -4
- package/blog/es/intlayer_with_i18next.md +8 -4
- package/blog/es/intlayer_with_next-i18next.md +8 -4
- package/blog/es/intlayer_with_next-intl.md +8 -4
- package/blog/es/intlayer_with_react-i18next.md +8 -4
- package/blog/es/intlayer_with_react-intl.md +8 -4
- package/blog/es/intlayer_with_vue-i18n.md +8 -4
- package/blog/fr/intlayer_with_i18next.md +8 -4
- package/blog/fr/intlayer_with_next-i18next.md +8 -4
- package/blog/fr/intlayer_with_next-intl.md +8 -4
- package/blog/fr/intlayer_with_react-i18next.md +8 -4
- package/blog/fr/intlayer_with_react-intl.md +8 -4
- package/blog/fr/intlayer_with_vue-i18n.md +8 -4
- package/blog/hi/intlayer_with_i18next.md +8 -4
- package/blog/hi/intlayer_with_next-i18next.md +8 -4
- package/blog/hi/intlayer_with_next-intl.md +8 -4
- package/blog/hi/intlayer_with_react-i18next.md +8 -4
- package/blog/hi/intlayer_with_react-intl.md +8 -4
- package/blog/hi/intlayer_with_vue-i18n.md +8 -4
- package/blog/id/intlayer_with_i18next.md +8 -4
- package/blog/id/intlayer_with_next-i18next.md +8 -4
- package/blog/id/intlayer_with_next-intl.md +8 -4
- package/blog/id/intlayer_with_react-i18next.md +8 -4
- package/blog/id/intlayer_with_react-intl.md +8 -4
- package/blog/id/intlayer_with_vue-i18n.md +8 -4
- package/blog/it/intlayer_with_i18next.md +8 -4
- package/blog/it/intlayer_with_next-i18next.md +8 -4
- package/blog/it/intlayer_with_next-intl.md +8 -4
- package/blog/it/intlayer_with_react-i18next.md +8 -4
- package/blog/it/intlayer_with_react-intl.md +8 -4
- package/blog/it/intlayer_with_vue-i18n.md +8 -4
- package/blog/ja/intlayer_with_i18next.md +8 -4
- package/blog/ja/intlayer_with_next-i18next.md +8 -4
- package/blog/ja/intlayer_with_next-intl.md +8 -4
- package/blog/ja/intlayer_with_react-i18next.md +8 -4
- package/blog/ja/intlayer_with_react-intl.md +8 -4
- package/blog/ja/intlayer_with_vue-i18n.md +8 -4
- package/blog/ko/intlayer_with_i18next.md +8 -4
- package/blog/ko/intlayer_with_next-i18next.md +8 -4
- package/blog/ko/intlayer_with_next-intl.md +8 -4
- package/blog/ko/intlayer_with_react-i18next.md +8 -4
- package/blog/ko/intlayer_with_react-intl.md +8 -4
- package/blog/ko/intlayer_with_vue-i18n.md +8 -4
- package/blog/pl/intlayer_with_i18next.md +8 -4
- package/blog/pl/intlayer_with_next-i18next.md +8 -4
- package/blog/pl/intlayer_with_next-intl.md +8 -4
- package/blog/pl/intlayer_with_react-i18next.md +8 -4
- package/blog/pl/intlayer_with_react-intl.md +8 -4
- package/blog/pl/intlayer_with_vue-i18n.md +8 -4
- package/blog/pt/intlayer_with_i18next.md +8 -4
- package/blog/pt/intlayer_with_next-i18next.md +8 -4
- package/blog/pt/intlayer_with_next-intl.md +8 -4
- package/blog/pt/intlayer_with_react-i18next.md +8 -4
- package/blog/pt/intlayer_with_react-intl.md +8 -4
- package/blog/pt/intlayer_with_vue-i18n.md +8 -4
- package/blog/ru/intlayer_with_i18next.md +8 -4
- package/blog/ru/intlayer_with_next-i18next.md +8 -4
- package/blog/ru/intlayer_with_next-intl.md +8 -4
- package/blog/ru/intlayer_with_react-i18next.md +8 -4
- package/blog/ru/intlayer_with_react-intl.md +8 -4
- package/blog/ru/intlayer_with_vue-i18n.md +8 -4
- package/blog/tr/intlayer_with_i18next.md +8 -4
- package/blog/tr/intlayer_with_next-i18next.md +8 -4
- package/blog/tr/intlayer_with_next-intl.md +8 -4
- package/blog/tr/intlayer_with_react-i18next.md +8 -4
- package/blog/tr/intlayer_with_react-intl.md +8 -4
- package/blog/tr/intlayer_with_vue-i18n.md +8 -4
- package/blog/vi/intlayer_with_i18next.md +8 -4
- package/blog/vi/intlayer_with_next-i18next.md +8 -4
- package/blog/vi/intlayer_with_next-intl.md +8 -4
- package/blog/vi/intlayer_with_react-i18next.md +8 -4
- package/blog/vi/intlayer_with_react-intl.md +8 -4
- package/blog/vi/intlayer_with_vue-i18n.md +8 -4
- package/blog/zh/intlayer_with_i18next.md +8 -4
- package/blog/zh/intlayer_with_next-i18next.md +8 -4
- package/blog/zh/intlayer_with_next-intl.md +8 -4
- package/blog/zh/intlayer_with_react-i18next.md +8 -4
- package/blog/zh/intlayer_with_react-intl.md +8 -4
- package/blog/zh/intlayer_with_vue-i18n.md +8 -4
- package/docs/ar/cli/index.md +4 -0
- package/docs/ar/cli/sdk.md +4 -0
- package/docs/ar/intlayer_visual_editor.md +4 -0
- package/docs/ar/intlayer_with_angular.md +8 -0
- package/docs/ar/intlayer_with_create_react_app.md +8 -0
- package/docs/ar/intlayer_with_express.md +8 -0
- package/docs/ar/intlayer_with_lynx+react.md +8 -0
- package/docs/ar/intlayer_with_nestjs.md +8 -0
- package/docs/ar/intlayer_with_next-i18next.md +15 -3
- package/docs/ar/intlayer_with_next-intl.md +12 -3
- package/docs/ar/intlayer_with_nextjs_14.md +16 -0
- package/docs/ar/intlayer_with_nextjs_15.md +16 -0
- package/docs/ar/intlayer_with_nextjs_16.md +16 -0
- package/docs/ar/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/ar/intlayer_with_nuxt.md +9 -0
- package/docs/ar/intlayer_with_react_native+expo.md +9 -0
- package/docs/ar/intlayer_with_react_router_v7.md +86 -16
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/ar/intlayer_with_svelte_kit.md +8 -0
- package/docs/ar/intlayer_with_tanstack.md +14 -0
- package/docs/ar/intlayer_with_vite+preact.md +12 -2
- package/docs/ar/intlayer_with_vite+react.md +9 -0
- package/docs/ar/intlayer_with_vite+solid.md +9 -0
- package/docs/ar/intlayer_with_vite+svelte.md +7 -0
- package/docs/ar/intlayer_with_vite+vue.md +11 -0
- package/docs/de/cli/index.md +4 -0
- package/docs/de/cli/sdk.md +4 -0
- package/docs/de/intlayer_visual_editor.md +4 -0
- package/docs/de/intlayer_with_angular.md +8 -0
- package/docs/de/intlayer_with_create_react_app.md +8 -0
- package/docs/de/intlayer_with_express.md +8 -0
- package/docs/de/intlayer_with_lynx+react.md +8 -0
- package/docs/de/intlayer_with_nestjs.md +8 -0
- package/docs/de/intlayer_with_next-i18next.md +15 -3
- package/docs/de/intlayer_with_next-intl.md +12 -3
- package/docs/de/intlayer_with_nextjs_14.md +16 -0
- package/docs/de/intlayer_with_nextjs_15.md +16 -0
- package/docs/de/intlayer_with_nextjs_16.md +16 -0
- package/docs/de/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/de/intlayer_with_nuxt.md +9 -0
- package/docs/de/intlayer_with_react_native+expo.md +1 -0
- package/docs/de/intlayer_with_react_router_v7.md +86 -15
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/de/intlayer_with_svelte_kit.md +8 -0
- package/docs/de/intlayer_with_tanstack.md +14 -0
- package/docs/de/intlayer_with_vite+preact.md +12 -2
- package/docs/de/intlayer_with_vite+react.md +9 -0
- package/docs/de/intlayer_with_vite+solid.md +9 -0
- package/docs/de/intlayer_with_vite+svelte.md +6 -0
- package/docs/de/intlayer_with_vite+vue.md +11 -0
- package/docs/en/cli/index.md +4 -0
- package/docs/en/cli/sdk.md +4 -0
- package/docs/en/configuration.md +1 -0
- package/docs/en/intlayer_visual_editor.md +4 -0
- package/docs/en/intlayer_with_angular.md +8 -0
- package/docs/en/intlayer_with_create_react_app.md +8 -0
- package/docs/en/intlayer_with_express.md +8 -0
- package/docs/en/intlayer_with_lynx+react.md +8 -0
- package/docs/en/intlayer_with_nestjs.md +8 -0
- package/docs/en/intlayer_with_next-i18next.md +15 -3
- package/docs/en/intlayer_with_next-intl.md +12 -3
- package/docs/en/intlayer_with_nextjs_14.md +16 -0
- package/docs/en/intlayer_with_nextjs_15.md +16 -0
- package/docs/en/intlayer_with_nextjs_16.md +16 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/en/intlayer_with_nuxt.md +9 -0
- package/docs/en/intlayer_with_react_native+expo.md +9 -0
- package/docs/en/intlayer_with_react_router_v7.md +88 -15
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +106 -19
- package/docs/en/intlayer_with_svelte_kit.md +4 -0
- package/docs/en/intlayer_with_tanstack.md +14 -0
- package/docs/en/intlayer_with_vite+preact.md +11 -0
- package/docs/en/intlayer_with_vite+react.md +9 -0
- package/docs/en/intlayer_with_vite+solid.md +9 -0
- package/docs/en/intlayer_with_vite+svelte.md +7 -0
- package/docs/en/intlayer_with_vite+vue.md +11 -0
- package/docs/en-GB/cli/index.md +4 -0
- package/docs/en-GB/cli/sdk.md +4 -0
- package/docs/en-GB/configuration.md +1 -0
- package/docs/en-GB/intlayer_visual_editor.md +4 -0
- package/docs/en-GB/intlayer_with_angular.md +8 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +16 -0
- package/docs/en-GB/intlayer_with_express.md +8 -0
- package/docs/en-GB/intlayer_with_lynx+react.md +16 -0
- package/docs/en-GB/intlayer_with_nestjs.md +8 -0
- package/docs/en-GB/intlayer_with_next-i18next.md +15 -3
- package/docs/en-GB/intlayer_with_next-intl.md +12 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +16 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +16 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +16 -0
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/en-GB/intlayer_with_nuxt.md +9 -0
- package/docs/en-GB/intlayer_with_react_native+expo.md +9 -0
- package/docs/en-GB/intlayer_with_react_router_v7.md +87 -16
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/en-GB/intlayer_with_svelte_kit.md +8 -0
- package/docs/en-GB/intlayer_with_tanstack.md +14 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +12 -2
- package/docs/en-GB/intlayer_with_vite+react.md +9 -0
- package/docs/en-GB/intlayer_with_vite+solid.md +9 -0
- package/docs/en-GB/intlayer_with_vite+svelte.md +7 -0
- package/docs/en-GB/intlayer_with_vite+vue.md +11 -0
- package/docs/es/cli/index.md +4 -0
- package/docs/es/cli/sdk.md +4 -0
- package/docs/es/intlayer_visual_editor.md +4 -0
- package/docs/es/intlayer_with_angular.md +8 -0
- package/docs/es/intlayer_with_create_react_app.md +8 -0
- package/docs/es/intlayer_with_express.md +8 -0
- package/docs/es/intlayer_with_lynx+react.md +8 -0
- package/docs/es/intlayer_with_nestjs.md +8 -0
- package/docs/es/intlayer_with_next-i18next.md +15 -3
- package/docs/es/intlayer_with_next-intl.md +12 -3
- package/docs/es/intlayer_with_nextjs_14.md +16 -0
- package/docs/es/intlayer_with_nextjs_15.md +16 -0
- package/docs/es/intlayer_with_nextjs_16.md +16 -0
- package/docs/es/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/es/intlayer_with_nuxt.md +9 -0
- package/docs/es/intlayer_with_react_native+expo.md +9 -0
- package/docs/es/intlayer_with_react_router_v7.md +86 -15
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/es/intlayer_with_svelte_kit.md +8 -0
- package/docs/es/intlayer_with_tanstack.md +14 -0
- package/docs/es/intlayer_with_vite+preact.md +12 -2
- package/docs/es/intlayer_with_vite+react.md +9 -0
- package/docs/es/intlayer_with_vite+solid.md +9 -0
- package/docs/es/intlayer_with_vite+svelte.md +7 -0
- package/docs/es/intlayer_with_vite+vue.md +11 -0
- package/docs/es/packages/next-intlayer/index.md +5 -0
- package/docs/es/packages/react-intlayer/index.md +5 -0
- package/docs/fr/cli/index.md +4 -0
- package/docs/fr/cli/sdk.md +4 -0
- package/docs/fr/intlayer_visual_editor.md +4 -0
- package/docs/fr/intlayer_with_angular.md +8 -0
- package/docs/fr/intlayer_with_create_react_app.md +8 -0
- package/docs/fr/intlayer_with_express.md +8 -0
- package/docs/fr/intlayer_with_lynx+react.md +8 -0
- package/docs/fr/intlayer_with_nestjs.md +8 -0
- package/docs/fr/intlayer_with_next-i18next.md +15 -3
- package/docs/fr/intlayer_with_next-intl.md +12 -3
- package/docs/fr/intlayer_with_nextjs_14.md +16 -0
- package/docs/fr/intlayer_with_nextjs_15.md +16 -0
- package/docs/fr/intlayer_with_nextjs_16.md +16 -0
- package/docs/fr/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/fr/intlayer_with_nuxt.md +9 -0
- package/docs/fr/intlayer_with_react_native+expo.md +1 -0
- package/docs/fr/intlayer_with_react_router_v7.md +86 -15
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/fr/intlayer_with_svelte_kit.md +8 -0
- package/docs/fr/intlayer_with_tanstack.md +14 -0
- package/docs/fr/intlayer_with_vite+preact.md +12 -2
- package/docs/fr/intlayer_with_vite+react.md +9 -0
- package/docs/fr/intlayer_with_vite+solid.md +9 -0
- package/docs/fr/intlayer_with_vite+svelte.md +7 -0
- package/docs/fr/intlayer_with_vite+vue.md +11 -0
- package/docs/fr/packages/react-intlayer/index.md +5 -0
- package/docs/hi/cli/index.md +4 -0
- package/docs/hi/cli/sdk.md +4 -0
- package/docs/hi/intlayer_visual_editor.md +4 -0
- package/docs/hi/intlayer_with_angular.md +8 -0
- package/docs/hi/intlayer_with_create_react_app.md +8 -0
- package/docs/hi/intlayer_with_express.md +8 -0
- package/docs/hi/intlayer_with_lynx+react.md +8 -0
- package/docs/hi/intlayer_with_nestjs.md +8 -0
- package/docs/hi/intlayer_with_next-i18next.md +15 -3
- package/docs/hi/intlayer_with_next-intl.md +12 -3
- package/docs/hi/intlayer_with_nextjs_14.md +16 -0
- package/docs/hi/intlayer_with_nextjs_15.md +16 -0
- package/docs/hi/intlayer_with_nextjs_16.md +16 -0
- package/docs/hi/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/hi/intlayer_with_nuxt.md +9 -0
- package/docs/hi/intlayer_with_react_native+expo.md +1 -0
- package/docs/hi/intlayer_with_react_router_v7.md +86 -16
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/hi/intlayer_with_svelte_kit.md +8 -0
- package/docs/hi/intlayer_with_tanstack.md +14 -0
- package/docs/hi/intlayer_with_vite+preact.md +12 -2
- package/docs/hi/intlayer_with_vite+react.md +9 -0
- package/docs/hi/intlayer_with_vite+solid.md +9 -0
- package/docs/hi/intlayer_with_vite+svelte.md +7 -0
- package/docs/hi/intlayer_with_vite+vue.md +11 -0
- package/docs/hi/packages/intlayer/index.md +8 -0
- package/docs/id/cli/index.md +4 -0
- package/docs/id/cli/sdk.md +4 -0
- package/docs/id/intlayer_visual_editor.md +4 -0
- package/docs/id/intlayer_with_angular.md +8 -0
- package/docs/id/intlayer_with_create_react_app.md +8 -0
- package/docs/id/intlayer_with_express.md +8 -0
- package/docs/id/intlayer_with_lynx+react.md +8 -0
- package/docs/id/intlayer_with_nestjs.md +8 -0
- package/docs/id/intlayer_with_next-i18next.md +15 -3
- package/docs/id/intlayer_with_next-intl.md +12 -3
- package/docs/id/intlayer_with_nextjs_14.md +16 -0
- package/docs/id/intlayer_with_nextjs_15.md +16 -0
- package/docs/id/intlayer_with_nextjs_16.md +16 -0
- package/docs/id/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/id/intlayer_with_nuxt.md +9 -0
- package/docs/id/intlayer_with_react_native+expo.md +9 -0
- package/docs/id/intlayer_with_react_router_v7.md +86 -15
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/id/intlayer_with_svelte_kit.md +8 -0
- package/docs/id/intlayer_with_tanstack.md +14 -0
- package/docs/id/intlayer_with_vite+preact.md +11 -0
- package/docs/id/intlayer_with_vite+react.md +9 -0
- package/docs/id/intlayer_with_vite+solid.md +9 -0
- package/docs/id/intlayer_with_vite+svelte.md +7 -0
- package/docs/id/intlayer_with_vite+vue.md +11 -0
- package/docs/it/cli/index.md +4 -0
- package/docs/it/cli/sdk.md +4 -0
- package/docs/it/intlayer_visual_editor.md +4 -0
- package/docs/it/intlayer_with_angular.md +8 -0
- package/docs/it/intlayer_with_create_react_app.md +8 -0
- package/docs/it/intlayer_with_express.md +8 -0
- package/docs/it/intlayer_with_lynx+react.md +8 -0
- package/docs/it/intlayer_with_nestjs.md +8 -0
- package/docs/it/intlayer_with_next-i18next.md +15 -3
- package/docs/it/intlayer_with_next-intl.md +12 -3
- package/docs/it/intlayer_with_nextjs_14.md +16 -0
- package/docs/it/intlayer_with_nextjs_15.md +16 -0
- package/docs/it/intlayer_with_nextjs_16.md +16 -0
- package/docs/it/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/it/intlayer_with_nuxt.md +9 -0
- package/docs/it/intlayer_with_react_native+expo.md +9 -0
- package/docs/it/intlayer_with_react_router_v7.md +86 -15
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/it/intlayer_with_svelte_kit.md +8 -0
- package/docs/it/intlayer_with_tanstack.md +14 -0
- package/docs/it/intlayer_with_vite+preact.md +12 -2
- package/docs/it/intlayer_with_vite+react.md +9 -0
- package/docs/it/intlayer_with_vite+solid.md +9 -0
- package/docs/it/intlayer_with_vite+svelte.md +7 -0
- package/docs/it/intlayer_with_vite+vue.md +11 -0
- package/docs/ja/cli/index.md +4 -0
- package/docs/ja/cli/sdk.md +4 -0
- package/docs/ja/intlayer_visual_editor.md +4 -0
- package/docs/ja/intlayer_with_angular.md +8 -0
- package/docs/ja/intlayer_with_create_react_app.md +8 -0
- package/docs/ja/intlayer_with_express.md +8 -0
- package/docs/ja/intlayer_with_lynx+react.md +8 -0
- package/docs/ja/intlayer_with_nestjs.md +8 -0
- package/docs/ja/intlayer_with_next-i18next.md +15 -3
- package/docs/ja/intlayer_with_next-intl.md +12 -3
- package/docs/ja/intlayer_with_nextjs_14.md +16 -0
- package/docs/ja/intlayer_with_nextjs_15.md +16 -0
- package/docs/ja/intlayer_with_nextjs_16.md +16 -0
- package/docs/ja/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/ja/intlayer_with_nuxt.md +9 -0
- package/docs/ja/intlayer_with_react_native+expo.md +1 -0
- package/docs/ja/intlayer_with_react_router_v7.md +86 -15
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/ja/intlayer_with_svelte_kit.md +8 -0
- package/docs/ja/intlayer_with_tanstack.md +14 -0
- package/docs/ja/intlayer_with_vite+preact.md +12 -2
- package/docs/ja/intlayer_with_vite+react.md +9 -0
- package/docs/ja/intlayer_with_vite+solid.md +9 -0
- package/docs/ja/intlayer_with_vite+svelte.md +7 -0
- package/docs/ja/intlayer_with_vite+vue.md +11 -0
- package/docs/ko/cli/index.md +4 -0
- package/docs/ko/cli/sdk.md +4 -0
- package/docs/ko/intlayer_visual_editor.md +4 -0
- package/docs/ko/intlayer_with_angular.md +8 -0
- package/docs/ko/intlayer_with_create_react_app.md +8 -0
- package/docs/ko/intlayer_with_express.md +8 -0
- package/docs/ko/intlayer_with_lynx+react.md +8 -0
- package/docs/ko/intlayer_with_nestjs.md +8 -0
- package/docs/ko/intlayer_with_next-i18next.md +15 -3
- package/docs/ko/intlayer_with_next-intl.md +12 -3
- package/docs/ko/intlayer_with_nextjs_14.md +13 -0
- package/docs/ko/intlayer_with_nextjs_15.md +16 -0
- package/docs/ko/intlayer_with_nextjs_16.md +16 -0
- package/docs/ko/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/ko/intlayer_with_nuxt.md +9 -0
- package/docs/ko/intlayer_with_react_native+expo.md +9 -0
- package/docs/ko/intlayer_with_react_router_v7.md +86 -15
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/ko/intlayer_with_svelte_kit.md +8 -0
- package/docs/ko/intlayer_with_tanstack.md +14 -0
- package/docs/ko/intlayer_with_vite+preact.md +12 -2
- package/docs/ko/intlayer_with_vite+react.md +9 -0
- package/docs/ko/intlayer_with_vite+solid.md +9 -0
- package/docs/ko/intlayer_with_vite+svelte.md +7 -0
- package/docs/ko/intlayer_with_vite+vue.md +11 -0
- package/docs/pl/cli/index.md +4 -0
- package/docs/pl/cli/sdk.md +4 -0
- package/docs/pl/intlayer_visual_editor.md +4 -0
- package/docs/pl/intlayer_with_angular.md +8 -0
- package/docs/pl/intlayer_with_create_react_app.md +8 -0
- package/docs/pl/intlayer_with_express.md +8 -0
- package/docs/pl/intlayer_with_lynx+react.md +8 -0
- package/docs/pl/intlayer_with_nestjs.md +8 -0
- package/docs/pl/intlayer_with_next-i18next.md +15 -3
- package/docs/pl/intlayer_with_next-intl.md +12 -3
- package/docs/pl/intlayer_with_nextjs_14.md +16 -0
- package/docs/pl/intlayer_with_nextjs_15.md +16 -0
- package/docs/pl/intlayer_with_nextjs_16.md +16 -0
- package/docs/pl/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/pl/intlayer_with_nuxt.md +9 -0
- package/docs/pl/intlayer_with_react_native+expo.md +9 -0
- package/docs/pl/intlayer_with_react_router_v7.md +59 -13
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +102 -18
- package/docs/pl/intlayer_with_svelte_kit.md +8 -0
- package/docs/pl/intlayer_with_tanstack.md +14 -0
- package/docs/pl/intlayer_with_vite+preact.md +11 -0
- package/docs/pl/intlayer_with_vite+react.md +9 -0
- package/docs/pl/intlayer_with_vite+solid.md +9 -0
- package/docs/pl/intlayer_with_vite+svelte.md +7 -0
- package/docs/pl/intlayer_with_vite+vue.md +11 -0
- package/docs/pt/cli/index.md +4 -0
- package/docs/pt/cli/sdk.md +4 -0
- package/docs/pt/intlayer_visual_editor.md +4 -0
- package/docs/pt/intlayer_with_angular.md +8 -0
- package/docs/pt/intlayer_with_create_react_app.md +8 -0
- package/docs/pt/intlayer_with_express.md +8 -0
- package/docs/pt/intlayer_with_lynx+react.md +8 -0
- package/docs/pt/intlayer_with_nestjs.md +8 -0
- package/docs/pt/intlayer_with_next-i18next.md +15 -3
- package/docs/pt/intlayer_with_next-intl.md +12 -3
- package/docs/pt/intlayer_with_nextjs_14.md +16 -0
- package/docs/pt/intlayer_with_nextjs_15.md +16 -0
- package/docs/pt/intlayer_with_nextjs_16.md +16 -0
- package/docs/pt/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/pt/intlayer_with_nuxt.md +9 -0
- package/docs/pt/intlayer_with_react_native+expo.md +9 -0
- package/docs/pt/intlayer_with_react_router_v7.md +93 -46
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/pt/intlayer_with_svelte_kit.md +8 -0
- package/docs/pt/intlayer_with_tanstack.md +14 -0
- package/docs/pt/intlayer_with_vite+preact.md +12 -2
- package/docs/pt/intlayer_with_vite+react.md +9 -0
- package/docs/pt/intlayer_with_vite+solid.md +9 -0
- package/docs/pt/intlayer_with_vite+svelte.md +7 -0
- package/docs/pt/intlayer_with_vite+vue.md +11 -0
- package/docs/ru/cli/index.md +4 -0
- package/docs/ru/cli/sdk.md +4 -0
- package/docs/ru/intlayer_visual_editor.md +4 -0
- package/docs/ru/intlayer_with_angular.md +8 -0
- package/docs/ru/intlayer_with_create_react_app.md +8 -0
- package/docs/ru/intlayer_with_express.md +8 -0
- package/docs/ru/intlayer_with_lynx+react.md +8 -0
- package/docs/ru/intlayer_with_nestjs.md +8 -0
- package/docs/ru/intlayer_with_next-i18next.md +15 -3
- package/docs/ru/intlayer_with_next-intl.md +12 -3
- package/docs/ru/intlayer_with_nextjs_14.md +16 -0
- package/docs/ru/intlayer_with_nextjs_15.md +16 -0
- package/docs/ru/intlayer_with_nextjs_16.md +16 -0
- package/docs/ru/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/ru/intlayer_with_nuxt.md +9 -0
- package/docs/ru/intlayer_with_react_native+expo.md +9 -0
- package/docs/ru/intlayer_with_react_router_v7.md +86 -15
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/ru/intlayer_with_svelte_kit.md +8 -0
- package/docs/ru/intlayer_with_tanstack.md +14 -0
- package/docs/ru/intlayer_with_vite+preact.md +12 -2
- package/docs/ru/intlayer_with_vite+react.md +9 -0
- package/docs/ru/intlayer_with_vite+solid.md +9 -0
- package/docs/ru/intlayer_with_vite+svelte.md +7 -0
- package/docs/ru/intlayer_with_vite+vue.md +11 -0
- package/docs/tr/cli/index.md +4 -0
- package/docs/tr/cli/sdk.md +4 -0
- package/docs/tr/intlayer_visual_editor.md +4 -0
- package/docs/tr/intlayer_with_angular.md +8 -0
- package/docs/tr/intlayer_with_create_react_app.md +8 -0
- package/docs/tr/intlayer_with_express.md +8 -0
- package/docs/tr/intlayer_with_lynx+react.md +8 -0
- package/docs/tr/intlayer_with_nestjs.md +8 -0
- package/docs/tr/intlayer_with_next-i18next.md +15 -3
- package/docs/tr/intlayer_with_next-intl.md +12 -3
- package/docs/tr/intlayer_with_nextjs_14.md +16 -0
- package/docs/tr/intlayer_with_nextjs_15.md +16 -0
- package/docs/tr/intlayer_with_nextjs_16.md +16 -0
- package/docs/tr/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/tr/intlayer_with_nuxt.md +9 -0
- package/docs/tr/intlayer_with_react_native+expo.md +9 -0
- package/docs/tr/intlayer_with_react_router_v7.md +86 -15
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +103 -19
- package/docs/tr/intlayer_with_svelte_kit.md +8 -0
- package/docs/tr/intlayer_with_tanstack.md +14 -0
- package/docs/tr/intlayer_with_vite+preact.md +12 -2
- package/docs/tr/intlayer_with_vite+react.md +9 -0
- package/docs/tr/intlayer_with_vite+solid.md +9 -0
- package/docs/tr/intlayer_with_vite+svelte.md +7 -0
- package/docs/tr/intlayer_with_vite+vue.md +11 -0
- package/docs/vi/cli/index.md +5 -0
- package/docs/vi/cli/sdk.md +4 -0
- package/docs/vi/intlayer_visual_editor.md +4 -0
- package/docs/vi/intlayer_with_angular.md +8 -0
- package/docs/vi/intlayer_with_create_react_app.md +8 -0
- package/docs/vi/intlayer_with_express.md +8 -0
- package/docs/vi/intlayer_with_lynx+react.md +8 -0
- package/docs/vi/intlayer_with_nestjs.md +8 -0
- package/docs/vi/intlayer_with_next-i18next.md +15 -3
- package/docs/vi/intlayer_with_next-intl.md +12 -3
- package/docs/vi/intlayer_with_nextjs_14.md +16 -0
- package/docs/vi/intlayer_with_nextjs_15.md +16 -0
- package/docs/vi/intlayer_with_nextjs_16.md +16 -0
- package/docs/vi/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/vi/intlayer_with_nuxt.md +9 -0
- package/docs/vi/intlayer_with_react_native+expo.md +9 -0
- package/docs/vi/intlayer_with_react_router_v7.md +86 -15
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/vi/intlayer_with_svelte_kit.md +8 -0
- package/docs/vi/intlayer_with_tanstack.md +14 -0
- package/docs/vi/intlayer_with_vite+preact.md +11 -0
- package/docs/vi/intlayer_with_vite+react.md +9 -0
- package/docs/vi/intlayer_with_vite+solid.md +9 -0
- package/docs/vi/intlayer_with_vite+svelte.md +7 -0
- package/docs/vi/intlayer_with_vite+vue.md +11 -0
- package/docs/zh/cli/index.md +4 -0
- package/docs/zh/cli/sdk.md +4 -0
- package/docs/zh/intlayer_visual_editor.md +4 -0
- package/docs/zh/intlayer_with_angular.md +8 -0
- package/docs/zh/intlayer_with_create_react_app.md +8 -0
- package/docs/zh/intlayer_with_express.md +8 -0
- package/docs/zh/intlayer_with_lynx+react.md +8 -0
- package/docs/zh/intlayer_with_nestjs.md +8 -0
- package/docs/zh/intlayer_with_next-i18next.md +15 -3
- package/docs/zh/intlayer_with_next-intl.md +12 -3
- package/docs/zh/intlayer_with_nextjs_14.md +16 -0
- package/docs/zh/intlayer_with_nextjs_15.md +16 -0
- package/docs/zh/intlayer_with_nextjs_16.md +16 -0
- package/docs/zh/intlayer_with_nextjs_page_router.md +16 -0
- package/docs/zh/intlayer_with_nuxt.md +9 -0
- package/docs/zh/intlayer_with_react_native+expo.md +9 -0
- package/docs/zh/intlayer_with_react_router_v7.md +86 -15
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +16 -0
- package/docs/zh/intlayer_with_svelte_kit.md +8 -0
- package/docs/zh/intlayer_with_tanstack.md +14 -0
- package/docs/zh/intlayer_with_vite+preact.md +12 -2
- package/docs/zh/intlayer_with_vite+react.md +9 -0
- package/docs/zh/intlayer_with_vite+solid.md +9 -0
- package/docs/zh/intlayer_with_vite+svelte.md +7 -0
- package/docs/zh/intlayer_with_vite+vue.md +11 -0
- package/package.json +6 -6
|
@@ -46,14 +46,22 @@ Instale os pacotes necessários usando npm:
|
|
|
46
46
|
|
|
47
47
|
```bash packageManager="npm"
|
|
48
48
|
npm install intlayer next-intlayer
|
|
49
|
+
npx intlayer init
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
```bash packageManager="pnpm"
|
|
52
53
|
pnpm add intlayer next-intlayer
|
|
54
|
+
pnpm intlayer init
|
|
53
55
|
```
|
|
54
56
|
|
|
55
57
|
```bash packageManager="yarn"
|
|
56
58
|
yarn add intlayer next-intlayer
|
|
59
|
+
yarn intlayer init
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```bash packageManager="bun"
|
|
63
|
+
bun add intlayer next-intlayer
|
|
64
|
+
bunx intlayer init
|
|
57
65
|
```
|
|
58
66
|
|
|
59
67
|
- **intlayer**
|
|
@@ -1231,14 +1239,22 @@ Para habilitar essa otimização, instale o pacote `@intlayer/swc`. Uma vez inst
|
|
|
1231
1239
|
|
|
1232
1240
|
```bash packageManager="npm"
|
|
1233
1241
|
npm install @intlayer/swc --save-dev
|
|
1242
|
+
npx intlayer init
|
|
1234
1243
|
```
|
|
1235
1244
|
|
|
1236
1245
|
```bash packageManager="pnpm"
|
|
1237
1246
|
pnpm add @intlayer/swc --save-dev
|
|
1247
|
+
pnpm intlayer init
|
|
1238
1248
|
```
|
|
1239
1249
|
|
|
1240
1250
|
```bash packageManager="yarn"
|
|
1241
1251
|
yarn add @intlayer/swc --save-dev
|
|
1252
|
+
yarn intlayer init
|
|
1253
|
+
```
|
|
1254
|
+
|
|
1255
|
+
```bash packageManager="bun"
|
|
1256
|
+
bun add @intlayer/swc --dev
|
|
1257
|
+
bunx intlayer init
|
|
1242
1258
|
```
|
|
1243
1259
|
|
|
1244
1260
|
> Nota: Esta otimização só está disponível em Next.js 13 e superior.
|
|
@@ -53,14 +53,22 @@ Instale os pacotes necessários usando npm:
|
|
|
53
53
|
|
|
54
54
|
```bash packageManager="npm"
|
|
55
55
|
npm install intlayer next-intlayer
|
|
56
|
+
npx intlayer init
|
|
56
57
|
```
|
|
57
58
|
|
|
58
59
|
```bash packageManager="pnpm"
|
|
59
60
|
pnpm add intlayer next-intlayer
|
|
61
|
+
pnpm intlayer init
|
|
60
62
|
```
|
|
61
63
|
|
|
62
64
|
```bash packageManager="yarn"
|
|
63
65
|
yarn add intlayer next-intlayer
|
|
66
|
+
yarn intlayer init
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```bash packageManager="bun"
|
|
70
|
+
bun add intlayer next-intlayer
|
|
71
|
+
bunx intlayer init
|
|
64
72
|
```
|
|
65
73
|
|
|
66
74
|
- **intlayer**
|
|
@@ -1482,14 +1490,22 @@ Para habilitar essa otimização, instale o pacote `@intlayer/swc`. Uma vez inst
|
|
|
1482
1490
|
|
|
1483
1491
|
```bash packageManager="npm"
|
|
1484
1492
|
npm install @intlayer/swc --save-dev
|
|
1493
|
+
npx intlayer init
|
|
1485
1494
|
```
|
|
1486
1495
|
|
|
1487
1496
|
```bash packageManager="pnpm"
|
|
1488
1497
|
pnpm add @intlayer/swc --save-dev
|
|
1498
|
+
pnpm intlayer init
|
|
1489
1499
|
```
|
|
1490
1500
|
|
|
1491
1501
|
```bash packageManager="yarn"
|
|
1492
1502
|
yarn add @intlayer/swc --save-dev
|
|
1503
|
+
yarn intlayer init
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
```bash packageManager="bun"
|
|
1507
|
+
bun add @intlayer/swc --dev
|
|
1508
|
+
bunx intlayer init
|
|
1493
1509
|
```
|
|
1494
1510
|
|
|
1495
1511
|
> Nota: Esta otimização está disponível apenas para Next.js 13 e versões superiores.
|
|
@@ -73,14 +73,22 @@ Instale os pacotes necessários usando npm:
|
|
|
73
73
|
|
|
74
74
|
```bash packageManager="npm"
|
|
75
75
|
npm install intlayer next-intlayer
|
|
76
|
+
npx intlayer init
|
|
76
77
|
```
|
|
77
78
|
|
|
78
79
|
```bash packageManager="pnpm"
|
|
79
80
|
pnpm add intlayer next-intlayer
|
|
81
|
+
pnpm intlayer init
|
|
80
82
|
```
|
|
81
83
|
|
|
82
84
|
```bash packageManager="yarn"
|
|
83
85
|
yarn add intlayer next-intlayer
|
|
86
|
+
yarn intlayer init
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```bash packageManager="bun"
|
|
90
|
+
bun add intlayer next-intlayer
|
|
91
|
+
bunx intlayer init
|
|
84
92
|
```
|
|
85
93
|
|
|
86
94
|
- **intlayer**
|
|
@@ -1564,14 +1572,22 @@ Para ativar essa otimização, instale o pacote `@intlayer/swc`. Uma vez instala
|
|
|
1564
1572
|
|
|
1565
1573
|
```bash packageManager="npm"
|
|
1566
1574
|
npm install @intlayer/swc --save-dev
|
|
1575
|
+
npx intlayer init
|
|
1567
1576
|
```
|
|
1568
1577
|
|
|
1569
1578
|
```bash packageManager="pnpm"
|
|
1570
1579
|
pnpm add @intlayer/swc --save-dev
|
|
1580
|
+
pnpm intlayer init
|
|
1571
1581
|
```
|
|
1572
1582
|
|
|
1573
1583
|
```bash packageManager="yarn"
|
|
1574
1584
|
yarn add @intlayer/swc --save-dev
|
|
1585
|
+
yarn intlayer init
|
|
1586
|
+
```
|
|
1587
|
+
|
|
1588
|
+
```bash packageManager="bun"
|
|
1589
|
+
bun add @intlayer/swc --dev
|
|
1590
|
+
bunx intlayer init
|
|
1575
1591
|
```
|
|
1576
1592
|
|
|
1577
1593
|
> Nota: Esta otimização está disponível apenas para Next.js 13 ou superior.
|
|
@@ -47,14 +47,22 @@ Instale os pacotes necessários usando seu gerenciador de pacotes preferido:
|
|
|
47
47
|
|
|
48
48
|
```bash packageManager="npm"
|
|
49
49
|
npm install intlayer next-intlayer
|
|
50
|
+
npx intlayer init
|
|
50
51
|
```
|
|
51
52
|
|
|
52
53
|
```bash packageManager="pnpm"
|
|
53
54
|
pnpm add intlayer next-intlayer
|
|
55
|
+
pnpm intlayer init
|
|
54
56
|
```
|
|
55
57
|
|
|
56
58
|
```bash packageManager="yarn"
|
|
57
59
|
yarn add intlayer next-intlayer
|
|
60
|
+
yarn intlayer init
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```bash packageManager="bun"
|
|
64
|
+
bun add intlayer next-intlayer
|
|
65
|
+
bunx intlayer init
|
|
58
66
|
```
|
|
59
67
|
|
|
60
68
|
- **intlayer**
|
|
@@ -1449,14 +1457,22 @@ Para ativar essa otimização, instale o pacote `@intlayer/swc`. Uma vez instala
|
|
|
1449
1457
|
|
|
1450
1458
|
```bash packageManager="npm"
|
|
1451
1459
|
npm install @intlayer/swc --save-dev
|
|
1460
|
+
npx intlayer init
|
|
1452
1461
|
```
|
|
1453
1462
|
|
|
1454
1463
|
```bash packageManager="pnpm"
|
|
1455
1464
|
pnpm add @intlayer/swc --save-dev
|
|
1465
|
+
pnpm intlayer init
|
|
1456
1466
|
```
|
|
1457
1467
|
|
|
1458
1468
|
```bash packageManager="yarn"
|
|
1459
1469
|
yarn add @intlayer/swc --save-dev
|
|
1470
|
+
yarn intlayer init
|
|
1471
|
+
```
|
|
1472
|
+
|
|
1473
|
+
```bash packageManager="bun"
|
|
1474
|
+
bun add @intlayer/swc --dev
|
|
1475
|
+
bunx intlayer init
|
|
1460
1476
|
```
|
|
1461
1477
|
|
|
1462
1478
|
> Nota: Esta otimização está disponível apenas para Next.js 13 e versões superiores.
|
|
@@ -74,16 +74,25 @@ Instale os pacotes necessários usando npm:
|
|
|
74
74
|
```bash packageManager="npm"
|
|
75
75
|
npm install intlayer vue-intlayer
|
|
76
76
|
npm install --save-dev nuxt-intlayer
|
|
77
|
+
npx intlayer init
|
|
77
78
|
```
|
|
78
79
|
|
|
79
80
|
```bash packageManager="pnpm"
|
|
80
81
|
pnpm add intlayer vue-intlayer
|
|
81
82
|
pnpm add --save-dev nuxt-intlayer
|
|
83
|
+
pnpm intlayer init
|
|
82
84
|
```
|
|
83
85
|
|
|
84
86
|
```bash packageManager="yarn"
|
|
85
87
|
yarn add intlayer vue-intlayer
|
|
86
88
|
yarn add --save-dev nuxt-intlayer
|
|
89
|
+
yarn intlayer init
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash packageManager="bun"
|
|
93
|
+
bun add intlayer vue-intlayer
|
|
94
|
+
bun add --dev nuxt-intlayer
|
|
95
|
+
bunx intlayer init
|
|
87
96
|
```
|
|
88
97
|
|
|
89
98
|
- **intlayer**
|
|
@@ -45,16 +45,25 @@ No seu projeto React Native, instale os seguintes pacotes:
|
|
|
45
45
|
```bash packageManager="npm"
|
|
46
46
|
npm install intlayer react-intlayer
|
|
47
47
|
npm install --save-dev react-native-intlayer
|
|
48
|
+
npx intlayer init
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
```bash packageManager="pnpm"
|
|
51
52
|
pnpm add intlayer react-intlayer
|
|
52
53
|
pnpm add --save-dev react-native-intlayer
|
|
54
|
+
pnpm intlayer init
|
|
53
55
|
```
|
|
54
56
|
|
|
55
57
|
```bash packageManager="yarn"
|
|
56
58
|
yarn add intlayer react-intlayer
|
|
57
59
|
yarn add --save-dev react-native-intlayer
|
|
60
|
+
yarn intlayer init
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```bash packageManager="bun"
|
|
64
|
+
bun add intlayer react-intlayer
|
|
65
|
+
bun add --dev react-native-intlayer
|
|
66
|
+
bunx intlayer init
|
|
58
67
|
```
|
|
59
68
|
|
|
60
69
|
### Pacotes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-04
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-27
|
|
4
4
|
title: Como traduzir seu React Router v7 – guia i18n 2025
|
|
5
5
|
description: Aprenda como adicionar internacionalização (i18n) à sua aplicação React Router v7 usando Intlayer. Siga este guia completo para tornar seu app multilíngue com roteamento sensível à localidade.
|
|
6
6
|
keywords:
|
|
@@ -21,6 +21,9 @@ applicationTemplate: https://github.com/AydinTheFirst/react-router-intlayer
|
|
|
21
21
|
author: AydinTheFirst
|
|
22
22
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
23
23
|
history:
|
|
24
|
+
- version: 7.5.6
|
|
25
|
+
date: 2025-12-27
|
|
26
|
+
changes: Atualizar Layout e lidar com 404
|
|
24
27
|
- version: 5.8.2
|
|
25
28
|
date: 2025-09-04
|
|
26
29
|
changes: Adicionado para React Router v7
|
|
@@ -57,11 +60,25 @@ Instale os pacotes necessários usando seu gerenciador de pacotes preferido:
|
|
|
57
60
|
```bash packageManager="npm"
|
|
58
61
|
npm install intlayer react-intlayer
|
|
59
62
|
npm install vite-intlayer --save-dev
|
|
63
|
+
npx intlayer init
|
|
60
64
|
```
|
|
61
65
|
|
|
62
66
|
```bash packageManager="pnpm"
|
|
63
67
|
pnpm add intlayer react-intlayer
|
|
64
68
|
pnpm add vite-intlayer --save-dev
|
|
69
|
+
pnpm intlayer init
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```bash packageManager="yarn"
|
|
73
|
+
yarn add intlayer react-intlayer
|
|
74
|
+
yarn add vite-intlayer --save-dev
|
|
75
|
+
yarn intlayer init
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```bash packageManager="bun"
|
|
79
|
+
bun add intlayer react-intlayer
|
|
80
|
+
bun add vite-intlayer --dev
|
|
81
|
+
bunx intlayer init
|
|
65
82
|
```
|
|
66
83
|
|
|
67
84
|
- **intlayer**
|
|
@@ -160,15 +177,12 @@ module.exports = config;
|
|
|
160
177
|
|
|
161
178
|
Configure sua configuração de rotas com rotas que reconhecem o idioma:
|
|
162
179
|
|
|
163
|
-
```typescript fileName="app/routes.ts"
|
|
180
|
+
```typescript fileName="app/routes.ts"
|
|
164
181
|
import { layout, route, type RouteConfig } from "@react-router/dev/routes";
|
|
165
182
|
|
|
166
183
|
export default [
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
route("/:lang", "routes/[lang]/page.tsx"), // Página inicial localizada
|
|
170
|
-
route("/:lang?/about", "routes/[lang]/about/page.tsx"), // Página sobre localizada
|
|
171
|
-
]),
|
|
184
|
+
route("/:lang?", "routes/page.tsx"), // Página inicial localizada
|
|
185
|
+
route("/:lang?/about", "routes/about/page.tsx"), // Página sobre localizada
|
|
172
186
|
] satisfies RouteConfig;
|
|
173
187
|
```
|
|
174
188
|
|
|
@@ -195,17 +209,50 @@ Configure seu layout raiz e layouts específicos para cada localidade:
|
|
|
195
209
|
|
|
196
210
|
#### Layout Raiz
|
|
197
211
|
|
|
198
|
-
```tsx fileName="app/
|
|
199
|
-
|
|
200
|
-
// app/routes/layout.tsx
|
|
201
|
-
import { Outlet } from "react-router";
|
|
212
|
+
```tsx fileName="app/root.tsx"
|
|
213
|
+
import { getLocaleFromPath } from "intlayer";
|
|
202
214
|
import { IntlayerProvider } from "react-intlayer";
|
|
215
|
+
import {
|
|
216
|
+
data,
|
|
217
|
+
Meta,
|
|
218
|
+
Scripts,
|
|
219
|
+
ScrollRestoration,
|
|
220
|
+
useLoaderData,
|
|
221
|
+
} from "react-router";
|
|
222
|
+
import type { Route } from "./+types/root";
|
|
223
|
+
|
|
224
|
+
// ... Unchanged App, links and ErrorBoundary code
|
|
225
|
+
|
|
226
|
+
export async function loader({ request }: Route.LoaderArgs) {
|
|
227
|
+
const locale = getLocaleFromPath(request.url);
|
|
228
|
+
|
|
229
|
+
if (!locale) {
|
|
230
|
+
throw data("Language not supported", { status: 404 });
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return { locale };
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function Layout({
|
|
237
|
+
children,
|
|
238
|
+
}: { children: React.ReactNode } & Route.ComponentProps) {
|
|
239
|
+
const data = useLoaderData<typeof loader>();
|
|
240
|
+
const { locale } = data ?? {};
|
|
203
241
|
|
|
204
|
-
export default function RootLayout() {
|
|
205
242
|
return (
|
|
206
|
-
<
|
|
207
|
-
<
|
|
208
|
-
|
|
243
|
+
<html lang={locale}>
|
|
244
|
+
<head>
|
|
245
|
+
<meta charSet="utf-8" />
|
|
246
|
+
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
|
247
|
+
<Meta />
|
|
248
|
+
<Links />
|
|
249
|
+
</head>
|
|
250
|
+
<body>
|
|
251
|
+
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
252
|
+
<ScrollRestoration />
|
|
253
|
+
<Scripts />
|
|
254
|
+
</body>
|
|
255
|
+
</html>
|
|
209
256
|
);
|
|
210
257
|
}
|
|
211
258
|
```
|
|
@@ -299,46 +346,46 @@ export default function LocalizedLink({ to, ...props }: RouterLinkProps) {
|
|
|
299
346
|
|
|
300
347
|
Acesse seus dicionários de conteúdo em toda a sua aplicação:
|
|
301
348
|
|
|
302
|
-
#### Página
|
|
349
|
+
#### Página Inicial Localizada
|
|
303
350
|
|
|
304
|
-
```tsx fileName="app/routes/page.tsx"
|
|
305
|
-
import {
|
|
306
|
-
import {
|
|
351
|
+
```tsx fileName="app/routes/page.tsx"
|
|
352
|
+
import { getIntlayer, validatePrefix } from "intlayer";
|
|
353
|
+
import { useIntlayer } from "react-intlayer";
|
|
354
|
+
import { data } from "react-router";
|
|
307
355
|
|
|
308
|
-
|
|
309
|
-
const { locale } = useLocale();
|
|
356
|
+
import { LocaleSwitcher } from "~/components/locale-switcher";
|
|
310
357
|
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
```
|
|
358
|
+
import { Navbar } from "~/components/navbar";
|
|
359
|
+
import type { Route } from "./+types/page";
|
|
314
360
|
|
|
315
|
-
|
|
361
|
+
export const loader = ({ params }: Route.LoaderArgs) => {
|
|
362
|
+
const { locale } = params;
|
|
316
363
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
364
|
+
const { isValid } = validatePrefix(locale);
|
|
365
|
+
|
|
366
|
+
if (!isValid) {
|
|
367
|
+
throw data("Locale not supported", { status: 404 });
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
export const meta: Route.MetaFunction = ({ params }) => {
|
|
372
|
+
const content = getIntlayer("page", params.locale);
|
|
373
|
+
|
|
374
|
+
return [
|
|
375
|
+
{ title: content.title },
|
|
376
|
+
{ content: content.description, name: "description" },
|
|
377
|
+
];
|
|
378
|
+
};
|
|
320
379
|
|
|
321
380
|
export default function Page() {
|
|
322
|
-
const
|
|
381
|
+
const { title, description, aboutLink } = useIntlayer("page");
|
|
323
382
|
|
|
324
383
|
return (
|
|
325
|
-
<div
|
|
326
|
-
<h1>{
|
|
327
|
-
<p>{
|
|
328
|
-
<nav
|
|
329
|
-
<LocalizedLink
|
|
330
|
-
to="/about"
|
|
331
|
-
style={{
|
|
332
|
-
display: "inline-block",
|
|
333
|
-
padding: "0.5rem 1rem",
|
|
334
|
-
backgroundColor: "#007bff",
|
|
335
|
-
color: "white",
|
|
336
|
-
textDecoration: "none",
|
|
337
|
-
borderRadius: "4px",
|
|
338
|
-
}}
|
|
339
|
-
>
|
|
340
|
-
{content.aboutLink}
|
|
341
|
-
</LocalizedLink>
|
|
384
|
+
<div>
|
|
385
|
+
<h1>{title}</h1>
|
|
386
|
+
<p>{description}</p>
|
|
387
|
+
<nav>
|
|
388
|
+
<LocalizedLink to="/about">{aboutLink}</LocalizedLink>
|
|
342
389
|
</nav>
|
|
343
390
|
</div>
|
|
344
391
|
);
|
|
@@ -31,6 +31,8 @@ history:
|
|
|
31
31
|
|
|
32
32
|
Este guia demonstra como integrar o **Intlayer** para internacionalização perfeita em projetos React Router v7 usando **roteamento baseado em sistema de arquivos** (`@react-router/fs-routes`) com roteamento consciente de localidade, suporte a TypeScript e práticas modernas de desenvolvimento.
|
|
33
33
|
|
|
34
|
+
Para roteamento do lado do cliente, consulte o guia [Intlayer com React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_with_react_router_v7.md).
|
|
35
|
+
|
|
34
36
|
## Índice
|
|
35
37
|
|
|
36
38
|
<TOC/>
|
|
@@ -80,6 +82,7 @@ Instale os pacotes necessários usando seu gerenciador de pacotes preferido:
|
|
|
80
82
|
npm install intlayer react-intlayer
|
|
81
83
|
npm install vite-intlayer --save-dev
|
|
82
84
|
npm install @react-router/fs-routes --save-dev
|
|
85
|
+
npx intlayer init
|
|
83
86
|
```
|
|
84
87
|
|
|
85
88
|
```bash packageManager="pnpm"
|
|
@@ -88,6 +91,13 @@ pnpm add vite-intlayer --save-dev
|
|
|
88
91
|
pnpm add @react-router/fs-routes --save-dev
|
|
89
92
|
```
|
|
90
93
|
|
|
94
|
+
```bash packageManager="bun"
|
|
95
|
+
bun add intlayer react-intlayer
|
|
96
|
+
bun add vite-intlayer --dev
|
|
97
|
+
bun add @react-router/fs-routes --dev
|
|
98
|
+
bunx intlayer init
|
|
99
|
+
```
|
|
100
|
+
|
|
91
101
|
- **intlayer**
|
|
92
102
|
|
|
93
103
|
O pacote principal que fornece ferramentas de internacionalização para gerenciamento de configuração, tradução, [declaração de conteúdo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/content_file.md), transpilação e [comandos CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md).
|
|
@@ -195,12 +205,13 @@ Crie os seguintes arquivos no seu diretório `app/routes/`:
|
|
|
195
205
|
#### Estrutura de Arquivos
|
|
196
206
|
|
|
197
207
|
```bash
|
|
198
|
-
app/
|
|
199
|
-
├──
|
|
200
|
-
|
|
201
|
-
├── ($locale)._index.
|
|
202
|
-
├── ($locale).
|
|
203
|
-
|
|
208
|
+
app/
|
|
209
|
+
├── root.tsx # Wrapper de layout para rotas de locale
|
|
210
|
+
└──routes/
|
|
211
|
+
├── ($locale)._index.tsx # Página inicial (/, /es, etc.)
|
|
212
|
+
├── ($locale)._index.content.ts # Conteúdo da página inicial
|
|
213
|
+
├── ($locale).about.tsx # Página About (/about, /es/about, etc.)
|
|
214
|
+
└── ($locale).about.content.ts # Conteúdo da página About
|
|
204
215
|
```
|
|
205
216
|
|
|
206
217
|
As convenções de nomenclatura:
|
|
@@ -212,23 +223,50 @@ As convenções de nomenclatura:
|
|
|
212
223
|
|
|
213
224
|
#### Componente de Layout
|
|
214
225
|
|
|
215
|
-
```tsx fileName="app/
|
|
226
|
+
```tsx fileName="app/root.tsx"
|
|
227
|
+
import { getLocaleFromPath } from "intlayer";
|
|
216
228
|
import { IntlayerProvider } from "react-intlayer";
|
|
217
|
-
import {
|
|
229
|
+
import {
|
|
230
|
+
isRouteErrorResponse,
|
|
231
|
+
Meta,
|
|
232
|
+
Outlet,
|
|
233
|
+
Scripts,
|
|
234
|
+
ScrollRestoration,
|
|
235
|
+
useLoaderData,
|
|
236
|
+
} from "react-router";
|
|
218
237
|
|
|
219
|
-
import {
|
|
238
|
+
import type { Route } from "./+types/root";
|
|
220
239
|
|
|
221
|
-
import
|
|
240
|
+
import "./app.css";
|
|
222
241
|
|
|
223
|
-
|
|
224
|
-
useI18nHTMLAttributes();
|
|
242
|
+
// links and ErrorBoundary code
|
|
225
243
|
|
|
226
|
-
|
|
244
|
+
export async function loader({ request }: Route.LoaderArgs) {
|
|
245
|
+
const locale = getLocaleFromPath(request.url);
|
|
246
|
+
|
|
247
|
+
return { locale };
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export function Layout({
|
|
251
|
+
children,
|
|
252
|
+
}: { children: React.ReactNode } & Route.ComponentProps) {
|
|
253
|
+
const data = useLoaderData<typeof loader>();
|
|
254
|
+
const { locale } = data ?? {};
|
|
227
255
|
|
|
228
256
|
return (
|
|
229
|
-
<
|
|
230
|
-
<
|
|
231
|
-
|
|
257
|
+
<html lang={locale}>
|
|
258
|
+
<head>
|
|
259
|
+
<meta charSet="utf-8" />
|
|
260
|
+
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
|
261
|
+
<Meta />
|
|
262
|
+
<Links />
|
|
263
|
+
</head>
|
|
264
|
+
<body>
|
|
265
|
+
<IntlayerProvider locale={locale}>{children}</IntlayerProvider>
|
|
266
|
+
<ScrollRestoration />
|
|
267
|
+
<Scripts />
|
|
268
|
+
</body>
|
|
269
|
+
</html>
|
|
232
270
|
);
|
|
233
271
|
}
|
|
234
272
|
```
|
|
@@ -236,11 +274,34 @@ export default function RootLayout({ params }: Route.ComponentProps) {
|
|
|
236
274
|
#### Página Index
|
|
237
275
|
|
|
238
276
|
```tsx fileName="app/routes/($locale)._index.tsx"
|
|
277
|
+
import { getIntlayer, validatePrefix } from "intlayer";
|
|
239
278
|
import { useIntlayer } from "react-intlayer";
|
|
240
|
-
import {
|
|
279
|
+
import { data } from "react-router";
|
|
280
|
+
|
|
281
|
+
import { LocaleSwitcher } from "~/components/locale-switcher";
|
|
282
|
+
import { Navbar } from "~/components/navbar";
|
|
241
283
|
|
|
242
284
|
import type { Route } from "./+types/($locale)._index";
|
|
243
285
|
|
|
286
|
+
export const loader = ({ params }: Route.LoaderArgs) => {
|
|
287
|
+
const { locale } = params;
|
|
288
|
+
|
|
289
|
+
const { isValid } = validatePrefix(locale);
|
|
290
|
+
|
|
291
|
+
if (!isValid) {
|
|
292
|
+
throw data("Locale not supported", { status: 404 });
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
export const meta: Route.MetaFunction = ({ params }) => {
|
|
297
|
+
const content = getIntlayer("page", params.locale);
|
|
298
|
+
|
|
299
|
+
return [
|
|
300
|
+
{ title: content.title },
|
|
301
|
+
{ content: content.description, name: "description" },
|
|
302
|
+
];
|
|
303
|
+
};
|
|
304
|
+
|
|
244
305
|
export default function Page() {
|
|
245
306
|
const { title, description, aboutLink } = useIntlayer("page");
|
|
246
307
|
|
|
@@ -259,11 +320,34 @@ export default function Page() {
|
|
|
259
320
|
#### Página About
|
|
260
321
|
|
|
261
322
|
```tsx fileName="app/routes/($locale).about.tsx"
|
|
323
|
+
import { getIntlayer, validatePrefix } from "intlayer";
|
|
262
324
|
import { useIntlayer } from "react-intlayer";
|
|
263
|
-
import {
|
|
325
|
+
import { data } from "react-router";
|
|
326
|
+
|
|
327
|
+
import { LocaleSwitcher } from "~/components/locale-switcher";
|
|
328
|
+
import { Navbar } from "~/components/navbar";
|
|
264
329
|
|
|
265
330
|
import type { Route } from "./+types/($locale).about";
|
|
266
331
|
|
|
332
|
+
export const loader = ({ params }: Route.LoaderArgs) => {
|
|
333
|
+
const { locale } = params;
|
|
334
|
+
|
|
335
|
+
const { isValid } = validatePrefix(locale);
|
|
336
|
+
|
|
337
|
+
if (!isValid) {
|
|
338
|
+
throw data("Locale not supported", { status: 404 });
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
export const meta: Route.MetaFunction = ({ params }) => {
|
|
343
|
+
const content = getIntlayer("about", params.locale);
|
|
344
|
+
|
|
345
|
+
return [
|
|
346
|
+
{ title: content.title },
|
|
347
|
+
{ content: content.description, name: "description" },
|
|
348
|
+
];
|
|
349
|
+
};
|
|
350
|
+
|
|
267
351
|
export default function AboutPage() {
|
|
268
352
|
const { title, content, homeLink } = useIntlayer("about");
|
|
269
353
|
|
|
@@ -482,7 +566,7 @@ export const useI18nHTMLAttributes = () => {
|
|
|
482
566
|
};
|
|
483
567
|
```
|
|
484
568
|
|
|
485
|
-
Este hook já é usado no componente de layout (`
|
|
569
|
+
Este hook já é usado no componente de layout (`root.tsx`) mostrado no Passo 5.
|
|
486
570
|
|
|
487
571
|
### Passo 10: Adicionar middleware (Opcional)
|
|
488
572
|
|
|
@@ -99,21 +99,25 @@ Instale os pacotes necessários usando npm:
|
|
|
99
99
|
```bash packageManager="npm"
|
|
100
100
|
npm install intlayer svelte-intlayer
|
|
101
101
|
npm install vite-intlayer --save-dev
|
|
102
|
+
npx intlayer init
|
|
102
103
|
```
|
|
103
104
|
|
|
104
105
|
```bash packageManager="pnpm"
|
|
105
106
|
pnpm add intlayer svelte-intlayer
|
|
106
107
|
pnpm add vite-intlayer --save-dev
|
|
108
|
+
pnpm intlayer init
|
|
107
109
|
```
|
|
108
110
|
|
|
109
111
|
```bash packageManager="yarn"
|
|
110
112
|
yarn add intlayer svelte-intlayer
|
|
111
113
|
yarn add vite-intlayer --save-dev
|
|
114
|
+
yarn intlayer init
|
|
112
115
|
```
|
|
113
116
|
|
|
114
117
|
```bash packageManager="bun"
|
|
115
118
|
bun add intlayer svelte-intlayer
|
|
116
119
|
bun add vite-intlayer --save-dev
|
|
120
|
+
bunx intlayer init
|
|
117
121
|
```
|
|
118
122
|
|
|
119
123
|
- **intlayer**: O pacote principal de i18n.
|
|
@@ -273,21 +277,25 @@ Instale os pacotes necessários usando npm:
|
|
|
273
277
|
```bash packageManager="npm"
|
|
274
278
|
npm install intlayer svelte-intlayer
|
|
275
279
|
npm install vite-intlayer --save-dev
|
|
280
|
+
npx intlayer init
|
|
276
281
|
```
|
|
277
282
|
|
|
278
283
|
```bash packageManager="pnpm"
|
|
279
284
|
pnpm add intlayer svelte-intlayer
|
|
280
285
|
pnpm add vite-intlayer --save-dev
|
|
286
|
+
pnpm intlayer init
|
|
281
287
|
```
|
|
282
288
|
|
|
283
289
|
```bash packageManager="yarn"
|
|
284
290
|
yarn add intlayer svelte-intlayer
|
|
285
291
|
yarn add vite-intlayer --save-dev
|
|
292
|
+
yarn intlayer init
|
|
286
293
|
```
|
|
287
294
|
|
|
288
295
|
```bash packageManager="bun"
|
|
289
296
|
bun add intlayer svelte-intlayer
|
|
290
297
|
bun add vite-intlayer --save-dev
|
|
298
|
+
bunx intlayer init
|
|
291
299
|
```
|
|
292
300
|
|
|
293
301
|
- **intlayer**: O pacote principal de i18n.
|