@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: 2024-12-06
|
|
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
|
|
@@ -70,27 +70,66 @@ Xem [Mẫu Ứng dụng](https://github.com/aymericzip/intlayer-next-16-template
|
|
|
70
70
|
|
|
71
71
|
<TOC/>
|
|
72
72
|
|
|
73
|
-
## Intlayer
|
|
73
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
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ư:
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
<AccordionGroup>
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
- **Bản địa hóa động metadata**, các tuyến đường và nội dung.
|
|
81
|
-
- **Truy cập bản dịch trong cả thành phần phía máy khách và phía máy chủ**.
|
|
82
|
-
- **Đảm bảo hỗ trợ TypeScript** với các kiểu 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.
|
|
83
|
-
- **Hưởng lợi từ các tính năng nâng cao**, như phát hiện và chuyển đổi ngôn ngữ động.
|
|
79
|
+
<Accordion header="Phạm vi bảo hiểm đầy đủ của Next.js">
|
|
84
80
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
>
|
|
81
|
+
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).
|
|
82
|
+
|
|
83
|
+
> 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).
|
|
84
|
+
> Đị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).
|
|
85
|
+
> Đố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).
|
|
86
|
+
|
|
87
|
+
</Accordion>
|
|
88
|
+
|
|
89
|
+
<Accordion header="Kích thước bundle">
|
|
90
|
+
|
|
91
|
+
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**.
|
|
92
|
+
|
|
93
|
+
</Accordion>
|
|
94
|
+
|
|
95
|
+
<Accordion header="Khả năng bảo trì">
|
|
96
|
+
|
|
97
|
+
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.
|
|
98
|
+
|
|
99
|
+
</Accordion>
|
|
100
|
+
|
|
101
|
+
<Accordion header="Đại lý AI">
|
|
102
|
+
|
|
103
|
+
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.
|
|
104
|
+
|
|
105
|
+
</Accordion>
|
|
106
|
+
|
|
107
|
+
<Accordion header="Tự động hóa">
|
|
108
|
+
|
|
109
|
+
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**.
|
|
110
|
+
|
|
111
|
+
</Accordion>
|
|
112
|
+
|
|
113
|
+
<Accordion header="Hiệu suất">
|
|
114
|
+
|
|
115
|
+
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.
|
|
116
|
+
|
|
117
|
+
</Accordion>
|
|
118
|
+
|
|
119
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
120
|
+
|
|
121
|
+
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.
|
|
122
|
+
|
|
123
|
+
</Accordion>
|
|
124
|
+
</AccordionGroup>
|
|
88
125
|
|
|
89
126
|
---
|
|
90
127
|
|
|
91
128
|
## Hướng dẫn từng bước để thiết lập Intlayer trong ứng dụng Next.js
|
|
92
129
|
|
|
93
|
-
|
|
130
|
+
<Steps>
|
|
131
|
+
|
|
132
|
+
<Step number={1} title="Cài đặt các phụ thuộc">
|
|
94
133
|
|
|
95
134
|
Cài đặt các gói cần thiết bằng npm:
|
|
96
135
|
|
|
@@ -122,7 +161,9 @@ bun x intlayer init
|
|
|
122
161
|
|
|
123
162
|
Gói tích hợp Intlayer với Next.js. Nó cung cấp các nhà cung cấp ngữ cảnh (context providers) và các hook cho việc quốc tế hóa 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 ngôn ngữ ưu tiên của người dùng, quản lý cookie và xử lý chuyển hướng URL.
|
|
124
163
|
|
|
125
|
-
|
|
164
|
+
</Step>
|
|
165
|
+
|
|
166
|
+
<Step number={2} title="Cấu hình Dự án của Bạn">
|
|
126
167
|
|
|
127
168
|
Đây là cấu trúc cuối cùng mà chúng ta sẽ thực hiện:
|
|
128
169
|
|
|
@@ -174,7 +215,9 @@ export default config;
|
|
|
174
215
|
|
|
175
216
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL được bản địa hóa, 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 nhật ký Intlayer trong bảng điều khiển và hơn thế nữa. Để biết 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).
|
|
176
217
|
|
|
177
|
-
|
|
218
|
+
</Step>
|
|
219
|
+
|
|
220
|
+
<Step number={3} title="Tích hợp Intlayer vào Cấu hình Next.js của Bạn">
|
|
178
221
|
|
|
179
222
|
Định cấu hình thiết lập Next.js của bạn để sử dụng Intlayer:
|
|
180
223
|
|
|
@@ -217,7 +260,9 @@ export default withIntlayer(nextConfig);
|
|
|
217
260
|
> withRspack(withIntlayer(nextConfig, { enableTurbopack: false }));
|
|
218
261
|
> ```
|
|
219
262
|
|
|
220
|
-
|
|
263
|
+
</Step>
|
|
264
|
+
|
|
265
|
+
<Step number={4} title="Định nghĩa các Tuyến đường Ngôn ngữ Động">
|
|
221
266
|
|
|
222
267
|
Xóa mọi thứ khỏi `RootLayout` và thay thế bằng mã sau:
|
|
223
268
|
|
|
@@ -280,7 +325,9 @@ export default LocaleLayout;
|
|
|
280
325
|
|
|
281
326
|
> Intlayer hoạt động với `export const dynamic = 'force-static';` để đảm bảo rằng các trang được xây dựng trước cho tất cả các ngôn ngữ.
|
|
282
327
|
|
|
283
|
-
|
|
328
|
+
</Step>
|
|
329
|
+
|
|
330
|
+
<Step number={5} title="Khai báo Nội dung của Bạn">
|
|
284
331
|
|
|
285
332
|
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:
|
|
286
333
|
|
|
@@ -326,7 +373,9 @@ export default pageContent;
|
|
|
326
373
|
|
|
327
374
|
> Để 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).
|
|
328
375
|
|
|
329
|
-
|
|
376
|
+
</Step>
|
|
377
|
+
|
|
378
|
+
<Step number={6} title="Sử dụng Nội dung trong Mã của Bạn">
|
|
330
379
|
|
|
331
380
|
Truy cập từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
332
381
|
|
|
@@ -415,7 +464,9 @@ export const ServerComponentExample: FC = () => {
|
|
|
415
464
|
|
|
416
465
|
> Nếu ứng dụng của bạn đã tồn tại, bạn có thể sử dụng [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/compiler.md) kết hợp với [lệnh extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/extract.md) để chuyển đổi hàng nghìn component chỉ trong một giây.
|
|
417
466
|
|
|
418
|
-
|
|
467
|
+
</Step>
|
|
468
|
+
|
|
469
|
+
<Step number={7} title="Cấu hình Proxy để Phát hiện Ngôn ngữ" isOptional={true}>
|
|
419
470
|
|
|
420
471
|
Thiết lập proxy để phát hiện ngôn ngữ ưu tiên của người dùng:
|
|
421
472
|
|
|
@@ -439,7 +490,9 @@ import { customProxy } from "@utils/customProxy";
|
|
|
439
490
|
export const proxy = multipleProxies([intlayerProxy, customProxy]);
|
|
440
491
|
```
|
|
441
492
|
|
|
442
|
-
|
|
493
|
+
</Step>
|
|
494
|
+
|
|
495
|
+
<Step number={8} title="Quốc tế hóa metadata của bạn" isOptional={true}>
|
|
443
496
|
|
|
444
497
|
Trong trường hợp bạn muốn quốc tế hóa metadata của mình, chẳng hạn như tiêu đề trang, bạn có thể sử dụng hàm `generateMetadata` do Next.js cung cấp. Bên trong đó, bạn có thể truy xuất nội dung từ hàm `getIntlayer` để dịch metadata của mình.
|
|
445
498
|
|
|
@@ -574,7 +627,9 @@ export const generateMetadata = async ({
|
|
|
574
627
|
|
|
575
628
|
> Tìm hiểu thêm về tối ưu hóa metadata [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
|
|
576
629
|
|
|
577
|
-
|
|
630
|
+
</Step>
|
|
631
|
+
|
|
632
|
+
<Step number={9} title="Quốc tế hóa sitemap.xml và robots.txt của bạn" isOptional={true}>
|
|
578
633
|
|
|
579
634
|
Để quốc tế hóa `sitemap.xml` và `robots.txt` của bạn, bạn có thể sử dụng hàm `getMultilingualUrls` do Intlayer cung cấp. Hàm này cho phép bạn tạo các URL đa ngôn ngữ cho sitemap của mình.
|
|
580
635
|
|
|
@@ -637,7 +692,9 @@ export default robots;
|
|
|
637
692
|
|
|
638
693
|
> Tìm hiểu thêm về tối ưu hóa sitemap [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). Tìm hiểu thêm về tối ưu hóa robots.txt [trên tài liệu chính thức của Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
|
|
639
694
|
|
|
640
|
-
|
|
695
|
+
</Step>
|
|
696
|
+
|
|
697
|
+
<Step number={10} title="Thay đổi ngôn ngữ của nội dung của bạn" isOptional={true}>
|
|
641
698
|
|
|
642
699
|
Để thay đổi ngôn ngữ của nội dung trong Next.js, cách được khuyến nghị là sử dụng thành phần `Link` để chuyển hướng người dùng đến trang bản địa hóa thích hợp. Thành phần `Link` cho phép tải trước trang, giúp tránh việc tải lại toàn bộ trang.
|
|
643
700
|
|
|
@@ -732,7 +789,9 @@ return (
|
|
|
732
789
|
> - [thuộc tính `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
|
733
790
|
> - [thuộc tính `aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
|
|
734
791
|
|
|
735
|
-
|
|
792
|
+
</Step>
|
|
793
|
+
|
|
794
|
+
<Step number={11} title="Tạo một thành phần Link được bản địa hóa" isOptional={true}>
|
|
736
795
|
|
|
737
796
|
Để đảm bảo rằng việc điều hướng của ứng dụng tôn trọng ngôn ngữ 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 "Giới thiệu", họ sẽ được chuyển hướng đến `/fr/about` thay vì `/about`.
|
|
738
797
|
|
|
@@ -800,7 +859,9 @@ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
|
|
|
800
859
|
|
|
801
860
|
Bằng cách tích hợp thành phần `Link` này trong toàn bộ ứng dụng của mình, bạn duy trì một trải nghiệm người dùng nhất quán và nhận biết ngôn ngữ đồng thời được hưởng lợi từ việc cải thiện SEO và khả năng sử dụng.
|
|
802
861
|
|
|
803
|
-
|
|
862
|
+
</Step>
|
|
863
|
+
|
|
864
|
+
<Step number={12} title="Lấy ngôn ngữ hiện tại trong Server Actions" isOptional={true}>
|
|
804
865
|
|
|
805
866
|
Nếu bạn cần ngôn ngữ hoạt động bên trong một Server Action (ví dụ: để bản địa hóa email hoặc chạy logic nhận biết ngôn ngữ), hãy gọi `getLocale` từ `next-intlayer/server`:
|
|
806
867
|
|
|
@@ -825,9 +886,11 @@ export const myServerAction = async () => {
|
|
|
825
886
|
>
|
|
826
887
|
> Điều này đảm bảo rằng ngôn ngữ thích hợp nhất được chọn dựa trên ngữ cảnh có sẵn.
|
|
827
888
|
|
|
828
|
-
|
|
889
|
+
</Step>
|
|
890
|
+
|
|
891
|
+
<Step number={13} title="Tối ưu hóa kích thước bundle của bạn" isOptional={true}>
|
|
829
892
|
|
|
830
|
-
Khi sử dụng `next-intlayer`, các từ điển được đưa vào gói cho mỗi trang theo mặc định. Để tối ưu hóa kích thước
|
|
893
|
+
Khi sử dụng `next-intlayer`, các từ điển được đưa vào gói cho mỗi trang theo mặc định. Để tối ưu hóa kích thước bundle, Intlayer cung cấp một plugin SWC tùy chọn giúp thay thế các cuộc gọi `useIntlayer` một cách thông minh bằng các macro. Điều này đảm bảo các từ điển chỉ được đưa vào gói cho các trang thực sự sử dụng chúng.
|
|
831
894
|
|
|
832
895
|
Để bật tính năng tối ưu hóa này, hãy cài đặt gói `@intlayer/swc`. Sau khi cài đặt, `next-intlayer` sẽ tự động phát hiện và sử dụng plugin:
|
|
833
896
|
|
|
@@ -852,72 +915,9 @@ bun add @intlayer/swc --dev
|
|
|
852
915
|
> Lưu ý: Gói này không được cài đặt theo mặc định vì các plugin SWC vẫn đang trong quá trình thử nghiệm trên Next.js. Nó có thể thay đổi trong tương lai.
|
|
853
916
|
|
|
854
917
|
> Lưu ý: Nếu bạn đặt tùy chọn thành `importMode: 'dynamic'` hoặc `importMode: 'fetch'` (trong cấu hình `dictionary`), nó sẽ dựa trên Suspense, vì vậy bạn sẽ phải bao bọc các cuộc gọi `useIntlayer` của mình trong một ranh giới `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 thành phần Trang / Bố cục của mình.
|
|
918
|
+
> </Step>
|
|
855
919
|
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
Khi sử dụng Turbopack làm máy chủ phát triển của bạn với lệnh `next dev`, các thay đổi từ điển sẽ không được tự động phát hiện theo mặc định.
|
|
859
|
-
|
|
860
|
-
Hạn chế này xảy ra vì Turbopack không thể chạy các plugin webpack song song để theo dõi các thay đổi trong tệp nội dung của bạn. Để giải quyết vấn đề này, bạn sẽ cần sử dụng lệnh `intlayer watch` để chạy đồng thời cả máy chủ phát triển và trình theo dõi xây dựng Intlayer.
|
|
861
|
-
|
|
862
|
-
```json5 fileName="package.json"
|
|
863
|
-
{
|
|
864
|
-
// ... Các cấu hình package.json hiện có của bạn
|
|
865
|
-
"scripts": {
|
|
866
|
-
// ... Các cấu hình scripts hiện có của bạn
|
|
867
|
-
"dev": "intlayer watch --with 'next dev'",
|
|
868
|
-
},
|
|
869
|
-
}
|
|
870
|
-
```
|
|
871
|
-
|
|
872
|
-
> Nếu bạn đang sử dụng next-intlayer@<=6.x.x, bạn cần giữ cờ `--turbopack` để ứng dụng Next.js 16 hoạt động chính xác với Turbopack. Chúng tôi khuyên bạn nên sử dụng next-intlayer@>=7.x.x để tránh hạn chế này.
|
|
873
|
-
|
|
874
|
-
### Cấu hình TypeScript
|
|
875
|
-
|
|
876
|
-
Intlayer sử dụng tăng cường mô-đun (module augmentation) để nhận được các lợi ích của TypeScript và làm cho cơ sở mã của bạn mạnh mẽ hơn.
|
|
877
|
-
|
|
878
|
-

|
|
879
|
-
|
|
880
|
-

|
|
881
|
-
|
|
882
|
-
Đảm bảo cấu hình TypeScript của bạn bao gồm các kiểu được tạo tự động.
|
|
883
|
-
|
|
884
|
-
```json5 fileName="tsconfig.json"
|
|
885
|
-
{
|
|
886
|
-
// ... Các cấu hình TypeScript hiện có của bạn
|
|
887
|
-
"include": [
|
|
888
|
-
// ... Các cấu hình TypeScript hiện có của bạn
|
|
889
|
-
".intlayer/**/*.ts", // Bao gồm các kiểu được tạo tự động
|
|
890
|
-
],
|
|
891
|
-
}
|
|
892
|
-
```
|
|
893
|
-
|
|
894
|
-
### Cấu hình Git
|
|
895
|
-
|
|
896
|
-
Khuyến nghị bỏ qua các tệp được tạo bởi Intlayer. Điều này cho phép bạn tránh cam kết chúng vào kho lưu trữ Git của mình.
|
|
897
|
-
|
|
898
|
-
Để thực hiện việc này, bạn có thể thêm các hướng dẫn sau vào tệp `.gitignore` của mình:
|
|
899
|
-
|
|
900
|
-
```plaintext fileName=".gitignore"
|
|
901
|
-
# Bỏ qua các tệp được tạo bởi Intlayer
|
|
902
|
-
.intlayer
|
|
903
|
-
```
|
|
904
|
-
|
|
905
|
-
### Tiện ích mở rộng VS Code
|
|
906
|
-
|
|
907
|
-
Để cải thiện trải nghiệm phát triển của bạn với Intlayer, bạn có thể cài đặt **Tiện ích mở rộng Intlayer VS Code** chính thức.
|
|
908
|
-
|
|
909
|
-
[Cài đặt từ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
910
|
-
|
|
911
|
-
Tiện ích mở rộng này cung cấp:
|
|
912
|
-
|
|
913
|
-
- **Tự động hoàn thành** cho các khóa bản dịch.
|
|
914
|
-
- **Phát hiện lỗi thời gian thực** cho các bản dịch bị thiếu.
|
|
915
|
-
- **Xem trước nội tuyến** nội dung đã dịch.
|
|
916
|
-
- **Các hành động nhanh** để dễ dàng tạo và cập nhật các bản dịch.
|
|
917
|
-
|
|
918
|
-
Để biết thêm chi tiết về cách sử dụng tiện ích mở rộng, hãy tham khảo [tài liệu Tiện ích mở rộng Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
919
|
-
|
|
920
|
-
### (Tùy chọn) Bước 1 : Trích xuất nội dung các thành phần của bạn
|
|
920
|
+
<Step number={1} title="Trích xuất nội dung các thành phần của bạn" isOptional={true}>
|
|
921
921
|
|
|
922
922
|
Nếu bạn có một cơ sở mã hiện có, việc chuyển đổi hàng nghìn tệp có thể tốn nhiều thời gian.
|
|
923
923
|
|
|
@@ -1029,6 +1029,73 @@ bun run build # Or bun run dev
|
|
|
1029
1029
|
|
|
1030
1030
|
</Tab>
|
|
1031
1031
|
</Tabs>
|
|
1032
|
+
</Step>
|
|
1033
|
+
|
|
1034
|
+
</Steps>
|
|
1035
|
+
|
|
1036
|
+
### Theo dõi các thay đổi từ điển trên Turbopack
|
|
1037
|
+
|
|
1038
|
+
Khi sử dụng Turbopack làm máy chủ phát triển của bạn với lệnh `next dev`, các thay đổi từ điển sẽ không được tự động phát hiện theo mặc định.
|
|
1039
|
+
|
|
1040
|
+
Hạn chế này xảy ra vì Turbopack không thể chạy các plugin webpack song song để theo dõi các thay đổi trong tệp nội dung của bạn. Để giải quyết vấn đề này, bạn sẽ cần sử dụng lệnh `intlayer watch` để chạy đồng thời cả máy chủ phát triển và trình theo dõi xây dựng Intlayer.
|
|
1041
|
+
|
|
1042
|
+
```json5 fileName="package.json"
|
|
1043
|
+
{
|
|
1044
|
+
// ... Các cấu hình package.json hiện có của bạn
|
|
1045
|
+
"scripts": {
|
|
1046
|
+
// ... Các cấu hình scripts hiện có của bạn
|
|
1047
|
+
"dev": "intlayer watch --with 'next dev'",
|
|
1048
|
+
},
|
|
1049
|
+
}
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
> Nếu bạn đang sử dụng next-intlayer@<=6.x.x, bạn cần giữ cờ `--turbopack` để ứng dụng Next.js 16 hoạt động chính xác với Turbopack. Chúng tôi khuyên bạn nên sử dụng next-intlayer@>=7.x.x để tránh hạn chế này.
|
|
1053
|
+
|
|
1054
|
+
### Cấu hình TypeScript
|
|
1055
|
+
|
|
1056
|
+
Intlayer sử dụng tăng cường mô-đun (module augmentation) để nhận được các lợi ích của TypeScript và làm cho cơ sở mã của bạn mạnh mẽ hơn.
|
|
1057
|
+
|
|
1058
|
+

|
|
1059
|
+
|
|
1060
|
+

|
|
1061
|
+
|
|
1062
|
+
Đảm bảo cấu hình TypeScript của bạn bao gồm các kiểu được tạo tự động.
|
|
1063
|
+
|
|
1064
|
+
```json5 fileName="tsconfig.json"
|
|
1065
|
+
{
|
|
1066
|
+
// ... Các cấu hình TypeScript hiện có của bạn
|
|
1067
|
+
"include": [
|
|
1068
|
+
// ... Các cấu hình TypeScript hiện có của bạn
|
|
1069
|
+
".intlayer/**/*.ts", // Bao gồm các kiểu được tạo tự động
|
|
1070
|
+
],
|
|
1071
|
+
}
|
|
1072
|
+
```
|
|
1073
|
+
|
|
1074
|
+
### Cấu hình Git
|
|
1075
|
+
|
|
1076
|
+
Khuyến nghị bỏ qua các tệp được tạo bởi Intlayer. Điều này cho phép bạn tránh cam kết chúng vào kho lưu trữ Git của mình.
|
|
1077
|
+
|
|
1078
|
+
Để thực hiện việc này, bạn có thể thêm các hướng dẫn sau vào tệp `.gitignore` của mình:
|
|
1079
|
+
|
|
1080
|
+
```plaintext fileName=".gitignore"
|
|
1081
|
+
# Bỏ qua các tệp được tạo bởi Intlayer
|
|
1082
|
+
.intlayer
|
|
1083
|
+
```
|
|
1084
|
+
|
|
1085
|
+
### Tiện ích mở rộng VS Code
|
|
1086
|
+
|
|
1087
|
+
Để cải thiện trải nghiệm phát triển của bạn với Intlayer, bạn có thể cài đặt **Tiện ích mở rộng Intlayer VS Code** chính thức.
|
|
1088
|
+
|
|
1089
|
+
[Cài đặt từ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
1090
|
+
|
|
1091
|
+
Tiện ích mở rộng này cung cấp:
|
|
1092
|
+
|
|
1093
|
+
- **Tự động hoàn thành** cho các khóa bản dịch.
|
|
1094
|
+
- **Phát hiện lỗi thời gian thực** cho các bản dịch bị thiếu.
|
|
1095
|
+
- **Xem trước nội tuyến** nội dung đã dịch.
|
|
1096
|
+
- **Các hành động nhanh** để dễ dàng tạo và cập nhật các bản dịch.
|
|
1097
|
+
|
|
1098
|
+
Để biết thêm chi tiết về cách sử dụng tiện ích mở rộng, hãy tham khảo [tài liệu Tiện ích mở rộng Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
1032
1099
|
|
|
1033
1100
|
### Đi Xa Hơn
|
|
1034
1101
|
|
|
@@ -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 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 đ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
|
|
@@ -81,7 +81,9 @@ Do trình biên dịch thực hiện phân tích và chuyển đổi mã (chèn
|
|
|
81
81
|
|
|
82
82
|
## Hướng dẫn từng bước thiết lập Intlayer vào trong ứng dụng Next.js
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
<Steps>
|
|
85
|
+
|
|
86
|
+
<Step number={1} title="Cài đặt các thư viện phụ thuộc">
|
|
85
87
|
|
|
86
88
|
Cài đặt các gói cần thiết bằng trình quản lý gói ưa thích của bạn:
|
|
87
89
|
|
|
@@ -117,7 +119,9 @@ bun x intlayer init
|
|
|
117
119
|
|
|
118
120
|
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 Next.js. Ngoài ra, nó bao gồm Next.js plugin để 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 locale ưu tiên của người dùng, quản lý cookie và xử lý chuyển hướng URL.
|
|
119
121
|
|
|
120
|
-
|
|
122
|
+
</Step>
|
|
123
|
+
|
|
124
|
+
<Step number={2} title="Cấu hình cho dự án của bạn">
|
|
121
125
|
|
|
122
126
|
Tạo một tệp cấu hình để xác định các ngôn ngữ của ứng dụng:
|
|
123
127
|
|
|
@@ -174,7 +178,9 @@ export default config;
|
|
|
174
178
|
|
|
175
179
|
> Qua tệp cấu hình này, bạn có thể thiết lập URL đã được bản địa hóa, chuyển hướng proxy, mapping cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt log Intlayer trong console, và nhiều hơn nữa. Để biết danh sách đầy đủ các tham số có sẵn, hãy kiểm tra [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
176
180
|
|
|
177
|
-
|
|
181
|
+
</Step>
|
|
182
|
+
|
|
183
|
+
<Step number={3} title="Tích hợp Intlayer vào cấu hình Next.js của bạn">
|
|
178
184
|
|
|
179
185
|
Cấu hình thiết lập Next.js của bạn để sử dụng Intlayer:
|
|
180
186
|
|
|
@@ -190,29 +196,9 @@ export default withIntlayer(nextConfig);
|
|
|
190
196
|
```
|
|
191
197
|
|
|
192
198
|
> Plugin Next.js `withIntlayer()` được sử dụng để tích hợp Intlayer với Next.js. Nó đảm bảo việc xây dựng các tệp từ điển và theo dõi chúng trong chế độ dev. Nó xác định các biến môi trường Intlayer bên trong môi trường [Webpack](https://webpack.js.org/) hoặc [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack). Ngoài ra, nó cung cấp các alias để tối ưu hóa hiệu suất và hoạt động mượt mà với Server Components.
|
|
199
|
+
> </Step>
|
|
193
200
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
Trình biên dịch Intlayer yêu cầu Babel để trích xuất và tối ưu hóa nội dung của bạn. Cập nhật `babel.config.js` (hoặc `babel.config.json`) của bạn để bao gồm các plugin Intlayer:
|
|
197
|
-
|
|
198
|
-
```typescript fileName="babel.config.js"
|
|
199
|
-
const {
|
|
200
|
-
intlayerExtractBabelPlugin,
|
|
201
|
-
intlayerOptimizeBabelPlugin,
|
|
202
|
-
getExtractPluginOptions,
|
|
203
|
-
getOptimizePluginOptions,
|
|
204
|
-
} = require("@intlayer/babel");
|
|
205
|
-
|
|
206
|
-
module.exports = {
|
|
207
|
-
presets: ["next/babel"],
|
|
208
|
-
plugins: [
|
|
209
|
-
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
210
|
-
[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
|
|
211
|
-
],
|
|
212
|
-
};
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### Bước 4: Phát hiện ngôn ngữ trên trang của bạn
|
|
201
|
+
<Step number={4} title="Phát hiện ngôn ngữ trên trang của bạn">
|
|
216
202
|
|
|
217
203
|
Dọn dẹp nội dung `RootLayout` của bạn và thay thế bằng ví dụ bên dưới:
|
|
218
204
|
|
|
@@ -255,7 +241,9 @@ const RootLayout = async ({
|
|
|
255
241
|
export default RootLayout;
|
|
256
242
|
```
|
|
257
243
|
|
|
258
|
-
|
|
244
|
+
</Step>
|
|
245
|
+
|
|
246
|
+
<Step number={5} title="Khai báo nội dung của bạn">
|
|
259
247
|
|
|
260
248
|
Khi trình biên dịch được bật, bạn **không còn cần** khai báo các từ điển nội dung (ví dụ: tệp `.content.ts`) một cách thủ công.
|
|
261
249
|
|
|
@@ -351,7 +339,9 @@ export default async function Page() {
|
|
|
351
339
|
|
|
352
340
|
> Layout and page cannot share a common server context because the server context system is based on a per-request data store (via [React's cache](https://react.dev/reference/react/cache) mechanism), causing each "context" to be re-created for different segments of the application. Placing the provider in a shared layout would break this isolation, preventing the correct propagation of the server context values to your server components.
|
|
353
341
|
|
|
354
|
-
|
|
342
|
+
</Step>
|
|
343
|
+
|
|
344
|
+
<Step number={7} title="Điền các bản dịch còn thiếu" isOptional={true}>
|
|
355
345
|
|
|
356
346
|
Intlayer cung cấp một công cụ CLI để giúp bạn điền các bản dịch còn thiếu. Bạn có thể sử dụng lệnh `intlayer` để kiểm tra và điền các bản dịch còn thiếu từ mã của mình.
|
|
357
347
|
|
|
@@ -389,7 +379,9 @@ bun x intlayer fill # Điền các bản dịch còn thiếu
|
|
|
389
379
|
|
|
390
380
|
> Để biết thêm chi tiết, vui lòng tham khảo [tài liệu CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/cli/ci.md)
|
|
391
381
|
|
|
392
|
-
|
|
382
|
+
</Step>
|
|
383
|
+
|
|
384
|
+
<Step number={8} title="Middleware Proxy cho Router Localized" isOptional={true}>
|
|
393
385
|
|
|
394
386
|
Nếu bạn muốn tự động chuyển hướng người dùng đến ngôn ngữ ưu thích của họ, hãy thiết lập một middleware proxy:
|
|
395
387
|
|
|
@@ -404,7 +396,9 @@ export const config = {
|
|
|
404
396
|
|
|
405
397
|
> `intlayerProxy` được sử dụng để phát hiện ngôn ngữ ưu tiên của người dùng và chuyển hướng họ đến URL thích hợp như được xác định trong [các thiết lập của tệp cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md). Thêm vào đó, nó cho phép lưu trữ ngôn ngữ ưu tiên của người dùng trong cookie.
|
|
406
398
|
|
|
407
|
-
|
|
399
|
+
</Step>
|
|
400
|
+
|
|
401
|
+
<Step number={9} title="Thay đổi ngôn ngữ nội dung" isOptional={true}>
|
|
408
402
|
|
|
409
403
|
Cách khuyên dùng nhất để thay đổi ngôn ngữ nội dung trong Next.js là sử dụng thành phần `Link` để hướng người dùng đến route với ngôn ngữ tương ứng. Điều này tận dụng tính năng prefetch của Next.js và tránh việc tải lại trang một cách cưỡng ép.
|
|
410
404
|
|
|
@@ -454,7 +448,9 @@ export const LocaleSwitcher: FC = () => {
|
|
|
454
448
|
|
|
455
449
|
> Ngoài ra, bạn có thể sử dụng hàm `setLocale` được cung cấp bởi hook `useLocale`. Hàm này không cho phép prefetch trang. Kiểm tra [tài liệu hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/next-intlayer/useLocale.md) để biết thêm chi tiết.
|
|
456
450
|
|
|
457
|
-
|
|
451
|
+
</Step>
|
|
452
|
+
|
|
453
|
+
<Step number={10} title="Tối ưu hóa kích thước Bundle" isOptional={true}>
|
|
458
454
|
|
|
459
455
|
Khi sử dụng `next-intlayer`, các từ điển mặc định được bao gồm trong bundle cho từng trang. Để tối ưu hóa kích thước bundle, Intlayer cung cấp một plugin SWC tùy chọn giúp thay thế một cách thông minh các lệnh gọi `useIntlayer` bằng macro. Điều này đảm bảo rằng 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.
|
|
460
456
|
|
|
@@ -481,54 +477,9 @@ bun add @intlayer/swc --dev
|
|
|
481
477
|
> Lưu ý: Gói này không được cài đặt mặc định vì các plugin SWC vẫn đang ở giai đoạn thử nghiệm trong Next.js. Điều này có thể thay đổi trong tương lai.
|
|
482
478
|
|
|
483
479
|
> Lưu ý: Nếu bạn thiết lập tùy chọn (trong cấu hình từ điển) `importMode: 'dynamic'` hoặc `importMode: 'fetch'`, nó sẽ phụ thuộc vào Suspense, vì vậy bạn sẽ cần bọc các lệnh gọi `useIntlayer` trong một ranh giới `Suspense`. Điều này có nghĩa là bạn không thể sử dụng `useIntlayer` trực tiếp ở cấp cao nhất của thành phần Page / Layout.
|
|
480
|
+
> </Step>
|
|
484
481
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
Intlayer sử dụng module augmentation để tận dụng các ưu điểm của TypeScript và làm cho cơ sở mã của bạn mạnh mẽ hơn.
|
|
488
|
-
|
|
489
|
-

|
|
490
|
-
|
|
491
|
-

|
|
492
|
-
|
|
493
|
-
Đảm bảo cấu hình TypeScript của bạn bao gồm các kiểu được tạo tự động.
|
|
494
|
-
|
|
495
|
-
```json5 fileName="tsconfig.json"
|
|
496
|
-
{
|
|
497
|
-
// ... cấu hình TypeScript hiện tại của bạn
|
|
498
|
-
"include": [
|
|
499
|
-
// ... cấu hình TypeScript hiện tại của bạn
|
|
500
|
-
".intlayer/**/*.ts", // Bao gồm các kiểu được tạo tự động
|
|
501
|
-
],
|
|
502
|
-
}
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
### Cấu hình Git
|
|
506
|
-
|
|
507
|
-
Khuyên dùng việc bỏ qua các tệp được tạo bởi Intlayer. Điều này cho phép bạn tránh việc tải chúng lên kho lưu trữ Git của mình.
|
|
508
|
-
|
|
509
|
-
Để thực hiện việc này, bạn có thể thêm các hướng dẫn sau vào tệp `.gitignore` của mình:
|
|
510
|
-
|
|
511
|
-
```plaintext fileName=".gitignore"
|
|
512
|
-
# Bỏ qua các tệp được tạo bởi Intlayer
|
|
513
|
-
.intlayer
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
### Tiện ích mở rộng VS Code
|
|
517
|
-
|
|
518
|
-
Để nâng cao trải nghiệm phát triển của bạn với Intlayer, bạn có thể cài đặt **Tiện ích mở rộng VS Code chính thức của Intlayer**.
|
|
519
|
-
|
|
520
|
-
[Cài đặt từ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
521
|
-
|
|
522
|
-
Tiện ích mở rộng này cung cấp:
|
|
523
|
-
|
|
524
|
-
- **Tự động hoàn thành** cho các khóa bản dịch.
|
|
525
|
-
- **Phát hiện lỗi thời gian thực** cho các bản dịch còn thiếu.
|
|
526
|
-
- **Xem trước inline** nội dung đã dịch.
|
|
527
|
-
- **Quick actions** để dễ dàng tạo và cập nhật các bản dịch.
|
|
528
|
-
|
|
529
|
-
Đọc [tài liệu Tiện ích mở rộng VS Code của Intlayer](https://intlayer.org/doc/vs-code-extension) để biết hướng dẫn chi tiết về cách sử dụng tiện ích mở rộng.
|
|
530
|
-
|
|
531
|
-
### (Tùy chọn) Bước 1 : Trích xuất nội dung các thành phần của bạn
|
|
482
|
+
<Step number={1} title="Trích xuất nội dung các thành phần của bạn" isOptional={true}>
|
|
532
483
|
|
|
533
484
|
Nếu bạn có một cơ sở mã hiện có, việc chuyển đổi hàng nghìn tệp có thể tốn nhiều thời gian.
|
|
534
485
|
|
|
@@ -640,6 +591,76 @@ bun run build # Or bun run dev
|
|
|
640
591
|
|
|
641
592
|
</Tab>
|
|
642
593
|
</Tabs>
|
|
594
|
+
</Step>
|
|
595
|
+
|
|
596
|
+
</Steps>
|
|
597
|
+
|
|
598
|
+
### Cấu hình Babel
|
|
599
|
+
|
|
600
|
+
Trình biên dịch Intlayer yêu cầu Babel để trích xuất và tối ưu hóa nội dung của bạn. Cập nhật `babel.config.js` (hoặc `babel.config.json`) của bạn để bao gồm các plugin Intlayer:
|
|
601
|
+
|
|
602
|
+
```typescript fileName="babel.config.js"
|
|
603
|
+
const {
|
|
604
|
+
intlayerExtractBabelPlugin,
|
|
605
|
+
intlayerOptimizeBabelPlugin,
|
|
606
|
+
getExtractPluginOptions,
|
|
607
|
+
getOptimizePluginOptions,
|
|
608
|
+
} = require("@intlayer/babel");
|
|
609
|
+
|
|
610
|
+
module.exports = {
|
|
611
|
+
presets: ["next/babel"],
|
|
612
|
+
plugins: [
|
|
613
|
+
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
614
|
+
[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
|
|
615
|
+
],
|
|
616
|
+
};
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
### Cấu hình TypeScript
|
|
620
|
+
|
|
621
|
+
Intlayer sử dụng module augmentation để tận dụng các ưu điểm của TypeScript và làm cho cơ sở mã của bạn mạnh mẽ hơn.
|
|
622
|
+
|
|
623
|
+

|
|
624
|
+
|
|
625
|
+

|
|
626
|
+
|
|
627
|
+
Đảm bảo cấu hình TypeScript của bạn bao gồm các kiểu được tạo tự động.
|
|
628
|
+
|
|
629
|
+
```json5 fileName="tsconfig.json"
|
|
630
|
+
{
|
|
631
|
+
// ... cấu hình TypeScript hiện tại của bạn
|
|
632
|
+
"include": [
|
|
633
|
+
// ... cấu hình TypeScript hiện tại của bạn
|
|
634
|
+
".intlayer/**/*.ts", // Bao gồm các kiểu được tạo tự động
|
|
635
|
+
],
|
|
636
|
+
}
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
### Cấu hình Git
|
|
640
|
+
|
|
641
|
+
Khuyên dùng việc bỏ qua các tệp được tạo bởi Intlayer. Điều này cho phép bạn tránh việc tải chúng lên kho lưu trữ Git của mình.
|
|
642
|
+
|
|
643
|
+
Để thực hiện việc này, bạn có thể thêm các hướng dẫn sau vào tệp `.gitignore` của mình:
|
|
644
|
+
|
|
645
|
+
```plaintext fileName=".gitignore"
|
|
646
|
+
# Bỏ qua các tệp được tạo bởi Intlayer
|
|
647
|
+
.intlayer
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
### Tiện ích mở rộng VS Code
|
|
651
|
+
|
|
652
|
+
Để nâng cao trải nghiệm phát triển của bạn với Intlayer, bạn có thể cài đặt **Tiện ích mở rộng VS Code chính thức của Intlayer**.
|
|
653
|
+
|
|
654
|
+
[Cài đặt từ VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
655
|
+
|
|
656
|
+
Tiện ích mở rộng này cung cấp:
|
|
657
|
+
|
|
658
|
+
- **Tự động hoàn thành** cho các khóa bản dịch.
|
|
659
|
+
- **Phát hiện lỗi thời gian thực** cho các bản dịch còn thiếu.
|
|
660
|
+
- **Xem trước inline** nội dung đã dịch.
|
|
661
|
+
- **Quick actions** để dễ dàng tạo và cập nhật các bản dịch.
|
|
662
|
+
|
|
663
|
+
Đọc [tài liệu Tiện ích mở rộng VS Code của Intlayer](https://intlayer.org/doc/vs-code-extension) để biết hướng dẫn chi tiết về cách sử dụng tiện ích mở rộng.
|
|
643
664
|
|
|
644
665
|
### Đi xa hơn
|
|
645
666
|
|