@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
|
@@ -74,14 +74,22 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
74
74
|
|
|
75
75
|
```bash packageManager="npm"
|
|
76
76
|
npm install intlayer next-intlayer
|
|
77
|
+
npx intlayer init
|
|
77
78
|
```
|
|
78
79
|
|
|
79
80
|
```bash packageManager="pnpm"
|
|
80
81
|
pnpm add intlayer next-intlayer
|
|
82
|
+
pnpm intlayer init
|
|
81
83
|
```
|
|
82
84
|
|
|
83
85
|
```bash packageManager="yarn"
|
|
84
86
|
yarn add intlayer next-intlayer
|
|
87
|
+
yarn intlayer init
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```bash packageManager="bun"
|
|
91
|
+
bun add intlayer next-intlayer
|
|
92
|
+
bunx intlayer init
|
|
85
93
|
```
|
|
86
94
|
|
|
87
95
|
- **intlayer**
|
|
@@ -1516,14 +1524,22 @@ Khi sử dụng `next-intlayer`, các từ điển được bao gồm trong bund
|
|
|
1516
1524
|
|
|
1517
1525
|
```bash packageManager="npm"
|
|
1518
1526
|
npm install @intlayer/swc --save-dev
|
|
1527
|
+
npx intlayer init
|
|
1519
1528
|
```
|
|
1520
1529
|
|
|
1521
1530
|
```bash packageManager="pnpm"
|
|
1522
1531
|
pnpm add @intlayer/swc --save-dev
|
|
1532
|
+
pnpm intlayer init
|
|
1523
1533
|
```
|
|
1524
1534
|
|
|
1525
1535
|
```bash packageManager="yarn"
|
|
1526
1536
|
yarn add @intlayer/swc --save-dev
|
|
1537
|
+
yarn intlayer init
|
|
1538
|
+
```
|
|
1539
|
+
|
|
1540
|
+
```bash packageManager="bun"
|
|
1541
|
+
bun add @intlayer/swc --dev
|
|
1542
|
+
bunx intlayer init
|
|
1527
1543
|
```
|
|
1528
1544
|
|
|
1529
1545
|
> Lưu ý: Tối ưu hóa này chỉ khả dụng cho Next.js 13 trở lên.
|
|
@@ -104,14 +104,22 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
104
104
|
|
|
105
105
|
```bash packageManager="npm"
|
|
106
106
|
npm install intlayer next-intlayer
|
|
107
|
+
npx intlayer init
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
```bash packageManager="pnpm"
|
|
110
111
|
pnpm add intlayer next-intlayer
|
|
112
|
+
pnpm intlayer init
|
|
111
113
|
```
|
|
112
114
|
|
|
113
115
|
```bash packageManager="yarn"
|
|
114
116
|
yarn add intlayer next-intlayer
|
|
117
|
+
yarn intlayer init
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
```bash packageManager="bun"
|
|
121
|
+
bun add intlayer next-intlayer
|
|
122
|
+
bunx intlayer init
|
|
115
123
|
```
|
|
116
124
|
|
|
117
125
|
- **intlayer**
|
|
@@ -1655,14 +1663,22 @@ Khi sử dụng `next-intlayer`, các từ điển được bao gồm trong bund
|
|
|
1655
1663
|
|
|
1656
1664
|
```bash packageManager="npm"
|
|
1657
1665
|
npm install @intlayer/swc --save-dev
|
|
1666
|
+
npx intlayer init
|
|
1658
1667
|
```
|
|
1659
1668
|
|
|
1660
1669
|
```bash packageManager="pnpm"
|
|
1661
1670
|
pnpm add @intlayer/swc --save-dev
|
|
1671
|
+
pnpm intlayer init
|
|
1662
1672
|
```
|
|
1663
1673
|
|
|
1664
1674
|
```bash packageManager="yarn"
|
|
1665
1675
|
yarn add @intlayer/swc --save-dev
|
|
1676
|
+
yarn intlayer init
|
|
1677
|
+
```
|
|
1678
|
+
|
|
1679
|
+
```bash packageManager="bun"
|
|
1680
|
+
bun add @intlayer/swc --dev
|
|
1681
|
+
bunx intlayer init
|
|
1666
1682
|
```
|
|
1667
1683
|
|
|
1668
1684
|
> Lưu ý: Tối ưu này chỉ khả dụng cho Next.js 13 trở lên.
|
|
@@ -73,14 +73,22 @@ Cài đặt các gói cần thiết bằng 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**
|
|
@@ -1566,14 +1574,22 @@ Khi sử dụng `next-intlayer`, các từ điển được bao gồm trong gói
|
|
|
1566
1574
|
|
|
1567
1575
|
```bash packageManager="npm"
|
|
1568
1576
|
npm install @intlayer/swc --save-dev
|
|
1577
|
+
npx intlayer init
|
|
1569
1578
|
```
|
|
1570
1579
|
|
|
1571
1580
|
```bash packageManager="pnpm"
|
|
1572
1581
|
pnpm add @intlayer/swc --save-dev
|
|
1582
|
+
pnpm intlayer init
|
|
1573
1583
|
```
|
|
1574
1584
|
|
|
1575
1585
|
```bash packageManager="yarn"
|
|
1576
1586
|
yarn add @intlayer/swc --save-dev
|
|
1587
|
+
yarn intlayer init
|
|
1588
|
+
```
|
|
1589
|
+
|
|
1590
|
+
```bash packageManager="bun"
|
|
1591
|
+
bun add @intlayer/swc --dev
|
|
1592
|
+
bunx intlayer init
|
|
1577
1593
|
```
|
|
1578
1594
|
|
|
1579
1595
|
> Lưu ý: Tối ưu hóa này chỉ có sẵn cho Next.js 13 trở lên.
|
|
@@ -54,14 +54,22 @@ Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thí
|
|
|
54
54
|
|
|
55
55
|
```bash packageManager="npm"
|
|
56
56
|
npm install intlayer next-intlayer
|
|
57
|
+
npx intlayer init
|
|
57
58
|
```
|
|
58
59
|
|
|
59
60
|
```bash packageManager="pnpm"
|
|
60
61
|
pnpm add intlayer next-intlayer
|
|
62
|
+
pnpm intlayer init
|
|
61
63
|
```
|
|
62
64
|
|
|
63
65
|
```bash packageManager="yarn"
|
|
64
66
|
yarn add intlayer next-intlayer
|
|
67
|
+
yarn intlayer init
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash packageManager="bun"
|
|
71
|
+
bun add intlayer next-intlayer
|
|
72
|
+
bunx intlayer init
|
|
65
73
|
```
|
|
66
74
|
|
|
67
75
|
- **intlayer**
|
|
@@ -1428,14 +1436,22 @@ Khi sử dụng `next-intlayer`, các từ điển được bao gồm trong bund
|
|
|
1428
1436
|
|
|
1429
1437
|
```bash packageManager="npm"
|
|
1430
1438
|
npm install @intlayer/swc --save-dev
|
|
1439
|
+
npx intlayer init
|
|
1431
1440
|
```
|
|
1432
1441
|
|
|
1433
1442
|
```bash packageManager="pnpm"
|
|
1434
1443
|
pnpm add @intlayer/swc --save-dev
|
|
1444
|
+
pnpm intlayer init
|
|
1435
1445
|
```
|
|
1436
1446
|
|
|
1437
1447
|
```bash packageManager="yarn"
|
|
1438
1448
|
yarn add @intlayer/swc --save-dev
|
|
1449
|
+
yarn intlayer init
|
|
1450
|
+
```
|
|
1451
|
+
|
|
1452
|
+
```bash packageManager="bun"
|
|
1453
|
+
bun add @intlayer/swc --dev
|
|
1454
|
+
bunx intlayer init
|
|
1439
1455
|
```
|
|
1440
1456
|
|
|
1441
1457
|
> Lưu ý: Tối ưu hóa này chỉ có sẵn cho Next.js 13 trở lên.
|
|
@@ -74,16 +74,25 @@ Cài đặt các gói cần thiết bằng 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**
|
|
@@ -60,16 +60,25 @@ Từ dự án React Native của bạn, cài đặt các gói sau:
|
|
|
60
60
|
```bash packageManager="npm"
|
|
61
61
|
npm install intlayer react-intlayer
|
|
62
62
|
npm install --save-dev react-native-intlayer
|
|
63
|
+
npx intlayer init
|
|
63
64
|
```
|
|
64
65
|
|
|
65
66
|
```bash packageManager="pnpm"
|
|
66
67
|
pnpm add intlayer react-intlayer
|
|
67
68
|
pnpm add --save-dev react-native-intlayer
|
|
69
|
+
pnpm intlayer init
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
```bash packageManager="yarn"
|
|
71
73
|
yarn add intlayer react-intlayer
|
|
72
74
|
yarn add --save-dev react-native-intlayer
|
|
75
|
+
yarn intlayer init
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```bash packageManager="bun"
|
|
79
|
+
bun add intlayer react-intlayer
|
|
80
|
+
bun add --dev react-native-intlayer
|
|
81
|
+
bunx intlayer init
|
|
73
82
|
```
|
|
74
83
|
|
|
75
84
|
### Các gói
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-04
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-27
|
|
4
4
|
title: Cách dịch ứng dụng React Router v7 của bạn – hướng dẫn i18n 2025
|
|
5
5
|
description: Tìm hiểu cách thêm quốc tế hóa (i18n) vào ứng dụng React Router v7 của bạn bằng Intlayer. Theo dõi hướng dẫn toàn diện này để làm cho ứng dụng của bạn đa ngôn ngữ với định tuyến nhận biết locale.
|
|
6
6
|
keywords:
|
|
@@ -20,6 +20,9 @@ slugs:
|
|
|
20
20
|
applicationTemplate: https://github.com/aymericzip/intlayer-react-router-v7-template
|
|
21
21
|
youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
|
|
22
22
|
history:
|
|
23
|
+
- version: 7.5.6
|
|
24
|
+
date: 2025-12-27
|
|
25
|
+
changes: Cập nhật Layout và xử lý 404
|
|
23
26
|
- version: 6.1.5
|
|
24
27
|
date: 2025-10-03
|
|
25
28
|
changes: Cập nhật tài liệu
|
|
@@ -67,11 +70,25 @@ Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thí
|
|
|
67
70
|
```bash packageManager="npm"
|
|
68
71
|
npm install intlayer react-intlayer
|
|
69
72
|
npm install vite-intlayer --save-dev
|
|
73
|
+
npx intlayer init
|
|
70
74
|
```
|
|
71
75
|
|
|
72
76
|
```bash packageManager="pnpm"
|
|
73
77
|
pnpm add intlayer react-intlayer
|
|
74
78
|
pnpm add vite-intlayer --save-dev
|
|
79
|
+
pnpm intlayer init
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```bash packageManager="yarn"
|
|
83
|
+
yarn add intlayer react-intlayer
|
|
84
|
+
yarn add vite-intlayer --save-dev
|
|
85
|
+
yarn intlayer init
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```bash packageManager="bun"
|
|
89
|
+
bun add intlayer react-intlayer
|
|
90
|
+
bun add vite-intlayer --dev
|
|
91
|
+
bunx intlayer init
|
|
75
92
|
```
|
|
76
93
|
|
|
77
94
|
- **intlayer**
|
|
@@ -181,10 +198,8 @@ Thiết lập cấu hình routing với các route nhận biết ngôn ngữ:
|
|
|
181
198
|
import { layout, route, type RouteConfig } from "@react-router/dev/routes";
|
|
182
199
|
|
|
183
200
|
export default [
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
route("/:lang?/about", "routes/about/page.tsx"), // Trang about có hỗ trợ đa ngôn ngữ
|
|
187
|
-
]),
|
|
201
|
+
route("/:lang?", "routes/page.tsx"), // Trang chủ có hỗ trợ đa ngôn ngữ
|
|
202
|
+
route("/:lang?/about", "routes/about/page.tsx"), // Trang about có hỗ trợ đa ngôn ngữ
|
|
188
203
|
] satisfies RouteConfig;
|
|
189
204
|
```
|
|
190
205
|
|
|
@@ -194,19 +209,50 @@ Thiết lập root layout và các layout theo ngôn ngữ cụ thể:
|
|
|
194
209
|
|
|
195
210
|
#### Root Layout
|
|
196
211
|
|
|
197
|
-
```tsx fileName="app/
|
|
212
|
+
```tsx fileName="app/root.tsx"
|
|
213
|
+
import { getLocaleFromPath } from "intlayer";
|
|
198
214
|
import { IntlayerProvider } from "react-intlayer";
|
|
199
|
-
import {
|
|
215
|
+
import {
|
|
216
|
+
data,
|
|
217
|
+
Meta,
|
|
218
|
+
Scripts,
|
|
219
|
+
ScrollRestoration,
|
|
220
|
+
useLoaderData,
|
|
221
|
+
} from "react-router";
|
|
222
|
+
import type { Route } from "./+types/root";
|
|
200
223
|
|
|
201
|
-
|
|
224
|
+
// ... Unchanged App, links and ErrorBoundary code
|
|
202
225
|
|
|
203
|
-
export
|
|
204
|
-
const
|
|
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 ?? {};
|
|
205
241
|
|
|
206
242
|
return (
|
|
207
|
-
<
|
|
208
|
-
<
|
|
209
|
-
|
|
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>
|
|
210
256
|
);
|
|
211
257
|
}
|
|
212
258
|
```
|
|
@@ -318,9 +364,34 @@ Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụn
|
|
|
318
364
|
|
|
319
365
|
#### Trang Chủ Đã Được Địa Phương Hóa
|
|
320
366
|
|
|
321
|
-
```tsx fileName="app/routes/
|
|
367
|
+
```tsx fileName="app/routes/page.tsx"
|
|
368
|
+
import { getIntlayer, validatePrefix } from "intlayer";
|
|
322
369
|
import { useIntlayer } from "react-intlayer";
|
|
323
|
-
import {
|
|
370
|
+
import { data } from "react-router";
|
|
371
|
+
|
|
372
|
+
import { LocaleSwitcher } from "~/components/locale-switcher";
|
|
373
|
+
|
|
374
|
+
import { Navbar } from "~/components/navbar";
|
|
375
|
+
import type { Route } from "./+types/page";
|
|
376
|
+
|
|
377
|
+
export const loader = ({ params }: Route.LoaderArgs) => {
|
|
378
|
+
const { locale } = params;
|
|
379
|
+
|
|
380
|
+
const { isValid } = validatePrefix(locale);
|
|
381
|
+
|
|
382
|
+
if (!isValid) {
|
|
383
|
+
throw data("Locale not supported", { status: 404 });
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
export const meta: Route.MetaFunction = ({ params }) => {
|
|
388
|
+
const content = getIntlayer("page", params.locale);
|
|
389
|
+
|
|
390
|
+
return [
|
|
391
|
+
{ title: content.title },
|
|
392
|
+
{ content: content.description, name: "description" },
|
|
393
|
+
];
|
|
394
|
+
};
|
|
324
395
|
|
|
325
396
|
export default function Page() {
|
|
326
397
|
const { title, description, aboutLink } = useIntlayer("page");
|
|
@@ -32,6 +32,8 @@ history:
|
|
|
32
32
|
|
|
33
33
|
Hướng dẫn này trình bày cách tích hợp **Intlayer** để thực hiện quốc tế hóa liền mạch trong các dự án React Router v7 với định tuyến nhận biết locale, hỗ trợ TypeScript và các thực hành phát triển hiện đại.
|
|
34
34
|
|
|
35
|
+
Đối với định tuyến phía máy khách, hãy tham khảo hướng dẫn [Intlayer với React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_react_router_v7.md).
|
|
36
|
+
|
|
35
37
|
## Table of Contents
|
|
36
38
|
|
|
37
39
|
<TOC/>
|
|
@@ -67,11 +69,25 @@ Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thí
|
|
|
67
69
|
```bash packageManager="npm"
|
|
68
70
|
npm install intlayer react-intlayer
|
|
69
71
|
npm install vite-intlayer --save-dev
|
|
72
|
+
npx intlayer init
|
|
70
73
|
```
|
|
71
74
|
|
|
72
75
|
```bash packageManager="pnpm"
|
|
73
76
|
pnpm add intlayer react-intlayer
|
|
74
77
|
pnpm add vite-intlayer --save-dev
|
|
78
|
+
pnpm intlayer init
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```bash packageManager="yarn"
|
|
82
|
+
yarn add intlayer react-intlayer
|
|
83
|
+
yarn add vite-intlayer --save-dev
|
|
84
|
+
yarn intlayer init
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```bash packageManager="bun"
|
|
88
|
+
bun add intlayer react-intlayer
|
|
89
|
+
bun add vite-intlayer --dev
|
|
90
|
+
bunx intlayer init
|
|
75
91
|
```
|
|
76
92
|
|
|
77
93
|
- **intlayer**
|
|
@@ -99,21 +99,25 @@ Cài đặt các gói cần thiết bằng 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**: Gói i18n cốt lõi.
|
|
@@ -271,21 +275,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
271
275
|
```bash packageManager="npm"
|
|
272
276
|
npm install intlayer svelte-intlayer
|
|
273
277
|
npm install vite-intlayer --save-dev
|
|
278
|
+
npx intlayer init
|
|
274
279
|
```
|
|
275
280
|
|
|
276
281
|
```bash packageManager="pnpm"
|
|
277
282
|
pnpm add intlayer svelte-intlayer
|
|
278
283
|
pnpm add vite-intlayer --save-dev
|
|
284
|
+
pnpm intlayer init
|
|
279
285
|
```
|
|
280
286
|
|
|
281
287
|
```bash packageManager="yarn"
|
|
282
288
|
yarn add intlayer svelte-intlayer
|
|
283
289
|
yarn add vite-intlayer --save-dev
|
|
290
|
+
yarn intlayer init
|
|
284
291
|
```
|
|
285
292
|
|
|
286
293
|
```bash packageManager="bun"
|
|
287
294
|
bun add intlayer svelte-intlayer
|
|
288
295
|
bun add vite-intlayer --save-dev
|
|
296
|
+
bunx intlayer init
|
|
289
297
|
```
|
|
290
298
|
|
|
291
299
|
- **intlayer**: Gói i18n cốt lõi.
|
|
@@ -89,11 +89,25 @@ Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thí
|
|
|
89
89
|
```bash packageManager="npm"
|
|
90
90
|
npm install intlayer react-intlayer
|
|
91
91
|
npm install vite-intlayer --save-dev
|
|
92
|
+
npx intlayer init
|
|
92
93
|
```
|
|
93
94
|
|
|
94
95
|
```bash packageManager="pnpm"
|
|
95
96
|
pnpm add intlayer react-intlayer
|
|
96
97
|
pnpm add vite-intlayer --save-dev
|
|
98
|
+
pnpm intlayer init
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
```bash packageManager="yarn"
|
|
102
|
+
yarn add intlayer react-intlayer
|
|
103
|
+
yarn add vite-intlayer --save-dev
|
|
104
|
+
yarn intlayer init
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
```bash packageManager="bun"
|
|
108
|
+
bun add intlayer react-intlayer
|
|
109
|
+
bun add vite-intlayer --dev
|
|
110
|
+
bunx intlayer init
|
|
97
111
|
```
|
|
98
112
|
|
|
99
113
|
- **intlayer**
|
|
@@ -64,16 +64,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
64
64
|
```bash packageManager="npm"
|
|
65
65
|
npm install intlayer preact-intlayer
|
|
66
66
|
npm install vite-intlayer --save-dev
|
|
67
|
+
npx intlayer init
|
|
67
68
|
```
|
|
68
69
|
|
|
69
70
|
```bash packageManager="pnpm"
|
|
70
71
|
pnpm add intlayer preact-intlayer
|
|
71
72
|
pnpm add vite-intlayer --save-dev
|
|
73
|
+
pnpm intlayer init
|
|
72
74
|
```
|
|
73
75
|
|
|
74
76
|
```bash packageManager="yarn"
|
|
75
77
|
yarn add intlayer preact-intlayer
|
|
76
78
|
yarn add vite-intlayer --save-dev
|
|
79
|
+
yarn intlayer init
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```bash packageManager="bun"
|
|
83
|
+
bun add intlayer preact-intlayer
|
|
84
|
+
bun add vite-intlayer --dev
|
|
85
|
+
bunx intlayer init
|
|
77
86
|
```
|
|
78
87
|
|
|
79
88
|
- **intlayer**
|
|
@@ -651,10 +660,12 @@ Ví dụ:
|
|
|
651
660
|
|
|
652
661
|
```bash packageManager="npm"
|
|
653
662
|
npm install preact-iso
|
|
663
|
+
npx intlayer init
|
|
654
664
|
```
|
|
655
665
|
|
|
656
666
|
```bash packageManager="pnpm"
|
|
657
667
|
pnpm add preact-iso
|
|
668
|
+
pnpm intlayer init
|
|
658
669
|
```
|
|
659
670
|
|
|
660
671
|
```bash packageManager="yarn"
|
|
@@ -72,16 +72,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
72
72
|
```bash packageManager="npm"
|
|
73
73
|
npm install intlayer react-intlayer
|
|
74
74
|
npm install vite-intlayer --save-dev
|
|
75
|
+
npx intlayer init
|
|
75
76
|
```
|
|
76
77
|
|
|
77
78
|
```bash packageManager="pnpm"
|
|
78
79
|
pnpm add intlayer react-intlayer
|
|
79
80
|
pnpm add vite-intlayer --save-dev
|
|
81
|
+
pnpm intlayer init
|
|
80
82
|
```
|
|
81
83
|
|
|
82
84
|
```bash packageManager="yarn"
|
|
83
85
|
yarn add intlayer react-intlayer
|
|
84
86
|
yarn add vite-intlayer --save-dev
|
|
87
|
+
yarn intlayer init
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```bash packageManager="bun"
|
|
91
|
+
bun add intlayer react-intlayer
|
|
92
|
+
bun add vite-intlayer --dev
|
|
93
|
+
bunx intlayer init
|
|
85
94
|
```
|
|
86
95
|
|
|
87
96
|
- **intlayer**
|
|
@@ -53,16 +53,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
53
53
|
```bash packageManager="npm"
|
|
54
54
|
npm install intlayer solid-intlayer
|
|
55
55
|
npm install vite-intlayer --save-dev
|
|
56
|
+
npx intlayer init
|
|
56
57
|
```
|
|
57
58
|
|
|
58
59
|
```bash packageManager="pnpm"
|
|
59
60
|
pnpm add intlayer solid-intlayer
|
|
60
61
|
pnpm add vite-intlayer --save-dev
|
|
62
|
+
pnpm intlayer init
|
|
61
63
|
```
|
|
62
64
|
|
|
63
65
|
```bash packageManager="yarn"
|
|
64
66
|
yarn add intlayer solid-intlayer
|
|
65
67
|
yarn add vite-intlayer --save-dev
|
|
68
|
+
yarn intlayer init
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
```bash packageManager="bun"
|
|
72
|
+
bun add intlayer solid-intlayer
|
|
73
|
+
bun add vite-intlayer --dev
|
|
74
|
+
bunx intlayer init
|
|
66
75
|
```
|
|
67
76
|
|
|
68
77
|
- **intlayer**
|
|
@@ -62,21 +62,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
62
62
|
```bash packageManager="npm"
|
|
63
63
|
npm install intlayer svelte-intlayer
|
|
64
64
|
npm install vite-intlayer --save-dev
|
|
65
|
+
npx intlayer init
|
|
65
66
|
```
|
|
66
67
|
|
|
67
68
|
```bash packageManager="pnpm"
|
|
68
69
|
pnpm add intlayer svelte-intlayer
|
|
69
70
|
pnpm add vite-intlayer --save-dev
|
|
71
|
+
pnpm intlayer init
|
|
70
72
|
```
|
|
71
73
|
|
|
72
74
|
```bash packageManager="yarn"
|
|
73
75
|
yarn add intlayer svelte-intlayer
|
|
74
76
|
yarn add vite-intlayer --save-dev
|
|
77
|
+
yarn intlayer init
|
|
75
78
|
```
|
|
76
79
|
|
|
77
80
|
```bash packageManager="bun"
|
|
78
81
|
bun add intlayer svelte-intlayer
|
|
79
82
|
bun add vite-intlayer --save-dev
|
|
83
|
+
bunx intlayer init
|
|
80
84
|
```
|
|
81
85
|
|
|
82
86
|
- **intlayer**
|
|
@@ -302,14 +306,17 @@ Trước tiên, cài đặt `svelte-spa-router`:
|
|
|
302
306
|
|
|
303
307
|
```bash packageManager="npm"
|
|
304
308
|
npm install svelte-spa-router
|
|
309
|
+
npx intlayer init
|
|
305
310
|
```
|
|
306
311
|
|
|
307
312
|
```bash packageManager="pnpm"
|
|
308
313
|
pnpm add svelte-spa-router
|
|
314
|
+
pnpm intlayer init
|
|
309
315
|
```
|
|
310
316
|
|
|
311
317
|
```bash packageManager="yarn"
|
|
312
318
|
yarn add svelte-spa-router
|
|
319
|
+
yarn intlayer init
|
|
313
320
|
```
|
|
314
321
|
|
|
315
322
|
```bash packageManager="bun"
|
|
@@ -71,16 +71,25 @@ Cài đặt các gói cần thiết bằng npm:
|
|
|
71
71
|
```bash packageManager="npm"
|
|
72
72
|
npm install intlayer vue-intlayer
|
|
73
73
|
npm install vite-intlayer --save-dev
|
|
74
|
+
npx intlayer init
|
|
74
75
|
```
|
|
75
76
|
|
|
76
77
|
```bash packageManager="pnpm"
|
|
77
78
|
pnpm add intlayer vue-intlayer
|
|
78
79
|
pnpm add vite-intlayer --save-dev
|
|
80
|
+
pnpm intlayer init
|
|
79
81
|
```
|
|
80
82
|
|
|
81
83
|
```bash packageManager="yarn"
|
|
82
84
|
yarn add intlayer vue-intlayer
|
|
83
85
|
yarn add vite-intlayer --save-dev
|
|
86
|
+
yarn intlayer init
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```bash packageManager="bun"
|
|
90
|
+
bun add intlayer vue-intlayer
|
|
91
|
+
bun add vite-intlayer --dev
|
|
92
|
+
bunx intlayer init
|
|
84
93
|
```
|
|
85
94
|
|
|
86
95
|
- **intlayer**
|
|
@@ -586,10 +595,12 @@ Trước tiên, cài đặt Vue Router:
|
|
|
586
595
|
|
|
587
596
|
```bash packageManager="npm"
|
|
588
597
|
npm install vue-router
|
|
598
|
+
npx intlayer init
|
|
589
599
|
```
|
|
590
600
|
|
|
591
601
|
```bash packageManager="pnpm"
|
|
592
602
|
pnpm add vue-router
|
|
603
|
+
pnpm intlayer init
|
|
593
604
|
```
|
|
594
605
|
|
|
595
606
|
```bash packageManager="yarn"
|