@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-11-01
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: 如何使用 next-i18next 国际化您的 Next.js 应用
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: 如何使用 next-i18next 国际化您的 Next.js 应用 - 完整翻译指南: Translate Next.js 16 with next-i18next — App Router Setup
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Next.js 16 网站在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- next-i18next
|
|
8
8
|
- i18next
|
|
@@ -80,6 +80,7 @@ history:
|
|
|
80
80
|
title="演示 CodeSandbox - 如何使用 Intlayer 国际化您的应用"
|
|
81
81
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
82
82
|
loading="lazy"
|
|
83
|
+
/>
|
|
83
84
|
|
|
84
85
|
> 查看 GitHub 上的[应用模板](https://github.com/aymericzip/next-i18next-template)。
|
|
85
86
|
|
|
@@ -116,7 +117,9 @@ history:
|
|
|
116
117
|
└── ServerComponent.tsx
|
|
117
118
|
```
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
<Steps>
|
|
121
|
+
|
|
122
|
+
<Step number={1} title="安装依赖">
|
|
120
123
|
|
|
121
124
|
使用 npm 安装必要的包:
|
|
122
125
|
|
|
@@ -136,7 +139,9 @@ yarn add i18next react-i18next i18next-resources-to-backend
|
|
|
136
139
|
- **react-i18next**:i18next 的 React 绑定,提供如 `useTranslation` 的钩子,适用于客户端组件。
|
|
137
140
|
- **i18next-resources-to-backend**:一个插件,支持动态加载翻译文件,只加载你需要的命名空间。
|
|
138
141
|
|
|
139
|
-
|
|
142
|
+
</Step>
|
|
143
|
+
|
|
144
|
+
<Step number={2} title="配置您的项目">
|
|
140
145
|
|
|
141
146
|
创建一个配置文件来定义您支持的语言环境、默认语言环境以及用于 URL 本地化的辅助函数。该文件作为您的 i18n 设置的唯一可信来源,并确保整个应用程序中的类型安全。
|
|
142
147
|
|
|
@@ -189,7 +194,9 @@ export function getCookie(locale: Locale) {
|
|
|
189
194
|
}
|
|
190
195
|
```
|
|
191
196
|
|
|
192
|
-
|
|
197
|
+
</Step>
|
|
198
|
+
|
|
199
|
+
<Step number={3} title="集中管理翻译命名空间">
|
|
193
200
|
|
|
194
201
|
为您的应用程序公开的每个命名空间创建一个单一的可信来源。重用此列表可以保持服务器、客户端和工具代码的同步,并为翻译辅助工具解锁强类型支持。
|
|
195
202
|
|
|
@@ -199,7 +206,9 @@ export const namespaces = ["common", "about"] as const;
|
|
|
199
206
|
export type Namespace = (typeof namespaces)[number];
|
|
200
207
|
```
|
|
201
208
|
|
|
202
|
-
|
|
209
|
+
</Step>
|
|
210
|
+
|
|
211
|
+
<Step number={4} title="使用 TypeScript 强类型化翻译键">
|
|
203
212
|
|
|
204
213
|
扩展 `i18next` 指向您的规范语言文件(通常是英文)。TypeScript 会推断每个命名空间的有效键,因此对 `t()` 的调用会进行端到端的检查。
|
|
205
214
|
|
|
@@ -237,7 +246,9 @@ const { t } = useTranslation("about");
|
|
|
237
246
|
export type AboutTranslator = TFunction<"about">;
|
|
238
247
|
```
|
|
239
248
|
|
|
240
|
-
|
|
249
|
+
</Step>
|
|
250
|
+
|
|
251
|
+
<Step number={5} title="设置服务器端 i18n 初始化">
|
|
241
252
|
|
|
242
253
|
创建一个服务器端初始化函数,用于加载服务器组件的翻译。该函数为服务器端渲染创建一个独立的 i18next 实例,确保在渲染之前加载翻译内容。
|
|
243
254
|
|
|
@@ -292,7 +303,9 @@ export async function initI18next(
|
|
|
292
303
|
}
|
|
293
304
|
```
|
|
294
305
|
|
|
295
|
-
|
|
306
|
+
</Step>
|
|
307
|
+
|
|
308
|
+
<Step number={6} title="创建客户端i18n提供者">
|
|
296
309
|
|
|
297
310
|
创建一个客户端组件提供者,将你的应用包裹在i18next上下文中。该提供者接收从服务器预加载的翻译,防止未翻译内容闪烁(FOUC)并避免重复请求。
|
|
298
311
|
|
|
@@ -375,7 +388,9 @@ export default function I18nProvider({
|
|
|
375
388
|
}
|
|
376
389
|
```
|
|
377
390
|
|
|
378
|
-
|
|
391
|
+
</Step>
|
|
392
|
+
|
|
393
|
+
<Step number={7} title="定义动态语言路由">
|
|
379
394
|
|
|
380
395
|
通过在你的 app 文件夹中创建一个 `[locale]` 目录来设置语言的动态路由。这允许 Next.js 处理基于语言的路由,其中每个语言成为 URL 的一部分(例如 `/en/about`,`/fr/about`)。
|
|
381
396
|
|
|
@@ -427,7 +442,9 @@ export default function LocaleLayout({
|
|
|
427
442
|
}
|
|
428
443
|
```
|
|
429
444
|
|
|
430
|
-
|
|
445
|
+
</Step>
|
|
446
|
+
|
|
447
|
+
<Step number={8} title="创建您的翻译文件">
|
|
431
448
|
|
|
432
449
|
为每个 locale 和命名空间创建 JSON 文件。此结构允许您逻辑地组织翻译,并且只加载每个页面所需的内容。
|
|
433
450
|
|
|
@@ -520,7 +537,9 @@ export default function LocaleLayout({
|
|
|
520
537
|
}
|
|
521
538
|
```
|
|
522
539
|
|
|
523
|
-
|
|
540
|
+
</Step>
|
|
541
|
+
|
|
542
|
+
<Step number={9} title="在页面中使用翻译">
|
|
524
543
|
|
|
525
544
|
创建一个页面组件,在服务器端初始化 i18next,并将翻译传递给服务器和客户端组件。这确保了在渲染前加载翻译,防止内容闪烁。
|
|
526
545
|
|
|
@@ -580,7 +599,9 @@ export default async function AboutPage({
|
|
|
580
599
|
}
|
|
581
600
|
```
|
|
582
601
|
|
|
583
|
-
|
|
602
|
+
</Step>
|
|
603
|
+
|
|
604
|
+
<Step number={10} title="在客户端组件中使用翻译">
|
|
584
605
|
|
|
585
606
|
客户端组件可以使用 `useTranslation` 钩子来访问翻译。该钩子提供对翻译函数和 i18n 实例的访问,允许你翻译内容并访问语言环境信息。
|
|
586
607
|
|
|
@@ -631,7 +652,9 @@ const ClientComponent = () => {
|
|
|
631
652
|
export default ClientComponent;
|
|
632
653
|
```
|
|
633
654
|
|
|
634
|
-
|
|
655
|
+
</Step>
|
|
656
|
+
|
|
657
|
+
<Step number={11} title="在服务器组件中使用翻译">
|
|
635
658
|
|
|
636
659
|
服务器组件不能使用 React hooks,因此它们通过 props 从父组件接收翻译内容。这种方式保持了服务器组件的同步性,并允许它们嵌套在客户端组件内部。
|
|
637
660
|
|
|
@@ -677,9 +700,9 @@ const ServerComponent = ({ t, locale, count }: ServerComponentProps) => {
|
|
|
677
700
|
export default ServerComponent;
|
|
678
701
|
```
|
|
679
702
|
|
|
680
|
-
|
|
703
|
+
</Step>
|
|
681
704
|
|
|
682
|
-
|
|
705
|
+
<Step number={12} title="更改内容语言" isOptional={true}>
|
|
683
706
|
|
|
684
707
|
在 Next.js 中更改内容语言,推荐的方式是使用带有区域设置前缀的 URL 和 Next.js 的链接。下面的示例从路由中读取当前区域设置,从路径名中剥离它,并为每个可用的区域设置渲染一个链接。
|
|
685
708
|
|
|
@@ -751,7 +774,9 @@ export default function LocaleSwitcher() {
|
|
|
751
774
|
}
|
|
752
775
|
```
|
|
753
776
|
|
|
754
|
-
|
|
777
|
+
</Step>
|
|
778
|
+
|
|
779
|
+
<Step number={13} title="构建本地化的 Link 组件" isOptional={true}>
|
|
755
780
|
|
|
756
781
|
在整个应用中重用本地化的 URL 可以保持导航的一致性并有利于 SEO。将 `next/link` 包装在一个小的辅助函数中,该函数会为内部路由添加当前激活的 locale 前缀,同时保持外部 URL 不变。
|
|
757
782
|
|
|
@@ -802,7 +827,9 @@ export default function LocalizedLink({
|
|
|
802
827
|
|
|
803
828
|
> 提示:由于 `LocalizedLink` 是一个即插即用的替代方案,可以通过交换导入并让组件处理特定语言环境的 URL 来逐步迁移。
|
|
804
829
|
|
|
805
|
-
|
|
830
|
+
</Step>
|
|
831
|
+
|
|
832
|
+
<Step number={14} title="在服务器操作中访问当前语言环境" isOptional={true}>
|
|
806
833
|
|
|
807
834
|
服务器操作通常需要当前语言环境来处理邮件、日志记录或第三方集成。将代理设置的语言环境 cookie 与 `Accept-Language` 头部结合使用,作为回退方案。
|
|
808
835
|
|
|
@@ -840,7 +867,9 @@ export async function stuffFromServer(formData: FormData) {
|
|
|
840
867
|
|
|
841
868
|
> 由于该辅助工具依赖于 Next.js 的 cookies 和 headers,因此它适用于路由处理程序、服务器操作以及其他仅限服务器的上下文。
|
|
842
869
|
|
|
843
|
-
|
|
870
|
+
</Step>
|
|
871
|
+
|
|
872
|
+
<Step number={15} title="国际化您的元数据" isOptional={true}>
|
|
844
873
|
|
|
845
874
|
翻译内容很重要,但国际化的主要目标是让您的网站在全球范围内更具可见性。I18n 是通过适当的 SEO 提升网站可见性的强大杠杆。
|
|
846
875
|
|
|
@@ -907,7 +936,9 @@ export default async function AboutPage() {
|
|
|
907
936
|
}
|
|
908
937
|
```
|
|
909
938
|
|
|
910
|
-
|
|
939
|
+
</Step>
|
|
940
|
+
|
|
941
|
+
<Step number={16} title="国际化您的网站地图" isOptional={true}>
|
|
911
942
|
|
|
912
943
|
生成包含所有本地版本页面的网站地图。这有助于搜索引擎发现并索引您内容的所有语言版本。
|
|
913
944
|
|
|
@@ -961,7 +992,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|
|
961
992
|
}
|
|
962
993
|
```
|
|
963
994
|
|
|
964
|
-
|
|
995
|
+
</Step>
|
|
996
|
+
|
|
997
|
+
<Step number={17} title="国际化您的robots.txt" isOptional={true}>
|
|
965
998
|
|
|
966
999
|
创建一个 robots.txt 文件,正确处理所有受保护路由的所有语言版本。这确保搜索引擎不会索引任何语言的管理员或仪表盘页面。
|
|
967
1000
|
|
|
@@ -992,7 +1025,9 @@ export default function robots(): MetadataRoute.Robots {
|
|
|
992
1025
|
}
|
|
993
1026
|
```
|
|
994
1027
|
|
|
995
|
-
|
|
1028
|
+
</Step>
|
|
1029
|
+
|
|
1030
|
+
<Step number={18} title="设置用于区域路由的中间件" isOptional={true}>
|
|
996
1031
|
|
|
997
1032
|
创建一个代理,自动检测用户的首选语言环境,并将其重定向到相应的带有语言前缀的URL。这可以通过显示用户首选语言的内容来提升用户体验。
|
|
998
1033
|
|
|
@@ -1081,7 +1116,9 @@ export const config = {
|
|
|
1081
1116
|
};
|
|
1082
1117
|
```
|
|
1083
1118
|
|
|
1084
|
-
|
|
1119
|
+
</Step>
|
|
1120
|
+
|
|
1121
|
+
<Step number={19} title="使用 Intlayer 自动化您的翻译" isOptional={true}>
|
|
1085
1122
|
|
|
1086
1123
|
Intlayer 是一个**免费**且**开源**的库,旨在协助您应用中的本地化流程。虽然 i18next 负责翻译的加载和管理,Intlayer 则帮助自动化翻译工作流。
|
|
1087
1124
|
|
|
@@ -1111,3 +1148,7 @@ Intlayer 允许您:
|
|
|
1111
1148
|
Intlayer 提供免费的可视化编辑器,使用可视化编辑器编辑您的内容。了解更多关于[可视化编辑您的翻译](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md)。
|
|
1112
1149
|
|
|
1113
1150
|
以及更多功能。要发现 Intlayer 提供的所有功能,请参阅[Intlayer 的优势文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/interest_of_intlayer.md)。
|
|
1151
|
+
|
|
1152
|
+
</Step>
|
|
1153
|
+
|
|
1154
|
+
</Steps>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-01
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: 如何使用 next-intl 国际化你的 Next.js 应用
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: 如何使用 next-intl 国际化你的 Next.js 应用 - 完整翻译指南: Translate Next.js 16 with next-intl — App Router Setup
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Next.js 16 网站在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- next-intl
|
|
8
8
|
- Internationalization
|
|
@@ -71,6 +71,7 @@ history:
|
|
|
71
71
|
title="演示 CodeSandbox - 如何使用 Intlayer 实现应用国际化"
|
|
72
72
|
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
73
73
|
loading="lazy"
|
|
74
|
+
/>
|
|
74
75
|
|
|
75
76
|
> 查看 GitHub 上的[应用模板](https://github.com/aymericzip/next-intl-template)。
|
|
76
77
|
|
|
@@ -106,7 +107,9 @@ history:
|
|
|
106
107
|
└── ServerComponent.tsx
|
|
107
108
|
```
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
<Steps>
|
|
111
|
+
|
|
112
|
+
<Step number={1} title="安装依赖">
|
|
110
113
|
|
|
111
114
|
使用 npm 安装必要的包:
|
|
112
115
|
|
|
@@ -124,7 +127,9 @@ yarn add next-intl
|
|
|
124
127
|
|
|
125
128
|
- **next-intl**:Next.js App Router 的核心国际化库,提供用于管理翻译的 hooks、服务器函数和客户端提供者。
|
|
126
129
|
|
|
127
|
-
|
|
130
|
+
</Step>
|
|
131
|
+
|
|
132
|
+
<Step number={2} title="配置项目">
|
|
128
133
|
|
|
129
134
|
创建一个配置文件,定义你支持的语言环境并设置 next-intl 的请求配置。该文件作为你的国际化设置的唯一可信来源,并确保整个应用中的类型安全。
|
|
130
135
|
|
|
@@ -209,7 +214,9 @@ export const { Link, redirect, usePathname, useRouter, getPathname } =
|
|
|
209
214
|
export const proxy = createMiddleware(routingOptions);
|
|
210
215
|
```
|
|
211
216
|
|
|
212
|
-
|
|
217
|
+
</Step>
|
|
218
|
+
|
|
219
|
+
<Step number={3} title="定义动态语言路由">
|
|
213
220
|
|
|
214
221
|
通过在您的应用程序文件夹中创建一个 `[locale]` 目录来设置基于语言环境的动态路由。这允许 Next.js 处理基于语言环境的路由,其中每个语言环境成为 URL 的一部分(例如 `/en/about`,`/fr/about`)。
|
|
215
222
|
|
|
@@ -298,7 +305,9 @@ export default async function AboutPage({
|
|
|
298
305
|
}
|
|
299
306
|
```
|
|
300
307
|
|
|
301
|
-
|
|
308
|
+
</Step>
|
|
309
|
+
|
|
310
|
+
<Step number={4} title="创建您的翻译文件">
|
|
302
311
|
|
|
303
312
|
为每个语言环境和命名空间创建 JSON 文件。此结构允许您逻辑性地组织翻译内容,并且只加载每个页面所需的内容。
|
|
304
313
|
|
|
@@ -340,7 +349,9 @@ export default async function AboutPage({
|
|
|
340
349
|
}
|
|
341
350
|
```
|
|
342
351
|
|
|
343
|
-
|
|
352
|
+
</Step>
|
|
353
|
+
|
|
354
|
+
<Step number={5} title="在页面中使用翻译">
|
|
344
355
|
|
|
345
356
|
创建一个页面组件,在服务器端加载翻译,并将其传递给服务器和客户端组件。这确保了翻译在渲染之前加载,防止内容闪烁。
|
|
346
357
|
|
|
@@ -391,7 +402,9 @@ export default async function AboutPage({
|
|
|
391
402
|
}
|
|
392
403
|
```
|
|
393
404
|
|
|
394
|
-
|
|
405
|
+
</Step>
|
|
406
|
+
|
|
407
|
+
<Step number={6} title="在客户端组件中使用翻译">
|
|
395
408
|
|
|
396
409
|
客户端组件可以使用 `useTranslations` 和 `useFormatter` 钩子来访问翻译和格式化函数。这些钩子从 `NextIntlClientProvider` 上下文中读取数据。
|
|
397
410
|
|
|
@@ -427,7 +440,9 @@ const ClientComponent = () => {
|
|
|
427
440
|
};
|
|
428
441
|
```
|
|
429
442
|
|
|
430
|
-
|
|
443
|
+
</Step>
|
|
444
|
+
|
|
445
|
+
<Step number={7} title="在服务器组件中使用翻译">
|
|
431
446
|
|
|
432
447
|
服务器组件不能使用 React 钩子,因此它们通过父组件的 props 接收翻译和格式化函数。这种方法保持服务器组件的同步性,并允许它们嵌套在客户端组件内。
|
|
433
448
|
|
|
@@ -459,9 +474,9 @@ const ServerComponent = ({
|
|
|
459
474
|
|
|
460
475
|
> 在你的页面或布局中,使用 `next-intl/server` 中的 `getTranslations` 和 `getFormatter` 预先计算翻译和格式化,然后将它们作为 props 传递给服务器组件。
|
|
461
476
|
|
|
462
|
-
|
|
477
|
+
</Step>
|
|
463
478
|
|
|
464
|
-
|
|
479
|
+
<Step number={8} title="更改内容语言" isOptional={true}>
|
|
465
480
|
|
|
466
481
|
要使用 next-intl 更改内容语言,渲染指向相同路径名但切换语言环境的本地化链接。Provider 会自动重写 URL,因此你只需针对当前路由即可。
|
|
467
482
|
|
|
@@ -533,7 +548,9 @@ export default function LocaleSwitcher() {
|
|
|
533
548
|
}
|
|
534
549
|
```
|
|
535
550
|
|
|
536
|
-
|
|
551
|
+
</Step>
|
|
552
|
+
|
|
553
|
+
<Step number={9} title="使用本地化的 Link 组件" isOptional={true}>
|
|
537
554
|
|
|
538
555
|
`next-intl` 提供了一个子包 `next-intl/navigation`,其中包含一个自动应用当前活动语言环境的本地化链接组件。我们已经在 `@/i18n` 文件中为你提取好了它,所以你可以这样使用:
|
|
539
556
|
|
|
@@ -543,7 +560,9 @@ import { Link } from "@/i18n";
|
|
|
543
560
|
return <Link href="/about">t("about.title")</Link>;
|
|
544
561
|
```
|
|
545
562
|
|
|
546
|
-
|
|
563
|
+
</Step>
|
|
564
|
+
|
|
565
|
+
<Step number={10} title="在服务器操作中访问活动语言环境" isOptional={true}>
|
|
547
566
|
|
|
548
567
|
服务器操作可以使用 `next-intl/server` 读取当前语言环境。这对于发送本地化邮件或在提交的数据中存储语言偏好非常有用。
|
|
549
568
|
|
|
@@ -566,7 +585,9 @@ export async function handleContactForm(formData: FormData) {
|
|
|
566
585
|
|
|
567
586
|
> `getLocale` 会读取由 `next-intl` 代理设置的 locale,因此它可以在服务器的任何地方使用:路由处理程序、服务器操作和边缘函数。
|
|
568
587
|
|
|
569
|
-
|
|
588
|
+
</Step>
|
|
589
|
+
|
|
590
|
+
<Step number={11} title="国际化您的元数据" isOptional={true}>
|
|
570
591
|
|
|
571
592
|
翻译内容很重要,但国际化的主要目标是让您的网站对全世界更具可见性。I18n 是通过适当的 SEO 显著提升您网站可见性的强大杠杆。
|
|
572
593
|
|
|
@@ -605,7 +626,9 @@ export async function generateMetadata({
|
|
|
605
626
|
// ... 页面其余代码
|
|
606
627
|
```
|
|
607
628
|
|
|
608
|
-
|
|
629
|
+
</Step>
|
|
630
|
+
|
|
631
|
+
<Step number={12} title="国际化您的网站地图" isOptional={true}>
|
|
609
632
|
|
|
610
633
|
生成包含所有页面本地化版本的站点地图。这有助于搜索引擎发现并索引您内容的所有语言版本。
|
|
611
634
|
|
|
@@ -659,7 +682,9 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|
|
659
682
|
}
|
|
660
683
|
```
|
|
661
684
|
|
|
662
|
-
|
|
685
|
+
</Step>
|
|
686
|
+
|
|
687
|
+
<Step number={13} title="国际化您的 robots.txt" isOptional={true}>
|
|
663
688
|
|
|
664
689
|
创建一个 robots.txt 文件,正确处理所有受保护路由的所有语言版本。这确保搜索引擎不会索引任何语言的管理员或仪表盘页面。
|
|
665
690
|
|
|
@@ -692,7 +717,9 @@ export default function robots(): MetadataRoute.Robots {
|
|
|
692
717
|
}
|
|
693
718
|
```
|
|
694
719
|
|
|
695
|
-
|
|
720
|
+
</Step>
|
|
721
|
+
|
|
722
|
+
<Step number={14} title="为本地化路由设置代理" isOptional={true}>
|
|
696
723
|
|
|
697
724
|
创建一个代理,自动检测用户的首选语言环境,并将其重定向到相应的带有语言前缀的 URL。next-intl 提供了一个方便的代理函数,可以自动处理此操作。
|
|
698
725
|
|
|
@@ -712,7 +739,9 @@ export const config = {
|
|
|
712
739
|
};
|
|
713
740
|
```
|
|
714
741
|
|
|
715
|
-
|
|
742
|
+
</Step>
|
|
743
|
+
|
|
744
|
+
<Step number={15} title="为语言环境设置 TypeScript 类型" isOptional={true}>
|
|
716
745
|
|
|
717
746
|
设置 TypeScript 将帮助您获得键的自动补全和类型安全。
|
|
718
747
|
|
|
@@ -738,7 +767,9 @@ declare module "next-intl" {
|
|
|
738
767
|
|
|
739
768
|
此代码将使用模块增强(Module Augmentation)将 locales 和 messages 添加到 next-intl 的 AppConfig 类型中。
|
|
740
769
|
|
|
741
|
-
|
|
770
|
+
</Step>
|
|
771
|
+
|
|
772
|
+
<Step number={16} title="使用 Intlayer 自动化您的翻译工作" isOptional={true}>
|
|
742
773
|
|
|
743
774
|
Intlayer 是一个 **免费** 和 **开源** 的库,旨在协助您的应用程序的本地化过程。虽然 next-intl 负责翻译的加载和管理,Intlayer 则帮助自动化翻译工作流程。
|
|
744
775
|
|
|
@@ -763,3 +794,7 @@ Intlayer 允许您:
|
|
|
763
794
|
Intlayer 提供免费的可视化编辑器,使用可视化编辑器编辑您的内容。了解更多关于[可视化编辑您的翻译](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/intlayer_visual_editor.md)的信息。
|
|
764
795
|
|
|
765
796
|
以及更多功能。要发现 Intlayer 提供的所有功能,请参阅[Intlayer 的优势文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/interest_of_intlayer.md)。
|
|
797
|
+
|
|
798
|
+
</Step>
|
|
799
|
+
|
|
800
|
+
</Steps>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-01-16
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: Angular的最佳国际化工具
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: Angular的最佳国际化工具 - 完整翻译指南: Best Angular i18n Libraries 2026 — Compared by DX & Bundle
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Angular 应用在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- Angular
|
|
8
8
|
- i18n
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-01-16
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: React Native的最佳国际化工具
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "React Native的最佳国际化工具 - 完整翻译指南: React Native i18n 2026: Best Tools for Expo & TypeScript"
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 React Native 移动应用在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- React Native
|
|
8
8
|
- i18n
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-01-16
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: React的最佳国际化工具
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: React的最佳国际化工具 - 完整翻译指南: Best React i18n Libraries 2026 — Compared by DX & Bundle
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 React 应用在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- React
|
|
8
8
|
- i18n
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-01-16
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: Svelte的最佳国际化工具
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: Svelte的最佳国际化工具 - 完整翻译指南: Best Svelte i18n Libraries 2026 — Compared by DX & Bundle
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Svelte 应用在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- Svelte
|
|
8
8
|
- i18n
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-01-16
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: Vue的最佳国际化工具
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: Vue的最佳国际化工具 - 完整翻译指南: Best Vue i18n Libraries 2026 — Compared by DX & Bundle
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Vue 应用在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- Vue
|
|
8
8
|
- i18n
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: next-i18next vs next-intl vs Intlayer
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: "next-i18next vs next-intl vs Intlayer - 完整翻译指南: next-i18next vs next-intl vs Intlayer: 2026 Comparison"
|
|
5
|
+
description: 最佳的包体积、SEO、性能和可维护性解决方案。让您的 Next.js 网站在 2026 年实现多语言化,LLM 翻译,Agent Skills & MCP。
|
|
6
6
|
keywords:
|
|
7
7
|
- next-intl
|
|
8
8
|
- next-i18next
|
package/dist/cjs/common.cjs
CHANGED
|
@@ -19,7 +19,7 @@ const getFile = async (files, docKey, locale = defaultLocale) => {
|
|
|
19
19
|
if (!files[docKey]) throw new Error(`File ${docKey} not found`);
|
|
20
20
|
const file = await files[docKey]?.[locale];
|
|
21
21
|
if (!file) {
|
|
22
|
-
const englishFile = await files[docKey][defaultLocale];
|
|
22
|
+
const englishFile = await files[docKey]?.[defaultLocale];
|
|
23
23
|
if (!englishFile) throw new Error(`File ${docKey} not found`);
|
|
24
24
|
return englishFile;
|
|
25
25
|
}
|
package/dist/cjs/common.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.cjs","names":["Locales"],"sources":["../../src/common.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { getLocalizedUrl } from '@intlayer/core/localization';\nimport { getMarkdownMetadata } from '@intlayer/core/transpiler';\nimport * as Locales from '@intlayer/types/locales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nexport const defaultLocale = Locales.ENGLISH;\n\nexport const GITHUB_URL_PREFIX =\n 'https://github.com/aymericzip/intlayer/blob/main/docs';\nexport const URL_PREFIX = 'https://intlayer.org/';\n\nexport const getKeys = <T extends Record<string, any>>(obj: T): (keyof T)[] =>\n Object.keys(obj) as (keyof T)[];\n\nexport const getFiles = async <\n F extends Record<`./${string}`, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n lang: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<string, string>> => {\n const filesEntries = await Promise.all(\n Object.entries(files)\n .map(([key, value]) => [key, value[lang as LocalesValues]])\n .map(async ([key, value]) => [key, await value])\n );\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult;\n};\n\nexport const getFile = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<string> => {\n const fileRecord = files[docKey];\n\n if (!fileRecord) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n const file = await files[docKey]?.[locale];\n\n if (!file) {\n const englishFile = await files[docKey][defaultLocale as LocalesValues];\n\n if (!englishFile) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n return englishFile;\n }\n\n return file;\n};\n\nexport type FileMetadata = {\n docKey: string;\n url: string;\n relativeUrl: string;\n githubUrl: string;\n title: string;\n slugs: string[];\n description: string;\n keywords: string[];\n updatedAt: string;\n createdAt: string;\n author?: string;\n youtubeVideo?: string;\n applicationTemplate?: string;\n applicationShowcase?: string;\n history?: {\n version: string;\n date: string;\n changes: string;\n }[];\n};\n\nexport const formatMetadata = (\n docKey: string,\n file: string,\n locale: LocalesValues = defaultLocale as LocalesValues\n): FileMetadata => {\n const metadata = getMarkdownMetadata(file);\n\n const slugs = (metadata.slugs ?? []).map(String);\n const keywords = (metadata.keywords ?? []).map(String);\n\n const relativeUrl = join('/', ...slugs);\n\n const slicedDocKey = docKey.slice(1);\n\n return {\n ...metadata,\n docKey,\n slugs,\n keywords,\n githubUrl: `${GITHUB_URL_PREFIX}${slicedDocKey}`.replace(\n '/en/',\n `/${locale}/`\n ),\n relativeUrl: getLocalizedUrl(relativeUrl, locale),\n url: getLocalizedUrl(join(URL_PREFIX, relativeUrl), locale),\n } as FileMetadata;\n};\n\nexport const getFileMetadata = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n R extends FileMetadata,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<R> => {\n const file = await getFile(files, docKey, locale);\n\n return formatMetadata(docKey as string, file, locale) as R;\n};\n\nexport const getFileMetadataRecord = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<keyof F, FileMetadata>> => {\n const results = await Promise.allSettled(\n Object.entries(files).map(async ([key]) => {\n const metadata = await getFileMetadata(files, key as keyof F, locale);\n return [key, metadata] as [string, FileMetadata];\n })\n );\n const filesEntries = results\n .filter(\n (r): r is PromiseFulfilledResult<[string, FileMetadata]> =>\n r.status === 'fulfilled'\n )\n .map((r) => r.value);\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult as Record<keyof F, FileMetadata>;\n};\n\nexport const getFileMetadataBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray: FileMetadata[] = Object.values(filesMetadata).filter(\n (fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n if (locale !== defaultLocale) {\n const localizedFileMetadata = await Promise.all(\n fileMetadataArray.map(\n async (fileMetadata) =>\n await getFileMetadata(files, fileMetadata.docKey, locale)\n )\n );\n\n return localizedFileMetadata;\n }\n\n return fileMetadataArray;\n};\n\nexport const getFileBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray = Object.values(filesMetadata).filter((fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n const fileList = await Promise.all(\n fileMetadataArray.map(async (fileMetadata) => {\n const file = await getFile(files, fileMetadata.docKey, locale);\n return file;\n })\n );\n\n return fileList;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,gBAAgBA,wBAAQ;AAErC,MAAa,oBACX;AACF,MAAa,aAAa;AAE1B,MAAa,WAA0C,QACrD,OAAO,KAAK,GAAG;AAEjB,MAAa,WAAW,OAGtB,OACA,OAAsB,kBACc;CACpC,MAAM,eAAe,MAAM,QAAQ,IACjC,OAAO,QAAQ,KAAK,EACjB,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAsB,CAAC,EACzD,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAK,CAAC,CACnD;CAEA,OADoB,OAAO,YAAY,YACtB;AACnB;AAEA,MAAa,UAAU,OAGrB,OACA,QACA,SAAwB,kBACJ;CAGpB,IAAI,CAFe,MAAM,SAGvB,MAAM,IAAI,MAAM,QAAQ,OAAiB,WAAW;CAGtD,MAAM,OAAO,MAAM,MAAM,UAAU;CAEnC,IAAI,CAAC,MAAM;EACT,MAAM,cAAc,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"common.cjs","names":["Locales"],"sources":["../../src/common.ts"],"sourcesContent":["import { join } from 'node:path';\nimport { getLocalizedUrl } from '@intlayer/core/localization';\nimport { getMarkdownMetadata } from '@intlayer/core/transpiler';\nimport * as Locales from '@intlayer/types/locales';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\n\nexport const defaultLocale = Locales.ENGLISH;\n\nexport const GITHUB_URL_PREFIX =\n 'https://github.com/aymericzip/intlayer/blob/main/docs';\nexport const URL_PREFIX = 'https://intlayer.org/';\n\nexport const getKeys = <T extends Record<string, any>>(obj: T): (keyof T)[] =>\n Object.keys(obj) as (keyof T)[];\n\nexport const getFiles = async <\n F extends Record<`./${string}`, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n lang: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<string, string>> => {\n const filesEntries = await Promise.all(\n Object.entries(files)\n .map(([key, value]) => [key, value[lang as LocalesValues]])\n .map(async ([key, value]) => [key, await value])\n );\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult;\n};\n\nexport const getFile = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<string> => {\n const fileRecord = files[docKey];\n\n if (!fileRecord) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n const file = await files[docKey]?.[locale];\n\n if (!file) {\n const englishFile = await files[docKey]?.[defaultLocale as LocalesValues];\n\n if (!englishFile) {\n throw new Error(`File ${docKey as string} not found`);\n }\n\n return englishFile;\n }\n\n return file;\n};\n\nexport type FileMetadata = {\n docKey: string;\n url: string;\n relativeUrl: string;\n githubUrl: string;\n title: string;\n slugs: string[];\n description: string;\n keywords: string[];\n updatedAt: string;\n createdAt: string;\n author?: string;\n youtubeVideo?: string;\n applicationTemplate?: string;\n applicationShowcase?: string;\n history?: {\n version: string;\n date: string;\n changes: string;\n }[];\n};\n\nexport const formatMetadata = (\n docKey: string,\n file: string,\n locale: LocalesValues = defaultLocale as LocalesValues\n): FileMetadata => {\n const metadata = getMarkdownMetadata(file);\n\n const slugs = (metadata.slugs ?? []).map(String);\n const keywords = (metadata.keywords ?? []).map(String);\n\n const relativeUrl = join('/', ...slugs);\n\n const slicedDocKey = docKey.slice(1);\n\n return {\n ...metadata,\n docKey,\n slugs,\n keywords,\n githubUrl: `${GITHUB_URL_PREFIX}${slicedDocKey}`.replace(\n '/en/',\n `/${locale}/`\n ),\n relativeUrl: getLocalizedUrl(relativeUrl, locale),\n url: getLocalizedUrl(join(URL_PREFIX, relativeUrl), locale),\n } as FileMetadata;\n};\n\nexport const getFileMetadata = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n R extends FileMetadata,\n>(\n files: F,\n docKey: keyof F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<R> => {\n const file = await getFile(files, docKey, locale);\n\n return formatMetadata(docKey as string, file, locale) as R;\n};\n\nexport const getFileMetadataRecord = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n locale: LocalesValues = defaultLocale as LocalesValues\n): Promise<Record<keyof F, FileMetadata>> => {\n const results = await Promise.allSettled(\n Object.entries(files).map(async ([key]) => {\n const metadata = await getFileMetadata(files, key as keyof F, locale);\n return [key, metadata] as [string, FileMetadata];\n })\n );\n const filesEntries = results\n .filter(\n (r): r is PromiseFulfilledResult<[string, FileMetadata]> =>\n r.status === 'fulfilled'\n )\n .map((r) => r.value);\n const filesResult = Object.fromEntries(filesEntries);\n return filesResult as Record<keyof F, FileMetadata>;\n};\n\nexport const getFileMetadataBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray: FileMetadata[] = Object.values(filesMetadata).filter(\n (fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n if (locale !== defaultLocale) {\n const localizedFileMetadata = await Promise.all(\n fileMetadataArray.map(\n async (fileMetadata) =>\n await getFileMetadata(files, fileMetadata.docKey, locale)\n )\n );\n\n return localizedFileMetadata;\n }\n\n return fileMetadataArray;\n};\n\nexport const getFileBySlug = async <\n F extends Record<string, Record<LocalesValues, Promise<string>>>,\n>(\n files: F,\n slugs: string | string[],\n locale: LocalesValues = defaultLocale as LocalesValues,\n strict = false\n) => {\n const slugsArray = Array.isArray(slugs) ? slugs : [slugs];\n const filesMetadata = await getFileMetadataRecord(\n files,\n defaultLocale as LocalesValues\n );\n\n let fileMetadataArray = Object.values(filesMetadata).filter((fileMetadata) =>\n slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))\n );\n\n if (strict) {\n fileMetadataArray = fileMetadataArray.filter(\n (fileMetadata) => fileMetadata.slugs.length === slugsArray.length\n );\n }\n\n const fileList = await Promise.all(\n fileMetadataArray.map(async (fileMetadata) => {\n const file = await getFile(files, fileMetadata.docKey, locale);\n return file;\n })\n );\n\n return fileList;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,gBAAgBA,wBAAQ;AAErC,MAAa,oBACX;AACF,MAAa,aAAa;AAE1B,MAAa,WAA0C,QACrD,OAAO,KAAK,GAAG;AAEjB,MAAa,WAAW,OAGtB,OACA,OAAsB,kBACc;CACpC,MAAM,eAAe,MAAM,QAAQ,IACjC,OAAO,QAAQ,KAAK,EACjB,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAsB,CAAC,EACzD,IAAI,OAAO,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,KAAK,CAAC,CACnD;CAEA,OADoB,OAAO,YAAY,YACtB;AACnB;AAEA,MAAa,UAAU,OAGrB,OACA,QACA,SAAwB,kBACJ;CAGpB,IAAI,CAFe,MAAM,SAGvB,MAAM,IAAI,MAAM,QAAQ,OAAiB,WAAW;CAGtD,MAAM,OAAO,MAAM,MAAM,UAAU;CAEnC,IAAI,CAAC,MAAM;EACT,MAAM,cAAc,MAAM,MAAM,UAAU;EAE1C,IAAI,CAAC,aACH,MAAM,IAAI,MAAM,QAAQ,OAAiB,WAAW;EAGtD,OAAO;CACT;CAEA,OAAO;AACT;AAwBA,MAAa,kBACX,QACA,MACA,SAAwB,kBACP;CACjB,MAAM,8DAA+B,IAAI;CAEzC,MAAM,SAAS,SAAS,SAAS,CAAC,GAAG,IAAI,MAAM;CAC/C,MAAM,YAAY,SAAS,YAAY,CAAC,GAAG,IAAI,MAAM;CAErD,MAAM,kCAAmB,KAAK,GAAG,KAAK;CAEtC,MAAM,eAAe,OAAO,MAAM,CAAC;CAEnC,OAAO;EACL,GAAG;EACH;EACA;EACA;EACA,WAAW,GAAG,oBAAoB,eAAe,QAC/C,QACA,IAAI,OAAO,EACb;EACA,8DAA6B,aAAa,MAAM;EAChD,0EAA0B,YAAY,WAAW,GAAG,MAAM;CAC5D;AACF;AAEA,MAAa,kBAAkB,OAI7B,OACA,QACA,SAAwB,kBACT;CAGf,OAAO,eAAe,QAAkB,MAFrB,QAAQ,OAAO,QAAQ,MAAM,GAEF,MAAM;AACtD;AAEA,MAAa,wBAAwB,OAGnC,OACA,SAAwB,kBACmB;CAO3C,MAAM,gBAAe,MANC,QAAQ,WAC5B,OAAO,QAAQ,KAAK,EAAE,IAAI,OAAO,CAAC,SAAS;EAEzC,OAAO,CAAC,KAAK,MADU,gBAAgB,OAAO,KAAgB,MAAM,CAC/C;CACvB,CAAC,CACH,GAEG,QACE,MACC,EAAE,WAAW,WACjB,EACC,KAAK,MAAM,EAAE,KAAK;CAErB,OADoB,OAAO,YAAY,YACtB;AACnB;AAEA,MAAa,wBAAwB,OAGnC,OACA,OACA,SAAwB,eACxB,SAAS,UACN;CACH,MAAM,aAAa,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;CACxD,MAAM,gBAAgB,MAAM,sBAC1B,OACA,aACF;CAEA,IAAI,oBAAoC,OAAO,OAAO,aAAa,EAAE,QAClE,iBACC,WAAW,OAAO,SAAS,aAAa,OAAO,SAAS,IAAI,CAAC,CACjE;CAEA,IAAI,QACF,oBAAoB,kBAAkB,QACnC,iBAAiB,aAAa,MAAM,WAAW,WAAW,MAC7D;CAGF,IAAI,WAAW,eAQb,OAAO,MAP6B,QAAQ,IAC1C,kBAAkB,IAChB,OAAO,iBACL,MAAM,gBAAgB,OAAO,aAAa,QAAQ,MAAM,CAC5D,CACF;CAKF,OAAO;AACT;AAEA,MAAa,gBAAgB,OAG3B,OACA,OACA,SAAwB,eACxB,SAAS,UACN;CACH,MAAM,aAAa,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;CACxD,MAAM,gBAAgB,MAAM,sBAC1B,OACA,aACF;CAEA,IAAI,oBAAoB,OAAO,OAAO,aAAa,EAAE,QAAQ,iBAC3D,WAAW,OAAO,SAAS,aAAa,OAAO,SAAS,IAAI,CAAC,CAC/D;CAEA,IAAI,QACF,oBAAoB,kBAAkB,QACnC,iBAAiB,aAAa,MAAM,WAAW,WAAW,MAC7D;CAUF,OAAO,MAPgB,QAAQ,IAC7B,kBAAkB,IAAI,OAAO,iBAAiB;EAE5C,OAAO,MADY,QAAQ,OAAO,aAAa,QAAQ,MAAM;CAE/D,CAAC,CACH;AAGF"}
|
|
@@ -1045,26 +1045,6 @@ const docsEntry = {
|
|
|
1045
1045
|
vi: readLocale("how_works_intlayer.md", "vi"),
|
|
1046
1046
|
uk: readLocale("how_works_intlayer.md", "uk")
|
|
1047
1047
|
},
|
|
1048
|
-
"./docs/en/index.md": {
|
|
1049
|
-
en: readLocale("index.md", "en"),
|
|
1050
|
-
ru: readLocale("index.md", "ru"),
|
|
1051
|
-
ja: readLocale("index.md", "ja"),
|
|
1052
|
-
fr: readLocale("index.md", "fr"),
|
|
1053
|
-
ko: readLocale("index.md", "ko"),
|
|
1054
|
-
zh: readLocale("index.md", "zh"),
|
|
1055
|
-
es: readLocale("index.md", "es"),
|
|
1056
|
-
de: readLocale("index.md", "de"),
|
|
1057
|
-
ar: readLocale("index.md", "ar"),
|
|
1058
|
-
it: readLocale("index.md", "it"),
|
|
1059
|
-
"en-GB": readLocale("index.md", "en-GB"),
|
|
1060
|
-
pt: readLocale("index.md", "pt"),
|
|
1061
|
-
hi: readLocale("index.md", "hi"),
|
|
1062
|
-
tr: readLocale("index.md", "tr"),
|
|
1063
|
-
pl: readLocale("index.md", "pl"),
|
|
1064
|
-
id: readLocale("index.md", "id"),
|
|
1065
|
-
vi: readLocale("index.md", "vi"),
|
|
1066
|
-
uk: readLocale("index.md", "uk")
|
|
1067
|
-
},
|
|
1068
1048
|
"./docs/en/interest_of_intlayer.md": {
|
|
1069
1049
|
en: readLocale("interest_of_intlayer.md", "en"),
|
|
1070
1050
|
ru: readLocale("interest_of_intlayer.md", "ru"),
|
|
@@ -2025,6 +2005,26 @@ const docsEntry = {
|
|
|
2025
2005
|
vi: readLocale("locale_mapper.md", "vi"),
|
|
2026
2006
|
uk: readLocale("locale_mapper.md", "uk")
|
|
2027
2007
|
},
|
|
2008
|
+
"./docs/en/lsp.md": {
|
|
2009
|
+
en: readLocale("lsp.md", "en"),
|
|
2010
|
+
ru: readLocale("lsp.md", "ru"),
|
|
2011
|
+
ja: readLocale("lsp.md", "ja"),
|
|
2012
|
+
fr: readLocale("lsp.md", "fr"),
|
|
2013
|
+
ko: readLocale("lsp.md", "ko"),
|
|
2014
|
+
zh: readLocale("lsp.md", "zh"),
|
|
2015
|
+
es: readLocale("lsp.md", "es"),
|
|
2016
|
+
de: readLocale("lsp.md", "de"),
|
|
2017
|
+
ar: readLocale("lsp.md", "ar"),
|
|
2018
|
+
it: readLocale("lsp.md", "it"),
|
|
2019
|
+
"en-GB": readLocale("lsp.md", "en-GB"),
|
|
2020
|
+
pt: readLocale("lsp.md", "pt"),
|
|
2021
|
+
hi: readLocale("lsp.md", "hi"),
|
|
2022
|
+
tr: readLocale("lsp.md", "tr"),
|
|
2023
|
+
pl: readLocale("lsp.md", "pl"),
|
|
2024
|
+
id: readLocale("lsp.md", "id"),
|
|
2025
|
+
vi: readLocale("lsp.md", "vi"),
|
|
2026
|
+
uk: readLocale("lsp.md", "uk")
|
|
2027
|
+
},
|
|
2028
2028
|
"./docs/en/mcp_server.md": {
|
|
2029
2029
|
en: readLocale("mcp_server.md", "en"),
|
|
2030
2030
|
ru: readLocale("mcp_server.md", "ru"),
|