@intlayer/docs 8.11.3 → 8.12.0-canary.0
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/i18n_using_next-i18next.md +60 -20
- package/blog/ar/i18n_using_next-intl.md +51 -17
- package/blog/de/i18n_using_next-i18next.md +61 -20
- package/blog/de/i18n_using_next-intl.md +51 -17
- package/blog/en/i18n_using_next-i18next.md +61 -20
- package/blog/en/i18n_using_next-intl.md +51 -17
- package/blog/en-GB/i18n_using_next-i18next.md +61 -20
- package/blog/en-GB/i18n_using_next-intl.md +51 -17
- package/blog/es/i18n_using_next-i18next.md +61 -20
- package/blog/es/i18n_using_next-intl.md +52 -17
- package/blog/fr/i18n_using_next-i18next.md +61 -20
- package/blog/fr/i18n_using_next-intl.md +52 -17
- package/blog/hi/i18n_using_next-i18next.md +61 -20
- package/blog/hi/i18n_using_next-intl.md +51 -17
- package/blog/id/i18n_using_next-i18next.md +61 -20
- package/blog/id/i18n_using_next-intl.md +51 -17
- package/blog/it/i18n_using_next-i18next.md +61 -20
- package/blog/it/i18n_using_next-intl.md +51 -17
- package/blog/ja/i18n_using_next-i18next.md +61 -20
- package/blog/ja/i18n_using_next-intl.md +52 -17
- package/blog/ko/i18n_using_next-i18next.md +61 -20
- package/blog/ko/i18n_using_next-intl.md +52 -17
- package/blog/pl/i18n_using_next-i18next.md +61 -20
- package/blog/pl/i18n_using_next-intl.md +51 -17
- package/blog/pt/i18n_using_next-i18next.md +61 -20
- package/blog/pt/i18n_using_next-intl.md +51 -17
- package/blog/ru/i18n_using_next-i18next.md +61 -20
- package/blog/ru/i18n_using_next-intl.md +52 -17
- package/blog/tr/i18n_using_next-i18next.md +61 -20
- package/blog/tr/i18n_using_next-intl.md +51 -17
- package/blog/uk/i18n_using_next-i18next.md +61 -20
- package/blog/uk/i18n_using_next-intl.md +51 -17
- package/blog/vi/i18n_using_next-i18next.md +61 -20
- package/blog/vi/i18n_using_next-intl.md +51 -17
- package/blog/zh/i18n_using_next-i18next.md +61 -20
- package/blog/zh/i18n_using_next-intl.md +52 -17
- package/dist/cjs/common.cjs +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/esm/common.mjs +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/docs/ar/cli/build.md +1 -1
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +2 -2
- package/docs/ar/intlayer_with_analog.md +6 -6
- package/docs/ar/intlayer_with_angular_19.md +6 -6
- package/docs/ar/intlayer_with_angular_21.md +6 -6
- package/docs/ar/intlayer_with_astro.md +55 -56
- package/docs/ar/intlayer_with_astro_lit.md +58 -58
- package/docs/ar/intlayer_with_astro_preact.md +52 -52
- package/docs/ar/intlayer_with_astro_react.md +54 -54
- package/docs/ar/intlayer_with_astro_solid.md +54 -54
- package/docs/ar/intlayer_with_astro_svelte.md +54 -54
- package/docs/ar/intlayer_with_astro_vanilla.md +54 -54
- package/docs/ar/intlayer_with_astro_vue.md +54 -54
- package/docs/ar/intlayer_with_create_react_app.md +5 -6
- package/docs/ar/intlayer_with_express.md +2 -2
- package/docs/ar/intlayer_with_fastify.md +2 -2
- package/docs/ar/intlayer_with_hono.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -2
- package/docs/ar/intlayer_with_nestjs.md +2 -13
- package/docs/ar/intlayer_with_next-i18next.md +2 -2
- package/docs/ar/intlayer_with_next-intl.md +2 -2
- package/docs/ar/intlayer_with_nextjs_14.md +5 -6
- package/docs/ar/intlayer_with_nextjs_15.md +5 -6
- package/docs/ar/intlayer_with_nextjs_16.md +2 -2
- package/docs/ar/intlayer_with_nextjs_compiler.md +37 -39
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +5 -6
- package/docs/ar/intlayer_with_nextjs_page_router.md +5 -6
- package/docs/ar/intlayer_with_nuxt.md +33 -33
- package/docs/ar/intlayer_with_react_native+expo.md +2 -2
- package/docs/ar/intlayer_with_react_router_v7.md +2 -2
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ar/intlayer_with_storybook.md +2 -2
- package/docs/ar/intlayer_with_svelte_kit.md +15 -15
- package/docs/ar/intlayer_with_tanstack+solid.md +6 -6
- package/docs/ar/intlayer_with_tanstack.md +13 -13
- package/docs/ar/intlayer_with_vanilla.md +5 -6
- package/docs/ar/intlayer_with_vite+lit.md +6 -6
- package/docs/ar/intlayer_with_vite+preact.md +44 -45
- package/docs/ar/intlayer_with_vite+react.md +36 -38
- package/docs/ar/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/ar/intlayer_with_vite+solid.md +29 -30
- package/docs/ar/intlayer_with_vite+svelte.md +16 -17
- package/docs/ar/intlayer_with_vite+vanilla.md +5 -6
- package/docs/ar/intlayer_with_vite+vue.md +58 -59
- package/docs/ar/introduction.md +43 -28
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/intlayer_with_angular_21.md +2 -2
- package/docs/bn/intlayer_with_fastify.md +2 -2
- package/docs/bn/intlayer_with_hono.md +2 -2
- package/docs/bn/intlayer_with_storybook.md +2 -2
- package/docs/bn/intlayer_with_vanilla.md +2 -2
- package/docs/bn/intlayer_with_vite+lit.md +2 -2
- package/docs/bn/intlayer_with_vite+vanilla.md +2 -2
- package/docs/bn/introduction.md +43 -28
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/interest_of_intlayer.md +8 -0
- package/docs/cs/intlayer_with_angular_21.md +6 -6
- package/docs/cs/intlayer_with_fastify.md +2 -2
- package/docs/cs/intlayer_with_hono.md +2 -2
- package/docs/cs/intlayer_with_storybook.md +2 -2
- package/docs/cs/intlayer_with_vanilla.md +5 -6
- package/docs/cs/intlayer_with_vite+lit.md +6 -6
- package/docs/cs/intlayer_with_vite+vanilla.md +5 -6
- package/docs/cs/introduction.md +43 -28
- package/docs/de/cli/build.md +1 -1
- package/docs/de/cli/index.md +1 -1
- package/docs/de/interest_of_intlayer.md +8 -0
- package/docs/de/intlayer_with_adonisjs.md +2 -2
- package/docs/de/intlayer_with_analog.md +13 -6
- package/docs/de/intlayer_with_angular_19.md +13 -6
- package/docs/de/intlayer_with_angular_21.md +13 -6
- package/docs/de/intlayer_with_astro.md +62 -56
- package/docs/de/intlayer_with_astro_lit.md +65 -58
- package/docs/de/intlayer_with_astro_preact.md +59 -52
- package/docs/de/intlayer_with_astro_react.md +61 -54
- package/docs/de/intlayer_with_astro_solid.md +61 -54
- package/docs/de/intlayer_with_astro_svelte.md +61 -54
- package/docs/de/intlayer_with_astro_vanilla.md +61 -54
- package/docs/de/intlayer_with_astro_vue.md +61 -54
- package/docs/de/intlayer_with_create_react_app.md +5 -6
- package/docs/de/intlayer_with_express.md +2 -2
- package/docs/de/intlayer_with_fastify.md +2 -2
- package/docs/de/intlayer_with_hono.md +2 -2
- package/docs/de/intlayer_with_lynx+react.md +9 -2
- package/docs/de/intlayer_with_nestjs.md +2 -13
- package/docs/de/intlayer_with_next-i18next.md +2 -2
- package/docs/de/intlayer_with_next-intl.md +2 -2
- package/docs/de/intlayer_with_nextjs_14.md +12 -6
- package/docs/de/intlayer_with_nextjs_15.md +12 -6
- package/docs/de/intlayer_with_nextjs_16.md +77 -72
- package/docs/de/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/de/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/de/intlayer_with_nuxt.md +40 -33
- package/docs/de/intlayer_with_react_native+expo.md +9 -2
- package/docs/de/intlayer_with_react_router_v7.md +9 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/de/intlayer_with_storybook.md +9 -2
- package/docs/de/intlayer_with_svelte_kit.md +23 -17
- package/docs/de/intlayer_with_tanstack+solid.md +13 -6
- package/docs/de/intlayer_with_tanstack.md +13 -6
- package/docs/de/intlayer_with_vanilla.md +12 -6
- package/docs/de/intlayer_with_vite+lit.md +13 -6
- package/docs/de/intlayer_with_vite+preact.md +68 -62
- package/docs/de/intlayer_with_vite+react.md +60 -55
- package/docs/de/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/de/intlayer_with_vite+solid.md +53 -47
- package/docs/de/intlayer_with_vite+svelte.md +40 -34
- package/docs/de/intlayer_with_vite+vanilla.md +12 -6
- package/docs/de/intlayer_with_vite+vue.md +60 -54
- package/docs/de/introduction.md +43 -28
- package/docs/en/cli/build.md +1 -1
- package/docs/en/cli/index.md +1 -1
- package/docs/en/interest_of_intlayer.md +8 -0
- package/docs/en/intlayer_with_adonisjs.md +2 -2
- package/docs/en/intlayer_with_analog.md +13 -6
- package/docs/en/intlayer_with_angular_19.md +13 -6
- package/docs/en/intlayer_with_angular_21.md +13 -6
- package/docs/en/intlayer_with_astro.md +62 -56
- package/docs/en/intlayer_with_astro_lit.md +65 -58
- package/docs/en/intlayer_with_astro_preact.md +65 -58
- package/docs/en/intlayer_with_astro_react.md +61 -54
- package/docs/en/intlayer_with_astro_solid.md +61 -54
- package/docs/en/intlayer_with_astro_svelte.md +61 -54
- package/docs/en/intlayer_with_astro_vanilla.md +61 -54
- package/docs/en/intlayer_with_astro_vue.md +61 -54
- package/docs/en/intlayer_with_create_react_app.md +12 -6
- package/docs/en/intlayer_with_express.md +2 -2
- package/docs/en/intlayer_with_fastify.md +2 -2
- package/docs/en/intlayer_with_hono.md +2 -2
- package/docs/en/intlayer_with_lynx+react.md +9 -2
- package/docs/en/intlayer_with_nestjs.md +2 -13
- package/docs/en/intlayer_with_next-i18next.md +2 -2
- package/docs/en/intlayer_with_next-intl.md +2 -2
- package/docs/en/intlayer_with_nextjs_14.md +12 -6
- package/docs/en/intlayer_with_nextjs_15.md +12 -6
- package/docs/en/intlayer_with_nextjs_16.md +12 -6
- package/docs/en/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/en/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/en/intlayer_with_nuxt.md +40 -33
- package/docs/en/intlayer_with_react_native+expo.md +9 -2
- package/docs/en/intlayer_with_react_router_v7.md +9 -2
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/en/intlayer_with_storybook.md +9 -2
- package/docs/en/intlayer_with_svelte_kit.md +12 -6
- package/docs/en/intlayer_with_tanstack+solid.md +13 -6
- package/docs/en/intlayer_with_tanstack.md +13 -6
- package/docs/en/intlayer_with_vanilla.md +12 -6
- package/docs/en/intlayer_with_vite+lit.md +13 -6
- package/docs/en/intlayer_with_vite+preact.md +12 -6
- package/docs/en/intlayer_with_vite+react.md +12 -6
- package/docs/en/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/en/intlayer_with_vite+solid.md +12 -6
- package/docs/en/intlayer_with_vite+svelte.md +12 -6
- package/docs/en/intlayer_with_vite+vanilla.md +12 -6
- package/docs/en/intlayer_with_vite+vue.md +12 -6
- package/docs/en/introduction.md +43 -28
- package/docs/en-GB/cli/build.md +1 -1
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/interest_of_intlayer.md +8 -0
- package/docs/en-GB/intlayer_with_adonisjs.md +2 -2
- package/docs/en-GB/intlayer_with_analog.md +13 -6
- package/docs/en-GB/intlayer_with_angular_19.md +13 -6
- package/docs/en-GB/intlayer_with_angular_21.md +13 -6
- package/docs/en-GB/intlayer_with_astro.md +62 -56
- package/docs/en-GB/intlayer_with_astro_lit.md +65 -58
- package/docs/en-GB/intlayer_with_astro_preact.md +59 -52
- package/docs/en-GB/intlayer_with_astro_react.md +61 -54
- package/docs/en-GB/intlayer_with_astro_solid.md +61 -54
- package/docs/en-GB/intlayer_with_astro_svelte.md +61 -54
- package/docs/en-GB/intlayer_with_astro_vanilla.md +61 -54
- package/docs/en-GB/intlayer_with_astro_vue.md +61 -54
- package/docs/en-GB/intlayer_with_create_react_app.md +5 -6
- package/docs/en-GB/intlayer_with_express.md +2 -2
- package/docs/en-GB/intlayer_with_fastify.md +2 -2
- package/docs/en-GB/intlayer_with_hono.md +2 -2
- package/docs/en-GB/intlayer_with_lynx+react.md +9 -2
- package/docs/en-GB/intlayer_with_nestjs.md +2 -13
- package/docs/en-GB/intlayer_with_next-i18next.md +2 -2
- package/docs/en-GB/intlayer_with_next-intl.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_14.md +12 -6
- package/docs/en-GB/intlayer_with_nextjs_15.md +12 -6
- package/docs/en-GB/intlayer_with_nextjs_16.md +12 -6
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/en-GB/intlayer_with_nuxt.md +40 -33
- package/docs/en-GB/intlayer_with_react_native+expo.md +9 -2
- package/docs/en-GB/intlayer_with_react_router_v7.md +9 -2
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/en-GB/intlayer_with_storybook.md +9 -2
- package/docs/en-GB/intlayer_with_svelte_kit.md +13 -6
- package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -6
- package/docs/en-GB/intlayer_with_tanstack.md +13 -6
- package/docs/en-GB/intlayer_with_vanilla.md +12 -6
- package/docs/en-GB/intlayer_with_vite+lit.md +13 -6
- package/docs/en-GB/intlayer_with_vite+preact.md +13 -6
- package/docs/en-GB/intlayer_with_vite+react.md +12 -6
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/en-GB/intlayer_with_vite+solid.md +13 -6
- package/docs/en-GB/intlayer_with_vite+svelte.md +88 -82
- package/docs/en-GB/intlayer_with_vite+vanilla.md +12 -6
- package/docs/en-GB/intlayer_with_vite+vue.md +13 -6
- package/docs/en-GB/introduction.md +43 -46
- package/docs/es/cli/build.md +1 -1
- package/docs/es/cli/index.md +1 -1
- package/docs/es/interest_of_intlayer.md +8 -0
- package/docs/es/intlayer_with_adonisjs.md +2 -2
- package/docs/es/intlayer_with_analog.md +13 -6
- package/docs/es/intlayer_with_angular_19.md +13 -6
- package/docs/es/intlayer_with_angular_21.md +13 -6
- package/docs/es/intlayer_with_astro.md +62 -56
- package/docs/es/intlayer_with_astro_lit.md +65 -58
- package/docs/es/intlayer_with_astro_preact.md +59 -52
- package/docs/es/intlayer_with_astro_react.md +61 -54
- package/docs/es/intlayer_with_astro_solid.md +61 -54
- package/docs/es/intlayer_with_astro_svelte.md +61 -54
- package/docs/es/intlayer_with_astro_vanilla.md +61 -54
- package/docs/es/intlayer_with_astro_vue.md +61 -54
- package/docs/es/intlayer_with_create_react_app.md +5 -6
- package/docs/es/intlayer_with_express.md +2 -2
- package/docs/es/intlayer_with_fastify.md +2 -2
- package/docs/es/intlayer_with_hono.md +2 -2
- package/docs/es/intlayer_with_lynx+react.md +9 -2
- package/docs/es/intlayer_with_nestjs.md +2 -13
- package/docs/es/intlayer_with_next-i18next.md +2 -2
- package/docs/es/intlayer_with_next-intl.md +2 -2
- package/docs/es/intlayer_with_nextjs_14.md +12 -6
- package/docs/es/intlayer_with_nextjs_15.md +12 -6
- package/docs/es/intlayer_with_nextjs_16.md +31 -26
- package/docs/es/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/es/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/es/intlayer_with_nuxt.md +40 -33
- package/docs/es/intlayer_with_react_native+expo.md +9 -2
- package/docs/es/intlayer_with_react_router_v7.md +9 -2
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/es/intlayer_with_storybook.md +9 -2
- package/docs/es/intlayer_with_svelte_kit.md +12 -6
- package/docs/es/intlayer_with_tanstack+solid.md +13 -6
- package/docs/es/intlayer_with_tanstack.md +13 -6
- package/docs/es/intlayer_with_vanilla.md +12 -6
- package/docs/es/intlayer_with_vite+lit.md +13 -6
- package/docs/es/intlayer_with_vite+preact.md +12 -6
- package/docs/es/intlayer_with_vite+react.md +12 -6
- package/docs/es/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/es/intlayer_with_vite+solid.md +12 -6
- package/docs/es/intlayer_with_vite+svelte.md +12 -6
- package/docs/es/intlayer_with_vite+vanilla.md +12 -6
- package/docs/es/intlayer_with_vite+vue.md +12 -6
- package/docs/es/introduction.md +43 -28
- package/docs/fr/cli/build.md +1 -1
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/interest_of_intlayer.md +8 -0
- package/docs/fr/intlayer_with_adonisjs.md +2 -2
- package/docs/fr/intlayer_with_analog.md +13 -6
- package/docs/fr/intlayer_with_angular_19.md +13 -6
- package/docs/fr/intlayer_with_angular_21.md +13 -6
- package/docs/fr/intlayer_with_astro.md +63 -57
- package/docs/fr/intlayer_with_astro_lit.md +66 -59
- package/docs/fr/intlayer_with_astro_preact.md +66 -59
- package/docs/fr/intlayer_with_astro_react.md +62 -55
- package/docs/fr/intlayer_with_astro_solid.md +62 -55
- package/docs/fr/intlayer_with_astro_svelte.md +62 -55
- package/docs/fr/intlayer_with_astro_vanilla.md +62 -55
- package/docs/fr/intlayer_with_astro_vue.md +62 -55
- package/docs/fr/intlayer_with_create_react_app.md +5 -6
- package/docs/fr/intlayer_with_express.md +2 -2
- package/docs/fr/intlayer_with_fastify.md +2 -2
- package/docs/fr/intlayer_with_hono.md +2 -2
- package/docs/fr/intlayer_with_lynx+react.md +9 -2
- package/docs/fr/intlayer_with_nestjs.md +2 -13
- package/docs/fr/intlayer_with_next-i18next.md +2 -2
- package/docs/fr/intlayer_with_next-intl.md +2 -2
- package/docs/fr/intlayer_with_nextjs_14.md +12 -6
- package/docs/fr/intlayer_with_nextjs_15.md +12 -6
- package/docs/fr/intlayer_with_nextjs_16.md +12 -6
- package/docs/fr/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/fr/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/fr/intlayer_with_nuxt.md +40 -33
- package/docs/fr/intlayer_with_react_native+expo.md +9 -2
- package/docs/fr/intlayer_with_react_router_v7.md +9 -2
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/fr/intlayer_with_storybook.md +9 -2
- package/docs/fr/intlayer_with_svelte_kit.md +12 -6
- package/docs/fr/intlayer_with_tanstack+solid.md +13 -6
- package/docs/fr/intlayer_with_tanstack.md +14 -7
- package/docs/fr/intlayer_with_vanilla.md +12 -6
- package/docs/fr/intlayer_with_vite+lit.md +13 -6
- package/docs/fr/intlayer_with_vite+preact.md +12 -6
- package/docs/fr/intlayer_with_vite+react.md +12 -6
- package/docs/fr/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/fr/intlayer_with_vite+solid.md +12 -6
- package/docs/fr/intlayer_with_vite+svelte.md +12 -6
- package/docs/fr/intlayer_with_vite+vanilla.md +12 -6
- package/docs/fr/intlayer_with_vite+vue.md +12 -6
- package/docs/fr/introduction.md +43 -28
- package/docs/hi/cli/build.md +1 -1
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/intlayer_with_adonisjs.md +2 -2
- package/docs/hi/intlayer_with_analog.md +6 -6
- package/docs/hi/intlayer_with_angular_19.md +6 -6
- package/docs/hi/intlayer_with_angular_21.md +6 -6
- package/docs/hi/intlayer_with_astro.md +55 -56
- package/docs/hi/intlayer_with_astro_lit.md +58 -58
- package/docs/hi/intlayer_with_astro_preact.md +52 -52
- package/docs/hi/intlayer_with_astro_react.md +54 -54
- package/docs/hi/intlayer_with_astro_solid.md +54 -54
- package/docs/hi/intlayer_with_astro_svelte.md +54 -54
- package/docs/hi/intlayer_with_astro_vanilla.md +54 -54
- package/docs/hi/intlayer_with_astro_vue.md +54 -54
- package/docs/hi/intlayer_with_create_react_app.md +5 -6
- package/docs/hi/intlayer_with_express.md +2 -2
- package/docs/hi/intlayer_with_fastify.md +2 -2
- package/docs/hi/intlayer_with_hono.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -2
- package/docs/hi/intlayer_with_nestjs.md +2 -13
- package/docs/hi/intlayer_with_next-i18next.md +2 -2
- package/docs/hi/intlayer_with_next-intl.md +2 -2
- package/docs/hi/intlayer_with_nextjs_14.md +5 -6
- package/docs/hi/intlayer_with_nextjs_15.md +5 -6
- package/docs/hi/intlayer_with_nextjs_16.md +2 -2
- package/docs/hi/intlayer_with_nextjs_compiler.md +52 -54
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +5 -6
- package/docs/hi/intlayer_with_nextjs_page_router.md +5 -6
- package/docs/hi/intlayer_with_nuxt.md +33 -33
- package/docs/hi/intlayer_with_react_native+expo.md +2 -2
- package/docs/hi/intlayer_with_react_router_v7.md +2 -2
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/hi/intlayer_with_storybook.md +2 -2
- package/docs/hi/intlayer_with_svelte_kit.md +16 -17
- package/docs/hi/intlayer_with_tanstack+solid.md +6 -6
- package/docs/hi/intlayer_with_tanstack.md +6 -6
- package/docs/hi/intlayer_with_vanilla.md +5 -6
- package/docs/hi/intlayer_with_vite+lit.md +6 -6
- package/docs/hi/intlayer_with_vite+preact.md +61 -62
- package/docs/hi/intlayer_with_vite+react.md +53 -55
- package/docs/hi/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/hi/intlayer_with_vite+solid.md +46 -47
- package/docs/hi/intlayer_with_vite+svelte.md +33 -34
- package/docs/hi/intlayer_with_vite+vanilla.md +5 -6
- package/docs/hi/intlayer_with_vite+vue.md +53 -54
- package/docs/hi/introduction.md +43 -28
- package/docs/id/cli/build.md +1 -1
- package/docs/id/cli/index.md +1 -1
- package/docs/id/interest_of_intlayer.md +8 -0
- package/docs/id/intlayer_with_adonisjs.md +2 -2
- package/docs/id/intlayer_with_analog.md +13 -6
- package/docs/id/intlayer_with_angular_19.md +13 -6
- package/docs/id/intlayer_with_angular_21.md +13 -6
- package/docs/id/intlayer_with_astro.md +62 -56
- package/docs/id/intlayer_with_astro_lit.md +65 -58
- package/docs/id/intlayer_with_astro_preact.md +59 -52
- package/docs/id/intlayer_with_astro_react.md +61 -54
- package/docs/id/intlayer_with_astro_solid.md +61 -54
- package/docs/id/intlayer_with_astro_svelte.md +61 -54
- package/docs/id/intlayer_with_astro_vanilla.md +61 -54
- package/docs/id/intlayer_with_astro_vue.md +61 -54
- package/docs/id/intlayer_with_create_react_app.md +5 -6
- package/docs/id/intlayer_with_express.md +2 -2
- package/docs/id/intlayer_with_fastify.md +2 -2
- package/docs/id/intlayer_with_hono.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +9 -2
- package/docs/id/intlayer_with_nestjs.md +2 -12
- package/docs/id/intlayer_with_next-i18next.md +2 -2
- package/docs/id/intlayer_with_next-intl.md +2 -2
- package/docs/id/intlayer_with_nextjs_14.md +12 -6
- package/docs/id/intlayer_with_nextjs_15.md +12 -6
- package/docs/id/intlayer_with_nextjs_16.md +9 -2
- package/docs/id/intlayer_with_nextjs_compiler.md +74 -77
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/id/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/id/intlayer_with_nuxt.md +40 -33
- package/docs/id/intlayer_with_react_native+expo.md +9 -2
- package/docs/id/intlayer_with_react_router_v7.md +9 -2
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/id/intlayer_with_storybook.md +9 -2
- package/docs/id/intlayer_with_svelte_kit.md +23 -17
- package/docs/id/intlayer_with_tanstack+solid.md +13 -6
- package/docs/id/intlayer_with_tanstack.md +13 -6
- package/docs/id/intlayer_with_vanilla.md +12 -6
- package/docs/id/intlayer_with_vite+lit.md +13 -6
- package/docs/id/intlayer_with_vite+preact.md +68 -62
- package/docs/id/intlayer_with_vite+react.md +60 -55
- package/docs/id/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/id/intlayer_with_vite+solid.md +53 -47
- package/docs/id/intlayer_with_vite+svelte.md +40 -34
- package/docs/id/intlayer_with_vite+vanilla.md +12 -6
- package/docs/id/intlayer_with_vite+vue.md +60 -54
- package/docs/id/introduction.md +43 -28
- package/docs/it/cli/build.md +1 -1
- package/docs/it/cli/index.md +1 -1
- package/docs/it/interest_of_intlayer.md +8 -0
- package/docs/it/intlayer_with_adonisjs.md +2 -2
- package/docs/it/intlayer_with_analog.md +13 -6
- package/docs/it/intlayer_with_angular_19.md +13 -6
- package/docs/it/intlayer_with_angular_21.md +13 -6
- package/docs/it/intlayer_with_astro.md +62 -56
- package/docs/it/intlayer_with_astro_lit.md +65 -58
- package/docs/it/intlayer_with_astro_preact.md +59 -52
- package/docs/it/intlayer_with_astro_react.md +61 -54
- package/docs/it/intlayer_with_astro_solid.md +61 -54
- package/docs/it/intlayer_with_astro_svelte.md +61 -54
- package/docs/it/intlayer_with_astro_vanilla.md +61 -54
- package/docs/it/intlayer_with_astro_vue.md +61 -54
- package/docs/it/intlayer_with_create_react_app.md +5 -6
- package/docs/it/intlayer_with_express.md +2 -2
- package/docs/it/intlayer_with_fastify.md +2 -2
- package/docs/it/intlayer_with_hono.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +9 -2
- package/docs/it/intlayer_with_nestjs.md +2 -13
- package/docs/it/intlayer_with_next-i18next.md +2 -2
- package/docs/it/intlayer_with_next-intl.md +2 -2
- package/docs/it/intlayer_with_nextjs_14.md +32 -27
- package/docs/it/intlayer_with_nextjs_15.md +12 -6
- package/docs/it/intlayer_with_nextjs_16.md +9 -2
- package/docs/it/intlayer_with_nextjs_compiler.md +52 -54
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/it/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/it/intlayer_with_nuxt.md +40 -33
- package/docs/it/intlayer_with_react_native+expo.md +9 -2
- package/docs/it/intlayer_with_react_router_v7.md +9 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/it/intlayer_with_storybook.md +9 -2
- package/docs/it/intlayer_with_svelte_kit.md +55 -49
- package/docs/it/intlayer_with_tanstack+solid.md +13 -6
- package/docs/it/intlayer_with_tanstack.md +13 -6
- package/docs/it/intlayer_with_vanilla.md +12 -6
- package/docs/it/intlayer_with_vite+lit.md +13 -6
- package/docs/it/intlayer_with_vite+preact.md +68 -62
- package/docs/it/intlayer_with_vite+react.md +60 -55
- package/docs/it/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/it/intlayer_with_vite+solid.md +53 -47
- package/docs/it/intlayer_with_vite+svelte.md +40 -34
- package/docs/it/intlayer_with_vite+vanilla.md +12 -6
- package/docs/it/intlayer_with_vite+vue.md +82 -76
- package/docs/it/introduction.md +43 -28
- package/docs/ja/cli/build.md +1 -1
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/intlayer_with_adonisjs.md +2 -2
- package/docs/ja/intlayer_with_analog.md +6 -6
- package/docs/ja/intlayer_with_angular_19.md +6 -6
- package/docs/ja/intlayer_with_angular_21.md +6 -6
- package/docs/ja/intlayer_with_astro.md +55 -56
- package/docs/ja/intlayer_with_astro_lit.md +58 -58
- package/docs/ja/intlayer_with_astro_preact.md +58 -58
- package/docs/ja/intlayer_with_astro_react.md +54 -54
- package/docs/ja/intlayer_with_astro_solid.md +54 -54
- package/docs/ja/intlayer_with_astro_svelte.md +54 -54
- package/docs/ja/intlayer_with_astro_vanilla.md +54 -54
- package/docs/ja/intlayer_with_astro_vue.md +54 -54
- package/docs/ja/intlayer_with_create_react_app.md +5 -6
- package/docs/ja/intlayer_with_express.md +2 -2
- package/docs/ja/intlayer_with_fastify.md +2 -2
- package/docs/ja/intlayer_with_hono.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -2
- package/docs/ja/intlayer_with_nestjs.md +2 -13
- package/docs/ja/intlayer_with_next-i18next.md +2 -2
- package/docs/ja/intlayer_with_next-intl.md +2 -2
- package/docs/ja/intlayer_with_nextjs_14.md +5 -6
- package/docs/ja/intlayer_with_nextjs_15.md +5 -6
- package/docs/ja/intlayer_with_nextjs_16.md +2 -2
- package/docs/ja/intlayer_with_nextjs_compiler.md +74 -77
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +5 -6
- package/docs/ja/intlayer_with_nextjs_page_router.md +5 -6
- package/docs/ja/intlayer_with_nuxt.md +33 -33
- package/docs/ja/intlayer_with_react_native+expo.md +2 -2
- package/docs/ja/intlayer_with_react_router_v7.md +2 -2
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ja/intlayer_with_storybook.md +2 -2
- package/docs/ja/intlayer_with_svelte_kit.md +5 -6
- package/docs/ja/intlayer_with_tanstack+solid.md +6 -6
- package/docs/ja/intlayer_with_tanstack.md +6 -6
- package/docs/ja/intlayer_with_vanilla.md +5 -6
- package/docs/ja/intlayer_with_vite+lit.md +6 -6
- package/docs/ja/intlayer_with_vite+preact.md +5 -6
- package/docs/ja/intlayer_with_vite+react.md +2 -2
- package/docs/ja/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/ja/intlayer_with_vite+solid.md +46 -47
- package/docs/ja/intlayer_with_vite+svelte.md +33 -34
- package/docs/ja/intlayer_with_vite+vanilla.md +5 -6
- package/docs/ja/intlayer_with_vite+vue.md +53 -54
- package/docs/ja/introduction.md +43 -28
- package/docs/ko/cli/build.md +1 -1
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/interest_of_intlayer.md +8 -0
- package/docs/ko/intlayer_with_adonisjs.md +2 -2
- package/docs/ko/intlayer_with_analog.md +9 -2
- package/docs/ko/intlayer_with_angular_19.md +9 -2
- package/docs/ko/intlayer_with_angular_21.md +9 -2
- package/docs/ko/intlayer_with_astro.md +9 -2
- package/docs/ko/intlayer_with_astro_lit.md +9 -2
- package/docs/ko/intlayer_with_astro_preact.md +9 -2
- package/docs/ko/intlayer_with_astro_react.md +9 -2
- package/docs/ko/intlayer_with_astro_solid.md +9 -2
- package/docs/ko/intlayer_with_astro_svelte.md +9 -2
- package/docs/ko/intlayer_with_astro_vanilla.md +9 -2
- package/docs/ko/intlayer_with_astro_vue.md +9 -2
- package/docs/ko/intlayer_with_create_react_app.md +5 -6
- package/docs/ko/intlayer_with_express.md +2 -2
- package/docs/ko/intlayer_with_fastify.md +2 -2
- package/docs/ko/intlayer_with_hono.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +9 -2
- package/docs/ko/intlayer_with_nestjs.md +2 -13
- package/docs/ko/intlayer_with_next-i18next.md +2 -2
- package/docs/ko/intlayer_with_next-intl.md +2 -2
- package/docs/ko/intlayer_with_nextjs_14.md +9 -2
- package/docs/ko/intlayer_with_nextjs_15.md +9 -2
- package/docs/ko/intlayer_with_nextjs_16.md +12 -6
- package/docs/ko/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/ko/intlayer_with_nextjs_page_router.md +9 -2
- package/docs/ko/intlayer_with_nuxt.md +9 -2
- package/docs/ko/intlayer_with_react_native+expo.md +9 -2
- package/docs/ko/intlayer_with_react_router_v7.md +113 -106
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +113 -106
- package/docs/ko/intlayer_with_storybook.md +9 -2
- package/docs/ko/intlayer_with_svelte_kit.md +12 -6
- package/docs/ko/intlayer_with_tanstack+solid.md +9 -2
- package/docs/ko/intlayer_with_tanstack.md +9 -2
- package/docs/ko/intlayer_with_vanilla.md +9 -2
- package/docs/ko/intlayer_with_vite+lit.md +9 -2
- package/docs/ko/intlayer_with_vite+preact.md +12 -6
- package/docs/ko/intlayer_with_vite+react.md +12 -6
- package/docs/ko/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/ko/intlayer_with_vite+solid.md +12 -6
- package/docs/ko/intlayer_with_vite+svelte.md +109 -104
- package/docs/ko/intlayer_with_vite+vanilla.md +9 -2
- package/docs/ko/intlayer_with_vite+vue.md +12 -6
- package/docs/ko/introduction.md +43 -28
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/interest_of_intlayer.md +8 -0
- package/docs/nl/intlayer_with_angular_21.md +6 -6
- package/docs/nl/intlayer_with_fastify.md +2 -2
- package/docs/nl/intlayer_with_hono.md +2 -2
- package/docs/nl/intlayer_with_storybook.md +2 -2
- package/docs/nl/intlayer_with_vanilla.md +5 -6
- package/docs/nl/intlayer_with_vite+lit.md +6 -6
- package/docs/nl/intlayer_with_vite+vanilla.md +5 -6
- package/docs/nl/introduction.md +43 -28
- package/docs/pl/cli/build.md +1 -1
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/interest_of_intlayer.md +8 -0
- package/docs/pl/intlayer_with_adonisjs.md +2 -2
- package/docs/pl/intlayer_with_analog.md +6 -6
- package/docs/pl/intlayer_with_angular_19.md +6 -6
- package/docs/pl/intlayer_with_angular_21.md +6 -6
- package/docs/pl/intlayer_with_astro.md +55 -56
- package/docs/pl/intlayer_with_astro_lit.md +58 -58
- package/docs/pl/intlayer_with_astro_preact.md +52 -52
- package/docs/pl/intlayer_with_astro_react.md +54 -54
- package/docs/pl/intlayer_with_astro_solid.md +54 -54
- package/docs/pl/intlayer_with_astro_svelte.md +54 -54
- package/docs/pl/intlayer_with_astro_vanilla.md +54 -54
- package/docs/pl/intlayer_with_astro_vue.md +54 -54
- package/docs/pl/intlayer_with_create_react_app.md +5 -6
- package/docs/pl/intlayer_with_express.md +2 -2
- package/docs/pl/intlayer_with_fastify.md +2 -2
- package/docs/pl/intlayer_with_hono.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +2 -2
- package/docs/pl/intlayer_with_nestjs.md +2 -12
- package/docs/pl/intlayer_with_next-i18next.md +2 -2
- package/docs/pl/intlayer_with_next-intl.md +2 -2
- package/docs/pl/intlayer_with_nextjs_14.md +5 -6
- package/docs/pl/intlayer_with_nextjs_15.md +5 -6
- package/docs/pl/intlayer_with_nextjs_16.md +70 -72
- package/docs/pl/intlayer_with_nextjs_compiler.md +52 -54
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +5 -6
- package/docs/pl/intlayer_with_nextjs_page_router.md +5 -6
- package/docs/pl/intlayer_with_nuxt.md +33 -33
- package/docs/pl/intlayer_with_react_native+expo.md +2 -2
- package/docs/pl/intlayer_with_react_router_v7.md +2 -2
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pl/intlayer_with_storybook.md +2 -2
- package/docs/pl/intlayer_with_svelte_kit.md +16 -17
- package/docs/pl/intlayer_with_tanstack+solid.md +6 -6
- package/docs/pl/intlayer_with_tanstack.md +6 -6
- package/docs/pl/intlayer_with_vanilla.md +5 -6
- package/docs/pl/intlayer_with_vite+lit.md +6 -6
- package/docs/pl/intlayer_with_vite+preact.md +61 -62
- package/docs/pl/intlayer_with_vite+react.md +53 -55
- package/docs/pl/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/pl/intlayer_with_vite+solid.md +46 -47
- package/docs/pl/intlayer_with_vite+svelte.md +33 -34
- package/docs/pl/intlayer_with_vite+vanilla.md +5 -6
- package/docs/pl/intlayer_with_vite+vue.md +75 -76
- package/docs/pl/introduction.md +43 -28
- package/docs/pt/cli/build.md +1 -1
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/interest_of_intlayer.md +8 -0
- package/docs/pt/intlayer_with_adonisjs.md +2 -2
- package/docs/pt/intlayer_with_analog.md +13 -6
- package/docs/pt/intlayer_with_angular_19.md +13 -6
- package/docs/pt/intlayer_with_angular_21.md +13 -6
- package/docs/pt/intlayer_with_astro.md +62 -56
- package/docs/pt/intlayer_with_astro_lit.md +65 -58
- package/docs/pt/intlayer_with_astro_preact.md +59 -52
- package/docs/pt/intlayer_with_astro_react.md +61 -54
- package/docs/pt/intlayer_with_astro_solid.md +61 -54
- package/docs/pt/intlayer_with_astro_svelte.md +61 -54
- package/docs/pt/intlayer_with_astro_vanilla.md +61 -54
- package/docs/pt/intlayer_with_astro_vue.md +61 -54
- package/docs/pt/intlayer_with_create_react_app.md +5 -6
- package/docs/pt/intlayer_with_express.md +2 -2
- package/docs/pt/intlayer_with_fastify.md +2 -2
- package/docs/pt/intlayer_with_hono.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +9 -2
- package/docs/pt/intlayer_with_nestjs.md +2 -13
- package/docs/pt/intlayer_with_next-i18next.md +2 -2
- package/docs/pt/intlayer_with_next-intl.md +2 -2
- package/docs/pt/intlayer_with_nextjs_14.md +12 -6
- package/docs/pt/intlayer_with_nextjs_15.md +12 -6
- package/docs/pt/intlayer_with_nextjs_16.md +31 -26
- package/docs/pt/intlayer_with_nextjs_compiler.md +5 -6
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/pt/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/pt/intlayer_with_nuxt.md +40 -33
- package/docs/pt/intlayer_with_react_native+expo.md +9 -2
- package/docs/pt/intlayer_with_react_router_v7.md +9 -2
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/pt/intlayer_with_storybook.md +9 -2
- package/docs/pt/intlayer_with_svelte_kit.md +55 -49
- package/docs/pt/intlayer_with_tanstack+solid.md +13 -6
- package/docs/pt/intlayer_with_tanstack.md +13 -6
- package/docs/pt/intlayer_with_vanilla.md +12 -6
- package/docs/pt/intlayer_with_vite+lit.md +13 -6
- package/docs/pt/intlayer_with_vite+preact.md +12 -6
- package/docs/pt/intlayer_with_vite+react.md +12 -6
- package/docs/pt/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/pt/intlayer_with_vite+solid.md +12 -6
- package/docs/pt/intlayer_with_vite+svelte.md +40 -34
- package/docs/pt/intlayer_with_vite+vanilla.md +12 -6
- package/docs/pt/intlayer_with_vite+vue.md +12 -6
- package/docs/pt/introduction.md +43 -28
- package/docs/ru/cli/build.md +1 -1
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/interest_of_intlayer.md +8 -0
- package/docs/ru/intlayer_with_adonisjs.md +2 -2
- package/docs/ru/intlayer_with_analog.md +13 -6
- package/docs/ru/intlayer_with_angular_19.md +13 -6
- package/docs/ru/intlayer_with_angular_21.md +13 -6
- package/docs/ru/intlayer_with_astro.md +62 -56
- package/docs/ru/intlayer_with_astro_lit.md +65 -58
- package/docs/ru/intlayer_with_astro_preact.md +65 -58
- package/docs/ru/intlayer_with_astro_react.md +61 -54
- package/docs/ru/intlayer_with_astro_solid.md +61 -54
- package/docs/ru/intlayer_with_astro_svelte.md +61 -54
- package/docs/ru/intlayer_with_astro_vanilla.md +61 -54
- package/docs/ru/intlayer_with_astro_vue.md +61 -54
- package/docs/ru/intlayer_with_create_react_app.md +5 -6
- package/docs/ru/intlayer_with_express.md +2 -2
- package/docs/ru/intlayer_with_fastify.md +2 -2
- package/docs/ru/intlayer_with_hono.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +9 -2
- package/docs/ru/intlayer_with_nestjs.md +2 -13
- package/docs/ru/intlayer_with_next-i18next.md +2 -2
- package/docs/ru/intlayer_with_next-intl.md +2 -2
- package/docs/ru/intlayer_with_nextjs_14.md +12 -6
- package/docs/ru/intlayer_with_nextjs_15.md +12 -6
- package/docs/ru/intlayer_with_nextjs_16.md +77 -72
- package/docs/ru/intlayer_with_nextjs_compiler.md +52 -54
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/ru/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/ru/intlayer_with_nuxt.md +40 -33
- package/docs/ru/intlayer_with_react_native+expo.md +9 -2
- package/docs/ru/intlayer_with_react_router_v7.md +9 -2
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/ru/intlayer_with_storybook.md +9 -2
- package/docs/ru/intlayer_with_svelte_kit.md +23 -17
- package/docs/ru/intlayer_with_tanstack+solid.md +13 -6
- package/docs/ru/intlayer_with_tanstack.md +13 -6
- package/docs/ru/intlayer_with_vanilla.md +12 -6
- package/docs/ru/intlayer_with_vite+lit.md +13 -6
- package/docs/ru/intlayer_with_vite+preact.md +68 -62
- package/docs/ru/intlayer_with_vite+react.md +59 -54
- package/docs/ru/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/ru/intlayer_with_vite+solid.md +53 -47
- package/docs/ru/intlayer_with_vite+svelte.md +40 -34
- package/docs/ru/intlayer_with_vite+vanilla.md +12 -6
- package/docs/ru/intlayer_with_vite+vue.md +60 -54
- package/docs/ru/introduction.md +43 -28
- package/docs/tr/cli/build.md +1 -1
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/interest_of_intlayer.md +8 -0
- package/docs/tr/intlayer_with_adonisjs.md +2 -2
- package/docs/tr/intlayer_with_analog.md +13 -6
- package/docs/tr/intlayer_with_angular_19.md +13 -6
- package/docs/tr/intlayer_with_angular_21.md +13 -6
- package/docs/tr/intlayer_with_astro.md +62 -56
- package/docs/tr/intlayer_with_astro_lit.md +73 -66
- package/docs/tr/intlayer_with_astro_preact.md +67 -60
- package/docs/tr/intlayer_with_astro_react.md +69 -62
- package/docs/tr/intlayer_with_astro_solid.md +69 -62
- package/docs/tr/intlayer_with_astro_svelte.md +69 -62
- package/docs/tr/intlayer_with_astro_vanilla.md +69 -62
- package/docs/tr/intlayer_with_astro_vue.md +61 -54
- package/docs/tr/intlayer_with_create_react_app.md +5 -6
- package/docs/tr/intlayer_with_express.md +2 -2
- package/docs/tr/intlayer_with_fastify.md +2 -2
- package/docs/tr/intlayer_with_hono.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +9 -2
- package/docs/tr/intlayer_with_nestjs.md +2 -13
- package/docs/tr/intlayer_with_next-i18next.md +2 -2
- package/docs/tr/intlayer_with_next-intl.md +2 -2
- package/docs/tr/intlayer_with_nextjs_14.md +5 -6
- package/docs/tr/intlayer_with_nextjs_15.md +12 -6
- package/docs/tr/intlayer_with_nextjs_16.md +77 -72
- package/docs/tr/intlayer_with_nextjs_compiler.md +74 -77
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/tr/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/tr/intlayer_with_nuxt.md +40 -33
- package/docs/tr/intlayer_with_react_native+expo.md +9 -2
- package/docs/tr/intlayer_with_react_router_v7.md +9 -2
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/tr/intlayer_with_storybook.md +9 -2
- package/docs/tr/intlayer_with_svelte_kit.md +23 -17
- package/docs/tr/intlayer_with_tanstack+solid.md +13 -6
- package/docs/tr/intlayer_with_tanstack.md +13 -6
- package/docs/tr/intlayer_with_vanilla.md +12 -6
- package/docs/tr/intlayer_with_vite+lit.md +13 -6
- package/docs/tr/intlayer_with_vite+preact.md +68 -62
- package/docs/tr/intlayer_with_vite+react.md +60 -55
- package/docs/tr/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/tr/intlayer_with_vite+solid.md +53 -47
- package/docs/tr/intlayer_with_vite+svelte.md +40 -34
- package/docs/tr/intlayer_with_vite+vanilla.md +12 -6
- package/docs/tr/intlayer_with_vite+vue.md +60 -54
- package/docs/tr/introduction.md +43 -28
- package/docs/uk/cli/build.md +1 -1
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/interest_of_intlayer.md +8 -0
- package/docs/uk/intlayer_with_adonisjs.md +2 -2
- package/docs/uk/intlayer_with_analog.md +13 -6
- package/docs/uk/intlayer_with_angular_19.md +13 -6
- package/docs/uk/intlayer_with_angular_21.md +13 -6
- package/docs/uk/intlayer_with_astro.md +62 -56
- package/docs/uk/intlayer_with_astro_lit.md +65 -58
- package/docs/uk/intlayer_with_astro_preact.md +59 -52
- package/docs/uk/intlayer_with_astro_react.md +61 -54
- package/docs/uk/intlayer_with_astro_solid.md +61 -54
- package/docs/uk/intlayer_with_astro_svelte.md +61 -54
- package/docs/uk/intlayer_with_astro_vanilla.md +61 -54
- package/docs/uk/intlayer_with_astro_vue.md +61 -54
- package/docs/uk/intlayer_with_create_react_app.md +5 -6
- package/docs/uk/intlayer_with_express.md +2 -2
- package/docs/uk/intlayer_with_fastify.md +2 -2
- package/docs/uk/intlayer_with_hono.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +9 -2
- package/docs/uk/intlayer_with_nestjs.md +2 -12
- package/docs/uk/intlayer_with_next-i18next.md +2 -2
- package/docs/uk/intlayer_with_next-intl.md +2 -2
- package/docs/uk/intlayer_with_nextjs_14.md +12 -6
- package/docs/uk/intlayer_with_nextjs_15.md +12 -6
- package/docs/uk/intlayer_with_nextjs_16.md +77 -72
- package/docs/uk/intlayer_with_nextjs_compiler.md +74 -77
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/uk/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/uk/intlayer_with_nuxt.md +40 -33
- package/docs/uk/intlayer_with_react_native+expo.md +9 -2
- package/docs/uk/intlayer_with_react_router_v7.md +9 -2
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/uk/intlayer_with_storybook.md +9 -2
- package/docs/uk/intlayer_with_svelte_kit.md +23 -17
- package/docs/uk/intlayer_with_tanstack+solid.md +13 -6
- package/docs/uk/intlayer_with_tanstack.md +13 -6
- package/docs/uk/intlayer_with_vanilla.md +12 -6
- package/docs/uk/intlayer_with_vite+lit.md +13 -6
- package/docs/uk/intlayer_with_vite+preact.md +68 -62
- package/docs/uk/intlayer_with_vite+react.md +60 -55
- package/docs/uk/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/uk/intlayer_with_vite+solid.md +53 -47
- package/docs/uk/intlayer_with_vite+svelte.md +40 -34
- package/docs/uk/intlayer_with_vite+vanilla.md +12 -6
- package/docs/uk/intlayer_with_vite+vue.md +60 -54
- package/docs/uk/introduction.md +43 -28
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/intlayer_with_angular_21.md +6 -6
- package/docs/ur/intlayer_with_fastify.md +2 -2
- package/docs/ur/intlayer_with_hono.md +2 -2
- package/docs/ur/intlayer_with_storybook.md +2 -2
- package/docs/ur/intlayer_with_vanilla.md +5 -6
- package/docs/ur/intlayer_with_vite+lit.md +6 -6
- package/docs/ur/intlayer_with_vite+vanilla.md +5 -6
- package/docs/ur/introduction.md +43 -28
- package/docs/vi/cli/build.md +1 -1
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/interest_of_intlayer.md +8 -0
- package/docs/vi/intlayer_with_adonisjs.md +2 -2
- package/docs/vi/intlayer_with_analog.md +13 -6
- package/docs/vi/intlayer_with_angular_19.md +13 -6
- package/docs/vi/intlayer_with_angular_21.md +13 -6
- package/docs/vi/intlayer_with_astro.md +62 -56
- package/docs/vi/intlayer_with_astro_lit.md +65 -58
- package/docs/vi/intlayer_with_astro_preact.md +59 -52
- package/docs/vi/intlayer_with_astro_react.md +61 -54
- package/docs/vi/intlayer_with_astro_solid.md +61 -54
- package/docs/vi/intlayer_with_astro_svelte.md +61 -54
- package/docs/vi/intlayer_with_astro_vanilla.md +61 -54
- package/docs/vi/intlayer_with_astro_vue.md +61 -54
- package/docs/vi/intlayer_with_create_react_app.md +5 -6
- package/docs/vi/intlayer_with_express.md +2 -2
- package/docs/vi/intlayer_with_fastify.md +2 -2
- package/docs/vi/intlayer_with_hono.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +9 -2
- package/docs/vi/intlayer_with_nestjs.md +2 -12
- package/docs/vi/intlayer_with_next-i18next.md +2 -2
- package/docs/vi/intlayer_with_next-intl.md +2 -2
- package/docs/vi/intlayer_with_nextjs_14.md +12 -6
- package/docs/vi/intlayer_with_nextjs_15.md +9 -2
- package/docs/vi/intlayer_with_nextjs_16.md +77 -72
- package/docs/vi/intlayer_with_nextjs_compiler.md +74 -77
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +12 -6
- package/docs/vi/intlayer_with_nextjs_page_router.md +12 -6
- package/docs/vi/intlayer_with_nuxt.md +40 -33
- package/docs/vi/intlayer_with_react_native+expo.md +9 -2
- package/docs/vi/intlayer_with_react_router_v7.md +9 -2
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +9 -2
- package/docs/vi/intlayer_with_storybook.md +9 -2
- package/docs/vi/intlayer_with_svelte_kit.md +23 -17
- package/docs/vi/intlayer_with_tanstack+solid.md +13 -6
- package/docs/vi/intlayer_with_tanstack.md +13 -6
- package/docs/vi/intlayer_with_vanilla.md +12 -6
- package/docs/vi/intlayer_with_vite+lit.md +13 -6
- package/docs/vi/intlayer_with_vite+preact.md +68 -62
- package/docs/vi/intlayer_with_vite+react.md +60 -55
- package/docs/vi/intlayer_with_vite+react_compiler.md +5 -6
- package/docs/vi/intlayer_with_vite+solid.md +53 -47
- package/docs/vi/intlayer_with_vite+svelte.md +42 -36
- package/docs/vi/intlayer_with_vite+vanilla.md +12 -6
- package/docs/vi/intlayer_with_vite+vue.md +60 -54
- package/docs/vi/introduction.md +43 -28
- package/docs/zh/cli/build.md +1 -1
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/intlayer_with_adonisjs.md +2 -2
- package/docs/zh/intlayer_with_analog.md +2 -2
- package/docs/zh/intlayer_with_angular_19.md +2 -2
- package/docs/zh/intlayer_with_angular_21.md +6 -6
- package/docs/zh/intlayer_with_astro.md +2 -2
- package/docs/zh/intlayer_with_astro_lit.md +2 -2
- package/docs/zh/intlayer_with_astro_preact.md +2 -2
- package/docs/zh/intlayer_with_astro_react.md +2 -2
- package/docs/zh/intlayer_with_astro_solid.md +2 -2
- package/docs/zh/intlayer_with_astro_svelte.md +2 -2
- package/docs/zh/intlayer_with_astro_vanilla.md +2 -2
- package/docs/zh/intlayer_with_astro_vue.md +2 -2
- package/docs/zh/intlayer_with_create_react_app.md +2 -2
- package/docs/zh/intlayer_with_express.md +2 -2
- package/docs/zh/intlayer_with_fastify.md +2 -2
- package/docs/zh/intlayer_with_hono.md +2 -2
- package/docs/zh/intlayer_with_lynx+react.md +2 -2
- package/docs/zh/intlayer_with_nestjs.md +2 -13
- package/docs/zh/intlayer_with_next-i18next.md +2 -2
- package/docs/zh/intlayer_with_next-intl.md +2 -2
- package/docs/zh/intlayer_with_nextjs_14.md +5 -6
- package/docs/zh/intlayer_with_nextjs_15.md +5 -6
- package/docs/zh/intlayer_with_nextjs_16.md +5 -6
- package/docs/zh/intlayer_with_nextjs_compiler.md +157 -161
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +92 -94
- package/docs/zh/intlayer_with_nextjs_page_router.md +5 -6
- package/docs/zh/intlayer_with_nuxt.md +33 -33
- package/docs/zh/intlayer_with_react_native+expo.md +2 -2
- package/docs/zh/intlayer_with_react_router_v7.md +2 -2
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/zh/intlayer_with_storybook.md +2 -2
- package/docs/zh/intlayer_with_svelte_kit.md +228 -229
- package/docs/zh/intlayer_with_tanstack+solid.md +2 -2
- package/docs/zh/intlayer_with_tanstack.md +2 -2
- package/docs/zh/intlayer_with_vanilla.md +2 -2
- package/docs/zh/intlayer_with_vite+lit.md +2 -2
- package/docs/zh/intlayer_with_vite+preact.md +102 -104
- package/docs/zh/intlayer_with_vite+react.md +53 -55
- package/docs/zh/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/zh/intlayer_with_vite+solid.md +46 -47
- package/docs/zh/intlayer_with_vite+svelte.md +33 -34
- package/docs/zh/intlayer_with_vite+vanilla.md +2 -2
- package/docs/zh/intlayer_with_vite+vue.md +75 -76
- package/docs/zh/introduction.md +43 -28
- package/docs/zh-TW/intlayer_with_angular_21.md +6 -6
- package/docs/zh-TW/introduction.md +43 -28
- package/package.json +7 -7
- package/src/common.ts +1 -1
|
@@ -73,6 +73,7 @@ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-
|
|
|
73
73
|
title="Demo CodeSandbox - Intlayer를 사용하여 애플리케이션을 국제화하는 방법"
|
|
74
74
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
75
75
|
loading="lazy"
|
|
76
|
+
/>
|
|
76
77
|
|
|
77
78
|
> GitHub에서 [애플리케이션 템플릿](https://github.com/aymericzip/next-intl-template)을 참조하세요.
|
|
78
79
|
|
|
@@ -108,7 +109,9 @@ loading="lazy"
|
|
|
108
109
|
└── ServerComponent.tsx
|
|
109
110
|
```
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
<Steps>
|
|
113
|
+
|
|
114
|
+
<Step number={1} title="의존성 설치">
|
|
112
115
|
|
|
113
116
|
npm을 사용하여 필요한 패키지를 설치하세요:
|
|
114
117
|
|
|
@@ -126,7 +129,9 @@ yarn add next-intl
|
|
|
126
129
|
|
|
127
130
|
- **next-intl**: Next.js App Router용 핵심 국제화 라이브러리로, 번역 관리를 위한 훅, 서버 함수, 클라이언트 프로바이더를 제공합니다.
|
|
128
131
|
|
|
129
|
-
|
|
132
|
+
</Step>
|
|
133
|
+
|
|
134
|
+
<Step number={2} title="프로젝트 구성">
|
|
130
135
|
|
|
131
136
|
지원하는 로케일을 정의하고 next-intl의 요청 구성을 설정하는 구성 파일을 만드세요. 이 파일은 i18n 설정의 단일 진실 소스로 작동하며 애플리케이션 전반에 걸쳐 타입 안전성을 보장합니다.
|
|
132
137
|
|
|
@@ -210,7 +215,9 @@ export const { Link, redirect, usePathname, useRouter, getPathname } =
|
|
|
210
215
|
export const proxy = createMiddleware(routingOptions);
|
|
211
216
|
```
|
|
212
217
|
|
|
213
|
-
|
|
218
|
+
</Step>
|
|
219
|
+
|
|
220
|
+
<Step number={3} title="동적 로케일 라우트 정의">
|
|
214
221
|
|
|
215
222
|
앱 폴더에 `[locale]` 디렉토리를 생성하여 로케일 기반 동적 라우팅을 설정하세요. 이를 통해 Next.js는 각 로케일이 URL 세그먼트가 되는 로케일 기반 라우팅을 처리할 수 있습니다 (예: `/en/about`, `/fr/about`).
|
|
216
223
|
|
|
@@ -299,7 +306,9 @@ export default async function AboutPage({
|
|
|
299
306
|
}
|
|
300
307
|
```
|
|
301
308
|
|
|
302
|
-
|
|
309
|
+
</Step>
|
|
310
|
+
|
|
311
|
+
<Step number={4} title="번역 파일 생성하기">
|
|
303
312
|
|
|
304
313
|
각 로케일과 네임스페이스별로 JSON 파일을 생성하세요. 이 구조는 번역을 논리적으로 구성하고 각 페이지에 필요한 번역만 로드할 수 있게 해줍니다.
|
|
305
314
|
|
|
@@ -341,7 +350,9 @@ export default async function AboutPage({
|
|
|
341
350
|
}
|
|
342
351
|
```
|
|
343
352
|
|
|
344
|
-
|
|
353
|
+
</Step>
|
|
354
|
+
|
|
355
|
+
<Step number={5} title="페이지에서 번역 활용하기">
|
|
345
356
|
|
|
346
357
|
서버에서 번역을 로드하고 이를 서버 및 클라이언트 컴포넌트 모두에 전달하는 페이지 컴포넌트를 만드세요. 이렇게 하면 렌더링 전에 번역이 로드되어 콘텐츠 깜박임을 방지할 수 있습니다.
|
|
347
358
|
|
|
@@ -392,7 +403,9 @@ export default async function AboutPage({
|
|
|
392
403
|
}
|
|
393
404
|
```
|
|
394
405
|
|
|
395
|
-
|
|
406
|
+
</Step>
|
|
407
|
+
|
|
408
|
+
<Step number={6} title="클라이언트 컴포넌트에서 번역 사용하기">
|
|
396
409
|
|
|
397
410
|
클라이언트 컴포넌트는 `useTranslations` 및 `useFormatter` 훅을 사용하여 번역 및 포맷팅 기능에 접근할 수 있습니다. 이 훅들은 `NextIntlClientProvider` 컨텍스트에서 값을 읽어옵니다.
|
|
398
411
|
|
|
@@ -428,7 +441,9 @@ const ClientComponent = () => {
|
|
|
428
441
|
};
|
|
429
442
|
```
|
|
430
443
|
|
|
431
|
-
|
|
444
|
+
</Step>
|
|
445
|
+
|
|
446
|
+
<Step number={7} title="서버 컴포넌트에서 번역 사용하기">
|
|
432
447
|
|
|
433
448
|
서버 컴포넌트는 React 훅을 사용할 수 없으므로, 부모 컴포넌트로부터 props를 통해 번역과 포매터를 전달받습니다. 이 방법은 서버 컴포넌트를 동기적으로 유지하며 클라이언트 컴포넌트 내부에 중첩될 수 있게 합니다.
|
|
434
449
|
|
|
@@ -460,9 +475,9 @@ const ServerComponent = ({
|
|
|
460
475
|
|
|
461
476
|
> 페이지나 레이아웃에서 `next-intl/server`의 `getTranslations`와 `getFormatter`를 사용하여 번역과 포맷팅을 미리 계산한 후, 이를 props로 서버 컴포넌트에 전달하세요.
|
|
462
477
|
|
|
463
|
-
|
|
478
|
+
</Step>
|
|
464
479
|
|
|
465
|
-
|
|
480
|
+
<Step number={8} title="콘텐츠의 언어 변경하기" isOptional={true}>
|
|
466
481
|
|
|
467
482
|
next-intl을 사용하여 콘텐츠의 언어를 변경하려면, 동일한 경로명을 가리키면서 로케일을 전환하는 로케일 인식 링크를 렌더링하세요. 프로바이더가 URL을 자동으로 재작성하므로 현재 경로만 지정하면 됩니다.
|
|
468
483
|
|
|
@@ -534,7 +549,9 @@ export default function LocaleSwitcher() {
|
|
|
534
549
|
}
|
|
535
550
|
```
|
|
536
551
|
|
|
537
|
-
|
|
552
|
+
</Step>
|
|
553
|
+
|
|
554
|
+
<Step number={9} title="현지화된 Link 컴포넌트 사용하기" isOptional={true}>
|
|
538
555
|
|
|
539
556
|
`next-intl`은 활성 로케일을 자동으로 적용하는 현지화된 링크 컴포넌트를 포함하는 서브패키지 `next-intl/navigation`을 제공합니다. 우리는 이미 `@/i18n` 파일에서 이를 추출해 두었으므로 다음과 같이 사용할 수 있습니다:
|
|
540
557
|
|
|
@@ -544,7 +561,9 @@ import { Link } from "@/i18n";
|
|
|
544
561
|
return <Link href="/about">t("about.title")</Link>;
|
|
545
562
|
```
|
|
546
563
|
|
|
547
|
-
|
|
564
|
+
</Step>
|
|
565
|
+
|
|
566
|
+
<Step number={10} title="서버 액션 내에서 활성 로케일 접근하기" isOptional={true}>
|
|
548
567
|
|
|
549
568
|
서버 액션은 `next-intl/server`를 사용하여 현재 로케일을 읽을 수 있습니다. 이는 현지화된 이메일을 보내거나 제출된 데이터와 함께 언어 선호도를 저장하는 데 유용합니다.
|
|
550
569
|
|
|
@@ -567,7 +586,9 @@ export async function handleContactForm(formData: FormData) {
|
|
|
567
586
|
|
|
568
587
|
> `getLocale`는 `next-intl` 프록시가 설정한 locale을 읽기 때문에 서버 어디서나 작동합니다: Route Handlers, Server Actions, 그리고 edge functions.
|
|
569
588
|
|
|
570
|
-
|
|
589
|
+
</Step>
|
|
590
|
+
|
|
591
|
+
<Step number={11} title="메타데이터 국제화하기" isOptional={true}>
|
|
571
592
|
|
|
572
593
|
콘텐츠 번역도 중요하지만, 국제화의 주요 목표는 웹사이트를 전 세계에 더 잘 보이게 만드는 것입니다. I18n은 적절한 SEO를 통해 웹사이트 가시성을 향상시키는 놀라운 수단입니다.
|
|
573
594
|
|
|
@@ -606,7 +627,9 @@ export async function generateMetadata({
|
|
|
606
627
|
// ... 페이지 나머지 코드
|
|
607
628
|
```
|
|
608
629
|
|
|
609
|
-
|
|
630
|
+
</Step>
|
|
631
|
+
|
|
632
|
+
<Step number={12} title="사이트맵 국제화하기" isOptional={true}>
|
|
610
633
|
|
|
611
634
|
모든 로케일 버전의 페이지를 포함하는 사이트맵을 생성하세요. 이는 검색 엔진이 모든 언어 버전의 콘텐츠를 발견하고 색인화하는 데 도움이 됩니다.
|
|
612
635
|
|
|
@@ -660,7 +683,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|
|
660
683
|
}
|
|
661
684
|
```
|
|
662
685
|
|
|
663
|
-
|
|
686
|
+
</Step>
|
|
687
|
+
|
|
688
|
+
<Step number={13} title="robots.txt 국제화하기" isOptional={true}>
|
|
664
689
|
|
|
665
690
|
보호된 경로의 모든 로케일 버전을 적절히 처리하는 robots.txt 파일을 만드세요. 이를 통해 검색 엔진이 어떤 언어로든 관리자(admin)나 대시보드 페이지를 인덱싱하지 않도록 할 수 있습니다.
|
|
666
691
|
|
|
@@ -693,7 +718,9 @@ export default function robots(): MetadataRoute.Robots {
|
|
|
693
718
|
}
|
|
694
719
|
```
|
|
695
720
|
|
|
696
|
-
|
|
721
|
+
</Step>
|
|
722
|
+
|
|
723
|
+
<Step number={14} title="로케일 라우팅을 위한 프록시 설정" isOptional={true}>
|
|
697
724
|
|
|
698
725
|
사용자의 선호 로케일을 자동으로 감지하고 적절한 로케일 접두사가 붙은 URL로 리디렉션하는 프록시를 만드세요. next-intl은 이를 자동으로 처리하는 편리한 프록시 함수를 제공합니다.
|
|
699
726
|
|
|
@@ -713,7 +740,9 @@ export const config = {
|
|
|
713
740
|
};
|
|
714
741
|
```
|
|
715
742
|
|
|
716
|
-
|
|
743
|
+
</Step>
|
|
744
|
+
|
|
745
|
+
<Step number={15} title="로케일에 대한 TypeScript 타입 설정" isOptional={true}>
|
|
717
746
|
|
|
718
747
|
TypeScript 설정은 키에 대한 자동완성과 타입 안전성을 제공하는 데 도움이 됩니다.
|
|
719
748
|
|
|
@@ -739,7 +768,9 @@ declare module "next-intl" {
|
|
|
739
768
|
|
|
740
769
|
이 코드는 모듈 확장(Module Augmentation)을 사용하여 locales와 messages를 next-intl의 AppConfig 타입에 추가합니다.
|
|
741
770
|
|
|
742
|
-
|
|
771
|
+
</Step>
|
|
772
|
+
|
|
773
|
+
<Step number={16} title="Intlayer를 사용하여 번역 자동화하기" isOptional={true}>
|
|
743
774
|
|
|
744
775
|
Intlayer는 애플리케이션의 현지화 과정을 지원하기 위해 설계된 **무료**이자 **오픈 소스** 라이브러리입니다. next-intl이 번역 로딩과 관리를 담당하는 반면, Intlayer는 번역 워크플로우를 자동화하는 데 도움을 줍니다.
|
|
745
776
|
|
|
@@ -764,3 +795,7 @@ Intlayer는 다음을 가능하게 합니다:
|
|
|
764
795
|
Intlayer는 비주얼 에디터를 사용하여 콘텐츠를 편집할 수 있는 무료 비주얼 에디터를 제공합니다. [번역 비주얼 편집](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/intlayer_visual_editor.md)에서 자세히 알아보세요.
|
|
765
796
|
|
|
766
797
|
그리고 더 많은 기능들이 있습니다. Intlayer가 제공하는 모든 기능을 확인하려면 [Intlayer의 관심사 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/interest_of_intlayer.md)를 참조하세요.
|
|
798
|
+
|
|
799
|
+
</Step>
|
|
800
|
+
|
|
801
|
+
</Steps>
|
|
@@ -80,6 +80,7 @@ Zanim przejdziemy do implementacji, oto kilka praktyk, których powinieneś prze
|
|
|
80
80
|
title="Demo CodeSandbox - Jak internacjonalizować swoją aplikację za pomocą Intlayer"
|
|
81
81
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
82
82
|
loading="lazy"
|
|
83
|
+
/>
|
|
83
84
|
|
|
84
85
|
> Zobacz [Szablon Aplikacji](https://github.com/aymericzip/next-i18next-template) na GitHub.
|
|
85
86
|
|
|
@@ -116,7 +117,9 @@ Oto struktura projektu, którą będziemy tworzyć:
|
|
|
116
117
|
└── ServerComponent.tsx
|
|
117
118
|
```
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
<Steps>
|
|
121
|
+
|
|
122
|
+
<Step number={1} title="Instalacja zależności">
|
|
120
123
|
|
|
121
124
|
Zainstaluj niezbędne pakiety za pomocą npm:
|
|
122
125
|
|
|
@@ -136,7 +139,9 @@ yarn add i18next react-i18next i18next-resources-to-backend
|
|
|
136
139
|
- **react-i18next**: Powiązania React dla i18next, które dostarczają hooki takie jak `useTranslation` dla komponentów klienckich.
|
|
137
140
|
- **i18next-resources-to-backend**: Wtyczka umożliwiająca dynamiczne ładowanie plików tłumaczeń, pozwalająca ładować tylko potrzebne przestrzenie nazw.
|
|
138
141
|
|
|
139
|
-
|
|
142
|
+
</Step>
|
|
143
|
+
|
|
144
|
+
<Step number={2} title="Skonfiguruj swój projekt">
|
|
140
145
|
|
|
141
146
|
Utwórz plik konfiguracyjny, aby zdefiniować obsługiwane lokalizacje, domyślną lokalizację oraz funkcje pomocnicze do lokalizacji URL. Ten plik służy jako pojedyncze źródło prawdy dla Twojej konfiguracji i18n i zapewnia bezpieczeństwo typów w całej aplikacji.
|
|
142
147
|
|
|
@@ -189,7 +194,9 @@ export function getCookie(locale: Locale) {
|
|
|
189
194
|
}
|
|
190
195
|
```
|
|
191
196
|
|
|
192
|
-
|
|
197
|
+
</Step>
|
|
198
|
+
|
|
199
|
+
<Step number={3} title="Centralizacja przestrzeni nazw tłumaczeń">
|
|
193
200
|
|
|
194
201
|
Utwórz jedno źródło prawdy dla każdej przestrzeni nazw, którą udostępnia Twoja aplikacja. Ponowne użycie tej listy utrzymuje synchronizację kodu serwera, klienta i narzędzi oraz umożliwia silne typowanie pomocników tłumaczeń.
|
|
195
202
|
|
|
@@ -199,7 +206,9 @@ export const namespaces = ["common", "about"] as const;
|
|
|
199
206
|
export type Namespace = (typeof namespaces)[number];
|
|
200
207
|
```
|
|
201
208
|
|
|
202
|
-
|
|
209
|
+
</Step>
|
|
210
|
+
|
|
211
|
+
<Step number={4} title="Silne typowanie kluczy tłumaczeń za pomocą TypeScript">
|
|
203
212
|
|
|
204
213
|
Rozszerz `i18next`, aby wskazywał na Twoje kanoniczne pliki językowe (zazwyczaj angielskie). TypeScript wtedy wywnioskuje poprawne klucze dla każdej przestrzeni nazw, dzięki czemu wywołania `t()` są sprawdzane kompleksowo.
|
|
205
214
|
|
|
@@ -237,7 +246,9 @@ const { t } = useTranslation("about");
|
|
|
237
246
|
export type AboutTranslator = TFunction<"about">;
|
|
238
247
|
```
|
|
239
248
|
|
|
240
|
-
|
|
249
|
+
</Step>
|
|
250
|
+
|
|
251
|
+
<Step number={5} title="Skonfiguruj inicjalizację i18n po stronie serwera">
|
|
241
252
|
|
|
242
253
|
Utwórz funkcję inicjalizacji po stronie serwera, która ładuje tłumaczenia dla komponentów serwerowych. Ta funkcja tworzy osobną instancję i18next do renderowania po stronie serwera, zapewniając, że tłumaczenia są załadowane przed renderowaniem.
|
|
243
254
|
|
|
@@ -292,7 +303,9 @@ export async function initI18next(
|
|
|
292
303
|
}
|
|
293
304
|
```
|
|
294
305
|
|
|
295
|
-
|
|
306
|
+
</Step>
|
|
307
|
+
|
|
308
|
+
<Step number={6} title="Utwórz klienta i18n Provider">
|
|
296
309
|
|
|
297
310
|
Utwórz komponent klienta, który opakuje Twoją aplikację kontekstem i18next. Ten provider otrzymuje wstępnie załadowane tłumaczenia z serwera, aby zapobiec błyskowi nieprzetłumaczonej zawartości (FOUC) i uniknąć podwójnego pobierania.
|
|
298
311
|
|
|
@@ -375,7 +388,9 @@ export default function I18nProvider({
|
|
|
375
388
|
}
|
|
376
389
|
```
|
|
377
390
|
|
|
378
|
-
|
|
391
|
+
</Step>
|
|
392
|
+
|
|
393
|
+
<Step number={7} title="Zdefiniuj dynamiczne trasy lokalizacji">
|
|
379
394
|
|
|
380
395
|
Skonfiguruj dynamiczne routowanie dla lokalizacji, tworząc katalog `[locale]` w folderze aplikacji. Pozwala to Next.js obsługiwać routowanie oparte na lokalizacji, gdzie każda lokalizacja staje się segmentem URL (np. `/en/about`, `/fr/about`).
|
|
381
396
|
|
|
@@ -427,7 +442,9 @@ export default function LocaleLayout({
|
|
|
427
442
|
}
|
|
428
443
|
```
|
|
429
444
|
|
|
430
|
-
|
|
445
|
+
</Step>
|
|
446
|
+
|
|
447
|
+
<Step number={8} title="Utwórz pliki tłumaczeń">
|
|
431
448
|
|
|
432
449
|
Utwórz pliki JSON dla każdego locale i przestrzeni nazw. Ta struktura pozwala na logiczne organizowanie tłumaczeń i ładowanie tylko tego, co jest potrzebne na każdej stronie.
|
|
433
450
|
|
|
@@ -493,7 +510,9 @@ Organizowanie tłumaczeń według przestrzeni nazw (np. `common.json`, `about.js
|
|
|
493
510
|
}
|
|
494
511
|
```
|
|
495
512
|
|
|
496
|
-
|
|
513
|
+
</Step>
|
|
514
|
+
|
|
515
|
+
<Step number={9} title="Wykorzystanie tłumaczeń na Twoich stronach">
|
|
497
516
|
|
|
498
517
|
Utwórz komponent strony, który inicjalizuje i18next po stronie serwera i przekazuje tłumaczenia zarówno do komponentów serwerowych, jak i klienckich. Zapewnia to załadowanie tłumaczeń przed renderowaniem i zapobiega migotaniu treści.
|
|
499
518
|
|
|
@@ -553,7 +572,9 @@ export default async function AboutPage({
|
|
|
553
572
|
}
|
|
554
573
|
```
|
|
555
574
|
|
|
556
|
-
|
|
575
|
+
</Step>
|
|
576
|
+
|
|
577
|
+
<Step number={10} title="Używanie tłumaczeń w komponentach klienckich">
|
|
557
578
|
|
|
558
579
|
Komponenty klienckie mogą korzystać z hooka `useTranslation`, aby uzyskać dostęp do tłumaczeń. Ten hook zapewnia dostęp do funkcji tłumaczącej oraz instancji i18n, co pozwala na tłumaczenie treści i dostęp do informacji o lokalizacji.
|
|
559
580
|
|
|
@@ -604,7 +625,9 @@ const ClientComponent = () => {
|
|
|
604
625
|
export default ClientComponent;
|
|
605
626
|
```
|
|
606
627
|
|
|
607
|
-
|
|
628
|
+
</Step>
|
|
629
|
+
|
|
630
|
+
<Step number={11} title="Użycie tłumaczeń w komponentach serwerowych">
|
|
608
631
|
|
|
609
632
|
Komponenty serwerowe nie mogą korzystać z hooków React, dlatego otrzymują tłumaczenia za pomocą propsów od komponentów nadrzędnych. Takie podejście utrzymuje komponenty serwerowe synchroniczne i pozwala na ich zagnieżdżanie wewnątrz komponentów klienckich.
|
|
610
633
|
|
|
@@ -650,9 +673,9 @@ const ServerComponent = ({ t, locale, count }: ServerComponentProps) => {
|
|
|
650
673
|
export default ServerComponent;
|
|
651
674
|
```
|
|
652
675
|
|
|
653
|
-
|
|
676
|
+
</Step>
|
|
654
677
|
|
|
655
|
-
|
|
678
|
+
<Step number={12} title="Zmień język swojej zawartości" isOptional={true}>
|
|
656
679
|
|
|
657
680
|
Aby zmienić język swojej zawartości w Next.js, zalecanym sposobem jest używanie adresów URL z prefiksem lokalizacji oraz linków Next.js. Poniższy przykład odczytuje aktualną lokalizację z trasy, usuwa ją z nazwy ścieżki i renderuje jeden link na każdą dostępną lokalizację.
|
|
658
681
|
|
|
@@ -724,7 +747,9 @@ export default function LocaleSwitcher() {
|
|
|
724
747
|
}
|
|
725
748
|
```
|
|
726
749
|
|
|
727
|
-
|
|
750
|
+
</Step>
|
|
751
|
+
|
|
752
|
+
<Step number={13} title="Zbuduj lokalizowany komponent Link" isOptional={true}>
|
|
728
753
|
|
|
729
754
|
Ponowne użycie lokalizowanych URL-i w całej aplikacji utrzymuje spójność nawigacji i jest przyjazne dla SEO. Owiń `next/link` w małą pomocniczą funkcję, która dodaje prefiks aktywnego locale do wewnętrznych ścieżek, pozostawiając zewnętrzne URL-e bez zmian.
|
|
730
755
|
|
|
@@ -775,7 +800,9 @@ export default function LocalizedLink({
|
|
|
775
800
|
|
|
776
801
|
> Wskazówka: Ponieważ `LocalizedLink` jest zamiennikiem typu drop-in, migruj stopniowo, zamieniając importy i pozwalając komponentowi obsługiwać adresy URL specyficzne dla lokalizacji.
|
|
777
802
|
|
|
778
|
-
|
|
803
|
+
</Step>
|
|
804
|
+
|
|
805
|
+
<Step number={14} title="Uzyskanie aktywnej lokalizacji wewnątrz Server Actions" isOptional={true}>
|
|
779
806
|
|
|
780
807
|
Server Actions często potrzebują aktualnej lokalizacji do e-maili, logowania lub integracji z zewnętrznymi usługami. Połącz ciasteczko lokalizacji ustawione przez Twój proxy z nagłówkiem `Accept-Language` jako zapasową opcję.
|
|
781
808
|
|
|
@@ -813,7 +840,9 @@ export async function stuffFromServer(formData: FormData) {
|
|
|
813
840
|
|
|
814
841
|
> Ponieważ helper opiera się na ciasteczkach i nagłówkach Next.js, działa w Route Handlers, Server Actions oraz innych kontekstach dostępnych tylko po stronie serwera.
|
|
815
842
|
|
|
816
|
-
|
|
843
|
+
</Step>
|
|
844
|
+
|
|
845
|
+
<Step number={15} title="Internacjonalizacja Twoich Metadanych" isOptional={true}>
|
|
817
846
|
|
|
818
847
|
Tłumaczenie treści jest ważne, ale głównym celem internacjonalizacji jest uczynienie Twojej strony bardziej widoczną na świecie. I18n to niesamowite narzędzie do poprawy widoczności Twojej strony poprzez odpowiednie SEO.
|
|
819
848
|
|
|
@@ -880,7 +909,9 @@ export default async function AboutPage() {
|
|
|
880
909
|
}
|
|
881
910
|
```
|
|
882
911
|
|
|
883
|
-
|
|
912
|
+
</Step>
|
|
913
|
+
|
|
914
|
+
<Step number={16} title="Internacjonalizacja mapy witryny" isOptional={true}>
|
|
884
915
|
|
|
885
916
|
Wygeneruj mapę witryny, która zawiera wszystkie wersje językowe Twoich stron. Pomaga to wyszukiwarkom odnaleźć i zaindeksować wszystkie wersje językowe Twoich treści.
|
|
886
917
|
|
|
@@ -934,7 +965,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|
|
934
965
|
}
|
|
935
966
|
```
|
|
936
967
|
|
|
937
|
-
|
|
968
|
+
</Step>
|
|
969
|
+
|
|
970
|
+
<Step number={17} title="Internacjonalizacja pliku robots.txt" isOptional={true}>
|
|
938
971
|
|
|
939
972
|
Utwórz plik robots.txt, który prawidłowo obsługuje wszystkie wersje językowe chronionych tras. Zapewnia to, że wyszukiwarki nie będą indeksować stron admina ani panelu w żadnym języku.
|
|
940
973
|
|
|
@@ -965,7 +998,9 @@ export default function robots(): MetadataRoute.Robots {
|
|
|
965
998
|
}
|
|
966
999
|
```
|
|
967
1000
|
|
|
968
|
-
|
|
1001
|
+
</Step>
|
|
1002
|
+
|
|
1003
|
+
<Step number={18} title="Skonfiguruj Middleware dla trasowania lokalizacji" isOptional={true}>
|
|
969
1004
|
|
|
970
1005
|
Utwórz proxy, które automatycznie wykryje preferowaną lokalizację użytkownika i przekieruje go do odpowiedniego adresu URL z prefiksem lokalizacji. Poprawia to doświadczenie użytkownika, pokazując treści w jego preferowanym języku.
|
|
971
1006
|
|
|
@@ -1054,7 +1089,9 @@ export const config = {
|
|
|
1054
1089
|
};
|
|
1055
1090
|
```
|
|
1056
1091
|
|
|
1057
|
-
|
|
1092
|
+
</Step>
|
|
1093
|
+
|
|
1094
|
+
<Step number={19} title="Automatyzuj swoje tłumaczenia za pomocą Intlayer" isOptional={true}>
|
|
1058
1095
|
|
|
1059
1096
|
Intlayer to **bezpłatna** i **otwartoźródłowa** biblioteka zaprojektowana, aby wspierać proces lokalizacji w Twojej aplikacji. Podczas gdy i18next zajmuje się ładowaniem i zarządzaniem tłumaczeniami, Intlayer pomaga zautomatyzować cały proces tłumaczeniowy.
|
|
1060
1097
|
|
|
@@ -1084,3 +1121,7 @@ Intlayer pozwala Ci na:
|
|
|
1084
1121
|
Intlayer oferuje darmowy edytor wizualny do edycji Twoich treści za pomocą edytora wizualnego. Dowiedz się więcej o [wizualnej edycji tłumaczeń](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md).
|
|
1085
1122
|
|
|
1086
1123
|
I wiele więcej. Aby odkryć wszystkie funkcje oferowane przez Intlayer, zapoznaj się z dokumentacją [Zainteresowanie Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/interest_of_intlayer.md).
|
|
1124
|
+
|
|
1125
|
+
</Step>
|
|
1126
|
+
|
|
1127
|
+
</Steps>
|
|
@@ -107,7 +107,9 @@ Oto struktura projektu, którą będziemy tworzyć:
|
|
|
107
107
|
└── ServerComponent.tsx
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
<Steps>
|
|
111
|
+
|
|
112
|
+
<Step number={1} title="Instalacja zależności">
|
|
111
113
|
|
|
112
114
|
Zainstaluj niezbędne pakiety za pomocą npm:
|
|
113
115
|
|
|
@@ -125,7 +127,9 @@ yarn add next-intl
|
|
|
125
127
|
|
|
126
128
|
- **next-intl**: Podstawowa biblioteka do internacjonalizacji dla Next.js App Router, która dostarcza hooki, funkcje serwerowe oraz klienta do zarządzania tłumaczeniami.
|
|
127
129
|
|
|
128
|
-
|
|
130
|
+
</Step>
|
|
131
|
+
|
|
132
|
+
<Step number={2} title="Konfiguracja projektu">
|
|
129
133
|
|
|
130
134
|
Utwórz plik konfiguracyjny, który definiuje obsługiwane lokalizacje i konfiguruje ustawienia żądań next-intl. Ten plik służy jako pojedyncze źródło prawdy dla Twojej konfiguracji i18n oraz zapewnia bezpieczeństwo typów w całej aplikacji.
|
|
131
135
|
|
|
@@ -210,7 +214,9 @@ export const { Link, redirect, usePathname, useRouter, getPathname } =
|
|
|
210
214
|
export const proxy = createMiddleware(routingOptions);
|
|
211
215
|
```
|
|
212
216
|
|
|
213
|
-
|
|
217
|
+
</Step>
|
|
218
|
+
|
|
219
|
+
<Step number={3} title="Definiowanie dynamicznych tras lokalizacji">
|
|
214
220
|
|
|
215
221
|
Skonfiguruj dynamiczne routowanie dla lokalizacji, tworząc katalog `[locale]` w folderze aplikacji. Pozwala to Next.js obsługiwać routowanie oparte na lokalizacji, gdzie każda lokalizacja staje się segmentem URL (np. `/en/about`, `/fr/about`).
|
|
216
222
|
|
|
@@ -298,7 +304,9 @@ export default async function AboutPage({
|
|
|
298
304
|
}
|
|
299
305
|
```
|
|
300
306
|
|
|
301
|
-
|
|
307
|
+
</Step>
|
|
308
|
+
|
|
309
|
+
<Step number={4} title="Utwórz pliki tłumaczeń">
|
|
302
310
|
|
|
303
311
|
Utwórz pliki JSON dla każdego locale i namespace. Ta struktura pozwala na logiczne organizowanie tłumaczeń oraz ładowanie tylko tego, co jest potrzebne na każdej stronie.
|
|
304
312
|
|
|
@@ -340,7 +348,9 @@ Organizowanie tłumaczeń według namespace (np. `common.json`, `about.json`) um
|
|
|
340
348
|
}
|
|
341
349
|
```
|
|
342
350
|
|
|
343
|
-
|
|
351
|
+
</Step>
|
|
352
|
+
|
|
353
|
+
<Step number={5} title="Wykorzystaj tłumaczenia na swoich stronach">
|
|
344
354
|
|
|
345
355
|
Utwórz komponent strony, który ładuje tłumaczenia po stronie serwera i przekazuje je zarówno do komponentów serwerowych, jak i klienckich. Zapewnia to, że tłumaczenia są załadowane przed renderowaniem i zapobiega migotaniu treści.
|
|
346
356
|
|
|
@@ -391,7 +401,9 @@ export default async function AboutPage({
|
|
|
391
401
|
}
|
|
392
402
|
```
|
|
393
403
|
|
|
394
|
-
|
|
404
|
+
</Step>
|
|
405
|
+
|
|
406
|
+
<Step number={6} title="Używanie tłumaczeń w komponentach klienckich">
|
|
395
407
|
|
|
396
408
|
Komponenty klienckie mogą używać hooków `useTranslations` i `useFormatter`, aby uzyskać dostęp do tłumaczeń i funkcji formatowania. Hooki te odczytują dane z kontekstu `NextIntlClientProvider`.
|
|
397
409
|
|
|
@@ -427,7 +439,9 @@ const ClientComponent = () => {
|
|
|
427
439
|
};
|
|
428
440
|
```
|
|
429
441
|
|
|
430
|
-
|
|
442
|
+
</Step>
|
|
443
|
+
|
|
444
|
+
<Step number={7} title="Używanie tłumaczeń w komponentach serwerowych">
|
|
431
445
|
|
|
432
446
|
Komponenty serwerowe nie mogą używać hooków React, dlatego otrzymują tłumaczenia i formatery przez propsy od komponentów nadrzędnych. Takie podejście utrzymuje komponenty serwerowe synchroniczne i pozwala na ich zagnieżdżanie wewnątrz komponentów klienckich.
|
|
433
447
|
|
|
@@ -459,9 +473,9 @@ const ServerComponent = ({
|
|
|
459
473
|
|
|
460
474
|
> Na swojej stronie/układzie użyj `getTranslations` i `getFormatter` z `next-intl/server`, aby wstępnie obliczyć tłumaczenia i formatowanie, a następnie przekaż je jako propsy do komponentów serwerowych.
|
|
461
475
|
|
|
462
|
-
|
|
476
|
+
</Step>
|
|
463
477
|
|
|
464
|
-
|
|
478
|
+
<Step number={8} title="Zmień język swojej zawartości" isOptional={true}>
|
|
465
479
|
|
|
466
480
|
Aby zmienić język swojej zawartości za pomocą next-intl, renderuj linki uwzględniające lokalizację, które wskazują na tę samą ścieżkę, zmieniając jednocześnie lokalizację. Provider automatycznie przepisuje URL-e, więc musisz tylko wskazać aktualną trasę.
|
|
467
481
|
|
|
@@ -533,7 +547,9 @@ export default function LocaleSwitcher() {
|
|
|
533
547
|
}
|
|
534
548
|
```
|
|
535
549
|
|
|
536
|
-
|
|
550
|
+
</Step>
|
|
551
|
+
|
|
552
|
+
<Step number={9} title="Użyj lokalizowanego komponentu Link" isOptional={true}>
|
|
537
553
|
|
|
538
554
|
`next-intl` dostarcza podpakiet `next-intl/navigation`, który zawiera lokalizowany komponent linku automatycznie stosujący aktywną lokalizację. Już wyodrębniliśmy go dla Ciebie w pliku `@/i18n`, więc możesz go użyć w ten sposób:
|
|
539
555
|
|
|
@@ -543,7 +559,9 @@ import { Link } from "@/i18n";
|
|
|
543
559
|
return <Link href="/about">t("about.title")</Link>;
|
|
544
560
|
```
|
|
545
561
|
|
|
546
|
-
|
|
562
|
+
</Step>
|
|
563
|
+
|
|
564
|
+
<Step number={10} title="Uzyskaj dostęp do aktywnej lokalizacji w Server Actions" isOptional={true}>
|
|
547
565
|
|
|
548
566
|
Server Actions mogą odczytać aktualną lokalizację używając `next-intl/server`. Jest to przydatne do wysyłania zlokalizowanych e-maili lub przechowywania preferencji językowych wraz z przesłanymi danymi.
|
|
549
567
|
|
|
@@ -566,7 +584,9 @@ export async function handleContactForm(formData: FormData) {
|
|
|
566
584
|
|
|
567
585
|
> `getLocale` odczytuje locale ustawione przez proxy `next-intl`, więc działa wszędzie na serwerze: w Route Handlers, Server Actions i funkcjach edge.
|
|
568
586
|
|
|
569
|
-
|
|
587
|
+
</Step>
|
|
588
|
+
|
|
589
|
+
<Step number={11} title="Internacjonalizacja metadanych" isOptional={true}>
|
|
570
590
|
|
|
571
591
|
Tłumaczenie treści jest ważne, ale głównym celem internacjonalizacji jest uczynienie Twojej strony bardziej widoczną dla świata. I18n to niesamowita dźwignia do poprawy widoczności Twojej strony poprzez odpowiednie SEO.
|
|
572
592
|
|
|
@@ -605,7 +625,9 @@ export async function generateMetadata({
|
|
|
605
625
|
// ... Reszta kodu strony
|
|
606
626
|
```
|
|
607
627
|
|
|
608
|
-
|
|
628
|
+
</Step>
|
|
629
|
+
|
|
630
|
+
<Step number={12} title="Internacjonalizacja Twojej mapy witryny" isOptional={true}>
|
|
609
631
|
|
|
610
632
|
Wygeneruj mapę witryny, która zawiera wszystkie wersje językowe Twoich stron. Pomaga to wyszukiwarkom odnaleźć i zaindeksować wszystkie wersje językowe Twoich treści.
|
|
611
633
|
|
|
@@ -659,7 +681,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|
|
659
681
|
}
|
|
660
682
|
```
|
|
661
683
|
|
|
662
|
-
|
|
684
|
+
</Step>
|
|
685
|
+
|
|
686
|
+
<Step number={13} title="Internacjonalizacja pliku robots.txt" isOptional={true}>
|
|
663
687
|
|
|
664
688
|
Utwórz plik robots.txt, który prawidłowo obsługuje wszystkie wersje językowe Twoich chronionych ścieżek. Zapewnia to, że wyszukiwarki nie będą indeksować stron admina ani panelu w żadnym języku.
|
|
665
689
|
|
|
@@ -692,7 +716,9 @@ export default function robots(): MetadataRoute.Robots {
|
|
|
692
716
|
}
|
|
693
717
|
```
|
|
694
718
|
|
|
695
|
-
|
|
719
|
+
</Step>
|
|
720
|
+
|
|
721
|
+
<Step number={14} title="Skonfiguruj Proxy dla trasowania lokalizacji" isOptional={true}>
|
|
696
722
|
|
|
697
723
|
Utwórz proxy, które automatycznie wykryje preferowaną lokalizację użytkownika i przekieruje go na odpowiedni adres URL z prefiksem lokalizacji. next-intl dostarcza wygodną funkcję proxy, która obsługuje to automatycznie.
|
|
698
724
|
|
|
@@ -712,7 +738,9 @@ export const config = {
|
|
|
712
738
|
};
|
|
713
739
|
```
|
|
714
740
|
|
|
715
|
-
|
|
741
|
+
</Step>
|
|
742
|
+
|
|
743
|
+
<Step number={15} title="Skonfiguruj typy TypeScript dla lokalizacji" isOptional={true}>
|
|
716
744
|
|
|
717
745
|
Konfiguracja TypeScript pomoże Ci uzyskać autouzupełnianie i bezpieczeństwo typów dla Twoich kluczy.
|
|
718
746
|
|
|
@@ -738,7 +766,9 @@ declare module "next-intl" {
|
|
|
738
766
|
|
|
739
767
|
Ten kod użyje Module Augmentation, aby dodać locales i messages do typu AppConfig w next-intl.
|
|
740
768
|
|
|
741
|
-
|
|
769
|
+
</Step>
|
|
770
|
+
|
|
771
|
+
<Step number={16} title="Automatyzuj swoje tłumaczenia za pomocą Intlayer" isOptional={true}>
|
|
742
772
|
|
|
743
773
|
Intlayer to **bezpłatna** i **otwartoźródłowa** biblioteka zaprojektowana, aby wspierać proces lokalizacji w Twojej aplikacji. Podczas gdy next-intl zajmuje się ładowaniem i zarządzaniem tłumaczeniami, Intlayer pomaga zautomatyzować przepływ pracy związany z tłumaczeniami.
|
|
744
774
|
|
|
@@ -763,3 +793,7 @@ Intlayer pozwala Ci na:
|
|
|
763
793
|
Intlayer oferuje darmowy edytor wizualny do edycji Twoich treści za pomocą edytora wizualnego. Dowiedz się więcej o [wizualnej edycji Twoich tłumaczeń](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md).
|
|
764
794
|
|
|
765
795
|
I więcej. Aby odkryć wszystkie funkcje oferowane przez Intlayer, prosimy zapoznać się z dokumentacją [Zainteresowanie Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/interest_of_intlayer.md).
|
|
796
|
+
|
|
797
|
+
</Step>
|
|
798
|
+
|
|
799
|
+
</Steps>
|