@intlayer/docs 9.0.0-canary.6 → 9.0.0-canary.8
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/dist/cjs/generated/docs.entry.cjs +80 -20
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +80 -20
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +4 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/compiler.md +6 -3
- package/docs/ar/custom_domains.md +8 -2
- package/docs/ar/custom_url_rewrites.md +8 -2
- package/docs/ar/dynamic_dictionaries/index.md +24 -18
- package/docs/ar/dynamic_dictionaries/variants.md +280 -22
- package/docs/ar/intlayer_with_analog.md +5 -1
- package/docs/ar/intlayer_with_astro.md +2 -0
- package/docs/ar/intlayer_with_astro_lit.md +2 -0
- package/docs/ar/intlayer_with_astro_preact.md +2 -0
- package/docs/ar/intlayer_with_astro_react.md +2 -0
- package/docs/ar/intlayer_with_astro_solid.md +2 -0
- package/docs/ar/intlayer_with_astro_svelte.md +2 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +2 -0
- package/docs/ar/intlayer_with_astro_vue.md +2 -0
- package/docs/ar/intlayer_with_lynx+react.md +6 -1
- package/docs/ar/intlayer_with_nextjs_16.md +2 -0
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/ar/intlayer_with_react_native+expo.md +6 -1
- package/docs/ar/intlayer_with_react_router_v7.md +3 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/ar/intlayer_with_storybook.md +7 -1
- package/docs/ar/intlayer_with_svelte_kit.md +8 -3
- package/docs/ar/intlayer_with_tanstack+solid.md +18 -11
- package/docs/ar/intlayer_with_tanstack.md +16 -7
- package/docs/ar/intlayer_with_vite+lit.md +8 -2
- package/docs/ar/intlayer_with_vite+preact.md +2 -0
- package/docs/ar/intlayer_with_vite+react.md +8 -3
- package/docs/ar/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/ar/intlayer_with_vite+solid.md +2 -0
- package/docs/ar/intlayer_with_vite+svelte.md +4 -2
- package/docs/ar/intlayer_with_vite+vanilla.md +16 -5
- package/docs/ar/intlayer_with_vite+vue.md +8 -3
- package/docs/ar/packages/@intlayer_babel/export.md +131 -0
- package/docs/ar/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/ar/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/ar/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/ar/plugins/sync-json.md +0 -1
- package/docs/ar/releases/v9.md +79 -12
- package/docs/bn/custom_domains.md +8 -2
- package/docs/bn/intlayer_with_storybook.md +7 -1
- package/docs/bn/intlayer_with_vite+lit.md +8 -2
- package/docs/bn/intlayer_with_vite+vanilla.md +16 -5
- package/docs/cs/custom_domains.md +8 -2
- package/docs/cs/intlayer_with_storybook.md +7 -1
- package/docs/cs/intlayer_with_vite+lit.md +8 -2
- package/docs/cs/intlayer_with_vite+vanilla.md +16 -5
- package/docs/de/compiler.md +6 -3
- package/docs/de/custom_domains.md +8 -2
- package/docs/de/custom_url_rewrites.md +8 -2
- package/docs/de/dynamic_dictionaries/index.md +22 -22
- package/docs/de/dynamic_dictionaries/variants.md +272 -14
- package/docs/de/intlayer_with_analog.md +5 -1
- package/docs/de/intlayer_with_astro.md +3 -1
- package/docs/de/intlayer_with_astro_lit.md +3 -1
- package/docs/de/intlayer_with_astro_preact.md +3 -1
- package/docs/de/intlayer_with_astro_react.md +3 -1
- package/docs/de/intlayer_with_astro_solid.md +3 -1
- package/docs/de/intlayer_with_astro_svelte.md +3 -1
- package/docs/de/intlayer_with_astro_vanilla.md +3 -1
- package/docs/de/intlayer_with_astro_vue.md +3 -1
- package/docs/de/intlayer_with_lynx+react.md +6 -1
- package/docs/de/intlayer_with_nextjs_16.md +2 -0
- package/docs/de/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/de/intlayer_with_react_native+expo.md +6 -1
- package/docs/de/intlayer_with_react_router_v7.md +3 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +8 -3
- package/docs/de/intlayer_with_storybook.md +7 -1
- package/docs/de/intlayer_with_svelte_kit.md +9 -4
- package/docs/de/intlayer_with_tanstack+solid.md +18 -11
- package/docs/de/intlayer_with_tanstack.md +17 -8
- package/docs/de/intlayer_with_vite+lit.md +13 -4
- package/docs/de/intlayer_with_vite+preact.md +3 -1
- package/docs/de/intlayer_with_vite+react.md +9 -4
- package/docs/de/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/de/intlayer_with_vite+solid.md +3 -1
- package/docs/de/intlayer_with_vite+svelte.md +9 -4
- package/docs/de/intlayer_with_vite+vanilla.md +16 -5
- package/docs/de/intlayer_with_vite+vue.md +9 -4
- package/docs/de/packages/@intlayer_babel/export.md +131 -0
- package/docs/de/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/de/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/de/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/de/plugins/sync-json.md +0 -1
- package/docs/de/releases/v9.md +57 -12
- package/docs/en/compiler.md +5 -1
- package/docs/en/custom_domains.md +8 -2
- package/docs/en/custom_url_rewrites.md +8 -2
- package/docs/en/dynamic_dictionaries/index.md +20 -14
- package/docs/en/dynamic_dictionaries/variants.md +266 -8
- package/docs/en/intlayer_with_analog.md +5 -1
- package/docs/en/intlayer_with_astro.md +2 -2
- package/docs/en/intlayer_with_astro_lit.md +2 -2
- package/docs/en/intlayer_with_astro_preact.md +2 -2
- package/docs/en/intlayer_with_astro_react.md +2 -2
- package/docs/en/intlayer_with_astro_solid.md +2 -2
- package/docs/en/intlayer_with_astro_svelte.md +2 -2
- package/docs/en/intlayer_with_astro_vanilla.md +2 -2
- package/docs/en/intlayer_with_astro_vue.md +2 -2
- package/docs/en/intlayer_with_lynx+react.md +6 -1
- package/docs/en/intlayer_with_nextjs_16.md +2 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/en/intlayer_with_react_native+expo.md +6 -1
- package/docs/en/intlayer_with_react_router_v7.md +8 -3
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +8 -3
- package/docs/en/intlayer_with_storybook.md +7 -1
- package/docs/en/intlayer_with_svelte_kit.md +8 -5
- package/docs/en/intlayer_with_tanstack+solid.md +18 -9
- package/docs/en/intlayer_with_tanstack.md +16 -7
- package/docs/en/intlayer_with_vite+lit.md +13 -4
- package/docs/en/intlayer_with_vite+preact.md +8 -3
- package/docs/en/intlayer_with_vite+react.md +8 -3
- package/docs/en/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/en/intlayer_with_vite+solid.md +8 -3
- package/docs/en/intlayer_with_vite+svelte.md +8 -3
- package/docs/en/intlayer_with_vite+vanilla.md +15 -6
- package/docs/en/intlayer_with_vite+vue.md +8 -3
- package/docs/en/packages/@intlayer_babel/export.md +131 -0
- package/docs/en/packages/vite-intlayer/exports.md +38 -13
- package/docs/en/packages/vite-intlayer/intlayer.md +133 -14
- package/docs/en/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/en/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/en/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/en/packages/vite-intlayer/intlayerPrune.md +90 -12
- package/docs/en/plugins/sync-json.md +0 -1
- package/docs/en/releases/v9.md +59 -12
- package/docs/en-GB/compiler.md +6 -3
- package/docs/en-GB/custom_domains.md +8 -2
- package/docs/en-GB/custom_url_rewrites.md +8 -2
- package/docs/en-GB/dynamic_dictionaries/index.md +21 -15
- package/docs/en-GB/dynamic_dictionaries/variants.md +268 -10
- package/docs/en-GB/intlayer_with_analog.md +5 -1
- package/docs/en-GB/intlayer_with_astro.md +2 -0
- package/docs/en-GB/intlayer_with_astro_lit.md +2 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +2 -0
- package/docs/en-GB/intlayer_with_astro_react.md +2 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +2 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +2 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +2 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +2 -0
- package/docs/en-GB/intlayer_with_lynx+react.md +6 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +6 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +6 -3
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +6 -3
- package/docs/en-GB/intlayer_with_storybook.md +7 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +6 -3
- package/docs/en-GB/intlayer_with_tanstack+solid.md +18 -11
- package/docs/en-GB/intlayer_with_tanstack.md +14 -7
- package/docs/en-GB/intlayer_with_vite+lit.md +13 -4
- package/docs/en-GB/intlayer_with_vite+react.md +6 -3
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/en-GB/intlayer_with_vite+svelte.md +6 -3
- package/docs/en-GB/intlayer_with_vite+vanilla.md +15 -4
- package/docs/en-GB/intlayer_with_vite+vue.md +6 -3
- package/docs/en-GB/packages/@intlayer_babel/export.md +131 -0
- package/docs/en-GB/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/en-GB/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/en-GB/plugins/sync-json.md +0 -1
- package/docs/en-GB/releases/v9.md +57 -12
- package/docs/es/compiler.md +6 -3
- package/docs/es/custom_domains.md +8 -2
- package/docs/es/custom_url_rewrites.md +8 -2
- package/docs/es/dynamic_dictionaries/index.md +25 -19
- package/docs/es/dynamic_dictionaries/variants.md +275 -17
- package/docs/es/intlayer_with_analog.md +5 -1
- package/docs/es/intlayer_with_astro.md +3 -1
- package/docs/es/intlayer_with_astro_lit.md +3 -1
- package/docs/es/intlayer_with_astro_preact.md +3 -1
- package/docs/es/intlayer_with_astro_react.md +3 -1
- package/docs/es/intlayer_with_astro_solid.md +3 -1
- package/docs/es/intlayer_with_astro_svelte.md +3 -1
- package/docs/es/intlayer_with_astro_vanilla.md +3 -1
- package/docs/es/intlayer_with_astro_vue.md +3 -1
- package/docs/es/intlayer_with_lynx+react.md +6 -1
- package/docs/es/intlayer_with_nextjs_16.md +2 -0
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/es/intlayer_with_react_native+expo.md +6 -1
- package/docs/es/intlayer_with_react_router_v7.md +3 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +9 -4
- package/docs/es/intlayer_with_storybook.md +7 -1
- package/docs/es/intlayer_with_svelte_kit.md +9 -4
- package/docs/es/intlayer_with_tanstack+solid.md +18 -11
- package/docs/es/intlayer_with_tanstack.md +17 -8
- package/docs/es/intlayer_with_vite+lit.md +13 -4
- package/docs/es/intlayer_with_vite+preact.md +3 -1
- package/docs/es/intlayer_with_vite+react.md +9 -4
- package/docs/es/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/es/intlayer_with_vite+solid.md +3 -1
- package/docs/es/intlayer_with_vite+svelte.md +4 -2
- package/docs/es/intlayer_with_vite+vanilla.md +16 -5
- package/docs/es/intlayer_with_vite+vue.md +9 -4
- package/docs/es/packages/@intlayer_babel/export.md +131 -0
- package/docs/es/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/es/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/es/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/es/plugins/sync-json.md +0 -1
- package/docs/es/releases/v9.md +57 -12
- package/docs/fr/compiler.md +6 -3
- package/docs/fr/custom_domains.md +8 -2
- package/docs/fr/custom_url_rewrites.md +8 -2
- package/docs/fr/dynamic_dictionaries/index.md +26 -20
- package/docs/fr/dynamic_dictionaries/variants.md +273 -15
- package/docs/fr/intlayer_with_analog.md +5 -1
- package/docs/fr/intlayer_with_astro.md +3 -1
- package/docs/fr/intlayer_with_astro_lit.md +3 -1
- package/docs/fr/intlayer_with_astro_preact.md +3 -1
- package/docs/fr/intlayer_with_astro_react.md +3 -1
- package/docs/fr/intlayer_with_astro_solid.md +3 -1
- package/docs/fr/intlayer_with_astro_svelte.md +3 -1
- package/docs/fr/intlayer_with_astro_vanilla.md +3 -1
- package/docs/fr/intlayer_with_astro_vue.md +3 -1
- package/docs/fr/intlayer_with_lynx+react.md +6 -1
- package/docs/fr/intlayer_with_nextjs_16.md +2 -0
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/fr/intlayer_with_react_native+expo.md +6 -1
- package/docs/fr/intlayer_with_react_router_v7.md +3 -1
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/fr/intlayer_with_storybook.md +7 -1
- package/docs/fr/intlayer_with_svelte_kit.md +9 -4
- package/docs/fr/intlayer_with_tanstack+solid.md +18 -11
- package/docs/fr/intlayer_with_tanstack.md +17 -8
- package/docs/fr/intlayer_with_vite+lit.md +13 -4
- package/docs/fr/intlayer_with_vite+preact.md +3 -1
- package/docs/fr/intlayer_with_vite+react.md +9 -4
- package/docs/fr/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/fr/intlayer_with_vite+solid.md +3 -1
- package/docs/fr/intlayer_with_vite+svelte.md +9 -4
- package/docs/fr/intlayer_with_vite+vanilla.md +16 -5
- package/docs/fr/intlayer_with_vite+vue.md +9 -4
- package/docs/fr/packages/@intlayer_babel/export.md +131 -0
- package/docs/fr/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/fr/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/fr/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/fr/plugins/sync-json.md +0 -1
- package/docs/fr/releases/v9.md +57 -12
- package/docs/hi/compiler.md +6 -3
- package/docs/hi/custom_domains.md +8 -2
- package/docs/hi/custom_url_rewrites.md +8 -2
- package/docs/hi/dynamic_dictionaries/index.md +28 -22
- package/docs/hi/dynamic_dictionaries/variants.md +282 -24
- package/docs/hi/intlayer_with_analog.md +5 -1
- package/docs/hi/intlayer_with_astro.md +6 -3
- package/docs/hi/intlayer_with_astro_lit.md +6 -3
- package/docs/hi/intlayer_with_astro_preact.md +6 -3
- package/docs/hi/intlayer_with_astro_react.md +6 -3
- package/docs/hi/intlayer_with_astro_solid.md +6 -3
- package/docs/hi/intlayer_with_astro_svelte.md +6 -3
- package/docs/hi/intlayer_with_astro_vanilla.md +6 -3
- package/docs/hi/intlayer_with_astro_vue.md +6 -3
- package/docs/hi/intlayer_with_lynx+react.md +6 -1
- package/docs/hi/intlayer_with_react_native+expo.md +6 -1
- package/docs/hi/intlayer_with_react_router_v7.md +6 -3
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +6 -3
- package/docs/hi/intlayer_with_storybook.md +7 -1
- package/docs/hi/intlayer_with_svelte_kit.md +12 -6
- package/docs/hi/intlayer_with_tanstack+solid.md +18 -11
- package/docs/hi/intlayer_with_tanstack.md +20 -10
- package/docs/hi/intlayer_with_vite+lit.md +8 -2
- package/docs/hi/intlayer_with_vite+preact.md +6 -3
- package/docs/hi/intlayer_with_vite+react.md +12 -6
- package/docs/hi/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/hi/intlayer_with_vite+solid.md +6 -3
- package/docs/hi/intlayer_with_vite+svelte.md +7 -4
- package/docs/hi/intlayer_with_vite+vanilla.md +16 -5
- package/docs/hi/intlayer_with_vite+vue.md +12 -6
- package/docs/hi/packages/@intlayer_babel/export.md +131 -0
- package/docs/hi/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/hi/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/hi/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/hi/plugins/sync-json.md +0 -1
- package/docs/hi/releases/v9.md +57 -12
- package/docs/id/compiler.md +6 -3
- package/docs/id/custom_domains.md +8 -2
- package/docs/id/custom_url_rewrites.md +8 -2
- package/docs/id/dynamic_dictionaries/index.md +25 -19
- package/docs/id/dynamic_dictionaries/variants.md +274 -16
- package/docs/id/intlayer_with_analog.md +5 -1
- package/docs/id/intlayer_with_astro.md +3 -1
- package/docs/id/intlayer_with_astro_lit.md +3 -1
- package/docs/id/intlayer_with_astro_preact.md +3 -1
- package/docs/id/intlayer_with_astro_react.md +3 -1
- package/docs/id/intlayer_with_astro_solid.md +3 -1
- package/docs/id/intlayer_with_astro_svelte.md +3 -1
- package/docs/id/intlayer_with_astro_vanilla.md +3 -1
- package/docs/id/intlayer_with_astro_vue.md +3 -1
- package/docs/id/intlayer_with_lynx+react.md +6 -1
- package/docs/id/intlayer_with_nextjs_16.md +2 -0
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/id/intlayer_with_react_native+expo.md +6 -1
- package/docs/id/intlayer_with_react_router_v7.md +3 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +9 -4
- package/docs/id/intlayer_with_storybook.md +7 -1
- package/docs/id/intlayer_with_svelte_kit.md +9 -4
- package/docs/id/intlayer_with_tanstack+solid.md +18 -11
- package/docs/id/intlayer_with_tanstack.md +17 -8
- package/docs/id/intlayer_with_vite+lit.md +8 -2
- package/docs/id/intlayer_with_vite+preact.md +3 -1
- package/docs/id/intlayer_with_vite+react.md +9 -4
- package/docs/id/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/id/intlayer_with_vite+solid.md +3 -1
- package/docs/id/intlayer_with_vite+svelte.md +5 -3
- package/docs/id/intlayer_with_vite+vanilla.md +16 -5
- package/docs/id/intlayer_with_vite+vue.md +9 -4
- package/docs/id/packages/@intlayer_babel/export.md +131 -0
- package/docs/id/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/id/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/id/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/id/plugins/sync-json.md +0 -1
- package/docs/id/releases/v9.md +57 -12
- package/docs/it/compiler.md +6 -3
- package/docs/it/custom_domains.md +8 -2
- package/docs/it/custom_url_rewrites.md +8 -2
- package/docs/it/dynamic_dictionaries/index.md +26 -20
- package/docs/it/dynamic_dictionaries/variants.md +273 -15
- package/docs/it/intlayer_with_analog.md +5 -1
- package/docs/it/intlayer_with_astro.md +3 -1
- package/docs/it/intlayer_with_astro_lit.md +3 -1
- package/docs/it/intlayer_with_astro_preact.md +3 -1
- package/docs/it/intlayer_with_astro_react.md +3 -1
- package/docs/it/intlayer_with_astro_solid.md +3 -1
- package/docs/it/intlayer_with_astro_svelte.md +3 -1
- package/docs/it/intlayer_with_astro_vanilla.md +3 -1
- package/docs/it/intlayer_with_astro_vue.md +3 -1
- package/docs/it/intlayer_with_lynx+react.md +6 -1
- package/docs/it/intlayer_with_nextjs_16.md +2 -0
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/it/intlayer_with_react_native+expo.md +6 -1
- package/docs/it/intlayer_with_react_router_v7.md +3 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/it/intlayer_with_storybook.md +7 -1
- package/docs/it/intlayer_with_svelte_kit.md +9 -4
- package/docs/it/intlayer_with_tanstack+solid.md +18 -11
- package/docs/it/intlayer_with_tanstack.md +17 -8
- package/docs/it/intlayer_with_vite+lit.md +13 -4
- package/docs/it/intlayer_with_vite+preact.md +3 -1
- package/docs/it/intlayer_with_vite+react.md +9 -4
- package/docs/it/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/it/intlayer_with_vite+solid.md +3 -1
- package/docs/it/intlayer_with_vite+svelte.md +4 -2
- package/docs/it/intlayer_with_vite+vanilla.md +16 -5
- package/docs/it/intlayer_with_vite+vue.md +9 -4
- package/docs/it/packages/@intlayer_babel/export.md +131 -0
- package/docs/it/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/it/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/it/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/it/plugins/sync-json.md +0 -1
- package/docs/it/releases/v9.md +57 -12
- package/docs/ja/compiler.md +6 -3
- package/docs/ja/custom_domains.md +8 -2
- package/docs/ja/custom_url_rewrites.md +8 -2
- package/docs/ja/dynamic_dictionaries/index.md +27 -21
- package/docs/ja/dynamic_dictionaries/variants.md +276 -18
- package/docs/ja/intlayer_with_analog.md +5 -1
- package/docs/ja/intlayer_with_astro.md +2 -0
- package/docs/ja/intlayer_with_astro_lit.md +2 -0
- package/docs/ja/intlayer_with_astro_preact.md +2 -0
- package/docs/ja/intlayer_with_astro_react.md +2 -0
- package/docs/ja/intlayer_with_astro_solid.md +2 -0
- package/docs/ja/intlayer_with_astro_svelte.md +2 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +2 -0
- package/docs/ja/intlayer_with_astro_vue.md +2 -0
- package/docs/ja/intlayer_with_lynx+react.md +6 -1
- package/docs/ja/intlayer_with_nextjs_16.md +2 -0
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/ja/intlayer_with_react_native+expo.md +6 -1
- package/docs/ja/intlayer_with_react_router_v7.md +8 -3
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/ja/intlayer_with_storybook.md +7 -1
- package/docs/ja/intlayer_with_svelte_kit.md +2 -0
- package/docs/ja/intlayer_with_tanstack+solid.md +18 -11
- package/docs/ja/intlayer_with_tanstack.md +18 -11
- package/docs/ja/intlayer_with_vite+lit.md +13 -4
- package/docs/ja/intlayer_with_vite+preact.md +8 -3
- package/docs/ja/intlayer_with_vite+react.md +3 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/ja/intlayer_with_vite+solid.md +3 -1
- package/docs/ja/intlayer_with_vite+svelte.md +5 -3
- package/docs/ja/intlayer_with_vite+vanilla.md +16 -5
- package/docs/ja/intlayer_with_vite+vue.md +9 -4
- package/docs/ja/packages/@intlayer_babel/export.md +131 -0
- package/docs/ja/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/ja/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/ja/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/ja/plugins/sync-json.md +0 -1
- package/docs/ja/releases/v9.md +57 -12
- package/docs/ko/compiler.md +6 -3
- package/docs/ko/custom_domains.md +8 -2
- package/docs/ko/custom_url_rewrites.md +8 -2
- package/docs/ko/dynamic_dictionaries/index.md +23 -17
- package/docs/ko/dynamic_dictionaries/variants.md +273 -15
- package/docs/ko/intlayer_with_analog.md +5 -1
- package/docs/ko/intlayer_with_astro.md +3 -1
- package/docs/ko/intlayer_with_astro_lit.md +3 -1
- package/docs/ko/intlayer_with_astro_preact.md +3 -1
- package/docs/ko/intlayer_with_astro_react.md +3 -1
- package/docs/ko/intlayer_with_astro_solid.md +3 -1
- package/docs/ko/intlayer_with_astro_svelte.md +3 -1
- package/docs/ko/intlayer_with_astro_vanilla.md +3 -1
- package/docs/ko/intlayer_with_astro_vue.md +3 -1
- package/docs/ko/intlayer_with_lynx+react.md +6 -1
- package/docs/ko/intlayer_with_nextjs_16.md +2 -0
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/ko/intlayer_with_react_native+expo.md +6 -1
- package/docs/ko/intlayer_with_react_router_v7.md +3 -1
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/ko/intlayer_with_storybook.md +7 -1
- package/docs/ko/intlayer_with_svelte_kit.md +9 -4
- package/docs/ko/intlayer_with_tanstack+solid.md +18 -11
- package/docs/ko/intlayer_with_tanstack.md +17 -8
- package/docs/ko/intlayer_with_vite+lit.md +13 -4
- package/docs/ko/intlayer_with_vite+preact.md +3 -1
- package/docs/ko/intlayer_with_vite+react.md +3 -1
- package/docs/ko/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/ko/intlayer_with_vite+svelte.md +5 -3
- package/docs/ko/intlayer_with_vite+vanilla.md +16 -5
- package/docs/ko/intlayer_with_vite+vue.md +9 -4
- package/docs/ko/packages/@intlayer_babel/export.md +131 -0
- package/docs/ko/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/ko/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/ko/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/ko/plugins/sync-json.md +0 -1
- package/docs/ko/releases/v9.md +57 -12
- package/docs/nl/custom_domains.md +8 -2
- package/docs/nl/intlayer_with_storybook.md +7 -1
- package/docs/nl/intlayer_with_vite+lit.md +8 -2
- package/docs/nl/intlayer_with_vite+vanilla.md +16 -5
- package/docs/pl/compiler.md +6 -3
- package/docs/pl/custom_domains.md +8 -2
- package/docs/pl/custom_url_rewrites.md +8 -2
- package/docs/pl/dynamic_dictionaries/index.md +26 -20
- package/docs/pl/dynamic_dictionaries/variants.md +275 -17
- package/docs/pl/intlayer_with_analog.md +5 -1
- package/docs/pl/intlayer_with_astro.md +6 -4
- package/docs/pl/intlayer_with_astro_lit.md +3 -1
- package/docs/pl/intlayer_with_astro_preact.md +3 -1
- package/docs/pl/intlayer_with_astro_react.md +3 -1
- package/docs/pl/intlayer_with_astro_solid.md +3 -1
- package/docs/pl/intlayer_with_astro_svelte.md +3 -1
- package/docs/pl/intlayer_with_astro_vanilla.md +3 -1
- package/docs/pl/intlayer_with_astro_vue.md +3 -1
- package/docs/pl/intlayer_with_lynx+react.md +6 -1
- package/docs/pl/intlayer_with_nextjs_16.md +2 -0
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/pl/intlayer_with_react_native+expo.md +6 -1
- package/docs/pl/intlayer_with_react_router_v7.md +3 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/pl/intlayer_with_storybook.md +7 -1
- package/docs/pl/intlayer_with_svelte_kit.md +9 -4
- package/docs/pl/intlayer_with_tanstack+solid.md +18 -9
- package/docs/pl/intlayer_with_tanstack.md +17 -8
- package/docs/pl/intlayer_with_vite+lit.md +8 -2
- package/docs/pl/intlayer_with_vite+preact.md +3 -1
- package/docs/pl/intlayer_with_vite+react.md +9 -4
- package/docs/pl/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/pl/intlayer_with_vite+solid.md +3 -1
- package/docs/pl/intlayer_with_vite+svelte.md +4 -2
- package/docs/pl/intlayer_with_vite+vanilla.md +16 -5
- package/docs/pl/intlayer_with_vite+vue.md +9 -4
- package/docs/pl/packages/@intlayer_babel/export.md +131 -0
- package/docs/pl/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/pl/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/pl/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/pl/plugins/sync-json.md +0 -1
- package/docs/pl/releases/v9.md +57 -12
- package/docs/pt/compiler.md +6 -3
- package/docs/pt/custom_domains.md +8 -2
- package/docs/pt/custom_url_rewrites.md +8 -2
- package/docs/pt/dynamic_dictionaries/index.md +25 -19
- package/docs/pt/dynamic_dictionaries/variants.md +276 -18
- package/docs/pt/intlayer_with_analog.md +5 -1
- package/docs/pt/intlayer_with_astro.md +6 -4
- package/docs/pt/intlayer_with_astro_lit.md +3 -1
- package/docs/pt/intlayer_with_astro_preact.md +3 -1
- package/docs/pt/intlayer_with_astro_react.md +3 -1
- package/docs/pt/intlayer_with_astro_solid.md +3 -1
- package/docs/pt/intlayer_with_astro_svelte.md +3 -1
- package/docs/pt/intlayer_with_astro_vanilla.md +3 -1
- package/docs/pt/intlayer_with_astro_vue.md +3 -1
- package/docs/pt/intlayer_with_lynx+react.md +6 -1
- package/docs/pt/intlayer_with_nextjs_16.md +2 -0
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/pt/intlayer_with_react_native+expo.md +6 -1
- package/docs/pt/intlayer_with_react_router_v7.md +8 -3
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/pt/intlayer_with_storybook.md +7 -1
- package/docs/pt/intlayer_with_svelte_kit.md +9 -4
- package/docs/pt/intlayer_with_tanstack+solid.md +18 -9
- package/docs/pt/intlayer_with_tanstack.md +17 -8
- package/docs/pt/intlayer_with_vite+lit.md +13 -4
- package/docs/pt/intlayer_with_vite+preact.md +3 -1
- package/docs/pt/intlayer_with_vite+react.md +9 -4
- package/docs/pt/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/pt/intlayer_with_vite+solid.md +3 -1
- package/docs/pt/intlayer_with_vite+svelte.md +4 -2
- package/docs/pt/intlayer_with_vite+vanilla.md +16 -5
- package/docs/pt/intlayer_with_vite+vue.md +9 -4
- package/docs/pt/packages/@intlayer_babel/export.md +131 -0
- package/docs/pt/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/pt/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/pt/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/pt/plugins/sync-json.md +0 -1
- package/docs/pt/releases/v9.md +57 -12
- package/docs/ru/compiler.md +6 -3
- package/docs/ru/custom_domains.md +8 -2
- package/docs/ru/custom_url_rewrites.md +8 -2
- package/docs/ru/dynamic_dictionaries/index.md +25 -19
- package/docs/ru/dynamic_dictionaries/variants.md +277 -19
- package/docs/ru/intlayer_with_analog.md +5 -1
- package/docs/ru/intlayer_with_astro.md +3 -1
- package/docs/ru/intlayer_with_astro_lit.md +3 -1
- package/docs/ru/intlayer_with_astro_preact.md +3 -1
- package/docs/ru/intlayer_with_astro_react.md +3 -1
- package/docs/ru/intlayer_with_astro_solid.md +3 -1
- package/docs/ru/intlayer_with_astro_svelte.md +3 -1
- package/docs/ru/intlayer_with_astro_vanilla.md +3 -1
- package/docs/ru/intlayer_with_astro_vue.md +3 -1
- package/docs/ru/intlayer_with_lynx+react.md +6 -1
- package/docs/ru/intlayer_with_nextjs_16.md +2 -0
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/ru/intlayer_with_react_native+expo.md +6 -1
- package/docs/ru/intlayer_with_react_router_v7.md +3 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/ru/intlayer_with_storybook.md +7 -1
- package/docs/ru/intlayer_with_svelte_kit.md +9 -4
- package/docs/ru/intlayer_with_tanstack+solid.md +18 -11
- package/docs/ru/intlayer_with_tanstack.md +17 -8
- package/docs/ru/intlayer_with_vite+lit.md +13 -4
- package/docs/ru/intlayer_with_vite+preact.md +3 -1
- package/docs/ru/intlayer_with_vite+react.md +9 -4
- package/docs/ru/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/ru/intlayer_with_vite+solid.md +3 -1
- package/docs/ru/intlayer_with_vite+svelte.md +4 -2
- package/docs/ru/intlayer_with_vite+vanilla.md +16 -5
- package/docs/ru/intlayer_with_vite+vue.md +9 -4
- package/docs/ru/packages/@intlayer_babel/export.md +131 -0
- package/docs/ru/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/ru/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/ru/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/ru/plugins/sync-json.md +0 -1
- package/docs/ru/releases/v9.md +57 -12
- package/docs/tr/compiler.md +6 -3
- package/docs/tr/custom_domains.md +8 -2
- package/docs/tr/custom_url_rewrites.md +8 -2
- package/docs/tr/dynamic_dictionaries/index.md +27 -21
- package/docs/tr/dynamic_dictionaries/variants.md +274 -16
- package/docs/tr/intlayer_with_analog.md +5 -1
- package/docs/tr/intlayer_with_astro_lit.md +3 -1
- package/docs/tr/intlayer_with_astro_preact.md +3 -1
- package/docs/tr/intlayer_with_astro_react.md +3 -1
- package/docs/tr/intlayer_with_astro_solid.md +3 -1
- package/docs/tr/intlayer_with_astro_svelte.md +3 -1
- package/docs/tr/intlayer_with_astro_vanilla.md +3 -1
- package/docs/tr/intlayer_with_astro_vue.md +3 -1
- package/docs/tr/intlayer_with_lynx+react.md +6 -1
- package/docs/tr/intlayer_with_nextjs_16.md +2 -0
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/tr/intlayer_with_react_native+expo.md +6 -1
- package/docs/tr/intlayer_with_react_router_v7.md +3 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/tr/intlayer_with_storybook.md +7 -1
- package/docs/tr/intlayer_with_svelte_kit.md +9 -4
- package/docs/tr/intlayer_with_tanstack+solid.md +18 -11
- package/docs/tr/intlayer_with_tanstack.md +17 -8
- package/docs/tr/intlayer_with_vite+lit.md +8 -2
- package/docs/tr/intlayer_with_vite+preact.md +3 -1
- package/docs/tr/intlayer_with_vite+react.md +9 -4
- package/docs/tr/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/tr/intlayer_with_vite+solid.md +3 -1
- package/docs/tr/intlayer_with_vite+svelte.md +4 -2
- package/docs/tr/intlayer_with_vite+vanilla.md +16 -5
- package/docs/tr/intlayer_with_vite+vue.md +9 -4
- package/docs/tr/packages/@intlayer_babel/export.md +131 -0
- package/docs/tr/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/tr/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/tr/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/tr/plugins/sync-json.md +0 -1
- package/docs/tr/releases/v9.md +57 -12
- package/docs/uk/compiler.md +6 -3
- package/docs/uk/custom_domains.md +8 -2
- package/docs/uk/custom_url_rewrites.md +8 -2
- package/docs/uk/dynamic_dictionaries/index.md +25 -19
- package/docs/uk/dynamic_dictionaries/variants.md +277 -19
- package/docs/uk/intlayer_with_analog.md +5 -1
- package/docs/uk/intlayer_with_astro.md +3 -1
- package/docs/uk/intlayer_with_astro_lit.md +3 -1
- package/docs/uk/intlayer_with_astro_preact.md +3 -1
- package/docs/uk/intlayer_with_astro_react.md +3 -1
- package/docs/uk/intlayer_with_astro_solid.md +3 -1
- package/docs/uk/intlayer_with_astro_svelte.md +3 -1
- package/docs/uk/intlayer_with_astro_vanilla.md +3 -1
- package/docs/uk/intlayer_with_astro_vue.md +3 -1
- package/docs/uk/intlayer_with_lynx+react.md +6 -1
- package/docs/uk/intlayer_with_nextjs_16.md +2 -0
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/uk/intlayer_with_react_native+expo.md +6 -1
- package/docs/uk/intlayer_with_react_router_v7.md +3 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/uk/intlayer_with_storybook.md +7 -1
- package/docs/uk/intlayer_with_svelte_kit.md +9 -4
- package/docs/uk/intlayer_with_tanstack+solid.md +18 -11
- package/docs/uk/intlayer_with_tanstack.md +17 -8
- package/docs/uk/intlayer_with_vite+lit.md +8 -2
- package/docs/uk/intlayer_with_vite+preact.md +3 -1
- package/docs/uk/intlayer_with_vite+react.md +9 -4
- package/docs/uk/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/uk/intlayer_with_vite+solid.md +3 -1
- package/docs/uk/intlayer_with_vite+svelte.md +9 -4
- package/docs/uk/intlayer_with_vite+vanilla.md +16 -5
- package/docs/uk/intlayer_with_vite+vue.md +9 -4
- package/docs/uk/packages/@intlayer_babel/export.md +131 -0
- package/docs/uk/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/uk/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/uk/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/uk/plugins/sync-json.md +0 -1
- package/docs/uk/releases/v9.md +57 -12
- package/docs/ur/custom_domains.md +8 -2
- package/docs/ur/intlayer_with_storybook.md +7 -1
- package/docs/ur/intlayer_with_vite+lit.md +8 -2
- package/docs/ur/intlayer_with_vite+vanilla.md +16 -5
- package/docs/vi/compiler.md +6 -3
- package/docs/vi/custom_domains.md +8 -2
- package/docs/vi/custom_url_rewrites.md +8 -2
- package/docs/vi/dynamic_dictionaries/index.md +28 -22
- package/docs/vi/dynamic_dictionaries/variants.md +278 -20
- package/docs/vi/intlayer_with_analog.md +5 -1
- package/docs/vi/intlayer_with_astro.md +3 -1
- package/docs/vi/intlayer_with_astro_lit.md +3 -1
- package/docs/vi/intlayer_with_astro_preact.md +3 -1
- package/docs/vi/intlayer_with_astro_react.md +3 -1
- package/docs/vi/intlayer_with_astro_solid.md +3 -1
- package/docs/vi/intlayer_with_astro_svelte.md +3 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +3 -1
- package/docs/vi/intlayer_with_astro_vue.md +3 -1
- package/docs/vi/intlayer_with_lynx+react.md +6 -1
- package/docs/vi/intlayer_with_nextjs_15.md +2 -0
- package/docs/vi/intlayer_with_nextjs_16.md +2 -0
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/vi/intlayer_with_react_native+expo.md +6 -1
- package/docs/vi/intlayer_with_react_router_v7.md +3 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +9 -4
- package/docs/vi/intlayer_with_storybook.md +7 -1
- package/docs/vi/intlayer_with_svelte_kit.md +9 -4
- package/docs/vi/intlayer_with_tanstack+solid.md +18 -11
- package/docs/vi/intlayer_with_tanstack.md +17 -8
- package/docs/vi/intlayer_with_vite+lit.md +8 -2
- package/docs/vi/intlayer_with_vite+preact.md +3 -1
- package/docs/vi/intlayer_with_vite+react.md +9 -4
- package/docs/vi/intlayer_with_vite+react_compiler.md +9 -2
- package/docs/vi/intlayer_with_vite+solid.md +3 -1
- package/docs/vi/intlayer_with_vite+svelte.md +9 -4
- package/docs/vi/intlayer_with_vite+vanilla.md +16 -5
- package/docs/vi/intlayer_with_vite+vue.md +9 -4
- package/docs/vi/packages/@intlayer_babel/export.md +131 -0
- package/docs/vi/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/vi/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/vi/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/vi/plugins/sync-json.md +0 -1
- package/docs/vi/releases/v9.md +57 -12
- package/docs/zh/compiler.md +6 -3
- package/docs/zh/custom_domains.md +8 -2
- package/docs/zh/custom_url_rewrites.md +8 -2
- package/docs/zh/dynamic_dictionaries/index.md +24 -18
- package/docs/zh/dynamic_dictionaries/variants.md +274 -16
- package/docs/zh/intlayer_with_astro.md +3 -1
- package/docs/zh/intlayer_with_astro_lit.md +3 -1
- package/docs/zh/intlayer_with_astro_preact.md +3 -1
- package/docs/zh/intlayer_with_astro_react.md +3 -1
- package/docs/zh/intlayer_with_astro_solid.md +3 -1
- package/docs/zh/intlayer_with_astro_svelte.md +3 -1
- package/docs/zh/intlayer_with_astro_vanilla.md +3 -1
- package/docs/zh/intlayer_with_astro_vue.md +3 -1
- package/docs/zh/intlayer_with_nextjs_16.md +2 -0
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/zh/intlayer_with_react_native+expo.md +6 -1
- package/docs/zh/intlayer_with_react_router_v7.md +3 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +3 -1
- package/docs/zh/intlayer_with_storybook.md +7 -1
- package/docs/zh/intlayer_with_svelte_kit.md +9 -4
- package/docs/zh/intlayer_with_vite+preact.md +3 -1
- package/docs/zh/intlayer_with_vite+react.md +9 -4
- package/docs/zh/intlayer_with_vite+svelte.md +9 -4
- package/docs/zh/intlayer_with_vite+vue.md +9 -4
- package/docs/zh/packages/@intlayer_babel/export.md +131 -0
- package/docs/zh/packages/vite-intlayer/intlayerCompiler.md +120 -0
- package/docs/zh/packages/vite-intlayer/intlayerMinify.md +92 -0
- package/docs/zh/packages/vite-intlayer/intlayerProxy.md +172 -0
- package/docs/zh/plugins/sync-json.md +0 -1
- package/docs/zh/releases/v9.md +57 -12
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +80 -20
- package/docs/ar/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/de/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/en/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/es/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/fr/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/hi/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/id/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/it/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/ja/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/ko/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/pl/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/pt/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/ru/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/tr/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/uk/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/vi/dynamic_dictionaries/dynamic_content.md +0 -271
- package/docs/zh/dynamic_dictionaries/dynamic_content.md +0 -271
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-25
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
|
+
title: "Tài liệu Gói @intlayer/babel"
|
|
5
|
+
description: Các plugin Babel cho Intlayer để xử lý trích xuất nội dung, tối ưu hóa nhập khẩu (import), loại bỏ các trường không sử dụng và mã hóa tên trường trong quá trình xây dựng (build).
|
|
6
|
+
keywords:
|
|
7
|
+
- "@intlayer/babel"
|
|
8
|
+
- babel
|
|
9
|
+
- plugin
|
|
10
|
+
- đa ngôn ngữ
|
|
11
|
+
- i18n
|
|
12
|
+
- trình biên dịch
|
|
13
|
+
- tối ưu hóa
|
|
14
|
+
- loại bỏ
|
|
15
|
+
- thu nhỏ
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- "@intlayer/babel"
|
|
20
|
+
- export
|
|
21
|
+
history:
|
|
22
|
+
- version: 9.0.0
|
|
23
|
+
date: 2026-06-25
|
|
24
|
+
changes: "Hợp nhất tài liệu cho tất cả các xuất khẩu (exports)"
|
|
25
|
+
author: aymericzip
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Gói @intlayer/babel
|
|
29
|
+
|
|
30
|
+
Gói `@intlayer/babel` cung cấp một tập hợp các plugin Babel chuyên dụng cho Intlayer. Các plugin này bao gồm toàn bộ chu kỳ xây dựng: trích xuất các khai báo nội dung, viết lại các lệnh gọi `useIntlayer` / `getIntlayer` thành các lệnh nhập từ điển được tối ưu hóa, cắt bỏ các trường không sử dụng và nén tên trường.
|
|
31
|
+
|
|
32
|
+
## Cài đặt
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install @intlayer/babel
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Xuất khẩu (Exports)
|
|
39
|
+
|
|
40
|
+
Nhập khẩu (Import):
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import { ... } from "@intlayer/babel";
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### Plugins
|
|
49
|
+
|
|
50
|
+
| Hàm / Lớp | Mô tả |
|
|
51
|
+
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| `intlayerExtractBabelPlugin` | Plugin Babel trích xuất nội dung có thể dịch từ các tệp nguồn và tự động chèn các hook `useIntlayer` / `getIntlayer`. Được thiết kế để sử dụng với Next.js và các công cụ xây dựng dựa trên Babel. |
|
|
53
|
+
| `intlayerOptimizeBabelPlugin` | Plugin Babel chuyển đổi các lệnh gọi `useIntlayer` và `getIntlayer` và viết lại các lệnh nhập của chúng thành các lệnh nhập từ điển JSON được tối ưu hóa (tĩnh, động hoặc qua fetch). |
|
|
54
|
+
| `intlayerPurgeBabelPlugin` | Plugin Babel phân tích các tệp nguồn và viết lại các tệp JSON từ điển đã biên dịch để loại bỏ các trường không sử dụng (`build.purge`) hoặc đổi tên chúng thành các bí danh ngắn (`build.minify`). |
|
|
55
|
+
| `intlayerMinifyBabelPlugin` | Plugin Babel viết lại các tệp nguồn để sử dụng các bí danh trường ngắn được chỉ định trong giai đoạn thu nhỏ (ví dụ: `content.title` ← `content.a`). Dựa vào `intlayerPurgeBabelPlugin`. |
|
|
56
|
+
| `makeFieldRenameBabelPlugin` | Hàm tạo (factory) tạo ra một plugin Babel để đổi tên các truy cập trường nội dung từ điển trong các tệp nguồn theo `dictionaryKeyToFieldRenameMap` được điền trong `PruneContext`. |
|
|
57
|
+
| `makeUsageAnalyzerBabelPlugin` | Hàm tạo tạo ra một plugin Babel để phân tích việc sử dụng `useIntlayer` / `getIntlayer` trong mã nguồn và tổng hợp dữ liệu sử dụng trường trong `PruneContext` chung. |
|
|
58
|
+
| `getSharedPruneContext` | Hàm trợ giúp trả về đối tượng `PruneContext` chung cho thư mục gốc đã chỉ định hoặc `null` nếu nó chưa được khởi tạo. |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### Tiện ích cấu hình plugin
|
|
63
|
+
|
|
64
|
+
| Hàm | Mô tả |
|
|
65
|
+
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
66
|
+
| `getExtractPluginOptions` | Tải cấu hình Intlayer và trả về `ExtractPluginOptions` sẵn sàng sử dụng với `intlayerExtractBabelPlugin`. |
|
|
67
|
+
| `getOptimizePluginOptions` | Tải cấu hình Intlayer và các từ điển đã biên dịch, đồng thời trả về `OptimizePluginOptions` sẵn sàng sử dụng với `intlayerOptimizeBabelPlugin`. |
|
|
68
|
+
| `getPurgePluginOptions` | Tải cấu hình Intlayer và trả về `PurgePluginOptions` sẵn sàng sử dụng với `intlayerPurgeBabelPlugin`. |
|
|
69
|
+
| `getMinifyPluginOptions` | Tải cấu hình Intlayer và trả về `MinifyPluginOptions` sẵn sàng sử dụng với `intlayerMinifyBabelPlugin`. |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### Kiểu dữ liệu
|
|
74
|
+
|
|
75
|
+
| Kiểu dữ liệu | Mô tả |
|
|
76
|
+
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
77
|
+
| `CompilerMode` | Chế độ trình biên dịch: `'dev'` để phát triển với hỗ trợ HMR hoặc `'build'` cho các bản dựng production. |
|
|
78
|
+
| `ExtractPluginOptions` | Tùy chọn cho `intlayerExtractBabelPlugin`: danh sách tệp, cấu hình, callback `onExtract`, v.v. |
|
|
79
|
+
| `ExtractResult` | Kết quả trích xuất: khóa từ điển, đường dẫn tệp, nội dung và ngôn ngữ. |
|
|
80
|
+
| `OptimizePluginOptions` | Tùy chọn cho `intlayerOptimizeBabelPlugin`: đường dẫn từ điển, chế độ nhập, bản đồ chế độ cho mỗi từ điển, v.v. |
|
|
81
|
+
| `PurgePluginOptions` | Tùy chọn cho `intlayerPurgeBabelPlugin`: thư mục gốc, cờ purge/minify/optimize, danh sách tệp component. |
|
|
82
|
+
| `MinifyPluginOptions` | Tùy chọn cho `intlayerMinifyBabelPlugin`: thư mục gốc, cờ thu nhỏ/tối ưu hóa/editorEnabled. |
|
|
83
|
+
| `PruneContext` | Trạng thái chia sẻ giữa các phân tích và các plugin cắt bỏ: bản đồ sử dụng trường, bản đồ đổi tên, v.v. |
|
|
84
|
+
| `DictionaryFieldUsage` | Kết quả sử dụng trường cho một từ điển duy nhất: `Set<string>` hoặc `'all'` khi phân tích tĩnh không đưa ra kết quả kết luận. |
|
|
85
|
+
| `NestedRenameEntry` | Một nút trong cây đổi tên: `shortName` và bản đồ các con. |
|
|
86
|
+
| `NestedRenameMap` | Một cấp độ trong cây đổi tên: `Map<string, NestedRenameEntry>`. |
|
|
87
|
+
| `CompatCallerConfig` | Cấu hình cho bộ phân tích sử dụng tương thích cho các gói `compat-adapter` (tên người gọi và các tùy chọn xử lý). |
|
|
88
|
+
| `ScriptBlock` | Khối script được trích xuất từ tệp SFC (Vue hoặc Svelte): nội dung, độ lệch bắt đầu và kết thúc. |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### Các hàm tiện ích
|
|
93
|
+
|
|
94
|
+
| Hàm | Mô tả |
|
|
95
|
+
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
96
|
+
| `generateShortFieldName` | Chuyển đổi một số nguyên (bắt đầu từ số không) thành mã định danh chữ cái ngắn: `0` → `'a'`, `25` → `'z'`, `26` → `'aa'`, v.v. |
|
|
97
|
+
| `buildNestedRenameMapFromContent` | Xây dựng đệ quy một `NestedRenameMap` từ giá trị nội dung của một từ điển đã biên dịch, tôn trọng các cấu trúc nút Intlayer (translation, enumeration, v.v.). |
|
|
98
|
+
| `createPruneContext` | Tạo một đối tượng `PruneContext` trống mới được khởi tạo với các giá trị mặc định. |
|
|
99
|
+
| `extractScriptBlocks` | Trích xuất các khối `<script>` từ các tệp SFC (Vue / Svelte) để phân tích Babel tiếp theo. |
|
|
100
|
+
| `BABEL_PARSER_OPTIONS` | Hằng số đại diện cho các tùy chọn phân tích cú pháp Babel bao gồm các framework được hỗ trợ (React/Vue/Svelte/Angular/...). |
|
|
101
|
+
| `INTLAYER_CALLER_NAMES` | Danh sách hằng số gồm các tên người gọi Intlayer ban đầu: `['useIntlayer', 'getIntlayer']`. |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Ví dụ sử dụng
|
|
106
|
+
|
|
107
|
+
```js
|
|
108
|
+
// babel.config.js
|
|
109
|
+
const {
|
|
110
|
+
intlayerExtractBabelPlugin,
|
|
111
|
+
intlayerPurgeBabelPlugin,
|
|
112
|
+
intlayerMinifyBabelPlugin,
|
|
113
|
+
intlayerOptimizeBabelPlugin,
|
|
114
|
+
getExtractPluginOptions,
|
|
115
|
+
getPurgePluginOptions,
|
|
116
|
+
getMinifyPluginOptions,
|
|
117
|
+
getOptimizePluginOptions,
|
|
118
|
+
} = require("@intlayer/babel");
|
|
119
|
+
|
|
120
|
+
module.exports = {
|
|
121
|
+
presets: ["next/babel"],
|
|
122
|
+
plugins: [
|
|
123
|
+
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
124
|
+
[intlayerPurgeBabelPlugin, getPurgePluginOptions()],
|
|
125
|
+
[intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
|
|
126
|
+
[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
|
|
127
|
+
],
|
|
128
|
+
};
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
> **Lưu ý:** Plugin `intlayerPurgeBabelPlugin` phải được khai báo **trước** `intlayerMinifyBabelPlugin`, vì plugin sau đọc bản đồ đổi tên được xây dựng bởi plugin trước. Ngoài ra, cả hai đều phải đứng sau `intlayerOptimizeBabelPlugin` để nó có thể nhìn thấy các khóa từ điển trước khi các lệnh gọi `useIntlayer` được viết lại.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-25
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
|
+
title: Tài liệu Plugin Vite intlayerCompiler | vite-intlayer
|
|
5
|
+
description: Plugin Vite giúp trích xuất các khai báo nội dung Intlayer trực tiếp (inline) từ các tệp component và ghi chúng vào các tệp JSON từ điển tại thời điểm build/transform.
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayerCompiler
|
|
8
|
+
- vite
|
|
9
|
+
- plugin
|
|
10
|
+
- trình biên dịch
|
|
11
|
+
- nội dung
|
|
12
|
+
- từ điển
|
|
13
|
+
- đa ngôn ngữ
|
|
14
|
+
- i18n
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- vite-intlayer
|
|
19
|
+
- intlayerCompiler
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.0.0
|
|
22
|
+
date: 2026-06-25
|
|
23
|
+
changes: "Đã tích hợp vào intlayer(); khởi tạo tài liệu"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# intlayerCompiler
|
|
28
|
+
|
|
29
|
+
`intlayerCompiler` là một plugin Vite quét các tệp nguồn component để tìm **các khai báo nội dung Intlayer trực tiếp (inline)** — nội dung được định nghĩa trực tiếp bên trong một component thay vì trong một tệp `.content.ts` riêng biệt — và ghi chúng vào các tệp JSON từ điển trong giai đoạn transform (chuyển đổi).
|
|
30
|
+
|
|
31
|
+
> **Từ phiên bản Intlayer v9**, `intlayerCompiler` được tự động bao gồm bên trong plugin chính [`intlayer()`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/vite-intlayer/intlayer.md) khi cả hai cấu hình `compiler.enabled` là `true` và `compiler.output` được thiết lập trong cấu hình Intlayer của bạn. Bạn chỉ cần đăng ký riêng khi muốn kiểm soát hoàn toàn cấu hình dành riêng cho trình biên dịch.
|
|
32
|
+
|
|
33
|
+
## Cách sử dụng
|
|
34
|
+
|
|
35
|
+
### Như một phần của `intlayer()` (khuyên dùng, v9+)
|
|
36
|
+
|
|
37
|
+
Bật trình biên dịch thông qua cấu hình Intlayer của bạn:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
// intlayer.config.ts
|
|
41
|
+
import { defineConfig } from "intlayer";
|
|
42
|
+
|
|
43
|
+
export default defineConfig({
|
|
44
|
+
compiler: {
|
|
45
|
+
enabled: true,
|
|
46
|
+
output: "./src/dictionaries", // nơi ghi các từ điển đã được trích xuất
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Sau đó sử dụng plugin tiêu chuẩn mà không cần đăng ký thêm:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
// vite.config.ts
|
|
55
|
+
import { defineConfig } from "vite";
|
|
56
|
+
import { intlayer } from "vite-intlayer";
|
|
57
|
+
|
|
58
|
+
export default defineConfig({
|
|
59
|
+
plugins: [intlayer()],
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Độc lập (khi cần thiết)
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
// vite.config.ts
|
|
67
|
+
import { defineConfig } from "vite";
|
|
68
|
+
import { intlayerCompiler } from "vite-intlayer";
|
|
69
|
+
|
|
70
|
+
export default defineConfig({
|
|
71
|
+
plugins: [intlayerCompiler()],
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Các tùy chọn
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import type { IntlayerCompilerOptions } from "vite-intlayer";
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
| Tùy chọn | Kiểu dữ liệu | Mô tả |
|
|
82
|
+
| ---------------- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
83
|
+
| `configOptions` | `GetConfigurationOptions` | Các giá trị ghi đè cấu hình Intlayer được chuyển tiếp đến `getConfiguration()`. |
|
|
84
|
+
| `compilerConfig` | `Partial<CompilerConfig>` | Các ghi đè cho phần cấu hình dành riêng cho trình biên dịch (ví dụ: `enabled`, `output`, `filesList`). |
|
|
85
|
+
|
|
86
|
+
### Ví dụ
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
intlayerCompiler({
|
|
90
|
+
configOptions: { configFile: "./config/intlayer.config.ts" },
|
|
91
|
+
compilerConfig: { enabled: true, output: "./src/dictionaries" },
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Cách thức hoạt động
|
|
96
|
+
|
|
97
|
+
### Giai đoạn Transform (Chuyển đổi)
|
|
98
|
+
|
|
99
|
+
Đối với mỗi tệp nguồn khớp với `compiler.filesList`, plugin trình biên dịch sẽ:
|
|
100
|
+
|
|
101
|
+
1. Chuyển nội dung tệp qua hàm `extractContent` từ thư viện `@intlayer/babel`.
|
|
102
|
+
2. Gọi hàm `onExtract` cho mỗi khai báo được tìm thấy, thao tác này sẽ ghi JSON từ điển kết quả vào đường dẫn `compiler.output`.
|
|
103
|
+
3. Trả về mã nguồn đã chuyển đổi với các khai báo inline được thay thế bằng các lệnh gọi tiêu chuẩn `useIntlayer('key')` / `getIntlayer('key')`.
|
|
104
|
+
|
|
105
|
+
Các loại tệp được hỗ trợ: `.ts`, `.tsx`, `.js`, `.jsx`, `.vue`, `.svelte`, `.astro`.
|
|
106
|
+
|
|
107
|
+
### HMR (Hot Module Replacement - Thay thế mô-đun nóng)
|
|
108
|
+
|
|
109
|
+
Khi một tệp component được lưu ở chế độ phát triển (development mode), trình biên dịch sẽ:
|
|
110
|
+
|
|
111
|
+
1. Phát hiện tệp thay đổi thông qua hook `handleHotUpdate` của Vite.
|
|
112
|
+
2. Trích xuất lại nội dung từ tệp đã cập nhật.
|
|
113
|
+
3. Ghi tệp JSON từ điển đã cập nhật.
|
|
114
|
+
4. Kích hoạt tải lại toàn bộ trang (`server.ws.send({ type: 'full-reload' })`).
|
|
115
|
+
|
|
116
|
+
Một khoảng thời gian debounce (chống rung) 500 ms ngăn việc ghi từ điển (cũng kích hoạt sự kiện thay đổi tệp) tạo ra một vòng lặp trích xuất vô hạn.
|
|
117
|
+
|
|
118
|
+
### Khử trùng lặp (Deduplication)
|
|
119
|
+
|
|
120
|
+
`intlayerCompiler` sử dụng cùng một cơ chế khử trùng lặp `createPrimaryInstanceGuard` giống như các plugin đi kèm khác. Khi cả `intlayer()` (gộp cả trình biên dịch) và lệnh gọi `intlayerCompiler()` thủ công đều xuất hiện, chỉ có phiên bản đã đăng ký đầu tiên chạy — không có từ điển nào bị ghi đè hai lần.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-25
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
|
+
title: Tài liệu Plugin Vite intlayerMinify | vite-intlayer
|
|
5
|
+
description: Plugin Vite giúp nén (minify) các tệp JSON từ điển Intlayer đã biên dịch và tùy chọn mã hóa các tên trường nội dung để giảm kích thước gói bundle.
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayerMinify
|
|
8
|
+
- vite
|
|
9
|
+
- plugin
|
|
10
|
+
- nén
|
|
11
|
+
- kích thước bundle
|
|
12
|
+
- từ điển
|
|
13
|
+
- đa ngôn ngữ
|
|
14
|
+
- i18n
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- packages
|
|
18
|
+
- vite-intlayer
|
|
19
|
+
- intlayerMinify
|
|
20
|
+
history:
|
|
21
|
+
- version: 9.0.0
|
|
22
|
+
date: 2026-06-25
|
|
23
|
+
changes: "Khởi tạo tài liệu"
|
|
24
|
+
author: aymericzip
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# intlayerMinify
|
|
28
|
+
|
|
29
|
+
`intlayerMinify` là một plugin Vite nén các tệp JSON từ điển đã biên dịch trong quá trình build production. Nó loại bỏ tất cả khoảng trắng không cần thiết và khi kết hợp với `intlayerPrune`, có thể tùy chọn đổi tên các trường nội dung thành các bí danh ngắn (`a`, `b`, `c`, …) để giảm thiểu hơn nữa kích thước gói bundle.
|
|
30
|
+
|
|
31
|
+
> Plugin này đã được tích hợp và cấu hình tự động khi bạn sử dụng [`intlayer()`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/vite-intlayer/intlayer.md). Bạn chỉ cần tự đăng ký thủ công nếu đang tự thiết lập cấu trúc plugin của riêng mình.
|
|
32
|
+
|
|
33
|
+
## Cách sử dụng
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
// vite.config.ts
|
|
37
|
+
import { defineConfig } from "vite";
|
|
38
|
+
import { intlayerMinify, intlayerPrune } from "vite-intlayer";
|
|
39
|
+
import { createPruneContext } from "@intlayer/babel";
|
|
40
|
+
|
|
41
|
+
const pruneContext = createPruneContext();
|
|
42
|
+
|
|
43
|
+
export default defineConfig({
|
|
44
|
+
plugins: [
|
|
45
|
+
intlayerPrune(intlayerConfig, pruneContext),
|
|
46
|
+
intlayerMinify(intlayerConfig, pruneContext),
|
|
47
|
+
],
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Điều kiện kích hoạt
|
|
52
|
+
|
|
53
|
+
`intlayerMinify` chỉ hoạt động **khi và chỉ khi** cả ba điều kiện sau đều đúng:
|
|
54
|
+
|
|
55
|
+
1. Lệnh Vite chạy là `build` (không phải `serve` / dev).
|
|
56
|
+
2. Tùy chọn `build.optimize` là `true` (hoặc `undefined`, mặc định sẽ là `true` đối với tiến trình build).
|
|
57
|
+
3. Tùy chọn `build.minify` được đặt là `true` trong cấu hình Intlayer của bạn.
|
|
58
|
+
|
|
59
|
+
Nó tự động bị **vô hiệu hóa** khi `editor.enabled` là `true` vì editor cần nội dung từ điển đầy đủ và thân thiện với người đọc.
|
|
60
|
+
|
|
61
|
+
## Những gì được nén
|
|
62
|
+
|
|
63
|
+
Plugin nhắm vào hai vị trí từ điển (được phân giải từ `intlayer.system`):
|
|
64
|
+
|
|
65
|
+
- `dictionariesDir` — các từ điển tĩnh cho tất cả các locale (ví dụ: `.intlayer/dictionaries/*.json`)
|
|
66
|
+
- `dynamicDictionariesDir` — các từ điển động cho mỗi locale
|
|
67
|
+
|
|
68
|
+
> Các từ điển sử dụng chế độ fetch (`fetchDictionariesDir`) sẽ **không bao giờ** bị nén vì chúng được cung cấp từ một API từ xa tại thời điểm chạy bằng cách sử dụng các tên trường gốc. Việc đổi tên các trường sẽ tạo ra sự không khớp giữa phản hồi của máy chủ và các thuộc tính được truy cập phía client.
|
|
69
|
+
|
|
70
|
+
## Mã hóa tên trường (Thu nhỏ thuộc tính)
|
|
71
|
+
|
|
72
|
+
Khi `intlayerPrune` đã phân tích mã nguồn và cập nhật dữ liệu cho `pruneContext.dictionaryKeyToFieldRenameMap`, `intlayerMinify` cũng đổi tên các trường nội dung thành các bí danh ngắn. Ví dụ:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
// trước khi đổi
|
|
76
|
+
{ "key": "myDict", "content": { "title": "Hello", "description": "World" } }
|
|
77
|
+
|
|
78
|
+
// sau khi đổi (đã được mã hóa)
|
|
79
|
+
{ "key": "myDict", "content": { "a": "Hello", "b": "World" } }
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Các thuộc tính truy cập trong tệp nguồn tương ứng được đổi tên bằng bước xử lý Babel bên trong `intlayerOptimize`, do đó hành vi runtime không bị thay đổi.
|
|
83
|
+
|
|
84
|
+
Các trường nội bộ của Intlayer (`nodeType`, `translation`, v.v.) không bao giờ bị đổi tên.
|
|
85
|
+
|
|
86
|
+
## Các từ điển trường hợp đặc biệt (Edge-cases)
|
|
87
|
+
|
|
88
|
+
Các từ điển được gắn cờ trong `pruneContext.dictionariesWithEdgeCases` (phát hiện bất thường về cấu trúc trong giai đoạn prune) sẽ được bỏ qua hoàn toàn — không nén hay mã hóa — để tránh gửi dữ liệu bị hỏng.
|
|
89
|
+
|
|
90
|
+
## Nhóm đủ điều kiện (Bộ sưu tập / Biến thể / Bản ghi meta)
|
|
91
|
+
|
|
92
|
+
Đối với các từ điển có mảng `qualifierTypes` (bộ sưu tập, biến thể và bản ghi meta), plugin giữ nguyên mảng `qualifierTypes` và bản đồ phụ `meta` một cách nguyên văn. Chỉ có các mục nhập `content` bị mã hóa tên trường. Các khóa phức hợp (được sử dụng để đối sánh bộ chọn tại thời điểm chạy) không bao giờ bị can thiệp.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-25
|
|
3
|
+
updatedAt: 2026-06-25
|
|
4
|
+
title: Tài liệu Plugin Vite intlayerProxy | vite-intlayer
|
|
5
|
+
description: Middleware định tuyến ngôn ngữ cho các máy chủ dev/preview của Vite và SSR production. Xử lý phát hiện locale, chuyển hướng URL và viết lại (rewrite) nội bộ.
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayerProxy
|
|
8
|
+
- vite
|
|
9
|
+
- plugin
|
|
10
|
+
- middleware
|
|
11
|
+
- locale
|
|
12
|
+
- định tuyến
|
|
13
|
+
- đa ngôn ngữ
|
|
14
|
+
- i18n
|
|
15
|
+
- SSR
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- packages
|
|
19
|
+
- vite-intlayer
|
|
20
|
+
- intlayerProxy
|
|
21
|
+
history:
|
|
22
|
+
- version: 9.0.0
|
|
23
|
+
date: 2026-06-25
|
|
24
|
+
changes: "Gộp configOptions thành một đối tượng tùy chọn duy nhất; proxy được tích hợp trong intlayer()"
|
|
25
|
+
author: aymericzip
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# intlayerProxy
|
|
29
|
+
|
|
30
|
+
`intlayerProxy` là một plugin Vite đăng ký middleware định tuyến locale cho **mọi môi trường**: máy chủ phát triển (dev), máy chủ xem trước (preview) và SSR sản xuất (Nitro / TanStack Start).
|
|
31
|
+
|
|
32
|
+
> **Từ phiên bản Intlayer v9**, `intlayerProxy` được tự động bao gồm bên trong plugin chính [`intlayer()`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/vite-intlayer/intlayer.md) và được bật mặc định thông qua cấu hình `routing.enableProxy: true`. Bạn chỉ cần đăng ký riêng nếu cần kiểm soát ở mức thấp hơn hoặc đang sử dụng bên ngoài thiết lập `intlayer()` tiêu chuẩn.
|
|
33
|
+
|
|
34
|
+
## Cách sử dụng
|
|
35
|
+
|
|
36
|
+
### Như một phần của `intlayer()` (khuyên dùng, v9+)
|
|
37
|
+
|
|
38
|
+
Truyền các tùy chọn `proxy` cho plugin chính thay vì đăng ký `intlayerProxy` riêng biệt:
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
// vite.config.ts
|
|
42
|
+
import { defineConfig } from "vite";
|
|
43
|
+
import { intlayer } from "vite-intlayer";
|
|
44
|
+
|
|
45
|
+
export default defineConfig({
|
|
46
|
+
plugins: [
|
|
47
|
+
intlayer({
|
|
48
|
+
proxy: {
|
|
49
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
50
|
+
},
|
|
51
|
+
}),
|
|
52
|
+
],
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Độc lập (khi cần thiết)
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
// vite.config.ts
|
|
60
|
+
import { defineConfig } from "vite";
|
|
61
|
+
import { intlayer } from "vite-intlayer";
|
|
62
|
+
|
|
63
|
+
export default defineConfig({
|
|
64
|
+
plugins: [intlayer()],
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Các tùy chọn
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
import type { IntlayerProxyPluginOptions } from "vite-intlayer";
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Tất cả các tùy chọn đều không bắt buộc và được truyền dưới dạng một đối tượng duy nhất:
|
|
75
|
+
|
|
76
|
+
| Tùy chọn | Kiểu dữ liệu | Mô tả |
|
|
77
|
+
| --------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
78
|
+
| `ignore` | `(req: IncomingMessage) => boolean` | Hàm điều kiện giúp loại trừ các yêu cầu khỏi định tuyến ngôn ngữ. Trả về `true` để bỏ qua một yêu cầu (ví dụ: các đường dẫn API, kiểm tra sức khỏe). |
|
|
79
|
+
| `configOptions` | `GetConfigurationOptions` | Các ghi đè cấu hình Intlayer được chuyển tiếp đến `getConfiguration()`. Sử dụng khi bạn cần proxy đọc một tệp cấu hình cụ thể hoặc ghi đè các giá trị. |
|
|
80
|
+
|
|
81
|
+
### Ví dụ
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
intlayerProxy({
|
|
85
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
86
|
+
configOptions: { configFile: "./config/intlayer.config.ts" },
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## createIntlayerProxyHandler
|
|
91
|
+
|
|
92
|
+
`createIntlayerProxyHandler` tạo một middleware độc lập, không phụ thuộc vào framework dành cho Node.js dạng `(req, res, next)` chứa toàn bộ logic định tuyến ngôn ngữ. Nó hữu ích trong các môi trường không có sẵn API của plugin Vite (ví dụ: một máy chủ Node.js đơn giản hoặc một mô-đun Nitro tùy chỉnh).
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
import { createIntlayerProxyHandler } from "vite-intlayer";
|
|
96
|
+
|
|
97
|
+
const handler = createIntlayerProxyHandler({
|
|
98
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
99
|
+
configOptions: { configFile: "./config/intlayer.config.ts" },
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
// Express / Connect
|
|
103
|
+
app.use(handler);
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### SSR Sản xuất (TanStack Start / Nitro thông qua h3)
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
// server/middleware/intlayerProxy.ts
|
|
110
|
+
import { fromNodeMiddleware } from "h3";
|
|
111
|
+
import { createIntlayerProxyHandler } from "vite-intlayer";
|
|
112
|
+
|
|
113
|
+
export default fromNodeMiddleware(
|
|
114
|
+
createIntlayerProxyHandler({
|
|
115
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
116
|
+
})
|
|
117
|
+
);
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Hành vi định tuyến
|
|
121
|
+
|
|
122
|
+
Middleware phản chiếu logic định tuyến từ middleware `next-intlayer` và hỗ trợ tất cả các chế độ định tuyến của Intlayer.
|
|
123
|
+
|
|
124
|
+
### Các chế độ định tuyến
|
|
125
|
+
|
|
126
|
+
| Chế độ | URL hiển thị trên trình duyệt | Hành vi |
|
|
127
|
+
| --------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
128
|
+
| `prefix` | `/vi/about` | Mặc định. Tiền tố locale trong URL. Ngôn ngữ mặc định chuyển hướng đến URL không có tiền tố trừ khi bật `prefix-all`. |
|
|
129
|
+
| `prefix-all` | `/en/about`, `/vi/about` | Tất cả các ngôn ngữ — bao gồm cả mặc định — đều luôn có tiền tố. |
|
|
130
|
+
| `no-prefix` | `/about` | Không có ngôn ngữ trong URL. Ngôn ngữ chỉ được lưu trữ trong cookie; việc viết lại URL diễn ra nội bộ. |
|
|
131
|
+
| `search-params` | `/about?locale=vi` | Ngôn ngữ được truyền dưới dạng tham số truy vấn. Chuyển hướng để thêm/cập nhật tham số `locale` khi thiếu hoặc cũ. |
|
|
132
|
+
|
|
133
|
+
### Mức độ ưu tiên phát hiện
|
|
134
|
+
|
|
135
|
+
1. Tiền tố đường dẫn URL (ví dụ: `/vi/about` → `vi`).
|
|
136
|
+
2. Giá trị cookie / localStorage (`intlayer-locale`).
|
|
137
|
+
3. Tiêu đề `Accept-Language`.
|
|
138
|
+
4. `defaultLocale` từ cấu hình.
|
|
139
|
+
|
|
140
|
+
### Bỏ qua tự động
|
|
141
|
+
|
|
142
|
+
Middleware luôn cho phép các yêu cầu sau đi thẳng mà không cần xử lý locale:
|
|
143
|
+
|
|
144
|
+
- Các yêu cầu khớp với hàm điều kiện `ignore`.
|
|
145
|
+
- `/node_modules/**`
|
|
146
|
+
- `/@**` – các thành phần nội bộ của Vite (`@vite/`, `@fs/`, `@id/`, v.v.).
|
|
147
|
+
- `/_**` – các thành phần nội bộ của máy chủ (`__vite_ping`, `__manifest`, v.v.).
|
|
148
|
+
- Các yêu cầu có đường dẫn kết thúc bằng phần mở rộng tệp (tài nguyên tĩnh). Nếu tiền tố locale xuất hiện trên đường dẫn tài nguyên tĩnh (ví dụ: `/vi/logo.png`), nó sẽ bị loại bỏ để tệp có thể được phân phát chính xác.
|
|
149
|
+
|
|
150
|
+
### Định tuyến tên miền
|
|
151
|
+
|
|
152
|
+
Khi `routing.domains` được định cấu hình trong cấu hình Intlayer của bạn, middleware sẽ xử lý định tuyến locale chéo miền:
|
|
153
|
+
|
|
154
|
+
- Một yêu cầu cho `/zh/about` trên `intlayer.org` sẽ được chuyển hướng đến `https://intlayer.zh/about` khi `domains.zh = "intlayer.zh"`.
|
|
155
|
+
- Một yêu cầu đến `intlayer.zh/about` được viết lại nội bộ thành `/zh/about` để tham số tuyến đường `[locale]` được cập nhật dữ liệu.
|
|
156
|
+
|
|
157
|
+
### Bảo vệ vòng lặp chuyển hướng
|
|
158
|
+
|
|
159
|
+
Middleware theo dõi số lần chuyển hướng cho mỗi cặp `originalUrl → newUrl` trong một khoảng thời gian trượt (sliding window) dài 2 giây. Hơn 10 lần chuyển hướng trong khoảng thời gian đó sẽ trả về phản hồi `500` kèm theo mô tả lỗi chi tiết thay vì lặp lại mãi mãi.
|
|
160
|
+
|
|
161
|
+
## Nitro / SSR sản xuất (tự động đưa vào, v9+)
|
|
162
|
+
|
|
163
|
+
Khi `intlayerProxy` được sử dụng dưới dạng plugin Vite, nó mang thuộc tính `.nitro`. Plugin xây dựng `nitro/vite` đọc thuộc tính này và đẩy nó vào `nitroConfig.modules`, do đó `intlayerNitroHandler` được đăng ký làm middleware máy chủ Nitro tự động — không cần cấu hình thủ công cho SSR sản xuất.
|
|
164
|
+
|
|
165
|
+
Trình xử lý Nitro sử dụng mô hình sự kiện Web Fetch API của h3 v2 (không phải `fromNodeMiddleware`) nên nó tương thích với tất cả các cấu hình Nitro: Node, Bun, Deno, edge runtimes.
|
|
166
|
+
|
|
167
|
+
## Các bí danh lỗi thời
|
|
168
|
+
|
|
169
|
+
| Xuất khẩu lỗi thời | Thay thế |
|
|
170
|
+
| -------------------------- | --------------- |
|
|
171
|
+
| `intlayerMiddleware` | `intlayerProxy` |
|
|
172
|
+
| `intLayerMiddlewarePlugin` | `intlayerProxy` |
|
|
@@ -108,7 +108,6 @@ const config: IntlayerConfig = {
|
|
|
108
108
|
* Will load, and write the output and translations back to the JSON files in the locales directory
|
|
109
109
|
*/
|
|
110
110
|
syncJSON({
|
|
111
|
-
format: "i18next",
|
|
112
111
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
113
112
|
priority: 0,
|
|
114
113
|
format: "i18next",
|