@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: 2025-03-25
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title:
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "TanStack Start + Solid 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 TanStack Start + Solid đ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
|
- Đa ngôn ngữ
|
|
8
8
|
- Tài liệu
|
|
@@ -37,17 +37,54 @@ history:
|
|
|
37
37
|
|
|
38
38
|
Hướng dẫn này trình bày cách tích hợp **Intlayer** để đa ngôn ngữ hóa một cách liền mạch trong các dự án Tanstack Start với Solid.js, điều hướng theo ngôn ngữ (locale-aware routing), hỗ trợ TypeScript và các phương pháp phát triển hiện đại.
|
|
39
39
|
|
|
40
|
-
## Intlayer
|
|
40
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
So với các giải pháp chính như `react-i18next` 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ư:
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
<AccordionGroup>
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
<Accordion header="Phạm vi bảo hiểm đầy đủ của TanStack Start">
|
|
47
|
+
|
|
48
|
+
Intlayer được tối ưu hóa để hoạt động hoàn hảo với TanStack Start và Solid bằng cách cung cấp **định tuyến đa ngôn ngữ**, **sơ đồ trang web** và tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
49
|
+
|
|
50
|
+
</Accordion>
|
|
51
|
+
|
|
52
|
+
<Accordion header="Kích thước bundle">
|
|
53
|
+
|
|
54
|
+
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**.
|
|
55
|
+
|
|
56
|
+
</Accordion>
|
|
57
|
+
|
|
58
|
+
<Accordion header="Khả năng bảo trì">
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
</Accordion>
|
|
63
|
+
|
|
64
|
+
<Accordion header="Đại lý AI">
|
|
65
|
+
|
|
66
|
+
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.
|
|
67
|
+
|
|
68
|
+
</Accordion>
|
|
69
|
+
|
|
70
|
+
<Accordion header="Tự động hóa">
|
|
71
|
+
|
|
72
|
+
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**.
|
|
73
|
+
|
|
74
|
+
</Accordion>
|
|
75
|
+
|
|
76
|
+
<Accordion header="Hiệu suất">
|
|
77
|
+
|
|
78
|
+
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.
|
|
79
|
+
|
|
80
|
+
</Accordion>
|
|
81
|
+
|
|
82
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
83
|
+
|
|
84
|
+
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.
|
|
85
|
+
|
|
86
|
+
</Accordion>
|
|
87
|
+
</AccordionGroup>
|
|
51
88
|
|
|
52
89
|
---
|
|
53
90
|
|
|
@@ -85,11 +122,15 @@ Với Intlayer, bạn có thể:
|
|
|
85
122
|
|
|
86
123
|
Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-tanstack-start-solid-template) trên GitHub.
|
|
87
124
|
|
|
88
|
-
|
|
125
|
+
<Steps>
|
|
126
|
+
|
|
127
|
+
<Step number={1} title="Tạo dự án">
|
|
89
128
|
|
|
90
129
|
Đầu tiên, tạo một dự án TanStack Start mới theo hướng dẫn [Bắt đầu dự án mới](https://tanstack.com/start/latest/docs/framework/solid/quick-start) trên trang web TanStack Start.
|
|
91
130
|
|
|
92
|
-
|
|
131
|
+
</Step>
|
|
132
|
+
|
|
133
|
+
<Step number={2} title="Cài đặt các gói Intlayer">
|
|
93
134
|
|
|
94
135
|
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:
|
|
95
136
|
|
|
@@ -127,7 +168,9 @@ bun x intlayer init
|
|
|
127
168
|
- **vite-intlayer**
|
|
128
169
|
Bao gồm plugin Vite để tích hợp Intlayer với [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production), cũng như middleware để phát hiện ngôn ngữ ưa thích của người dùng, quản lý cookie và xử lý chuyển hướng URL.
|
|
129
170
|
|
|
130
|
-
|
|
171
|
+
</Step>
|
|
172
|
+
|
|
173
|
+
<Step number={3} title="Cấu hình dự án của bạn">
|
|
131
174
|
|
|
132
175
|
Tạo tệp cấu hình để thiết lập các ngôn ngữ trong ứng dụng của bạn:
|
|
133
176
|
|
|
@@ -148,7 +191,9 @@ export default config;
|
|
|
148
191
|
|
|
149
192
|
> Thông qua tệp cấu hình này, bạn có thể cấu hình các URL đa ngôn ngữ, chuyển hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt log của Intlayer trong console, v.v. Để biết danh sách đầy đủ các tham số khả dụng, 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).
|
|
150
193
|
|
|
151
|
-
|
|
194
|
+
</Step>
|
|
195
|
+
|
|
196
|
+
<Step number={4} title="Tích hợp Intlayer vào cấu hình Vite">
|
|
152
197
|
|
|
153
198
|
Thêm plugin intlayer vào cấu hình của bạn:
|
|
154
199
|
|
|
@@ -176,7 +221,9 @@ export default defineConfig({
|
|
|
176
221
|
|
|
177
222
|
> Plugin Vite `intlayer()` được sử dụng để tích hợp Intlayer với Vite. Nó đảm bảo việc xây dựng các tệp khai báo nội dung và theo dõi chúng trong chế độ phát triển. Nó định nghĩa các biến môi trường Intlayer trong ứng dụng Vite. Ngoài ra, nó cung cấp các alias để giảm chi phí hiệu năng.
|
|
178
223
|
|
|
179
|
-
|
|
224
|
+
</Step>
|
|
225
|
+
|
|
226
|
+
<Step number={5} title="Tạo Root Layout">
|
|
180
227
|
|
|
181
228
|
Cấu hình layout gốc của bạn để hỗ trợ đa ngôn ngữ bằng cách sử dụng `useParams` để phát hiện ngôn ngữ hiện tại và thiết lập các thuộc tính `lang` và `dir` trên thẻ `html`.
|
|
182
229
|
|
|
@@ -217,7 +264,9 @@ const RootComponent: ParentComponent = (props) => {
|
|
|
217
264
|
};
|
|
218
265
|
```
|
|
219
266
|
|
|
220
|
-
|
|
267
|
+
</Step>
|
|
268
|
+
|
|
269
|
+
<Step number={6} title="Tạo Locale Layout">
|
|
221
270
|
|
|
222
271
|
Tạo một layout để xử lý tiền tố ngôn ngữ và thực hiện kiểm tra tính hợp lệ. Layout này sẽ đảm bảo chỉ các ngôn ngữ hợp lệ mới được xử lý.
|
|
223
272
|
|
|
@@ -252,7 +301,9 @@ export const Route = createFileRoute("/{-$locale}")({
|
|
|
252
301
|
> Đối với chế độ `'prefix-all'`, bạn có thể thích chuyển slot thành `$locale`.
|
|
253
302
|
> Đối với chế độ `'no-prefix'` hoặc `'search-params'`, bạn có thể xóa hoàn toàn slot này.
|
|
254
303
|
|
|
255
|
-
|
|
304
|
+
</Step>
|
|
305
|
+
|
|
306
|
+
<Step number={7} title="Khai báo nội dung của bạn">
|
|
256
307
|
|
|
257
308
|
Tạo và quản lý các khai báo nội dung để lưu trữ bản dịch:
|
|
258
309
|
|
|
@@ -298,7 +349,9 @@ export default appContent;
|
|
|
298
349
|
|
|
299
350
|
> Để 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).
|
|
300
351
|
|
|
301
|
-
|
|
352
|
+
</Step>
|
|
353
|
+
|
|
354
|
+
<Step number={8} title="Sử dụng các Component và Hook theo ngôn ngữ">
|
|
302
355
|
|
|
303
356
|
Tạo một component `LocalizedLink` để điều hướng theo ngôn ngữ:
|
|
304
357
|
|
|
@@ -377,7 +430,9 @@ export const useLocalizedNavigate = () => {
|
|
|
377
430
|
};
|
|
378
431
|
```
|
|
379
432
|
|
|
380
|
-
|
|
433
|
+
</Step>
|
|
434
|
+
|
|
435
|
+
<Step number={9} title="Sử dụng Intlayer trong các trang của bạn">
|
|
381
436
|
|
|
382
437
|
Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
383
438
|
|
|
@@ -420,7 +475,9 @@ function RouteComponent() {
|
|
|
420
475
|
>
|
|
421
476
|
> Để tìm hiểu thêm về hook `useIntlayer`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/solid-intlayer/useIntlayer.md).
|
|
422
477
|
|
|
423
|
-
|
|
478
|
+
</Step>
|
|
479
|
+
|
|
480
|
+
<Step number={10} title="Tạo Component Chuyển đổi Ngôn ngữ">
|
|
424
481
|
|
|
425
482
|
Tạo một component để cho phép người dùng thay đổi ngôn ngữ:
|
|
426
483
|
|
|
@@ -464,7 +521,9 @@ export default LocaleSwitcher;
|
|
|
464
521
|
>
|
|
465
522
|
> Để tìm hiểu thêm về hook `useLocale`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/solid-intlayer/useLocale.md).
|
|
466
523
|
|
|
467
|
-
|
|
524
|
+
</Step>
|
|
525
|
+
|
|
526
|
+
<Step number={11} title="Quản lý các thuộc tính HTML">
|
|
468
527
|
|
|
469
528
|
Như đã thấy ở Bước 5, bạn có thể quản lý các thuộc tính `lang` và `dir` của thẻ `html` bằng cách sử dụng `useParams` trong component gốc của mình. Điều này đảm bảo rằng các thuộc tính chính xác được thiết lập trên cả server và client.
|
|
470
529
|
|
|
@@ -483,7 +542,9 @@ const RootComponent: ParentComponent = (props) => {
|
|
|
483
542
|
|
|
484
543
|
---
|
|
485
544
|
|
|
486
|
-
|
|
545
|
+
</Step>
|
|
546
|
+
|
|
547
|
+
<Step number={12} title="Thêm Middleware">
|
|
487
548
|
|
|
488
549
|
Bạn cũng có thể sử dụng `intlayerProxy` để thêm điều hướng phía server cho ứng dụng của mình. Plugin này sẽ tự động phát hiện ngôn ngữ hiện tại dựa trên URL và thiết lập cookie ngôn ngữ phù hợp. Nếu không có ngôn ngữ nào được chỉ định, plugin sẽ xác định ngôn ngữ phù hợp nhất dựa trên tùy chọn ngôn ngữ trình duyệt của người dùng. Nếu không phát hiện được ngôn ngữ nào, nó sẽ chuyển hướng về ngôn ngữ mặc định.
|
|
489
550
|
|
|
@@ -514,7 +575,9 @@ export default defineConfig({
|
|
|
514
575
|
|
|
515
576
|
---
|
|
516
577
|
|
|
517
|
-
|
|
578
|
+
</Step>
|
|
579
|
+
|
|
580
|
+
<Step number={13} title="Đa ngôn ngữ hóa Metadata của bạn">
|
|
518
581
|
|
|
519
582
|
Bạn cũng có thể sử dụng hàm `getIntlayer` để truy cập các từ điển nội dung của mình trong hàm load `head` cho metadata theo ngôn ngữ:
|
|
520
583
|
|
|
@@ -561,7 +624,9 @@ export const Route = createFileRoute("/{-$locale}/")({
|
|
|
561
624
|
|
|
562
625
|
---
|
|
563
626
|
|
|
564
|
-
|
|
627
|
+
</Step>
|
|
628
|
+
|
|
629
|
+
<Step number={14} title="Lấy ngôn ngữ trong các server action của bạn">
|
|
565
630
|
|
|
566
631
|
Bạn có thể muốn truy cập ngôn ngữ hiện tại từ bên trong các server action hoặc API endpoint của mình.
|
|
567
632
|
Bạn có thể làm điều này bằng cách sử dụng helper `getLocale` từ `intlayer`.
|
|
@@ -598,7 +663,9 @@ export const getLocaleServer = createServerFn().handler(async () => {
|
|
|
598
663
|
|
|
599
664
|
---
|
|
600
665
|
|
|
601
|
-
|
|
666
|
+
</Step>
|
|
667
|
+
|
|
668
|
+
<Step number={15} title="Quản lý các trang không tìm thấy (404)" isOptional={true}>
|
|
602
669
|
|
|
603
670
|
Khi một người dùng truy cập vào một trang không tồn tại, bạn có thể hiển thị một trang không tìm thấy tùy chỉnh và tiền tố ngôn ngữ có thể ảnh hưởng đến cách trang không tìm thấy được kích hoạt.
|
|
604
671
|
|
|
@@ -672,7 +739,9 @@ export const Route = createFileRoute("/{-$locale}/$")({
|
|
|
672
739
|
});
|
|
673
740
|
```
|
|
674
741
|
|
|
675
|
-
|
|
742
|
+
</Step>
|
|
743
|
+
|
|
744
|
+
<Step number={16} title="Trích xuất nội dung từ các component của bạn" isOptional={true}>
|
|
676
745
|
|
|
677
746
|
Nếu bạn có một codebase hiện tại, việc chuyển đổi hàng nghìn tệp có thể tốn nhiều thời gian.
|
|
678
747
|
|
|
@@ -785,7 +854,9 @@ bun run build # Hoặc bun run dev
|
|
|
785
854
|
|
|
786
855
|
---
|
|
787
856
|
|
|
788
|
-
|
|
857
|
+
</Step>
|
|
858
|
+
|
|
859
|
+
<Step number={17} title="Cấu hình TypeScript">
|
|
789
860
|
|
|
790
861
|
Intlayer sử dụng module augmentation để tận dụng các lợi ích của TypeScript và giúp codebase của bạn mạnh mẽ hơn.
|
|
791
862
|
|
|
@@ -803,6 +874,10 @@ Intlayer sử dụng module augmentation để tận dụng các lợi ích củ
|
|
|
803
874
|
|
|
804
875
|
---
|
|
805
876
|
|
|
877
|
+
</Step>
|
|
878
|
+
|
|
879
|
+
</Steps>
|
|
880
|
+
|
|
806
881
|
### Cấu hình Git
|
|
807
882
|
|
|
808
883
|
Khuyên bạn nên bỏ qua các tệp do Intlayer tạo ra. Điều này cho phép bạn tránh việc commit chúng vào kho lưu trữ Git của mình.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title:
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "TanStack Start 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 TanStack Start đ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
|
|
@@ -54,17 +54,54 @@ history:
|
|
|
54
54
|
|
|
55
55
|
Hướng dẫn này trình bày cách tích hợp **Intlayer** để thực hiện quốc tế hóa liền mạch trong các dự án Tanstack Start với định tuyến nhận biết locale, hỗ trợ TypeScript và các thực hành phát triển hiện đại.
|
|
56
56
|
|
|
57
|
-
## Intlayer
|
|
57
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
So với các giải pháp chính như `react-i18next` hay `use-intl`, hay `paraglide`, 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ư:
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
<AccordionGroup>
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
<Accordion header="Phạm vi bảo hiểm đầy đủ của TanStack Start">
|
|
64
|
+
|
|
65
|
+
Intlayer được tối ưu hóa hoàn toàn cho TanStack Start, cung cấp **định tuyến đa ngôn ngữ**, **quản lý cookie**, **tạo sơ đồ trang web**, **tải nội dung động** và tất cả các tính năng cần thiết để mở rộng nỗ lực quốc tế hóa (i18n) của bạn.
|
|
66
|
+
|
|
67
|
+
</Accordion>
|
|
68
|
+
|
|
69
|
+
<Accordion header="Kích thước bundle">
|
|
70
|
+
|
|
71
|
+
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**.
|
|
72
|
+
|
|
73
|
+
</Accordion>
|
|
74
|
+
|
|
75
|
+
<Accordion header="Khả năng bảo trì">
|
|
76
|
+
|
|
77
|
+
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.
|
|
78
|
+
|
|
79
|
+
</Accordion>
|
|
80
|
+
|
|
81
|
+
<Accordion header="Đại lý AI">
|
|
82
|
+
|
|
83
|
+
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.
|
|
84
|
+
|
|
85
|
+
</Accordion>
|
|
86
|
+
|
|
87
|
+
<Accordion header="Tự động hóa">
|
|
88
|
+
|
|
89
|
+
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**.
|
|
90
|
+
|
|
91
|
+
</Accordion>
|
|
92
|
+
|
|
93
|
+
<Accordion header="Hiệu suất">
|
|
94
|
+
|
|
95
|
+
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.
|
|
96
|
+
|
|
97
|
+
</Accordion>
|
|
98
|
+
|
|
99
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
100
|
+
|
|
101
|
+
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.
|
|
102
|
+
|
|
103
|
+
</Accordion>
|
|
104
|
+
</AccordionGroup>
|
|
68
105
|
|
|
69
106
|
---
|
|
70
107
|
|
|
@@ -102,11 +139,15 @@ Với Intlayer, bạn có thể:
|
|
|
102
139
|
|
|
103
140
|
Xem [Mẫu Ứng dụng](https://github.com/aymericzip/intlayer-tanstack-start-template) trên GitHub.
|
|
104
141
|
|
|
105
|
-
|
|
142
|
+
<Steps>
|
|
143
|
+
|
|
144
|
+
<Step number={1} title="Tạo Dự Án">
|
|
106
145
|
|
|
107
146
|
Bắt đầu bằng cách tạo một dự án TanStack Start mới theo hướng dẫn [Bắt đầu dự án mới](https://tanstack.com/start/latest/docs/framework/react/quick-start) trên trang web TanStack Start.
|
|
108
147
|
|
|
109
|
-
|
|
148
|
+
</Step>
|
|
149
|
+
|
|
150
|
+
<Step number={2} title="Cài Đặt Các Gói Intlayer">
|
|
110
151
|
|
|
111
152
|
Cài đặt các gói cần thiết bằng trình quản lý gói bạn ưa thích:
|
|
112
153
|
|
|
@@ -144,7 +185,9 @@ bun x intlayer init
|
|
|
144
185
|
- **vite-intlayer**
|
|
145
186
|
Bao gồm plugin Vite để tích hợp Intlayer với [trình đóng gói Vite](https://vite.dev/guide/why.html#why-bundle-for-production), cũng như middleware để phát hiện ngôn ngữ ưu tiên của người dùng, quản lý cookie và xử lý chuyển hướng URL.
|
|
146
187
|
|
|
147
|
-
|
|
188
|
+
</Step>
|
|
189
|
+
|
|
190
|
+
<Step number={3} title="Cấu hình dự án của bạn">
|
|
148
191
|
|
|
149
192
|
Tạo một file cấu hình để cấu hình các ngôn ngữ cho ứng dụng của bạn:
|
|
150
193
|
|
|
@@ -165,7 +208,9 @@ export default config;
|
|
|
165
208
|
|
|
166
209
|
> Thông qua file cấu hình này, bạn có thể thiết lập URL theo ngôn ngữ, chuyển hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt các log của Intlayer trên console, và nhiều hơn nữa. Để xem danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
167
210
|
|
|
168
|
-
|
|
211
|
+
</Step>
|
|
212
|
+
|
|
213
|
+
<Step number={4} title="Tích hợp Intlayer vào Cấu hình Vite của Bạn">
|
|
169
214
|
|
|
170
215
|
Thêm plugin intlayer vào cấu hình của bạn:
|
|
171
216
|
|
|
@@ -195,7 +240,9 @@ export default config;
|
|
|
195
240
|
|
|
196
241
|
> Plugin Vite `intlayer()` được sử dụng để tích hợp Intlayer với Vite. Nó đảm bảo việc xây dựng các file khai báo nội dung và giám sát chúng trong chế độ phát triển. Nó định nghĩa các biến môi trường Intlayer trong ứng dụng Vite. Ngoài ra, nó cung cấp các alias để tối ưu hiệu suất.
|
|
197
242
|
|
|
198
|
-
|
|
243
|
+
</Step>
|
|
244
|
+
|
|
245
|
+
<Step number={5} title="Tạo Root Layout">
|
|
199
246
|
|
|
200
247
|
Cấu hình root layout của bạn để hỗ trợ quốc tế hóa bằng cách sử dụng `useParams` để phát hiện locale hiện tại và đặt các thuộc tính `lang` và `dir` trên thẻ `html`.
|
|
201
248
|
|
|
@@ -255,7 +302,9 @@ function RootDocument({ children }: { children: ReactNode }) {
|
|
|
255
302
|
> <img src="{String(content.image.src)}" alt="{String(content.image)}" />
|
|
256
303
|
> ```
|
|
257
304
|
|
|
258
|
-
|
|
305
|
+
</Step>
|
|
306
|
+
|
|
307
|
+
<Step number={6} title="Tạo Layout Locale">
|
|
259
308
|
|
|
260
309
|
Tạo một layout xử lý tiền tố locale và thực hiện xác thực.
|
|
261
310
|
|
|
@@ -287,7 +336,9 @@ export const Route = createFileRoute("/{-$locale}")({
|
|
|
287
336
|
> Đối với chế độ `'prefix-all'`, bạn có thể muốn chuyển slot thành `$locale` thay thế.
|
|
288
337
|
> Đối với chế độ `'no-prefix'` hoặc `'search-params'`, bạn có thể xóa hoàn toàn slot.
|
|
289
338
|
|
|
290
|
-
|
|
339
|
+
</Step>
|
|
340
|
+
|
|
341
|
+
<Step number={7} title="Khai Báo Nội Dung Của Bạn">
|
|
291
342
|
|
|
292
343
|
Tạo và quản lý các khai báo nội dung để lưu trữ các bản dịch:
|
|
293
344
|
|
|
@@ -333,7 +384,9 @@ export default appContent;
|
|
|
333
384
|
|
|
334
385
|
> Để 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).
|
|
335
386
|
|
|
336
|
-
|
|
387
|
+
</Step>
|
|
388
|
+
|
|
389
|
+
<Step number={8} title="Tạo các Component và Hook nhận biết Locale">
|
|
337
390
|
|
|
338
391
|
Tạo một component `LocalizedLink` để điều hướng nhận biết locale:
|
|
339
392
|
|
|
@@ -437,7 +490,9 @@ export const useLocalizedNavigate = () => {
|
|
|
437
490
|
};
|
|
438
491
|
```
|
|
439
492
|
|
|
440
|
-
|
|
493
|
+
</Step>
|
|
494
|
+
|
|
495
|
+
<Step number={9} title="Sử dụng Intlayer trong các Trang của Bạn">
|
|
441
496
|
|
|
442
497
|
Truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
443
498
|
|
|
@@ -485,7 +540,9 @@ function RouteComponent() {
|
|
|
485
540
|
|
|
486
541
|
> Để tìm hiểu thêm về hook `useIntlayer`, hãy tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useIntlayer.md).
|
|
487
542
|
|
|
488
|
-
|
|
543
|
+
</Step>
|
|
544
|
+
|
|
545
|
+
<Step number={10} title="Tạo một Thành phần Chuyển đổi Ngôn ngữ">
|
|
489
546
|
|
|
490
547
|
Tạo một thành phần để cho phép người dùng thay đổi ngôn ngữ:
|
|
491
548
|
|
|
@@ -546,7 +603,9 @@ export const LocaleSwitcher: FC = () => {
|
|
|
546
603
|
|
|
547
604
|
> Để tìm hiểu thêm về hook `useLocale`, tham khảo [tài liệu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/react-intlayer/useLocale.md).
|
|
548
605
|
|
|
549
|
-
|
|
606
|
+
</Step>
|
|
607
|
+
|
|
608
|
+
<Step number={11} title="Quản lý Thuộc tính HTML">
|
|
550
609
|
|
|
551
610
|
Như đã thấy trong Bước 5, bạn có thể quản lý các thuộc tính `lang` và `dir` của thẻ `html` bằng cách sử dụng `useParams` trong component gốc của bạn. Điều này đảm bảo các thuộc tính được đặt đúng trên server và client.
|
|
552
611
|
|
|
@@ -565,7 +624,9 @@ function RootDocument({ children }: { children: ReactNode }) {
|
|
|
565
624
|
|
|
566
625
|
---
|
|
567
626
|
|
|
568
|
-
|
|
627
|
+
</Step>
|
|
628
|
+
|
|
629
|
+
<Step number={12} title="Thêm middleware">
|
|
569
630
|
|
|
570
631
|
Bạn cũng có thể sử dụng `intlayerProxy` để thêm routing phía server vào ứng dụng của bạn. Plugin này sẽ tự động phát hiện locale hiện tại dựa trên URL và thiết lập cookie locale phù hợp. Nếu không có locale nào được chỉ định, plugin sẽ xác định locale phù hợp nhất dựa trên ngôn ngữ trình duyệt của người dùng. Nếu không phát hiện được locale nào, nó sẽ chuyển hướng đến locale mặc định.
|
|
571
632
|
|
|
@@ -596,7 +657,9 @@ export default defineConfig({
|
|
|
596
657
|
|
|
597
658
|
---
|
|
598
659
|
|
|
599
|
-
|
|
660
|
+
</Step>
|
|
661
|
+
|
|
662
|
+
<Step number={13} title="Quốc tế hóa siêu dữ liệu của bạn">
|
|
600
663
|
|
|
601
664
|
Bạn cũng có thể sử dụng hook `getIntlayer` để truy cập các từ điển nội dung của bạn trong toàn bộ ứng dụng:
|
|
602
665
|
|
|
@@ -643,7 +706,9 @@ export const Route = createFileRoute("/{-$locale}/")({
|
|
|
643
706
|
|
|
644
707
|
---
|
|
645
708
|
|
|
646
|
-
|
|
709
|
+
</Step>
|
|
710
|
+
|
|
711
|
+
<Step number={14} title="Lấy locale trong server actions của bạn">
|
|
647
712
|
|
|
648
713
|
Bạn có thể muốn truy cập locale hiện tại từ bên trong server actions hoặc API endpoints của mình.
|
|
649
714
|
Bạn có thể làm điều này bằng cách sử dụng helper `getLocale` từ `intlayer`.
|
|
@@ -680,7 +745,9 @@ export const getLocaleServer = createServerFn().handler(async () => {
|
|
|
680
745
|
|
|
681
746
|
---
|
|
682
747
|
|
|
683
|
-
|
|
748
|
+
</Step>
|
|
749
|
+
|
|
750
|
+
<Step number={15} title="Quản lý trang không tìm thấy">
|
|
684
751
|
|
|
685
752
|
Khi người dùng truy cập một trang không tồn tại, bạn có thể hiển thị một trang không tìm thấy tùy chỉnh và tiền tố locale có thể ảnh hưởng đến cách trang không tìm thấy được kích hoạt.
|
|
686
753
|
|
|
@@ -756,7 +823,9 @@ export const Route = createFileRoute("/{-$locale}/$")({
|
|
|
756
823
|
|
|
757
824
|
---
|
|
758
825
|
|
|
759
|
-
|
|
826
|
+
</Step>
|
|
827
|
+
|
|
828
|
+
<Step number={16} title="Cấu hình TypeScript">
|
|
760
829
|
|
|
761
830
|
Intlayer sử dụng module augmentation để tận dụng các lợi ích của TypeScript và làm cho codebase của bạn mạnh mẽ hơn.
|
|
762
831
|
|
|
@@ -774,7 +843,9 @@ Intlayer sử dụng module augmentation để tận dụng các lợi ích củ
|
|
|
774
843
|
|
|
775
844
|
---
|
|
776
845
|
|
|
777
|
-
|
|
846
|
+
</Step>
|
|
847
|
+
|
|
848
|
+
<Step number={1} title="Trích xuất nội dung các thành phần của bạn" isOptional={true}>
|
|
778
849
|
|
|
779
850
|
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.
|
|
780
851
|
|
|
@@ -872,6 +943,10 @@ bun run build # Or bun run dev
|
|
|
872
943
|
|
|
873
944
|
---
|
|
874
945
|
|
|
946
|
+
</Step>
|
|
947
|
+
|
|
948
|
+
</Steps>
|
|
949
|
+
|
|
875
950
|
### Cấu hình Git
|
|
876
951
|
|
|
877
952
|
Khuyến nghị bạn nên bỏ qua các file được tạo bởi Intlayer. Điều này giúp bạn tránh việc commit chúng vào kho Git của mình.
|