@intlayer/docs 8.11.2 → 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 +63 -23
- package/blog/ar/i18n_using_next-intl.md +54 -20
- package/blog/ar/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/ar/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/de/i18n_using_next-i18next.md +64 -23
- package/blog/de/i18n_using_next-intl.md +54 -20
- package/blog/de/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/de/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/de/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/en/i18n_using_next-i18next.md +62 -21
- package/blog/en/i18n_using_next-intl.md +52 -18
- package/blog/en/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +2 -2
- package/blog/en/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/en-GB/i18n_using_next-i18next.md +64 -23
- package/blog/en-GB/i18n_using_next-intl.md +54 -20
- package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/en-GB/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/es/i18n_using_next-i18next.md +64 -23
- package/blog/es/i18n_using_next-intl.md +55 -20
- package/blog/es/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/es/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/es/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/fr/i18n_using_next-i18next.md +64 -23
- package/blog/fr/i18n_using_next-intl.md +55 -20
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/fr/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/hi/i18n_using_next-i18next.md +64 -23
- package/blog/hi/i18n_using_next-intl.md +54 -20
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/hi/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/id/i18n_using_next-i18next.md +64 -23
- package/blog/id/i18n_using_next-intl.md +54 -20
- package/blog/id/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/id/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/id/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/id/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/id/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/it/i18n_using_next-i18next.md +64 -23
- package/blog/it/i18n_using_next-intl.md +54 -20
- package/blog/it/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/it/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/it/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/ja/i18n_using_next-i18next.md +64 -23
- package/blog/ja/i18n_using_next-intl.md +55 -20
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/ja/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/ko/i18n_using_next-i18next.md +64 -23
- package/blog/ko/i18n_using_next-intl.md +55 -20
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/ko/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/ko/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/pl/i18n_using_next-i18next.md +64 -23
- package/blog/pl/i18n_using_next-intl.md +54 -20
- package/blog/pl/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/pl/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/pl/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/pl/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/pl/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/pt/i18n_using_next-i18next.md +64 -23
- package/blog/pt/i18n_using_next-intl.md +54 -20
- package/blog/pt/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/pt/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/ru/i18n_using_next-i18next.md +64 -23
- package/blog/ru/i18n_using_next-intl.md +55 -20
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/ru/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/tr/i18n_using_next-i18next.md +64 -23
- package/blog/tr/i18n_using_next-intl.md +54 -20
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/tr/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/uk/i18n_using_next-i18next.md +64 -23
- package/blog/uk/i18n_using_next-intl.md +54 -20
- package/blog/uk/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/uk/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/uk/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/uk/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/uk/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/vi/i18n_using_next-i18next.md +64 -23
- package/blog/vi/i18n_using_next-intl.md +54 -20
- package/blog/vi/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/vi/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/vi/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/vi/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/vi/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/zh/i18n_using_next-i18next.md +64 -23
- package/blog/zh/i18n_using_next-intl.md +55 -20
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/zh/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/dist/cjs/common.cjs +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +20 -20
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -20
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/build.md +1 -1
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/interest_of_intlayer.md +39 -192
- package/docs/ar/intlayer_with_adonisjs.md +3 -3
- package/docs/ar/intlayer_with_analog.md +53 -16
- package/docs/ar/intlayer_with_angular_19.md +53 -16
- package/docs/ar/intlayer_with_angular_21.md +53 -16
- package/docs/ar/intlayer_with_astro.md +106 -66
- package/docs/ar/intlayer_with_astro_lit.md +113 -70
- package/docs/ar/intlayer_with_astro_preact.md +107 -64
- package/docs/ar/intlayer_with_astro_react.md +109 -66
- package/docs/ar/intlayer_with_astro_solid.md +109 -66
- package/docs/ar/intlayer_with_astro_svelte.md +109 -66
- package/docs/ar/intlayer_with_astro_vanilla.md +106 -65
- package/docs/ar/intlayer_with_astro_vue.md +109 -66
- package/docs/ar/intlayer_with_create_react_app.md +33 -12
- package/docs/ar/intlayer_with_express.md +3 -3
- package/docs/ar/intlayer_with_fastify.md +3 -3
- package/docs/ar/intlayer_with_hono.md +3 -3
- package/docs/ar/intlayer_with_lynx+react.md +31 -10
- package/docs/ar/intlayer_with_nestjs.md +3 -14
- package/docs/ar/intlayer_with_next-i18next.md +3 -3
- package/docs/ar/intlayer_with_next-intl.md +3 -3
- package/docs/ar/intlayer_with_nextjs_14.md +73 -24
- package/docs/ar/intlayer_with_nextjs_15.md +74 -27
- package/docs/ar/intlayer_with_nextjs_16.md +74 -26
- package/docs/ar/intlayer_with_nextjs_compiler.md +70 -46
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +64 -21
- package/docs/ar/intlayer_with_nextjs_page_router.md +71 -23
- package/docs/ar/intlayer_with_nuxt.md +88 -45
- package/docs/ar/intlayer_with_react_native+expo.md +72 -10
- package/docs/ar/intlayer_with_react_router_v7.md +79 -23
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +79 -23
- package/docs/ar/intlayer_with_storybook.md +59 -18
- package/docs/ar/intlayer_with_svelte_kit.md +99 -36
- package/docs/ar/intlayer_with_tanstack+solid.md +86 -28
- package/docs/ar/intlayer_with_tanstack.md +96 -38
- package/docs/ar/intlayer_with_vanilla.md +58 -22
- package/docs/ar/intlayer_with_vite+lit.md +71 -22
- package/docs/ar/intlayer_with_vite+preact.md +108 -60
- package/docs/ar/intlayer_with_vite+react.md +97 -52
- package/docs/ar/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/ar/intlayer_with_vite+solid.md +93 -45
- package/docs/ar/intlayer_with_vite+svelte.md +77 -31
- package/docs/ar/intlayer_with_vite+vanilla.md +73 -23
- package/docs/ar/intlayer_with_vite+vue.md +122 -74
- package/docs/ar/introduction.md +92 -38
- package/docs/ar/lsp.md +351 -0
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/intlayer_with_angular_21.md +3 -3
- package/docs/bn/intlayer_with_fastify.md +3 -3
- package/docs/bn/intlayer_with_hono.md +3 -3
- package/docs/bn/intlayer_with_storybook.md +2 -2
- package/docs/bn/intlayer_with_vanilla.md +3 -3
- package/docs/bn/intlayer_with_vite+lit.md +3 -3
- package/docs/bn/intlayer_with_vite+vanilla.md +3 -3
- package/docs/bn/introduction.md +82 -37
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/interest_of_intlayer.md +63 -7
- package/docs/cs/intlayer_with_angular_21.md +25 -9
- package/docs/cs/intlayer_with_fastify.md +3 -3
- package/docs/cs/intlayer_with_hono.md +3 -3
- package/docs/cs/intlayer_with_storybook.md +30 -10
- package/docs/cs/intlayer_with_vanilla.md +33 -12
- package/docs/cs/intlayer_with_vite+lit.md +43 -15
- package/docs/cs/intlayer_with_vite+vanilla.md +45 -16
- package/docs/cs/introduction.md +76 -31
- package/docs/de/cli/build.md +1 -1
- package/docs/de/cli/index.md +1 -1
- package/docs/de/interest_of_intlayer.md +134 -78
- package/docs/de/intlayer_with_adonisjs.md +3 -3
- package/docs/de/intlayer_with_analog.md +70 -16
- package/docs/de/intlayer_with_angular_19.md +70 -16
- package/docs/de/intlayer_with_angular_21.md +70 -16
- package/docs/de/intlayer_with_astro.md +123 -66
- package/docs/de/intlayer_with_astro_lit.md +130 -70
- package/docs/de/intlayer_with_astro_preact.md +124 -64
- package/docs/de/intlayer_with_astro_react.md +126 -66
- package/docs/de/intlayer_with_astro_solid.md +126 -66
- package/docs/de/intlayer_with_astro_svelte.md +126 -66
- package/docs/de/intlayer_with_astro_vanilla.md +123 -65
- package/docs/de/intlayer_with_astro_vue.md +126 -66
- package/docs/de/intlayer_with_create_react_app.md +33 -12
- package/docs/de/intlayer_with_express.md +3 -3
- package/docs/de/intlayer_with_fastify.md +3 -3
- package/docs/de/intlayer_with_hono.md +3 -3
- package/docs/de/intlayer_with_lynx+react.md +48 -10
- package/docs/de/intlayer_with_nestjs.md +3 -14
- package/docs/de/intlayer_with_next-i18next.md +3 -3
- package/docs/de/intlayer_with_next-intl.md +3 -3
- package/docs/de/intlayer_with_nextjs_14.md +90 -24
- package/docs/de/intlayer_with_nextjs_15.md +90 -26
- package/docs/de/intlayer_with_nextjs_16.md +159 -92
- package/docs/de/intlayer_with_nextjs_compiler.md +9 -4
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/de/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/de/intlayer_with_nuxt.md +105 -45
- package/docs/de/intlayer_with_react_native+expo.md +90 -11
- package/docs/de/intlayer_with_react_router_v7.md +96 -23
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +76 -19
- package/docs/de/intlayer_with_storybook.md +76 -18
- package/docs/de/intlayer_with_svelte_kit.md +117 -38
- package/docs/de/intlayer_with_tanstack+solid.md +106 -29
- package/docs/de/intlayer_with_tanstack.md +106 -29
- package/docs/de/intlayer_with_vanilla.md +75 -22
- package/docs/de/intlayer_with_vite+lit.md +88 -22
- package/docs/de/intlayer_with_vite+preact.md +142 -77
- package/docs/de/intlayer_with_vite+react.md +131 -69
- package/docs/de/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/de/intlayer_with_vite+solid.md +127 -62
- package/docs/de/intlayer_with_vite+svelte.md +114 -49
- package/docs/de/intlayer_with_vite+vanilla.md +90 -23
- package/docs/de/intlayer_with_vite+vue.md +134 -69
- package/docs/de/introduction.md +85 -32
- package/docs/de/lsp.md +351 -0
- package/docs/de/releases/v7.md +1 -1
- package/docs/en/cli/build.md +1 -1
- package/docs/en/cli/index.md +1 -1
- package/docs/en/interest_of_intlayer.md +59 -3
- package/docs/en/intlayer_with_adonisjs.md +2 -2
- package/docs/en/intlayer_with_analog.md +69 -15
- package/docs/en/intlayer_with_angular_19.md +69 -15
- package/docs/en/intlayer_with_angular_21.md +69 -15
- package/docs/en/intlayer_with_astro.md +128 -67
- package/docs/en/intlayer_with_astro_lit.md +129 -69
- package/docs/en/intlayer_with_astro_preact.md +129 -69
- package/docs/en/intlayer_with_astro_react.md +125 -65
- package/docs/en/intlayer_with_astro_solid.md +125 -65
- package/docs/en/intlayer_with_astro_svelte.md +125 -65
- package/docs/en/intlayer_with_astro_vanilla.md +122 -64
- package/docs/en/intlayer_with_astro_vue.md +125 -65
- package/docs/en/intlayer_with_create_react_app.md +79 -18
- 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 +47 -9
- 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 +92 -24
- package/docs/en/intlayer_with_nextjs_15.md +92 -24
- package/docs/en/intlayer_with_nextjs_16.md +94 -26
- package/docs/en/intlayer_with_nextjs_compiler.md +38 -13
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +83 -21
- package/docs/en/intlayer_with_nextjs_page_router.md +86 -21
- package/docs/en/intlayer_with_nuxt.md +104 -44
- package/docs/en/intlayer_with_react_native+expo.md +46 -10
- package/docs/en/intlayer_with_react_router_v7.md +91 -22
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +84 -21
- package/docs/en/intlayer_with_storybook.md +75 -17
- package/docs/en/intlayer_with_svelte_kit.md +86 -21
- package/docs/en/intlayer_with_tanstack+solid.md +105 -28
- package/docs/en/intlayer_with_tanstack.md +105 -28
- package/docs/en/intlayer_with_vanilla.md +74 -21
- package/docs/en/intlayer_with_vite+lit.md +87 -21
- package/docs/en/intlayer_with_vite+preact.md +86 -21
- package/docs/en/intlayer_with_vite+react.md +83 -20
- package/docs/en/intlayer_with_vite+react_compiler.md +23 -8
- package/docs/en/intlayer_with_vite+solid.md +83 -20
- package/docs/en/intlayer_with_vite+svelte.md +86 -21
- package/docs/en/intlayer_with_vite+vanilla.md +89 -22
- package/docs/en/intlayer_with_vite+vue.md +83 -20
- package/docs/en/introduction.md +44 -3
- package/docs/en/lsp.md +351 -0
- package/docs/en/mcp_server.md +22 -0
- 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 +79 -23
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -3
- package/docs/en-GB/intlayer_with_analog.md +70 -16
- package/docs/en-GB/intlayer_with_angular_19.md +70 -16
- package/docs/en-GB/intlayer_with_angular_21.md +70 -16
- package/docs/en-GB/intlayer_with_astro.md +123 -66
- package/docs/en-GB/intlayer_with_astro_lit.md +130 -70
- package/docs/en-GB/intlayer_with_astro_preact.md +124 -64
- package/docs/en-GB/intlayer_with_astro_react.md +126 -66
- package/docs/en-GB/intlayer_with_astro_solid.md +126 -66
- package/docs/en-GB/intlayer_with_astro_svelte.md +126 -66
- package/docs/en-GB/intlayer_with_astro_vanilla.md +123 -65
- package/docs/en-GB/intlayer_with_astro_vue.md +126 -66
- package/docs/en-GB/intlayer_with_create_react_app.md +52 -17
- package/docs/en-GB/intlayer_with_express.md +3 -3
- package/docs/en-GB/intlayer_with_fastify.md +3 -3
- package/docs/en-GB/intlayer_with_hono.md +3 -3
- package/docs/en-GB/intlayer_with_lynx+react.md +48 -10
- package/docs/en-GB/intlayer_with_nestjs.md +3 -14
- package/docs/en-GB/intlayer_with_next-i18next.md +3 -3
- package/docs/en-GB/intlayer_with_next-intl.md +3 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +90 -24
- package/docs/en-GB/intlayer_with_nextjs_15.md +90 -26
- package/docs/en-GB/intlayer_with_nextjs_16.md +93 -27
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +36 -13
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/en-GB/intlayer_with_nuxt.md +105 -45
- package/docs/en-GB/intlayer_with_react_native+expo.md +89 -10
- package/docs/en-GB/intlayer_with_react_router_v7.md +89 -22
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/en-GB/intlayer_with_storybook.md +76 -18
- package/docs/en-GB/intlayer_with_svelte_kit.md +105 -27
- package/docs/en-GB/intlayer_with_tanstack+solid.md +106 -29
- package/docs/en-GB/intlayer_with_tanstack.md +103 -28
- package/docs/en-GB/intlayer_with_vanilla.md +75 -22
- package/docs/en-GB/intlayer_with_vite+lit.md +88 -22
- package/docs/en-GB/intlayer_with_vite+preact.md +85 -21
- package/docs/en-GB/intlayer_with_vite+react.md +81 -20
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/en-GB/intlayer_with_vite+solid.md +85 -21
- package/docs/en-GB/intlayer_with_vite+svelte.md +155 -94
- package/docs/en-GB/intlayer_with_vite+vanilla.md +90 -23
- package/docs/en-GB/intlayer_with_vite+vue.md +91 -23
- package/docs/en-GB/introduction.md +74 -27
- package/docs/en-GB/lsp.md +351 -0
- package/docs/en-GB/mcp_server.md +22 -0
- package/docs/es/agent_skills.md +2 -2
- package/docs/es/benchmark/nextjs.md +3 -3
- package/docs/es/benchmark/solid.md +3 -3
- package/docs/es/benchmark/svelte.md +3 -3
- package/docs/es/benchmark/tanstack.md +2 -2
- package/docs/es/benchmark/vue.md +3 -3
- package/docs/es/bundle_optimization.md +1 -1
- package/docs/es/cli/build.md +1 -1
- package/docs/es/cli/index.md +2 -2
- package/docs/es/cli/live.md +2 -2
- package/docs/es/compiler.md +1 -1
- package/docs/es/component_i18n.md +1 -1
- package/docs/es/custom_domains.md +3 -3
- package/docs/es/dictionary/condition.md +1 -1
- package/docs/es/dictionary/content_file.md +4 -4
- package/docs/es/dictionary/gender.md +1 -1
- package/docs/es/dictionary/html.md +7 -7
- package/docs/es/dictionary/insertion.md +1 -1
- package/docs/es/dictionary/markdown.md +7 -7
- package/docs/es/dictionary/plurial.md +1 -1
- package/docs/es/how_works_intlayer.md +2 -2
- package/docs/es/interest_of_intlayer.md +132 -75
- package/docs/es/intlayer_CMS.md +3 -3
- package/docs/es/intlayer_with_adonisjs.md +3 -3
- package/docs/es/intlayer_with_analog.md +70 -16
- package/docs/es/intlayer_with_angular_19.md +70 -16
- package/docs/es/intlayer_with_angular_21.md +70 -16
- package/docs/es/intlayer_with_astro.md +123 -66
- package/docs/es/intlayer_with_astro_lit.md +130 -70
- package/docs/es/intlayer_with_astro_preact.md +124 -64
- package/docs/es/intlayer_with_astro_react.md +126 -66
- package/docs/es/intlayer_with_astro_solid.md +126 -66
- package/docs/es/intlayer_with_astro_svelte.md +126 -66
- package/docs/es/intlayer_with_astro_vanilla.md +123 -65
- package/docs/es/intlayer_with_astro_vue.md +126 -66
- package/docs/es/intlayer_with_create_react_app.md +34 -13
- package/docs/es/intlayer_with_express.md +3 -3
- package/docs/es/intlayer_with_fastify.md +3 -3
- package/docs/es/intlayer_with_hono.md +3 -3
- package/docs/es/intlayer_with_lynx+react.md +48 -10
- package/docs/es/intlayer_with_nestjs.md +3 -14
- package/docs/es/intlayer_with_next-i18next.md +4 -4
- package/docs/es/intlayer_with_next-intl.md +5 -5
- package/docs/es/intlayer_with_nextjs_14.md +92 -26
- package/docs/es/intlayer_with_nextjs_15.md +92 -28
- package/docs/es/intlayer_with_nextjs_16.md +115 -48
- package/docs/es/intlayer_with_nextjs_compiler.md +41 -16
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/es/intlayer_with_nextjs_page_router.md +89 -24
- package/docs/es/intlayer_with_nuxt.md +107 -47
- package/docs/es/intlayer_with_react_native+expo.md +89 -10
- package/docs/es/intlayer_with_react_router_v7.md +96 -23
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +85 -22
- package/docs/es/intlayer_with_storybook.md +76 -18
- package/docs/es/intlayer_with_svelte_kit.md +107 -28
- package/docs/es/intlayer_with_tanstack+solid.md +106 -29
- package/docs/es/intlayer_with_tanstack.md +106 -29
- package/docs/es/intlayer_with_vanilla.md +75 -22
- package/docs/es/intlayer_with_vite+lit.md +88 -22
- package/docs/es/intlayer_with_vite+preact.md +88 -23
- package/docs/es/intlayer_with_vite+react.md +85 -22
- package/docs/es/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/es/intlayer_with_vite+solid.md +88 -23
- package/docs/es/intlayer_with_vite+svelte.md +88 -23
- package/docs/es/intlayer_with_vite+vanilla.md +90 -23
- package/docs/es/intlayer_with_vite+vue.md +88 -23
- package/docs/es/introduction.md +78 -26
- package/docs/es/lsp.md +351 -0
- package/docs/es/mcp_server.md +22 -0
- package/docs/es/packages/express-intlayer/t.md +1 -1
- package/docs/es/packages/next-intlayer/useDictionary.md +1 -1
- package/docs/es/packages/next-intlayer/useIntlayer.md +1 -1
- package/docs/es/packages/react-intlayer/useDictionary.md +1 -1
- package/docs/es/plugins/sync-json.md +1 -1
- package/docs/es/readme.md +1 -1
- package/docs/es/releases/v6.md +2 -2
- package/docs/es/releases/v7.md +2 -2
- package/docs/es/releases/v8.md +2 -2
- package/docs/es/roadmap.md +1 -1
- package/docs/es/testing.md +1 -1
- package/docs/fr/benchmark/tanstack.md +7 -7
- package/docs/fr/cli/build.md +1 -1
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/interest_of_intlayer.md +129 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -3
- package/docs/fr/intlayer_with_analog.md +70 -16
- package/docs/fr/intlayer_with_angular_19.md +70 -16
- package/docs/fr/intlayer_with_angular_21.md +70 -16
- package/docs/fr/intlayer_with_astro.md +123 -66
- package/docs/fr/intlayer_with_astro_lit.md +130 -70
- package/docs/fr/intlayer_with_astro_preact.md +130 -70
- package/docs/fr/intlayer_with_astro_react.md +126 -66
- package/docs/fr/intlayer_with_astro_solid.md +126 -66
- package/docs/fr/intlayer_with_astro_svelte.md +126 -66
- package/docs/fr/intlayer_with_astro_vanilla.md +123 -65
- package/docs/fr/intlayer_with_astro_vue.md +126 -66
- package/docs/fr/intlayer_with_create_react_app.md +33 -12
- package/docs/fr/intlayer_with_express.md +3 -3
- package/docs/fr/intlayer_with_fastify.md +3 -3
- package/docs/fr/intlayer_with_hono.md +3 -3
- package/docs/fr/intlayer_with_lynx+react.md +48 -10
- package/docs/fr/intlayer_with_nestjs.md +3 -14
- package/docs/fr/intlayer_with_next-i18next.md +3 -3
- package/docs/fr/intlayer_with_next-intl.md +3 -3
- package/docs/fr/intlayer_with_nextjs_14.md +91 -25
- package/docs/fr/intlayer_with_nextjs_15.md +91 -27
- package/docs/fr/intlayer_with_nextjs_16.md +96 -28
- package/docs/fr/intlayer_with_nextjs_compiler.md +39 -14
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/fr/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/fr/intlayer_with_nuxt.md +105 -45
- package/docs/fr/intlayer_with_react_native+expo.md +89 -10
- package/docs/fr/intlayer_with_react_router_v7.md +96 -23
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/fr/intlayer_with_storybook.md +76 -18
- package/docs/fr/intlayer_with_svelte_kit.md +107 -28
- package/docs/fr/intlayer_with_tanstack+solid.md +106 -29
- package/docs/fr/intlayer_with_tanstack.md +106 -29
- package/docs/fr/intlayer_with_vanilla.md +75 -22
- package/docs/fr/intlayer_with_vite+lit.md +88 -22
- package/docs/fr/intlayer_with_vite+preact.md +87 -22
- package/docs/fr/intlayer_with_vite+react.md +84 -21
- package/docs/fr/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/fr/intlayer_with_vite+solid.md +87 -22
- package/docs/fr/intlayer_with_vite+svelte.md +87 -22
- package/docs/fr/intlayer_with_vite+vanilla.md +90 -23
- package/docs/fr/intlayer_with_vite+vue.md +87 -22
- package/docs/fr/introduction.md +77 -25
- package/docs/fr/lsp.md +351 -0
- package/docs/fr/mcp_server.md +22 -0
- package/docs/fr/readme.md +1 -1
- package/docs/hi/cli/build.md +1 -1
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/interest_of_intlayer.md +39 -192
- package/docs/hi/intlayer_with_adonisjs.md +3 -3
- package/docs/hi/intlayer_with_analog.md +53 -16
- package/docs/hi/intlayer_with_angular_19.md +53 -16
- package/docs/hi/intlayer_with_angular_21.md +53 -16
- package/docs/hi/intlayer_with_astro.md +106 -66
- package/docs/hi/intlayer_with_astro_lit.md +113 -70
- package/docs/hi/intlayer_with_astro_preact.md +107 -64
- package/docs/hi/intlayer_with_astro_react.md +109 -66
- package/docs/hi/intlayer_with_astro_solid.md +109 -66
- package/docs/hi/intlayer_with_astro_svelte.md +109 -66
- package/docs/hi/intlayer_with_astro_vanilla.md +106 -65
- package/docs/hi/intlayer_with_astro_vue.md +109 -66
- package/docs/hi/intlayer_with_create_react_app.md +33 -12
- package/docs/hi/intlayer_with_express.md +3 -3
- package/docs/hi/intlayer_with_fastify.md +3 -3
- package/docs/hi/intlayer_with_hono.md +3 -3
- package/docs/hi/intlayer_with_lynx+react.md +31 -10
- package/docs/hi/intlayer_with_nestjs.md +3 -14
- package/docs/hi/intlayer_with_next-i18next.md +3 -3
- package/docs/hi/intlayer_with_next-intl.md +3 -3
- package/docs/hi/intlayer_with_nextjs_14.md +73 -24
- package/docs/hi/intlayer_with_nextjs_15.md +73 -26
- package/docs/hi/intlayer_with_nextjs_16.md +74 -26
- package/docs/hi/intlayer_with_nextjs_compiler.md +84 -60
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +67 -22
- package/docs/hi/intlayer_with_nextjs_page_router.md +70 -22
- package/docs/hi/intlayer_with_nuxt.md +88 -45
- package/docs/hi/intlayer_with_react_native+expo.md +72 -10
- package/docs/hi/intlayer_with_react_router_v7.md +79 -23
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +79 -23
- package/docs/hi/intlayer_with_storybook.md +59 -18
- package/docs/hi/intlayer_with_svelte_kit.md +100 -38
- package/docs/hi/intlayer_with_tanstack+solid.md +86 -28
- package/docs/hi/intlayer_with_tanstack.md +86 -28
- package/docs/hi/intlayer_with_vanilla.md +58 -22
- package/docs/hi/intlayer_with_vite+lit.md +71 -22
- package/docs/hi/intlayer_with_vite+preact.md +125 -77
- package/docs/hi/intlayer_with_vite+react.md +114 -69
- package/docs/hi/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/hi/intlayer_with_vite+solid.md +110 -62
- package/docs/hi/intlayer_with_vite+svelte.md +94 -48
- package/docs/hi/intlayer_with_vite+vanilla.md +73 -23
- package/docs/hi/intlayer_with_vite+vue.md +117 -69
- package/docs/hi/introduction.md +97 -44
- package/docs/hi/lsp.md +351 -0
- package/docs/id/cli/build.md +1 -1
- package/docs/id/cli/index.md +1 -1
- package/docs/id/interest_of_intlayer.md +58 -192
- package/docs/id/intlayer_with_adonisjs.md +3 -3
- package/docs/id/intlayer_with_analog.md +70 -16
- package/docs/id/intlayer_with_angular_19.md +70 -16
- package/docs/id/intlayer_with_angular_21.md +70 -16
- package/docs/id/intlayer_with_astro.md +123 -66
- package/docs/id/intlayer_with_astro_lit.md +130 -70
- package/docs/id/intlayer_with_astro_preact.md +124 -64
- package/docs/id/intlayer_with_astro_react.md +126 -66
- package/docs/id/intlayer_with_astro_solid.md +126 -66
- package/docs/id/intlayer_with_astro_svelte.md +126 -66
- package/docs/id/intlayer_with_astro_vanilla.md +123 -65
- package/docs/id/intlayer_with_astro_vue.md +126 -66
- package/docs/id/intlayer_with_create_react_app.md +33 -12
- package/docs/id/intlayer_with_express.md +3 -3
- package/docs/id/intlayer_with_fastify.md +3 -3
- package/docs/id/intlayer_with_hono.md +3 -3
- package/docs/id/intlayer_with_lynx+react.md +48 -10
- package/docs/id/intlayer_with_nestjs.md +3 -13
- package/docs/id/intlayer_with_next-i18next.md +3 -3
- package/docs/id/intlayer_with_next-intl.md +3 -3
- package/docs/id/intlayer_with_nextjs_14.md +93 -25
- package/docs/id/intlayer_with_nextjs_15.md +93 -25
- package/docs/id/intlayer_with_nextjs_16.md +91 -26
- package/docs/id/intlayer_with_nextjs_compiler.md +101 -80
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/id/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/id/intlayer_with_nuxt.md +105 -45
- package/docs/id/intlayer_with_react_native+expo.md +89 -10
- package/docs/id/intlayer_with_react_router_v7.md +96 -23
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +96 -23
- package/docs/id/intlayer_with_storybook.md +76 -18
- package/docs/id/intlayer_with_svelte_kit.md +117 -38
- package/docs/id/intlayer_with_tanstack+solid.md +103 -28
- package/docs/id/intlayer_with_tanstack.md +103 -28
- package/docs/id/intlayer_with_vanilla.md +75 -22
- package/docs/id/intlayer_with_vite+lit.md +88 -22
- package/docs/id/intlayer_with_vite+preact.md +142 -77
- package/docs/id/intlayer_with_vite+react.md +131 -69
- package/docs/id/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/id/intlayer_with_vite+solid.md +127 -62
- package/docs/id/intlayer_with_vite+svelte.md +111 -48
- package/docs/id/intlayer_with_vite+vanilla.md +90 -23
- package/docs/id/intlayer_with_vite+vue.md +134 -69
- package/docs/id/introduction.md +81 -36
- package/docs/id/lsp.md +351 -0
- package/docs/it/cli/build.md +1 -1
- package/docs/it/cli/index.md +1 -1
- package/docs/it/interest_of_intlayer.md +138 -82
- package/docs/it/intlayer_with_adonisjs.md +3 -3
- package/docs/it/intlayer_with_analog.md +70 -16
- package/docs/it/intlayer_with_angular_19.md +70 -16
- package/docs/it/intlayer_with_angular_21.md +70 -16
- package/docs/it/intlayer_with_astro.md +123 -66
- package/docs/it/intlayer_with_astro_lit.md +130 -70
- package/docs/it/intlayer_with_astro_preact.md +124 -64
- package/docs/it/intlayer_with_astro_react.md +126 -66
- package/docs/it/intlayer_with_astro_solid.md +126 -66
- package/docs/it/intlayer_with_astro_svelte.md +126 -66
- package/docs/it/intlayer_with_astro_vanilla.md +123 -65
- package/docs/it/intlayer_with_astro_vue.md +126 -66
- package/docs/it/intlayer_with_create_react_app.md +36 -13
- package/docs/it/intlayer_with_express.md +3 -3
- package/docs/it/intlayer_with_fastify.md +3 -3
- package/docs/it/intlayer_with_hono.md +3 -3
- package/docs/it/intlayer_with_lynx+react.md +48 -10
- package/docs/it/intlayer_with_nestjs.md +3 -14
- package/docs/it/intlayer_with_next-i18next.md +3 -3
- package/docs/it/intlayer_with_next-intl.md +3 -3
- package/docs/it/intlayer_with_nextjs_14.md +109 -44
- package/docs/it/intlayer_with_nextjs_15.md +90 -26
- package/docs/it/intlayer_with_nextjs_16.md +92 -27
- package/docs/it/intlayer_with_nextjs_compiler.md +84 -60
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/it/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/it/intlayer_with_nuxt.md +105 -45
- package/docs/it/intlayer_with_react_native+expo.md +89 -10
- package/docs/it/intlayer_with_react_router_v7.md +96 -23
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/it/intlayer_with_storybook.md +76 -18
- package/docs/it/intlayer_with_svelte_kit.md +149 -70
- package/docs/it/intlayer_with_tanstack+solid.md +106 -29
- package/docs/it/intlayer_with_tanstack.md +106 -29
- package/docs/it/intlayer_with_vanilla.md +75 -22
- package/docs/it/intlayer_with_vite+lit.md +88 -22
- package/docs/it/intlayer_with_vite+preact.md +142 -77
- package/docs/it/intlayer_with_vite+react.md +131 -69
- package/docs/it/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/it/intlayer_with_vite+solid.md +127 -62
- package/docs/it/intlayer_with_vite+svelte.md +111 -48
- package/docs/it/intlayer_with_vite+vanilla.md +90 -23
- package/docs/it/intlayer_with_vite+vue.md +156 -91
- package/docs/it/introduction.md +87 -33
- package/docs/it/lsp.md +351 -0
- package/docs/it/releases/v7.md +1 -1
- package/docs/ja/cli/build.md +1 -1
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/interest_of_intlayer.md +123 -86
- package/docs/ja/intlayer_with_adonisjs.md +3 -3
- package/docs/ja/intlayer_with_analog.md +53 -16
- package/docs/ja/intlayer_with_angular_19.md +53 -16
- package/docs/ja/intlayer_with_angular_21.md +53 -16
- package/docs/ja/intlayer_with_astro.md +106 -66
- package/docs/ja/intlayer_with_astro_lit.md +113 -70
- package/docs/ja/intlayer_with_astro_preact.md +113 -70
- package/docs/ja/intlayer_with_astro_react.md +109 -66
- package/docs/ja/intlayer_with_astro_solid.md +109 -66
- package/docs/ja/intlayer_with_astro_svelte.md +109 -66
- package/docs/ja/intlayer_with_astro_vanilla.md +106 -65
- package/docs/ja/intlayer_with_astro_vue.md +109 -66
- package/docs/ja/intlayer_with_create_react_app.md +33 -12
- package/docs/ja/intlayer_with_express.md +3 -3
- package/docs/ja/intlayer_with_fastify.md +3 -3
- package/docs/ja/intlayer_with_hono.md +3 -3
- package/docs/ja/intlayer_with_lynx+react.md +31 -10
- package/docs/ja/intlayer_with_nestjs.md +3 -14
- package/docs/ja/intlayer_with_next-i18next.md +3 -3
- package/docs/ja/intlayer_with_next-intl.md +3 -3
- package/docs/ja/intlayer_with_nextjs_14.md +73 -24
- package/docs/ja/intlayer_with_nextjs_15.md +73 -26
- package/docs/ja/intlayer_with_nextjs_16.md +74 -26
- package/docs/ja/intlayer_with_nextjs_compiler.md +101 -80
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +64 -21
- package/docs/ja/intlayer_with_nextjs_page_router.md +70 -22
- package/docs/ja/intlayer_with_nuxt.md +88 -45
- package/docs/ja/intlayer_with_react_native+expo.md +73 -11
- package/docs/ja/intlayer_with_react_router_v7.md +41 -13
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +72 -22
- package/docs/ja/intlayer_with_storybook.md +59 -18
- package/docs/ja/intlayer_with_svelte_kit.md +37 -11
- package/docs/ja/intlayer_with_tanstack+solid.md +89 -29
- package/docs/ja/intlayer_with_tanstack.md +89 -29
- package/docs/ja/intlayer_with_vanilla.md +58 -22
- package/docs/ja/intlayer_with_vite+lit.md +71 -22
- package/docs/ja/intlayer_with_vite+preact.md +37 -11
- package/docs/ja/intlayer_with_vite+react.md +19 -111
- package/docs/ja/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/ja/intlayer_with_vite+solid.md +113 -63
- package/docs/ja/intlayer_with_vite+svelte.md +94 -48
- package/docs/ja/intlayer_with_vite+vanilla.md +73 -23
- package/docs/ja/intlayer_with_vite+vue.md +117 -69
- package/docs/ja/introduction.md +95 -41
- package/docs/ja/lsp.md +351 -0
- package/docs/ko/cli/build.md +1 -1
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/interest_of_intlayer.md +148 -92
- package/docs/ko/intlayer_with_adonisjs.md +3 -3
- package/docs/ko/intlayer_with_analog.md +48 -10
- package/docs/ko/intlayer_with_angular_19.md +48 -10
- package/docs/ko/intlayer_with_angular_21.md +48 -10
- package/docs/ko/intlayer_with_astro.md +48 -10
- package/docs/ko/intlayer_with_astro_lit.md +48 -10
- package/docs/ko/intlayer_with_astro_preact.md +48 -10
- package/docs/ko/intlayer_with_astro_react.md +48 -10
- package/docs/ko/intlayer_with_astro_solid.md +48 -10
- package/docs/ko/intlayer_with_astro_svelte.md +48 -10
- package/docs/ko/intlayer_with_astro_vanilla.md +48 -10
- package/docs/ko/intlayer_with_astro_vue.md +48 -10
- package/docs/ko/intlayer_with_create_react_app.md +18 -7
- package/docs/ko/intlayer_with_express.md +3 -3
- package/docs/ko/intlayer_with_fastify.md +3 -3
- package/docs/ko/intlayer_with_hono.md +3 -3
- package/docs/ko/intlayer_with_lynx+react.md +48 -10
- package/docs/ko/intlayer_with_nestjs.md +3 -14
- package/docs/ko/intlayer_with_next-i18next.md +3 -3
- package/docs/ko/intlayer_with_next-intl.md +3 -3
- package/docs/ko/intlayer_with_nextjs_14.md +51 -12
- package/docs/ko/intlayer_with_nextjs_15.md +51 -14
- package/docs/ko/intlayer_with_nextjs_16.md +57 -15
- package/docs/ko/intlayer_with_nextjs_compiler.md +9 -4
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +57 -13
- package/docs/ko/intlayer_with_nextjs_page_router.md +51 -11
- package/docs/ko/intlayer_with_nuxt.md +48 -10
- package/docs/ko/intlayer_with_react_native+expo.md +91 -10
- package/docs/ko/intlayer_with_react_router_v7.md +155 -110
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +155 -110
- package/docs/ko/intlayer_with_storybook.md +48 -10
- package/docs/ko/intlayer_with_svelte_kit.md +55 -12
- package/docs/ko/intlayer_with_tanstack+solid.md +48 -11
- package/docs/ko/intlayer_with_tanstack.md +48 -11
- package/docs/ko/intlayer_with_vanilla.md +45 -13
- package/docs/ko/intlayer_with_vite+lit.md +48 -10
- package/docs/ko/intlayer_with_vite+preact.md +54 -11
- package/docs/ko/intlayer_with_vite+react.md +54 -11
- package/docs/ko/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ko/intlayer_with_vite+solid.md +54 -11
- package/docs/ko/intlayer_with_vite+svelte.md +151 -107
- package/docs/ko/intlayer_with_vite+vanilla.md +48 -10
- package/docs/ko/intlayer_with_vite+vue.md +54 -11
- package/docs/ko/introduction.md +101 -47
- package/docs/ko/lsp.md +351 -0
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/interest_of_intlayer.md +140 -84
- package/docs/nl/intlayer_with_angular_21.md +25 -9
- package/docs/nl/intlayer_with_fastify.md +3 -3
- package/docs/nl/intlayer_with_hono.md +3 -3
- package/docs/nl/intlayer_with_storybook.md +30 -10
- package/docs/nl/intlayer_with_vanilla.md +33 -12
- package/docs/nl/intlayer_with_vite+lit.md +43 -15
- package/docs/nl/intlayer_with_vite+vanilla.md +45 -16
- package/docs/nl/introduction.md +81 -34
- package/docs/pl/benchmark/nextjs.md +6 -6
- package/docs/pl/benchmark/svelte.md +1 -1
- package/docs/pl/benchmark/tanstack.md +3 -3
- package/docs/pl/bundle_optimization.md +1 -1
- package/docs/pl/cli/build.md +1 -1
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/compiler.md +1 -1
- package/docs/pl/component_i18n.md +1 -1
- package/docs/pl/configuration.md +12 -12
- package/docs/pl/dictionary/content_file.md +1 -1
- package/docs/pl/dictionary/function_fetching.md +1 -1
- package/docs/pl/how_works_intlayer.md +1 -1
- package/docs/pl/interest_of_intlayer.md +132 -76
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_with_adonisjs.md +3 -3
- package/docs/pl/intlayer_with_analog.md +53 -16
- package/docs/pl/intlayer_with_angular_19.md +53 -16
- package/docs/pl/intlayer_with_angular_21.md +53 -16
- package/docs/pl/intlayer_with_astro.md +106 -66
- package/docs/pl/intlayer_with_astro_lit.md +113 -70
- package/docs/pl/intlayer_with_astro_preact.md +107 -64
- package/docs/pl/intlayer_with_astro_react.md +109 -66
- package/docs/pl/intlayer_with_astro_solid.md +109 -66
- package/docs/pl/intlayer_with_astro_svelte.md +109 -66
- package/docs/pl/intlayer_with_astro_vanilla.md +106 -65
- package/docs/pl/intlayer_with_astro_vue.md +109 -66
- package/docs/pl/intlayer_with_create_react_app.md +33 -12
- package/docs/pl/intlayer_with_express.md +3 -3
- package/docs/pl/intlayer_with_fastify.md +3 -3
- package/docs/pl/intlayer_with_hono.md +3 -3
- package/docs/pl/intlayer_with_lynx+react.md +31 -10
- package/docs/pl/intlayer_with_nestjs.md +3 -13
- package/docs/pl/intlayer_with_next-i18next.md +3 -3
- package/docs/pl/intlayer_with_next-intl.md +3 -3
- package/docs/pl/intlayer_with_nextjs_14.md +76 -25
- package/docs/pl/intlayer_with_nextjs_15.md +76 -25
- package/docs/pl/intlayer_with_nextjs_16.md +143 -93
- package/docs/pl/intlayer_with_nextjs_compiler.md +84 -60
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +67 -22
- package/docs/pl/intlayer_with_nextjs_page_router.md +70 -22
- package/docs/pl/intlayer_with_nuxt.md +88 -45
- package/docs/pl/intlayer_with_react_native+expo.md +72 -10
- package/docs/pl/intlayer_with_react_router_v7.md +79 -23
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +72 -22
- package/docs/pl/intlayer_with_storybook.md +59 -18
- package/docs/pl/intlayer_with_svelte_kit.md +103 -39
- package/docs/pl/intlayer_with_tanstack+solid.md +86 -28
- package/docs/pl/intlayer_with_tanstack.md +86 -28
- package/docs/pl/intlayer_with_vanilla.md +58 -22
- package/docs/pl/intlayer_with_vite+lit.md +71 -22
- package/docs/pl/intlayer_with_vite+preact.md +125 -77
- package/docs/pl/intlayer_with_vite+react.md +114 -69
- package/docs/pl/intlayer_with_vite+react_compiler.md +25 -10
- package/docs/pl/intlayer_with_vite+solid.md +110 -62
- package/docs/pl/intlayer_with_vite+svelte.md +94 -48
- package/docs/pl/intlayer_with_vite+vanilla.md +73 -23
- package/docs/pl/intlayer_with_vite+vue.md +139 -91
- package/docs/pl/introduction.md +85 -43
- package/docs/pl/lsp.md +351 -0
- package/docs/pl/releases/v7.md +1 -1
- package/docs/pl/releases/v8.md +2 -2
- package/docs/pt/agent_skills.md +2 -2
- package/docs/pt/cli/build.md +1 -1
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/dictionary/html.md +5 -5
- package/docs/pt/dictionary/markdown.md +7 -7
- package/docs/pt/how_works_intlayer.md +2 -2
- package/docs/pt/interest_of_intlayer.md +141 -85
- package/docs/pt/intlayer_with_adonisjs.md +3 -3
- package/docs/pt/intlayer_with_analog.md +70 -16
- package/docs/pt/intlayer_with_angular_19.md +70 -16
- package/docs/pt/intlayer_with_angular_21.md +70 -16
- package/docs/pt/intlayer_with_astro.md +123 -66
- package/docs/pt/intlayer_with_astro_lit.md +130 -70
- package/docs/pt/intlayer_with_astro_preact.md +124 -64
- package/docs/pt/intlayer_with_astro_react.md +126 -66
- package/docs/pt/intlayer_with_astro_solid.md +126 -66
- package/docs/pt/intlayer_with_astro_svelte.md +126 -66
- package/docs/pt/intlayer_with_astro_vanilla.md +123 -65
- package/docs/pt/intlayer_with_astro_vue.md +126 -66
- package/docs/pt/intlayer_with_create_react_app.md +36 -13
- package/docs/pt/intlayer_with_express.md +3 -3
- package/docs/pt/intlayer_with_fastify.md +3 -3
- package/docs/pt/intlayer_with_hono.md +3 -3
- package/docs/pt/intlayer_with_lynx+react.md +48 -10
- package/docs/pt/intlayer_with_nestjs.md +3 -14
- package/docs/pt/intlayer_with_next-i18next.md +3 -3
- package/docs/pt/intlayer_with_next-intl.md +3 -3
- package/docs/pt/intlayer_with_nextjs_14.md +90 -24
- package/docs/pt/intlayer_with_nextjs_15.md +90 -26
- package/docs/pt/intlayer_with_nextjs_16.md +113 -46
- package/docs/pt/intlayer_with_nextjs_compiler.md +39 -14
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/pt/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/pt/intlayer_with_nuxt.md +107 -47
- package/docs/pt/intlayer_with_react_native+expo.md +89 -10
- package/docs/pt/intlayer_with_react_router_v7.md +95 -24
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/pt/intlayer_with_storybook.md +76 -18
- package/docs/pt/intlayer_with_svelte_kit.md +152 -71
- package/docs/pt/intlayer_with_tanstack+solid.md +106 -29
- package/docs/pt/intlayer_with_tanstack.md +106 -29
- package/docs/pt/intlayer_with_vanilla.md +75 -22
- package/docs/pt/intlayer_with_vite+lit.md +88 -22
- package/docs/pt/intlayer_with_vite+preact.md +88 -23
- package/docs/pt/intlayer_with_vite+react.md +85 -22
- package/docs/pt/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/pt/intlayer_with_vite+solid.md +88 -23
- package/docs/pt/intlayer_with_vite+svelte.md +115 -50
- package/docs/pt/intlayer_with_vite+vanilla.md +90 -23
- package/docs/pt/intlayer_with_vite+vue.md +88 -23
- package/docs/pt/introduction.md +96 -40
- package/docs/pt/lsp.md +351 -0
- package/docs/pt/readme.md +1 -1
- package/docs/ru/benchmark/svelte.md +1 -1
- package/docs/ru/bundle_optimization.md +1 -1
- package/docs/ru/cli/build.md +1 -1
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/configuration.md +2 -2
- package/docs/ru/dictionary/content_file.md +2 -2
- package/docs/ru/interest_of_intlayer.md +130 -74
- package/docs/ru/intlayer_CMS.md +1 -1
- package/docs/ru/intlayer_with_adonisjs.md +3 -3
- package/docs/ru/intlayer_with_analog.md +70 -16
- package/docs/ru/intlayer_with_angular_19.md +70 -16
- package/docs/ru/intlayer_with_angular_21.md +70 -16
- package/docs/ru/intlayer_with_astro.md +123 -66
- package/docs/ru/intlayer_with_astro_lit.md +130 -70
- package/docs/ru/intlayer_with_astro_preact.md +130 -70
- package/docs/ru/intlayer_with_astro_react.md +126 -66
- package/docs/ru/intlayer_with_astro_solid.md +126 -66
- package/docs/ru/intlayer_with_astro_svelte.md +126 -66
- package/docs/ru/intlayer_with_astro_vanilla.md +123 -65
- package/docs/ru/intlayer_with_astro_vue.md +126 -66
- package/docs/ru/intlayer_with_create_react_app.md +33 -12
- package/docs/ru/intlayer_with_express.md +3 -3
- package/docs/ru/intlayer_with_fastify.md +3 -3
- package/docs/ru/intlayer_with_hono.md +3 -3
- package/docs/ru/intlayer_with_lynx+react.md +48 -10
- package/docs/ru/intlayer_with_nestjs.md +3 -14
- package/docs/ru/intlayer_with_next-i18next.md +3 -3
- package/docs/ru/intlayer_with_next-intl.md +3 -3
- package/docs/ru/intlayer_with_nextjs_14.md +90 -24
- package/docs/ru/intlayer_with_nextjs_15.md +93 -27
- package/docs/ru/intlayer_with_nextjs_16.md +159 -92
- package/docs/ru/intlayer_with_nextjs_compiler.md +86 -62
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +81 -21
- package/docs/ru/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/ru/intlayer_with_nuxt.md +105 -45
- package/docs/ru/intlayer_with_react_native+expo.md +89 -10
- package/docs/ru/intlayer_with_react_router_v7.md +96 -23
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/ru/intlayer_with_storybook.md +76 -18
- package/docs/ru/intlayer_with_svelte_kit.md +117 -38
- package/docs/ru/intlayer_with_tanstack+solid.md +106 -29
- package/docs/ru/intlayer_with_tanstack.md +106 -29
- package/docs/ru/intlayer_with_vanilla.md +75 -22
- package/docs/ru/intlayer_with_vite+lit.md +88 -22
- package/docs/ru/intlayer_with_vite+preact.md +142 -77
- package/docs/ru/intlayer_with_vite+react.md +130 -68
- package/docs/ru/intlayer_with_vite+react_compiler.md +25 -10
- package/docs/ru/intlayer_with_vite+solid.md +127 -62
- package/docs/ru/intlayer_with_vite+svelte.md +111 -48
- package/docs/ru/intlayer_with_vite+vanilla.md +90 -23
- package/docs/ru/intlayer_with_vite+vue.md +134 -69
- package/docs/ru/introduction.md +85 -32
- package/docs/ru/lsp.md +351 -0
- package/docs/ru/packages/vite-intlayer/exports.md +7 -7
- package/docs/ru/releases/v6.md +2 -2
- package/docs/ru/releases/v7.md +2 -2
- package/docs/ru/roadmap.md +1 -1
- package/docs/ru/testing.md +1 -1
- package/docs/tr/benchmark/index.md +1 -1
- package/docs/tr/benchmark/nextjs.md +7 -7
- package/docs/tr/benchmark/solid.md +2 -2
- package/docs/tr/benchmark/svelte.md +2 -2
- package/docs/tr/benchmark/tanstack.md +4 -4
- package/docs/tr/benchmark/vue.md +3 -3
- package/docs/tr/bundle_optimization.md +1 -1
- package/docs/tr/cli/build.md +1 -1
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/component_i18n.md +1 -1
- package/docs/tr/dictionary/content_file.md +2 -2
- package/docs/tr/dictionary/html.md +5 -5
- package/docs/tr/dictionary/markdown.md +7 -7
- package/docs/tr/how_works_intlayer.md +2 -2
- package/docs/tr/interest_of_intlayer.md +152 -96
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_with_adonisjs.md +3 -3
- package/docs/tr/intlayer_with_analog.md +70 -16
- package/docs/tr/intlayer_with_angular_19.md +70 -16
- package/docs/tr/intlayer_with_angular_21.md +70 -16
- package/docs/tr/intlayer_with_astro.md +123 -66
- package/docs/tr/intlayer_with_astro_lit.md +138 -78
- package/docs/tr/intlayer_with_astro_preact.md +132 -72
- package/docs/tr/intlayer_with_astro_react.md +134 -74
- package/docs/tr/intlayer_with_astro_solid.md +134 -74
- package/docs/tr/intlayer_with_astro_svelte.md +134 -74
- package/docs/tr/intlayer_with_astro_vanilla.md +131 -73
- package/docs/tr/intlayer_with_astro_vue.md +126 -66
- package/docs/tr/intlayer_with_create_react_app.md +33 -12
- package/docs/tr/intlayer_with_express.md +3 -3
- package/docs/tr/intlayer_with_fastify.md +3 -3
- package/docs/tr/intlayer_with_hono.md +3 -3
- package/docs/tr/intlayer_with_lynx+react.md +48 -10
- package/docs/tr/intlayer_with_nestjs.md +3 -14
- package/docs/tr/intlayer_with_next-i18next.md +3 -3
- package/docs/tr/intlayer_with_next-intl.md +3 -3
- package/docs/tr/intlayer_with_nextjs_14.md +13 -6
- package/docs/tr/intlayer_with_nextjs_15.md +91 -27
- package/docs/tr/intlayer_with_nextjs_16.md +160 -93
- package/docs/tr/intlayer_with_nextjs_compiler.md +102 -81
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +85 -23
- package/docs/tr/intlayer_with_nextjs_page_router.md +88 -23
- package/docs/tr/intlayer_with_nuxt.md +105 -45
- package/docs/tr/intlayer_with_react_native+expo.md +90 -11
- package/docs/tr/intlayer_with_react_router_v7.md +96 -23
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/tr/intlayer_with_storybook.md +76 -18
- package/docs/tr/intlayer_with_svelte_kit.md +117 -38
- package/docs/tr/intlayer_with_tanstack+solid.md +103 -28
- package/docs/tr/intlayer_with_tanstack.md +103 -28
- package/docs/tr/intlayer_with_vanilla.md +75 -22
- package/docs/tr/intlayer_with_vite+lit.md +89 -23
- package/docs/tr/intlayer_with_vite+preact.md +143 -78
- package/docs/tr/intlayer_with_vite+react.md +132 -70
- package/docs/tr/intlayer_with_vite+react_compiler.md +26 -11
- package/docs/tr/intlayer_with_vite+solid.md +128 -63
- package/docs/tr/intlayer_with_vite+svelte.md +112 -49
- package/docs/tr/intlayer_with_vite+vanilla.md +91 -24
- package/docs/tr/intlayer_with_vite+vue.md +135 -70
- package/docs/tr/introduction.md +103 -49
- package/docs/tr/lsp.md +351 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +1 -1
- package/docs/tr/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/tr/readme.md +1 -1
- package/docs/tr/releases/v7.md +1 -1
- package/docs/tr/releases/v8.md +1 -1
- package/docs/uk/cli/build.md +1 -1
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/interest_of_intlayer.md +58 -192
- package/docs/uk/intlayer_with_adonisjs.md +3 -3
- package/docs/uk/intlayer_with_analog.md +70 -16
- package/docs/uk/intlayer_with_angular_19.md +70 -16
- package/docs/uk/intlayer_with_angular_21.md +70 -16
- package/docs/uk/intlayer_with_astro.md +123 -66
- package/docs/uk/intlayer_with_astro_lit.md +130 -70
- package/docs/uk/intlayer_with_astro_preact.md +124 -64
- package/docs/uk/intlayer_with_astro_react.md +126 -66
- package/docs/uk/intlayer_with_astro_solid.md +126 -66
- package/docs/uk/intlayer_with_astro_svelte.md +126 -66
- package/docs/uk/intlayer_with_astro_vanilla.md +123 -65
- package/docs/uk/intlayer_with_astro_vue.md +126 -66
- package/docs/uk/intlayer_with_create_react_app.md +33 -12
- package/docs/uk/intlayer_with_express.md +3 -3
- package/docs/uk/intlayer_with_fastify.md +3 -3
- package/docs/uk/intlayer_with_hono.md +3 -3
- package/docs/uk/intlayer_with_lynx+react.md +48 -10
- package/docs/uk/intlayer_with_nestjs.md +3 -13
- package/docs/uk/intlayer_with_next-i18next.md +3 -3
- package/docs/uk/intlayer_with_next-intl.md +3 -3
- package/docs/uk/intlayer_with_nextjs_14.md +93 -25
- package/docs/uk/intlayer_with_nextjs_15.md +93 -25
- package/docs/uk/intlayer_with_nextjs_16.md +159 -92
- package/docs/uk/intlayer_with_nextjs_compiler.md +101 -80
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +84 -22
- package/docs/uk/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/uk/intlayer_with_nuxt.md +105 -45
- package/docs/uk/intlayer_with_react_native+expo.md +88 -11
- package/docs/uk/intlayer_with_react_router_v7.md +96 -23
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +89 -22
- package/docs/uk/intlayer_with_storybook.md +76 -18
- package/docs/uk/intlayer_with_svelte_kit.md +97 -32
- package/docs/uk/intlayer_with_tanstack+solid.md +104 -29
- package/docs/uk/intlayer_with_tanstack.md +103 -28
- package/docs/uk/intlayer_with_vanilla.md +75 -22
- package/docs/uk/intlayer_with_vite+lit.md +88 -22
- package/docs/uk/intlayer_with_vite+preact.md +142 -77
- package/docs/uk/intlayer_with_vite+react.md +131 -69
- package/docs/uk/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/uk/intlayer_with_vite+solid.md +127 -62
- package/docs/uk/intlayer_with_vite+svelte.md +114 -49
- package/docs/uk/intlayer_with_vite+vanilla.md +91 -24
- package/docs/uk/intlayer_with_vite+vue.md +134 -69
- package/docs/uk/introduction.md +82 -40
- package/docs/uk/lsp.md +351 -0
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/interest_of_intlayer.md +125 -88
- package/docs/ur/intlayer_with_angular_21.md +25 -9
- package/docs/ur/intlayer_with_fastify.md +3 -3
- package/docs/ur/intlayer_with_hono.md +3 -3
- package/docs/ur/intlayer_with_storybook.md +30 -10
- package/docs/ur/intlayer_with_vanilla.md +33 -12
- package/docs/ur/intlayer_with_vite+lit.md +43 -15
- package/docs/ur/intlayer_with_vite+vanilla.md +45 -16
- package/docs/ur/introduction.md +82 -37
- package/docs/vi/benchmark/index.md +1 -1
- package/docs/vi/benchmark/nextjs.md +5 -5
- package/docs/vi/benchmark/tanstack.md +2 -2
- package/docs/vi/cli/build.md +1 -1
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/how_works_intlayer.md +2 -2
- package/docs/vi/interest_of_intlayer.md +58 -192
- package/docs/vi/intlayer_with_adonisjs.md +3 -3
- package/docs/vi/intlayer_with_analog.md +70 -16
- package/docs/vi/intlayer_with_angular_19.md +70 -16
- package/docs/vi/intlayer_with_angular_21.md +70 -16
- package/docs/vi/intlayer_with_astro.md +123 -66
- package/docs/vi/intlayer_with_astro_lit.md +130 -70
- package/docs/vi/intlayer_with_astro_preact.md +124 -64
- package/docs/vi/intlayer_with_astro_react.md +126 -66
- package/docs/vi/intlayer_with_astro_solid.md +126 -66
- package/docs/vi/intlayer_with_astro_svelte.md +126 -66
- package/docs/vi/intlayer_with_astro_vanilla.md +123 -65
- package/docs/vi/intlayer_with_astro_vue.md +126 -66
- package/docs/vi/intlayer_with_create_react_app.md +33 -12
- package/docs/vi/intlayer_with_express.md +3 -3
- package/docs/vi/intlayer_with_fastify.md +3 -3
- package/docs/vi/intlayer_with_hono.md +3 -3
- package/docs/vi/intlayer_with_lynx+react.md +48 -10
- package/docs/vi/intlayer_with_nestjs.md +3 -13
- package/docs/vi/intlayer_with_next-i18next.md +3 -3
- package/docs/vi/intlayer_with_next-intl.md +3 -3
- package/docs/vi/intlayer_with_nextjs_14.md +93 -25
- package/docs/vi/intlayer_with_nextjs_15.md +76 -26
- package/docs/vi/intlayer_with_nextjs_16.md +160 -93
- package/docs/vi/intlayer_with_nextjs_compiler.md +101 -80
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +81 -21
- package/docs/vi/intlayer_with_nextjs_page_router.md +87 -22
- package/docs/vi/intlayer_with_nuxt.md +105 -45
- package/docs/vi/intlayer_with_react_native+expo.md +89 -10
- package/docs/vi/intlayer_with_react_router_v7.md +96 -23
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +96 -23
- package/docs/vi/intlayer_with_storybook.md +76 -18
- package/docs/vi/intlayer_with_svelte_kit.md +117 -38
- package/docs/vi/intlayer_with_tanstack+solid.md +103 -28
- package/docs/vi/intlayer_with_tanstack.md +103 -28
- package/docs/vi/intlayer_with_vanilla.md +75 -22
- package/docs/vi/intlayer_with_vite+lit.md +88 -22
- package/docs/vi/intlayer_with_vite+preact.md +142 -77
- package/docs/vi/intlayer_with_vite+react.md +131 -69
- package/docs/vi/intlayer_with_vite+react_compiler.md +24 -9
- package/docs/vi/intlayer_with_vite+solid.md +127 -62
- package/docs/vi/intlayer_with_vite+svelte.md +113 -50
- package/docs/vi/intlayer_with_vite+vanilla.md +90 -23
- package/docs/vi/intlayer_with_vite+vue.md +134 -69
- package/docs/vi/introduction.md +88 -42
- package/docs/vi/lsp.md +351 -0
- package/docs/vi/releases/v7.md +1 -1
- package/docs/zh/benchmark/nextjs.md +1 -1
- package/docs/zh/benchmark/solid.md +1 -1
- package/docs/zh/benchmark/svelte.md +1 -1
- package/docs/zh/benchmark/vue.md +2 -2
- package/docs/zh/bundle_optimization.md +13 -13
- package/docs/zh/cli/build.md +1 -1
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/component_i18n.md +1 -1
- package/docs/zh/dictionary/content_file.md +2 -2
- package/docs/zh/dictionary/html.md +6 -6
- package/docs/zh/dictionary/markdown.md +7 -7
- package/docs/zh/how_works_intlayer.md +1 -1
- package/docs/zh/interest_of_intlayer.md +122 -85
- package/docs/zh/intlayer_with_adonisjs.md +3 -3
- package/docs/zh/intlayer_with_analog.md +31 -10
- package/docs/zh/intlayer_with_angular_19.md +31 -10
- package/docs/zh/intlayer_with_angular_21.md +53 -16
- package/docs/zh/intlayer_with_astro.md +31 -10
- package/docs/zh/intlayer_with_astro_lit.md +31 -10
- package/docs/zh/intlayer_with_astro_preact.md +31 -10
- package/docs/zh/intlayer_with_astro_react.md +31 -10
- package/docs/zh/intlayer_with_astro_solid.md +31 -10
- package/docs/zh/intlayer_with_astro_svelte.md +31 -10
- package/docs/zh/intlayer_with_astro_vanilla.md +31 -10
- package/docs/zh/intlayer_with_astro_vue.md +31 -10
- package/docs/zh/intlayer_with_create_react_app.md +3 -3
- package/docs/zh/intlayer_with_express.md +3 -3
- package/docs/zh/intlayer_with_fastify.md +3 -3
- package/docs/zh/intlayer_with_hono.md +3 -3
- package/docs/zh/intlayer_with_lynx+react.md +31 -10
- package/docs/zh/intlayer_with_nestjs.md +3 -14
- package/docs/zh/intlayer_with_next-i18next.md +3 -3
- package/docs/zh/intlayer_with_next-intl.md +3 -3
- package/docs/zh/intlayer_with_nextjs_14.md +52 -17
- package/docs/zh/intlayer_with_nextjs_15.md +56 -21
- package/docs/zh/intlayer_with_nextjs_16.md +42 -17
- package/docs/zh/intlayer_with_nextjs_compiler.md +171 -157
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +140 -104
- package/docs/zh/intlayer_with_nextjs_page_router.md +49 -15
- package/docs/zh/intlayer_with_nuxt.md +73 -40
- package/docs/zh/intlayer_with_react_native+expo.md +72 -10
- package/docs/zh/intlayer_with_react_router_v7.md +38 -12
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +38 -12
- package/docs/zh/intlayer_with_storybook.md +31 -10
- package/docs/zh/intlayer_with_svelte_kit.md +262 -226
- package/docs/zh/intlayer_with_tanstack+solid.md +31 -11
- package/docs/zh/intlayer_with_tanstack.md +31 -11
- package/docs/zh/intlayer_with_vanilla.md +28 -13
- package/docs/zh/intlayer_with_vite+lit.md +31 -10
- package/docs/zh/intlayer_with_vite+preact.md +137 -108
- package/docs/zh/intlayer_with_vite+react.md +99 -64
- package/docs/zh/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/zh/intlayer_with_vite+solid.md +83 -53
- package/docs/zh/intlayer_with_vite+svelte.md +82 -44
- package/docs/zh/intlayer_with_vite+vanilla.md +31 -10
- package/docs/zh/intlayer_with_vite+vue.md +124 -86
- package/docs/zh/introduction.md +100 -46
- package/docs/zh/lsp.md +351 -0
- package/docs/zh/releases/v8.md +3 -3
- package/docs/zh/roadmap.md +1 -1
- package/docs/zh-TW/interest_of_intlayer.md +135 -98
- package/docs/zh-TW/intlayer_with_angular_21.md +25 -9
- package/docs/zh-TW/introduction.md +207 -0
- package/package.json +7 -7
- package/src/common.ts +1 -1
- package/src/generated/docs.entry.ts +20 -20
- package/docs/ar/index.md +0 -164
- package/docs/bn/index.md +0 -183
- package/docs/cs/index.md +0 -183
- package/docs/de/index.md +0 -166
- package/docs/en/index.md +0 -183
- package/docs/en-GB/index.md +0 -170
- package/docs/es/index.md +0 -165
- package/docs/fr/index.md +0 -163
- package/docs/hi/index.md +0 -166
- package/docs/id/index.md +0 -176
- package/docs/it/index.md +0 -166
- package/docs/ja/index.md +0 -164
- package/docs/ko/index.md +0 -164
- package/docs/nl/index.md +0 -183
- package/docs/pl/index.md +0 -176
- package/docs/pt/index.md +0 -166
- package/docs/ru/index.md +0 -163
- package/docs/tr/index.md +0 -166
- package/docs/uk/index.md +0 -175
- package/docs/ur/index.md +0 -183
- package/docs/vi/index.md +0 -174
- package/docs/zh/index.md +0 -183
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-01-10
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: Next.js i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "Next.js 16 i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
|
|
5
|
+
description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng Next.js 16 đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -53,25 +53,66 @@ Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-next-no-lolale-p
|
|
|
53
53
|
|
|
54
54
|
<TOC/>
|
|
55
55
|
|
|
56
|
-
## Intlayer
|
|
56
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
So với các giải pháp chính như `next-intl` hay `i18next`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
<AccordionGroup>
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
- **Địa phương hóa động metadata**, routes và nội dung.
|
|
64
|
-
- **Truy cập bản dịch trong cả client-side và server-side components**.
|
|
65
|
-
- **Đảm bảo hỗ trợ TypeScript** với các kiểu tự động sinh, cải thiện tính tự hoàn thành và phát hiện lỗi.
|
|
66
|
-
- **Tận dụng các tính năng tiên tiến**, như phát hiện và chuyển đổi locale động.
|
|
62
|
+
<Accordion header="Phạm vi bảo hiểm đầy đủ của Next.js">
|
|
67
63
|
|
|
68
|
-
|
|
64
|
+
Intlayer được tối ưu hóa để hoạt động với **Thành phần máy chủ** nhằm hiển thị hiệu quả và hoàn toàn tương thích với [**Turbopack**](https://nextjs.org/docs/architecture/turbopack). Nó không chặn hiển thị tĩnh và cung cấp phần mềm trung gian cũng như tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
65
|
+
|
|
66
|
+
> Intlayer tương thích với Next.js 12, 13, 14, 15 và 16. Nếu đang sử dụng Bộ định tuyến trang Next.js, bạn có thể tham khảo [hướng dẫn] này(https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_page_router.md).
|
|
67
|
+
> Định tuyến ngôn ngữ rất hữu ích cho SEO, kích thước bundle và hiệu suất. Nếu không cần, bạn có thể tham khảo [hướng dẫn] này(https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md).
|
|
68
|
+
> Đối với Next.js 12, 13, 14 và 15 với Bộ định tuyến ứng dụng, hãy tham khảo [hướng dẫn] này (https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_14.md).
|
|
69
|
+
|
|
70
|
+
</Accordion>
|
|
71
|
+
|
|
72
|
+
<Accordion header="Kích thước bundle">
|
|
73
|
+
|
|
74
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
75
|
+
|
|
76
|
+
</Accordion>
|
|
77
|
+
|
|
78
|
+
<Accordion header="Khả năng bảo trì">
|
|
79
|
+
|
|
80
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
81
|
+
|
|
82
|
+
</Accordion>
|
|
83
|
+
|
|
84
|
+
<Accordion header="Đại lý AI">
|
|
85
|
+
|
|
86
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
87
|
+
|
|
88
|
+
</Accordion>
|
|
89
|
+
|
|
90
|
+
<Accordion header="Tự động hóa">
|
|
91
|
+
|
|
92
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
93
|
+
|
|
94
|
+
</Accordion>
|
|
95
|
+
|
|
96
|
+
<Accordion header="Hiệu suất">
|
|
97
|
+
|
|
98
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
99
|
+
|
|
100
|
+
</Accordion>
|
|
101
|
+
|
|
102
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
103
|
+
|
|
104
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
105
|
+
|
|
106
|
+
</Accordion>
|
|
107
|
+
</AccordionGroup>
|
|
69
108
|
|
|
70
109
|
---
|
|
71
110
|
|
|
72
111
|
## Hướng dẫn từng bước để cài đặt Intlayer trong ứng dụng Next.js
|
|
73
112
|
|
|
74
|
-
|
|
113
|
+
<Steps>
|
|
114
|
+
|
|
115
|
+
<Step number={1} title="Cài đặt phụ thuộc">
|
|
75
116
|
|
|
76
117
|
Cài đặt các gói cần thiết bằng npm:
|
|
77
118
|
|
|
@@ -103,7 +144,9 @@ bun x intlayer init
|
|
|
103
144
|
|
|
104
145
|
Gói tích hợp Intlayer với Next.js. Nó cung cấp các context providers và hooks cho việc quốc tế hóa trong Next.js. Ngoài ra, nó bao gồm plugin Next.js để tích hợp Intlayer với [Webpack](https://webpack.js.org/) hoặc [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack), cũng như proxy để phát hiện locale ưa thích của người dùng, quản lý cookie và xử lý chuyển hướng URL.
|
|
105
146
|
|
|
106
|
-
|
|
147
|
+
</Step>
|
|
148
|
+
|
|
149
|
+
<Step number={2} title="Cấu hình dự án của bạn">
|
|
107
150
|
|
|
108
151
|
Dưới đây là cấu trúc cuối cùng mà chúng ta sẽ tạo:
|
|
109
152
|
|
|
@@ -158,7 +201,9 @@ export default config;
|
|
|
158
201
|
|
|
159
202
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL theo ngôn ngữ, chuyển hướng proxy, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt các log của Intlayer trên console, và nhiều thứ khác. Để xem danh sách đầy đủ các tham số có sẵn, tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
160
203
|
|
|
161
|
-
|
|
204
|
+
</Step>
|
|
205
|
+
|
|
206
|
+
<Step number={3} title="Tích hợp Intlayer vào cấu hình Next.js của bạn">
|
|
162
207
|
|
|
163
208
|
Configure your Next.js setup to use Intlayer:
|
|
164
209
|
|
|
@@ -201,7 +246,9 @@ export default withIntlayer(nextConfig);
|
|
|
201
246
|
> withRspack(withIntlayer(nextConfig, { enableTurbopack: false }));
|
|
202
247
|
> ```
|
|
203
248
|
|
|
204
|
-
|
|
249
|
+
</Step>
|
|
250
|
+
|
|
251
|
+
<Step number={4} title="Định nghĩa các route động theo locale">
|
|
205
252
|
|
|
206
253
|
Xóa mọi nội dung trong `RootLayout` và thay thế bằng mã sau:
|
|
207
254
|
|
|
@@ -244,7 +291,9 @@ const RootLayout = async ({
|
|
|
244
291
|
export default RootLayout;
|
|
245
292
|
```
|
|
246
293
|
|
|
247
|
-
|
|
294
|
+
</Step>
|
|
295
|
+
|
|
296
|
+
<Step number={5} title="Khai báo nội dung của bạn">
|
|
248
297
|
|
|
249
298
|
Tạo và quản lý các khai báo nội dung của bạn để lưu trữ các bản dịch:
|
|
250
299
|
|
|
@@ -361,7 +410,9 @@ export default pageContent;
|
|
|
361
410
|
|
|
362
411
|
> Để biết thêm chi tiết, tham khảo [tài liệu khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md).
|
|
363
412
|
|
|
364
|
-
|
|
413
|
+
</Step>
|
|
414
|
+
|
|
415
|
+
<Step number={6} title="Sử dụng Nội dung trong Mã của Bạn">
|
|
365
416
|
|
|
366
417
|
Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
367
418
|
|
|
@@ -463,7 +514,9 @@ export const ServerComponentExample: FC = () => {
|
|
|
463
514
|
|
|
464
515
|
> Để tìm hiểu thêm về hook `useIntlayer`, tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/next-intlayer/useIntlayer.md).
|
|
465
516
|
|
|
466
|
-
|
|
517
|
+
</Step>
|
|
518
|
+
|
|
519
|
+
<Step number={7} title="Cấu hình Proxy để phát hiện locale" isOptional={true}>
|
|
467
520
|
|
|
468
521
|
Thiết lập proxy để phát hiện locale ưu tiên của người dùng:
|
|
469
522
|
|
|
@@ -487,7 +540,9 @@ import { customProxy } from "@utils/customProxy";
|
|
|
487
540
|
export const proxy = multipleProxies([intlayerProxy, customProxy]);
|
|
488
541
|
```
|
|
489
542
|
|
|
490
|
-
|
|
543
|
+
</Step>
|
|
544
|
+
|
|
545
|
+
<Step number={8} title="Thay đổi ngôn ngữ nội dung của bạn" isOptional={true}>
|
|
491
546
|
|
|
492
547
|
Để thay đổi ngôn ngữ nội dung của bạn trong Next.js, cách được khuyến nghị là sử dụng component `Link` để chuyển hướng người dùng đến trang đã được địa phương hóa tương ứng. Component `Link` cho phép prefetch trang, giúp tránh phải tải lại toàn bộ trang.
|
|
493
548
|
|
|
@@ -544,7 +599,9 @@ export const LocaleSwitcher: FC = () => {
|
|
|
544
599
|
>
|
|
545
600
|
> Điều này đảm bảo lựa chọn locale phù hợp nhất dựa trên ngữ cảnh hiện có.
|
|
546
601
|
|
|
547
|
-
|
|
602
|
+
</Step>
|
|
603
|
+
|
|
604
|
+
<Step number={10} title="Tối ưu kích thước bundle của bạn" isOptional={true}>
|
|
548
605
|
|
|
549
606
|
Khi sử dụng `next-intlayer`, các từ điển (dictionaries) được bao gồm trong bundle cho mọi trang theo mặc định. Để tối ưu kích thước bundle, Intlayer cung cấp một plugin SWC tùy chọn thay thế một cách thông minh các lần gọi `useIntlayer` bằng các macro. Điều này đảm bảo các từ điển chỉ được đưa vào bundle của những trang thực sự sử dụng chúng.
|
|
550
607
|
|
|
@@ -571,6 +628,9 @@ bun add @intlayer/swc --dev
|
|
|
571
628
|
> Lưu ý: Gói này không được cài mặc định vì plugin SWC vẫn đang ở giai đoạn thử nghiệm trên Next.js. Điều này có thể thay đổi trong tương lai.
|
|
572
629
|
|
|
573
630
|
> Lưu ý: Nếu bạn đặt tùy chọn là `importMode: 'dynamic'` hoặc `importMode: 'fetch'` (in the `dictionary` configuration), nó sẽ phụ thuộc vào Suspense, vì vậy bạn phải bao bọc các lệnh gọi `useIntlayer` bằng một boundary `Suspense`. Điều đó có nghĩa là bạn sẽ không thể sử dụng `useIntlayer` trực tiếp ở cấp cao nhất của component Page / Layout.
|
|
631
|
+
> </Step>
|
|
632
|
+
|
|
633
|
+
</Steps>
|
|
574
634
|
|
|
575
635
|
### Theo dõi thay đổi từ điển trên Turbopack
|
|
576
636
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-12-07
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: Next.js Page Router i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "Next.js Page Router i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
|
|
5
|
+
description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng Next.js Page Router đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -64,24 +64,66 @@ history:
|
|
|
64
64
|
|
|
65
65
|
<TOC/>
|
|
66
66
|
|
|
67
|
-
## Intlayer
|
|
67
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
So với các giải pháp chính như `next-intl` hay `i18next`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
<AccordionGroup>
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
- **Địa phương hóa động metadata**, các route và nội dung.
|
|
75
|
-
- **Đảm bảo hỗ trợ TypeScript** với các kiểu được tự động tạo, cải thiện tính năng tự động hoàn thành và phát hiện lỗi.
|
|
76
|
-
- **Tận hưởng các tính năng nâng cao**, như phát hiện và chuyển đổi locale động.
|
|
73
|
+
<Accordion header="Phạm vi bảo hiểm đầy đủ của Next.js">
|
|
77
74
|
|
|
78
|
-
|
|
75
|
+
Intlayer được tối ưu hóa để hoạt động với **Thành phần máy chủ** nhằm hiển thị hiệu quả và hoàn toàn tương thích với [**Turbopack**](https://nextjs.org/docs/architecture/turbopack). Nó không chặn hiển thị tĩnh và cung cấp phần mềm trung gian cũng như tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
76
|
+
|
|
77
|
+
> Intlayer tương thích với Next.js 12, 13, 14, 15 và 16. Nếu đang sử dụng Bộ định tuyến trang Next.js, bạn có thể tham khảo [hướng dẫn] này(https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_page_router.md).
|
|
78
|
+
> Định tuyến ngôn ngữ rất hữu ích cho SEO, kích thước bundle và hiệu suất. Nếu không cần, bạn có thể tham khảo [hướng dẫn] này(https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_no_locale_path.md).
|
|
79
|
+
> Đối với Next.js 12, 13, 14 và 15 với Bộ định tuyến ứng dụng, hãy tham khảo [hướng dẫn] này (https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_14.md).
|
|
80
|
+
|
|
81
|
+
</Accordion>
|
|
82
|
+
|
|
83
|
+
<Accordion header="Kích thước bundle">
|
|
84
|
+
|
|
85
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
86
|
+
|
|
87
|
+
</Accordion>
|
|
88
|
+
|
|
89
|
+
<Accordion header="Khả năng bảo trì">
|
|
90
|
+
|
|
91
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
92
|
+
|
|
93
|
+
</Accordion>
|
|
94
|
+
|
|
95
|
+
<Accordion header="Đại lý AI">
|
|
96
|
+
|
|
97
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
98
|
+
|
|
99
|
+
</Accordion>
|
|
100
|
+
|
|
101
|
+
<Accordion header="Tự động hóa">
|
|
102
|
+
|
|
103
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
104
|
+
|
|
105
|
+
</Accordion>
|
|
106
|
+
|
|
107
|
+
<Accordion header="Hiệu suất">
|
|
108
|
+
|
|
109
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
110
|
+
|
|
111
|
+
</Accordion>
|
|
112
|
+
|
|
113
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
114
|
+
|
|
115
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
116
|
+
|
|
117
|
+
</Accordion>
|
|
118
|
+
</AccordionGroup>
|
|
79
119
|
|
|
80
120
|
---
|
|
81
121
|
|
|
82
122
|
## Hướng Dẫn Từng Bước Để Cài Đặt Intlayer Trong Ứng Dụng Next.js Sử Dụng Page Router
|
|
83
123
|
|
|
84
|
-
|
|
124
|
+
<Steps>
|
|
125
|
+
|
|
126
|
+
<Step number={1} title="Cài Đặt Các Phụ Thuộc">
|
|
85
127
|
|
|
86
128
|
Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thích:
|
|
87
129
|
|
|
@@ -113,7 +155,9 @@ bun x intlayer init
|
|
|
113
155
|
|
|
114
156
|
Gói tích hợp Intlayer với Next.js. Nó cung cấp các context provider và hook cho quốc tế hóa trong Next.js. Ngoài ra, nó bao gồm plugin Next.js để tích hợp Intlayer với [Webpack](https://webpack.js.org/) hoặc [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack), cũng như middleware để phát hiện ngôn ngữ ưu tiên của người dùng, quản lý cookie, và xử lý chuyển hướng URL.
|
|
115
157
|
|
|
116
|
-
|
|
158
|
+
</Step>
|
|
159
|
+
|
|
160
|
+
<Step number={2} title="Cấu hình Dự án của Bạn">
|
|
117
161
|
|
|
118
162
|
Tạo một tệp cấu hình để định nghĩa các ngôn ngữ được ứng dụng của bạn hỗ trợ:
|
|
119
163
|
|
|
@@ -137,7 +181,9 @@ export default config;
|
|
|
137
181
|
|
|
138
182
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL địa phương hóa, chuyển hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung của bạn, tắt các bản ghi Intlayer trong bảng điều khiển, và nhiều hơn nữa. Để xem danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
139
183
|
|
|
140
|
-
|
|
184
|
+
</Step>
|
|
185
|
+
|
|
186
|
+
<Step number={3} title="Tích hợp Intlayer với cấu hình Next.js">
|
|
141
187
|
|
|
142
188
|
Chỉnh sửa cấu hình Next.js của bạn để tích hợp Intlayer:
|
|
143
189
|
|
|
@@ -163,7 +209,9 @@ export default withIntlayer(nextConfig);
|
|
|
163
209
|
> export default nextConfigWithOtherPlugins;
|
|
164
210
|
> ```
|
|
165
211
|
|
|
166
|
-
|
|
212
|
+
</Step>
|
|
213
|
+
|
|
214
|
+
<Step number={4} title="Cấu hình Middleware để Phát hiện Ngôn ngữ">
|
|
167
215
|
|
|
168
216
|
Thiết lập middleware để tự động phát hiện và xử lý ngôn ngữ ưu tiên của người dùng:
|
|
169
217
|
|
|
@@ -178,7 +226,9 @@ export const config = {
|
|
|
178
226
|
|
|
179
227
|
> Điều chỉnh tham số `matcher` để phù hợp với các route của ứng dụng bạn. Để biết thêm chi tiết, tham khảo tài liệu [Next.js về cấu hình matcher](https://nextjs.org/docs/app/building-your-application/routing/middleware).
|
|
180
228
|
|
|
181
|
-
|
|
229
|
+
</Step>
|
|
230
|
+
|
|
231
|
+
<Step number={5} title="Định nghĩa các Route Địa phương Động">
|
|
182
232
|
|
|
183
233
|
Triển khai routing động để phục vụ nội dung được địa phương hóa dựa trên ngôn ngữ của người dùng.
|
|
184
234
|
|
|
@@ -272,7 +322,9 @@ export default HomePage;
|
|
|
272
322
|
|
|
273
323
|
> `getStaticPaths` và `getStaticProps` đảm bảo rằng ứng dụng của bạn sẽ xây dựng trước các trang cần thiết cho tất cả các locale trong Next.js Page Router. Cách tiếp cận này giảm thiểu tính toán khi chạy và mang lại trải nghiệm người dùng tốt hơn. Để biết thêm chi tiết, hãy tham khảo tài liệu Next.js về [`getStaticPaths`](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-paths) và [`getStaticProps`](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-props).
|
|
274
324
|
|
|
275
|
-
|
|
325
|
+
</Step>
|
|
326
|
+
|
|
327
|
+
<Step number={6} title="Khai báo Nội dung của Bạn">
|
|
276
328
|
|
|
277
329
|
Tạo và quản lý các khai báo nội dung để lưu trữ các bản dịch.
|
|
278
330
|
|
|
@@ -327,7 +379,9 @@ export default homeContent;
|
|
|
327
379
|
|
|
328
380
|
Để biết thêm thông tin về cách khai báo nội dung, hãy tham khảo [hướng dẫn khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md).
|
|
329
381
|
|
|
330
|
-
|
|
382
|
+
</Step>
|
|
383
|
+
|
|
384
|
+
<Step number={7} title="Sử dụng Nội dung trong Mã của Bạn">
|
|
331
385
|
|
|
332
386
|
Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng để hiển thị nội dung đã được dịch.
|
|
333
387
|
|
|
@@ -382,7 +436,9 @@ export const ComponentExample: FC = () => {
|
|
|
382
436
|
|
|
383
437
|
> Để tìm hiểu thêm về hook `useIntlayer`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/next-intlayer/useIntlayer.md).
|
|
384
438
|
|
|
385
|
-
|
|
439
|
+
</Step>
|
|
440
|
+
|
|
441
|
+
<Step number={8} title="Quốc tế hóa metadata của bạn" isOptional={true}>
|
|
386
442
|
|
|
387
443
|
Trong trường hợp bạn muốn quốc tế hóa metadata, chẳng hạn như tiêu đề của trang, bạn có thể sử dụng hàm `getStaticProps` do Next.js Page Router cung cấp. Bên trong, bạn có thể lấy nội dung từ hàm `getIntlayer` để dịch metadata của bạn.
|
|
388
444
|
|
|
@@ -601,7 +657,9 @@ export default HomePage;
|
|
|
601
657
|
|
|
602
658
|
> Tìm hiểu thêm về tối ưu hóa metadata [trong tài liệu chính thức của Next.js](https://nextjs.org/docs/pages/building-your-application/optimizing/metadata).
|
|
603
659
|
|
|
604
|
-
|
|
660
|
+
</Step>
|
|
661
|
+
|
|
662
|
+
<Step number={9} title="Thay đổi ngôn ngữ nội dung của bạn" isOptional={true}>
|
|
605
663
|
|
|
606
664
|
Để thay đổi ngôn ngữ nội dung trong Next.js, cách được khuyến nghị là sử dụng component `Link` để chuyển hướng người dùng đến trang được địa phương hóa phù hợp. Component `Link` cho phép tải trước trang, giúp tránh tải lại toàn bộ trang.
|
|
607
665
|
|
|
@@ -694,7 +752,9 @@ return (
|
|
|
694
752
|
> - [`thuộc tính dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
695
753
|
> - [`thuộc tính aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
696
754
|
|
|
697
|
-
|
|
755
|
+
</Step>
|
|
756
|
+
|
|
757
|
+
<Step number={10} title="Tạo một Thành phần Link Đa ngôn ngữ" isOptional={true}>
|
|
698
758
|
|
|
699
759
|
Để đảm bảo rằng điều hướng trong ứng dụng của bạn tôn trọng locale hiện tại, bạn có thể tạo một thành phần `Link` tùy chỉnh. Thành phần này tự động thêm tiền tố ngôn ngữ hiện tại vào các URL nội bộ, ví dụ, khi một người dùng nói tiếng Pháp nhấp vào liên kết đến trang "About", họ sẽ được chuyển hướng đến `/fr/about` thay vì `/about`.
|
|
700
760
|
|
|
@@ -763,7 +823,9 @@ Link.displayName = "Link";
|
|
|
763
823
|
|
|
764
824
|
Bằng cách tích hợp component `Link` này trong toàn bộ ứng dụng của bạn, bạn duy trì trải nghiệm người dùng nhất quán và nhận biết ngôn ngữ đồng thời cải thiện SEO và khả năng sử dụng.
|
|
765
825
|
|
|
766
|
-
|
|
826
|
+
</Step>
|
|
827
|
+
|
|
828
|
+
<Step number={11} title="Tối ưu kích thước bundle của bạn" isOptional={true}>
|
|
767
829
|
|
|
768
830
|
Khi sử dụng `next-intlayer`, các từ điển được bao gồm trong bundle cho mỗi trang theo mặc định. Để tối ưu kích thước bundle, Intlayer cung cấp một plugin SWC tùy chọn thay thế thông minh các lệnh gọi `useIntlayer` bằng cách sử dụng macro. Điều này đảm bảo các từ điển chỉ được bao gồm trong bundle của những trang thực sự sử dụng chúng.
|
|
769
831
|
|
|
@@ -788,6 +850,9 @@ bun add @intlayer/swc --dev
|
|
|
788
850
|
> Lưu ý: Tối ưu hóa này chỉ có sẵn cho Next.js 13 trở lên.
|
|
789
851
|
|
|
790
852
|
> Lưu ý: Gói này không được cài đặt mặc định vì các plugin SWC vẫn đang trong giai đoạn thử nghiệm trên Next.js. Điều này có thể thay đổi trong tương lai.
|
|
853
|
+
> </Step>
|
|
854
|
+
|
|
855
|
+
</Steps>
|
|
791
856
|
|
|
792
857
|
### Cấu hình TypeScript
|
|
793
858
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-06-18
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: Nuxt i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "Nuxt i18n - Hướng dẫn đầy đủ để dịch ứng dụng của bạn"
|
|
5
|
+
description: "Không còn i18next nữa. Hướng dẫn 2026 để xây dựng ứng dụng Nuxt đa ngôn ngữ (i18n). Dịch với các AI agent và tối ưu hóa kích thước bundle, SEO và hiệu suất."
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -35,16 +35,54 @@ history:
|
|
|
35
35
|
|
|
36
36
|
<TOC/>
|
|
37
37
|
|
|
38
|
-
## Intlayer
|
|
38
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
So với các giải pháp chính như `@nuxtjs/i18n` hay `i18next`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
<AccordionGroup>
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
<Accordion header="Bảo hiểm đầy đủ của Nuxt">
|
|
45
|
+
|
|
46
|
+
Intlayer được tối ưu hóa để hoạt động hoàn hảo với Nuxt bằng cách cung cấp **định tuyến đa ngôn ngữ**, **phần mềm trung gian để phát hiện ngôn ngữ**, **sơ đồ trang web** và tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
47
|
+
|
|
48
|
+
</Accordion>
|
|
49
|
+
|
|
50
|
+
<Accordion header="Kích thước bundle">
|
|
51
|
+
|
|
52
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
53
|
+
|
|
54
|
+
</Accordion>
|
|
55
|
+
|
|
56
|
+
<Accordion header="Khả năng bảo trì">
|
|
57
|
+
|
|
58
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
59
|
+
|
|
60
|
+
</Accordion>
|
|
61
|
+
|
|
62
|
+
<Accordion header="Đại lý AI">
|
|
63
|
+
|
|
64
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
65
|
+
|
|
66
|
+
</Accordion>
|
|
67
|
+
|
|
68
|
+
<Accordion header="Tự động hóa">
|
|
69
|
+
|
|
70
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
71
|
+
|
|
72
|
+
</Accordion>
|
|
73
|
+
|
|
74
|
+
<Accordion header="Hiệu suất">
|
|
75
|
+
|
|
76
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
77
|
+
|
|
78
|
+
</Accordion>
|
|
79
|
+
|
|
80
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
81
|
+
|
|
82
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
83
|
+
|
|
84
|
+
</Accordion>
|
|
85
|
+
</AccordionGroup>
|
|
48
86
|
|
|
49
87
|
---
|
|
50
88
|
|
|
@@ -82,7 +120,9 @@ Với Intlayer, bạn có thể:
|
|
|
82
120
|
|
|
83
121
|
Xem [Application Template](https://github.com/aymericzip/intlayer-nuxt-4-template) trên GitHub.
|
|
84
122
|
|
|
85
|
-
|
|
123
|
+
<Steps>
|
|
124
|
+
|
|
125
|
+
<Step number={1} title="Cài đặt các phụ thuộc">
|
|
86
126
|
|
|
87
127
|
Cài đặt các gói cần thiết bằng npm:
|
|
88
128
|
|
|
@@ -120,7 +160,9 @@ bun x intlayer init
|
|
|
120
160
|
- **nuxt-intlayer**
|
|
121
161
|
Mô-đun Nuxt tích hợp Intlayer với các ứng dụng Nuxt. Nó cung cấp thiết lập tự động, middleware để phát hiện locale, quản lý cookie, và chuyển hướng URL.
|
|
122
162
|
|
|
123
|
-
|
|
163
|
+
</Step>
|
|
164
|
+
|
|
165
|
+
<Step number={2} title="Cấu hình dự án của bạn">
|
|
124
166
|
|
|
125
167
|
Tạo một file cấu hình để cấu hình các ngôn ngữ của ứng dụng của bạn:
|
|
126
168
|
|
|
@@ -144,7 +186,9 @@ export default config;
|
|
|
144
186
|
|
|
145
187
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL địa phương hóa, chuyển hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung của bạn, tắt các log của Intlayer trên console, và nhiều hơn nữa. Để xem danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
146
188
|
|
|
147
|
-
|
|
189
|
+
</Step>
|
|
190
|
+
|
|
191
|
+
<Step number={3} title="Tích hợp Intlayer vào cấu hình Nuxt của bạn">
|
|
148
192
|
|
|
149
193
|
Thêm module intlayer vào cấu hình Nuxt của bạn:
|
|
150
194
|
|
|
@@ -159,7 +203,9 @@ export default defineNuxtConfig({
|
|
|
159
203
|
|
|
160
204
|
> Module `nuxt-intlayer` tự động xử lý việc tích hợp Intlayer với Nuxt. Nó thiết lập việc xây dựng khai báo nội dung, giám sát các tệp trong chế độ phát triển, cung cấp middleware để phát hiện locale, và quản lý định tuyến theo locale.
|
|
161
205
|
|
|
162
|
-
|
|
206
|
+
</Step>
|
|
207
|
+
|
|
208
|
+
<Step number={4} title="Khai báo Nội dung của Bạn">
|
|
163
209
|
|
|
164
210
|
Tạo và quản lý các khai báo nội dung để lưu trữ bản dịch:
|
|
165
211
|
|
|
@@ -194,7 +240,9 @@ export default content;
|
|
|
194
240
|
|
|
195
241
|
> Để biết thêm chi tiết, hãy tham khảo [tài liệu khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md).
|
|
196
242
|
|
|
197
|
-
|
|
243
|
+
</Step>
|
|
244
|
+
|
|
245
|
+
<Step number={5} title="Sử dụng Intlayer trong Mã của Bạn">
|
|
198
246
|
|
|
199
247
|
Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng Nuxt bằng cách sử dụng composable `useIntlayer`:
|
|
200
248
|
|
|
@@ -263,7 +311,9 @@ Intlayer cung cấp các API khác nhau để truy cập nội dung của bạn:
|
|
|
263
311
|
- Sử dụng `const content = useIntlayer("myContent");` và `{{ content.myContent }}` / `<content.myContent />`.
|
|
264
312
|
- Hoặc sử dụng `const { myContent } = useIntlayer("myContent");` và `{{ myContent}}` / `<myContent/>` để phân rã nội dung.
|
|
265
313
|
|
|
266
|
-
|
|
314
|
+
</Step>
|
|
315
|
+
|
|
316
|
+
<Step number={6} title="Thay đổi ngôn ngữ của nội dung" isOptional={true}>
|
|
267
317
|
|
|
268
318
|
Để thay đổi ngôn ngữ của nội dung, bạn có thể sử dụng hàm `setLocale` được cung cấp bởi composable `useLocale`. Hàm này cho phép bạn thiết lập locale của ứng dụng và cập nhật nội dung tương ứng.
|
|
269
319
|
|
|
@@ -307,34 +357,9 @@ Sau đó, thiết lập `app.vue` của bạn để sử dụng layouts:
|
|
|
307
357
|
</template>
|
|
308
358
|
```
|
|
309
359
|
|
|
310
|
-
|
|
360
|
+
</Step>
|
|
311
361
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
```vue fileName="layouts/default.vue"
|
|
315
|
-
<script setup lang="ts">
|
|
316
|
-
import Links from "~/components/Links.vue";
|
|
317
|
-
import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
|
|
318
|
-
</script>
|
|
319
|
-
|
|
320
|
-
<template>
|
|
321
|
-
<div>
|
|
322
|
-
<header>
|
|
323
|
-
<LocaleSwitcher />
|
|
324
|
-
</header>
|
|
325
|
-
<main>
|
|
326
|
-
<slot />
|
|
327
|
-
</main>
|
|
328
|
-
|
|
329
|
-
<Links href="/">Trang chủ</Links>
|
|
330
|
-
<Links href="/about">Giới thiệu</Links>
|
|
331
|
-
</div>
|
|
332
|
-
</template>
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
Thành phần `Links` (được hiển thị bên dưới) đảm bảo rằng các liên kết điều hướng nội bộ được tự động địa phương hóa.
|
|
336
|
-
|
|
337
|
-
### (Tùy chọn) Bước 7: Thêm định tuyến địa phương hóa vào ứng dụng của bạn
|
|
362
|
+
<Step number={7} title="Thêm định tuyến địa phương hóa vào ứng dụng của bạn" isOptional={true}>
|
|
338
363
|
|
|
339
364
|
Nuxt tự động xử lý định tuyến địa phương hóa khi sử dụng module `nuxt-intlayer`. Điều này tạo các tuyến đường cho mỗi ngôn ngữ tự động dựa trên cấu trúc thư mục trang của bạn.
|
|
340
365
|
|
|
@@ -408,7 +433,9 @@ Module `nuxt-intlayer` sẽ tự động:
|
|
|
408
433
|
- Quản lý cookie ngôn ngữ
|
|
409
434
|
- Chuyển hướng người dùng đến URL địa phương hóa phù hợp
|
|
410
435
|
|
|
411
|
-
|
|
436
|
+
</Step>
|
|
437
|
+
|
|
438
|
+
<Step number={8} title="Tạo một Component Liên kết Địa phương hóa" isOptional={true}>
|
|
412
439
|
|
|
413
440
|
Để đảm bảo điều hướng trong ứng dụng của bạn tuân thủ ngôn ngữ hiện tại, bạn có thể tạo một component `Links` tùy chỉnh. Component này tự động thêm tiền tố ngôn ngữ hiện tại vào các URL nội bộ, điều này rất quan trọng cho **SEO và khả năng tìm thấy trang**.
|
|
414
441
|
|
|
@@ -476,7 +503,9 @@ import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
|
|
|
476
503
|
> - Người dùng có thể chia sẻ trực tiếp các URL đã được địa phương hóa
|
|
477
504
|
> - Lịch sử trình duyệt hoạt động chính xác với các URL có tiền tố ngôn ngữ
|
|
478
505
|
|
|
479
|
-
|
|
506
|
+
</Step>
|
|
507
|
+
|
|
508
|
+
<Step number={9} title="Xử lý Metadata và SEO" isOptional={true}>
|
|
480
509
|
|
|
481
510
|
Nuxt cung cấp khả năng SEO tuyệt vời thông qua composable `useHead` (tự động import). Bạn có thể sử dụng Intlayer để xử lý metadata đã được địa phương hóa bằng cách sử dụng accessor `.raw` hoặc `.value` để lấy giá trị chuỗi nguyên thủy:
|
|
482
511
|
|
|
@@ -573,6 +602,37 @@ export default aboutPageContent;
|
|
|
573
602
|
}
|
|
574
603
|
```
|
|
575
604
|
|
|
605
|
+
</Step>
|
|
606
|
+
|
|
607
|
+
</Steps>
|
|
608
|
+
|
|
609
|
+
### (Tùy chọn) Bước 6b: Tạo một Layout với Điều hướng
|
|
610
|
+
|
|
611
|
+
Layouts của Nuxt cho phép bạn định nghĩa một cấu trúc chung cho các trang của bạn. Tạo một layout mặc định bao gồm bộ chuyển đổi ngôn ngữ và điều hướng:
|
|
612
|
+
|
|
613
|
+
```vue fileName="layouts/default.vue"
|
|
614
|
+
<script setup lang="ts">
|
|
615
|
+
import Links from "~/components/Links.vue";
|
|
616
|
+
import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
|
|
617
|
+
</script>
|
|
618
|
+
|
|
619
|
+
<template>
|
|
620
|
+
<div>
|
|
621
|
+
<header>
|
|
622
|
+
<LocaleSwitcher />
|
|
623
|
+
</header>
|
|
624
|
+
<main>
|
|
625
|
+
<slot />
|
|
626
|
+
</main>
|
|
627
|
+
|
|
628
|
+
<Links href="/">Trang chủ</Links>
|
|
629
|
+
<Links href="/about">Giới thiệu</Links>
|
|
630
|
+
</div>
|
|
631
|
+
</template>
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
Thành phần `Links` (được hiển thị bên dưới) đảm bảo rằng các liên kết điều hướng nội bộ được tự động địa phương hóa.
|
|
635
|
+
|
|
576
636
|
### Cấu hình Git
|
|
577
637
|
|
|
578
638
|
Khuyến nghị bỏ qua các tệp được tạo bởi Intlayer. Điều này giúp bạn tránh việc commit chúng vào kho Git của mình.
|