@intlayer/docs 8.11.1 → 8.11.3
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 +3 -3
- package/blog/ar/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/de/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/en/i18n_using_next-intl.md +3 -3
- package/blog/en/list_i18n_technologies/frameworks/angular.md +3 -3
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +3 -3
- package/blog/en/list_i18n_technologies/frameworks/react.md +3 -3
- package/blog/en/list_i18n_technologies/frameworks/svelte.md +3 -3
- package/blog/en/list_i18n_technologies/frameworks/vue.md +3 -3
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +3 -3
- package/blog/en-GB/i18n_using_next-i18next.md +3 -3
- package/blog/en-GB/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/es/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/fr/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/hi/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/id/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/it/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/ja/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/ko/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/pl/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/pt/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/ru/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/tr/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/uk/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/vi/i18n_using_next-intl.md +3 -3
- 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 +3 -3
- package/blog/zh/i18n_using_next-intl.md +3 -3
- 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/generated/blog.entry.cjs +0 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +20 -21
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +0 -1
- package/dist/cjs/generated/legal.entry.cjs.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/dictionary/markdown.md +161 -0
- 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 +59 -18
- package/docs/ar/intlayer_with_astro_lit.md +62 -19
- package/docs/ar/intlayer_with_astro_preact.md +62 -19
- package/docs/ar/intlayer_with_astro_react.md +62 -19
- package/docs/ar/intlayer_with_astro_solid.md +62 -19
- package/docs/ar/intlayer_with_astro_svelte.md +62 -19
- package/docs/ar/intlayer_with_astro_vanilla.md +59 -18
- package/docs/ar/intlayer_with_astro_vue.md +62 -19
- package/docs/ar/intlayer_with_create_react_app.md +34 -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 -3
- 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 +74 -24
- package/docs/ar/intlayer_with_nextjs_15.md +75 -27
- package/docs/ar/intlayer_with_nextjs_16.md +74 -26
- package/docs/ar/intlayer_with_nextjs_compiler.md +41 -15
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +65 -21
- package/docs/ar/intlayer_with_nextjs_page_router.md +72 -23
- package/docs/ar/intlayer_with_nuxt.md +62 -19
- 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 +57 -16
- package/docs/ar/intlayer_with_svelte_kit.md +91 -28
- package/docs/ar/intlayer_with_tanstack+solid.md +86 -28
- package/docs/ar/intlayer_with_tanstack.md +86 -28
- package/docs/ar/intlayer_with_vanilla.md +59 -22
- package/docs/ar/intlayer_with_vite+lit.md +71 -22
- package/docs/ar/intlayer_with_vite+preact.md +71 -22
- package/docs/ar/intlayer_with_vite+react.md +68 -21
- package/docs/ar/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/ar/intlayer_with_vite+solid.md +71 -22
- package/docs/ar/intlayer_with_vite+svelte.md +68 -21
- package/docs/ar/intlayer_with_vite+vanilla.md +74 -23
- package/docs/ar/intlayer_with_vite+vue.md +71 -22
- package/docs/ar/introduction.md +76 -37
- package/docs/ar/lsp.md +351 -0
- 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_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 +67 -37
- package/docs/cs/interest_of_intlayer.md +55 -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 +28 -8
- package/docs/cs/intlayer_with_vanilla.md +34 -12
- package/docs/cs/intlayer_with_vite+lit.md +43 -15
- package/docs/cs/intlayer_with_vite+vanilla.md +46 -16
- package/docs/cs/introduction.md +61 -31
- package/docs/de/dictionary/markdown.md +161 -0
- package/docs/de/interest_of_intlayer.md +126 -78
- package/docs/de/intlayer_with_adonisjs.md +3 -3
- package/docs/de/intlayer_with_analog.md +63 -16
- package/docs/de/intlayer_with_angular_19.md +63 -16
- package/docs/de/intlayer_with_angular_21.md +63 -16
- package/docs/de/intlayer_with_astro.md +69 -18
- package/docs/de/intlayer_with_astro_lit.md +72 -19
- package/docs/de/intlayer_with_astro_preact.md +72 -19
- package/docs/de/intlayer_with_astro_react.md +72 -19
- package/docs/de/intlayer_with_astro_solid.md +72 -19
- package/docs/de/intlayer_with_astro_svelte.md +72 -19
- package/docs/de/intlayer_with_astro_vanilla.md +69 -18
- package/docs/de/intlayer_with_astro_vue.md +72 -19
- package/docs/de/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/de/intlayer_with_nestjs.md +3 -3
- 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 +84 -24
- package/docs/de/intlayer_with_nextjs_15.md +84 -26
- package/docs/de/intlayer_with_nextjs_16.md +90 -28
- package/docs/de/intlayer_with_nextjs_compiler.md +10 -4
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/de/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/de/intlayer_with_nuxt.md +72 -19
- package/docs/de/intlayer_with_react_native+expo.md +83 -11
- package/docs/de/intlayer_with_react_router_v7.md +89 -23
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +69 -19
- package/docs/de/intlayer_with_storybook.md +67 -16
- package/docs/de/intlayer_with_svelte_kit.md +101 -28
- package/docs/de/intlayer_with_tanstack+solid.md +99 -29
- package/docs/de/intlayer_with_tanstack.md +99 -29
- package/docs/de/intlayer_with_vanilla.md +69 -22
- package/docs/de/intlayer_with_vite+lit.md +81 -22
- package/docs/de/intlayer_with_vite+preact.md +81 -22
- package/docs/de/intlayer_with_vite+react.md +78 -21
- package/docs/de/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/de/intlayer_with_vite+solid.md +81 -22
- package/docs/de/intlayer_with_vite+svelte.md +81 -22
- package/docs/de/intlayer_with_vite+vanilla.md +84 -23
- package/docs/de/intlayer_with_vite+vue.md +81 -22
- package/docs/de/introduction.md +69 -31
- package/docs/de/lsp.md +351 -0
- package/docs/de/releases/v7.md +1 -1
- package/docs/en/dictionary/markdown.md +163 -0
- package/docs/en/interest_of_intlayer.md +51 -3
- package/docs/en/intlayer_with_adonisjs.md +3 -3
- package/docs/en/intlayer_with_analog.md +63 -16
- package/docs/en/intlayer_with_angular_19.md +63 -16
- package/docs/en/intlayer_with_angular_21.md +63 -16
- package/docs/en/intlayer_with_astro.md +75 -20
- package/docs/en/intlayer_with_astro_lit.md +72 -19
- package/docs/en/intlayer_with_astro_preact.md +72 -19
- package/docs/en/intlayer_with_astro_react.md +72 -19
- package/docs/en/intlayer_with_astro_solid.md +72 -19
- package/docs/en/intlayer_with_astro_svelte.md +72 -19
- package/docs/en/intlayer_with_astro_vanilla.md +69 -18
- package/docs/en/intlayer_with_astro_vue.md +72 -19
- package/docs/en/intlayer_with_create_react_app.md +74 -19
- package/docs/en/intlayer_with_express.md +3 -3
- package/docs/en/intlayer_with_fastify.md +3 -3
- package/docs/en/intlayer_with_hono.md +3 -3
- package/docs/en/intlayer_with_lynx+react.md +41 -10
- package/docs/en/intlayer_with_nestjs.md +3 -3
- package/docs/en/intlayer_with_next-i18next.md +3 -3
- package/docs/en/intlayer_with_next-intl.md +3 -3
- package/docs/en/intlayer_with_nextjs_14.md +87 -25
- package/docs/en/intlayer_with_nextjs_15.md +87 -25
- package/docs/en/intlayer_with_nextjs_16.md +89 -27
- package/docs/en/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/en/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/en/intlayer_with_nuxt.md +72 -19
- package/docs/en/intlayer_with_react_native+expo.md +40 -11
- package/docs/en/intlayer_with_react_router_v7.md +85 -23
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +78 -22
- package/docs/en/intlayer_with_storybook.md +66 -15
- package/docs/en/intlayer_with_svelte_kit.md +81 -22
- package/docs/en/intlayer_with_tanstack+solid.md +99 -29
- package/docs/en/intlayer_with_tanstack.md +99 -29
- package/docs/en/intlayer_with_vanilla.md +69 -22
- package/docs/en/intlayer_with_vite+lit.md +81 -22
- package/docs/en/intlayer_with_vite+preact.md +81 -22
- package/docs/en/intlayer_with_vite+react.md +78 -21
- package/docs/en/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/en/intlayer_with_vite+solid.md +78 -21
- package/docs/en/intlayer_with_vite+svelte.md +81 -22
- package/docs/en/intlayer_with_vite+vanilla.md +84 -23
- package/docs/en/intlayer_with_vite+vue.md +78 -21
- package/docs/en/introduction.md +28 -2
- package/docs/en/lsp.md +351 -0
- package/docs/en/mcp_server.md +22 -0
- package/docs/en-GB/dictionary/markdown.md +161 -0
- package/docs/en-GB/interest_of_intlayer.md +71 -23
- package/docs/en-GB/intlayer_with_adonisjs.md +3 -3
- package/docs/en-GB/intlayer_with_analog.md +63 -16
- package/docs/en-GB/intlayer_with_angular_19.md +63 -16
- package/docs/en-GB/intlayer_with_angular_21.md +63 -16
- package/docs/en-GB/intlayer_with_astro.md +69 -18
- package/docs/en-GB/intlayer_with_astro_lit.md +72 -19
- package/docs/en-GB/intlayer_with_astro_preact.md +72 -19
- package/docs/en-GB/intlayer_with_astro_react.md +72 -19
- package/docs/en-GB/intlayer_with_astro_solid.md +72 -19
- package/docs/en-GB/intlayer_with_astro_svelte.md +72 -19
- package/docs/en-GB/intlayer_with_astro_vanilla.md +69 -18
- package/docs/en-GB/intlayer_with_astro_vue.md +72 -19
- package/docs/en-GB/intlayer_with_create_react_app.md +53 -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 +41 -10
- package/docs/en-GB/intlayer_with_nestjs.md +3 -3
- 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 +84 -24
- package/docs/en-GB/intlayer_with_nextjs_15.md +84 -26
- package/docs/en-GB/intlayer_with_nextjs_16.md +87 -27
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +37 -13
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/en-GB/intlayer_with_nuxt.md +72 -19
- package/docs/en-GB/intlayer_with_react_native+expo.md +82 -10
- package/docs/en-GB/intlayer_with_react_router_v7.md +82 -22
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/en-GB/intlayer_with_storybook.md +67 -16
- package/docs/en-GB/intlayer_with_svelte_kit.md +98 -27
- package/docs/en-GB/intlayer_with_tanstack+solid.md +99 -29
- package/docs/en-GB/intlayer_with_tanstack.md +96 -28
- package/docs/en-GB/intlayer_with_vanilla.md +69 -22
- package/docs/en-GB/intlayer_with_vite+lit.md +81 -22
- package/docs/en-GB/intlayer_with_vite+preact.md +78 -21
- package/docs/en-GB/intlayer_with_vite+react.md +75 -20
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/en-GB/intlayer_with_vite+solid.md +78 -21
- package/docs/en-GB/intlayer_with_vite+svelte.md +75 -20
- package/docs/en-GB/intlayer_with_vite+vanilla.md +84 -23
- package/docs/en-GB/intlayer_with_vite+vue.md +84 -23
- package/docs/en-GB/introduction.md +75 -25
- 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/index.md +1 -1
- 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 +168 -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 +124 -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 +63 -16
- package/docs/es/intlayer_with_angular_19.md +63 -16
- package/docs/es/intlayer_with_angular_21.md +63 -16
- package/docs/es/intlayer_with_astro.md +69 -18
- package/docs/es/intlayer_with_astro_lit.md +72 -19
- package/docs/es/intlayer_with_astro_preact.md +72 -19
- package/docs/es/intlayer_with_astro_react.md +72 -19
- package/docs/es/intlayer_with_astro_solid.md +72 -19
- package/docs/es/intlayer_with_astro_svelte.md +72 -19
- package/docs/es/intlayer_with_astro_vanilla.md +69 -18
- package/docs/es/intlayer_with_astro_vue.md +72 -19
- package/docs/es/intlayer_with_create_react_app.md +35 -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 +41 -10
- package/docs/es/intlayer_with_nestjs.md +3 -3
- 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 +86 -26
- package/docs/es/intlayer_with_nextjs_15.md +86 -28
- package/docs/es/intlayer_with_nextjs_16.md +92 -30
- package/docs/es/intlayer_with_nextjs_compiler.md +42 -16
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/es/intlayer_with_nextjs_page_router.md +83 -24
- package/docs/es/intlayer_with_nuxt.md +74 -21
- package/docs/es/intlayer_with_react_native+expo.md +82 -10
- package/docs/es/intlayer_with_react_router_v7.md +89 -23
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +78 -22
- package/docs/es/intlayer_with_storybook.md +67 -16
- package/docs/es/intlayer_with_svelte_kit.md +101 -28
- package/docs/es/intlayer_with_tanstack+solid.md +99 -29
- package/docs/es/intlayer_with_tanstack.md +99 -29
- package/docs/es/intlayer_with_vanilla.md +69 -22
- package/docs/es/intlayer_with_vite+lit.md +81 -22
- package/docs/es/intlayer_with_vite+preact.md +82 -23
- package/docs/es/intlayer_with_vite+react.md +79 -22
- package/docs/es/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/es/intlayer_with_vite+solid.md +82 -23
- package/docs/es/intlayer_with_vite+svelte.md +82 -23
- package/docs/es/intlayer_with_vite+vanilla.md +84 -23
- package/docs/es/intlayer_with_vite+vue.md +82 -23
- package/docs/es/introduction.md +62 -25
- 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/dictionary/markdown.md +161 -0
- package/docs/fr/interest_of_intlayer.md +121 -72
- package/docs/fr/intlayer_with_adonisjs.md +3 -3
- package/docs/fr/intlayer_with_analog.md +63 -16
- package/docs/fr/intlayer_with_angular_19.md +63 -16
- package/docs/fr/intlayer_with_angular_21.md +63 -16
- package/docs/fr/intlayer_with_astro.md +69 -18
- package/docs/fr/intlayer_with_astro_lit.md +72 -19
- package/docs/fr/intlayer_with_astro_preact.md +72 -19
- package/docs/fr/intlayer_with_astro_react.md +72 -19
- package/docs/fr/intlayer_with_astro_solid.md +72 -19
- package/docs/fr/intlayer_with_astro_svelte.md +72 -19
- package/docs/fr/intlayer_with_astro_vanilla.md +69 -18
- package/docs/fr/intlayer_with_astro_vue.md +72 -19
- package/docs/fr/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/fr/intlayer_with_nestjs.md +3 -3
- 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 +85 -25
- package/docs/fr/intlayer_with_nextjs_15.md +85 -27
- package/docs/fr/intlayer_with_nextjs_16.md +90 -28
- package/docs/fr/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/fr/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/fr/intlayer_with_nuxt.md +72 -19
- package/docs/fr/intlayer_with_react_native+expo.md +82 -10
- package/docs/fr/intlayer_with_react_router_v7.md +89 -23
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/fr/intlayer_with_storybook.md +67 -16
- package/docs/fr/intlayer_with_svelte_kit.md +101 -28
- package/docs/fr/intlayer_with_tanstack+solid.md +99 -29
- package/docs/fr/intlayer_with_tanstack.md +99 -29
- package/docs/fr/intlayer_with_vanilla.md +69 -22
- package/docs/fr/intlayer_with_vite+lit.md +81 -22
- package/docs/fr/intlayer_with_vite+preact.md +81 -22
- package/docs/fr/intlayer_with_vite+react.md +78 -21
- package/docs/fr/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/fr/intlayer_with_vite+solid.md +81 -22
- package/docs/fr/intlayer_with_vite+svelte.md +81 -22
- package/docs/fr/intlayer_with_vite+vanilla.md +84 -23
- package/docs/fr/intlayer_with_vite+vue.md +81 -22
- package/docs/fr/introduction.md +61 -24
- 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/dictionary/markdown.md +161 -0
- 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 +59 -18
- package/docs/hi/intlayer_with_astro_lit.md +62 -19
- package/docs/hi/intlayer_with_astro_preact.md +62 -19
- package/docs/hi/intlayer_with_astro_react.md +62 -19
- package/docs/hi/intlayer_with_astro_solid.md +62 -19
- package/docs/hi/intlayer_with_astro_svelte.md +62 -19
- package/docs/hi/intlayer_with_astro_vanilla.md +59 -18
- package/docs/hi/intlayer_with_astro_vue.md +62 -19
- package/docs/hi/intlayer_with_create_react_app.md +34 -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 -3
- 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 +74 -24
- package/docs/hi/intlayer_with_nextjs_15.md +74 -26
- package/docs/hi/intlayer_with_nextjs_16.md +74 -26
- package/docs/hi/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +68 -22
- package/docs/hi/intlayer_with_nextjs_page_router.md +71 -22
- package/docs/hi/intlayer_with_nuxt.md +62 -19
- 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 +57 -16
- package/docs/hi/intlayer_with_svelte_kit.md +91 -28
- 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 +59 -22
- package/docs/hi/intlayer_with_vite+lit.md +71 -22
- package/docs/hi/intlayer_with_vite+preact.md +71 -22
- package/docs/hi/intlayer_with_vite+react.md +68 -21
- package/docs/hi/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/hi/intlayer_with_vite+solid.md +71 -22
- package/docs/hi/intlayer_with_vite+svelte.md +68 -21
- package/docs/hi/intlayer_with_vite+vanilla.md +74 -23
- package/docs/hi/intlayer_with_vite+vue.md +71 -22
- package/docs/hi/introduction.md +81 -43
- package/docs/hi/lsp.md +351 -0
- package/docs/id/dictionary/markdown.md +161 -0
- package/docs/id/interest_of_intlayer.md +50 -192
- package/docs/id/intlayer_with_adonisjs.md +3 -3
- package/docs/id/intlayer_with_analog.md +63 -16
- package/docs/id/intlayer_with_angular_19.md +63 -16
- package/docs/id/intlayer_with_angular_21.md +63 -16
- package/docs/id/intlayer_with_astro.md +69 -18
- package/docs/id/intlayer_with_astro_lit.md +72 -19
- package/docs/id/intlayer_with_astro_preact.md +72 -19
- package/docs/id/intlayer_with_astro_react.md +72 -19
- package/docs/id/intlayer_with_astro_solid.md +72 -19
- package/docs/id/intlayer_with_astro_svelte.md +72 -19
- package/docs/id/intlayer_with_astro_vanilla.md +69 -18
- package/docs/id/intlayer_with_astro_vue.md +72 -19
- package/docs/id/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/id/intlayer_with_nestjs.md +3 -3
- 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 +87 -25
- package/docs/id/intlayer_with_nextjs_15.md +87 -25
- package/docs/id/intlayer_with_nextjs_16.md +84 -26
- package/docs/id/intlayer_with_nextjs_compiler.md +37 -13
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/id/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/id/intlayer_with_nuxt.md +72 -19
- package/docs/id/intlayer_with_react_native+expo.md +82 -10
- package/docs/id/intlayer_with_react_router_v7.md +89 -23
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +89 -23
- package/docs/id/intlayer_with_storybook.md +67 -16
- package/docs/id/intlayer_with_svelte_kit.md +101 -28
- package/docs/id/intlayer_with_tanstack+solid.md +96 -28
- package/docs/id/intlayer_with_tanstack.md +96 -28
- package/docs/id/intlayer_with_vanilla.md +69 -22
- package/docs/id/intlayer_with_vite+lit.md +81 -22
- package/docs/id/intlayer_with_vite+preact.md +81 -22
- package/docs/id/intlayer_with_vite+react.md +78 -21
- package/docs/id/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/id/intlayer_with_vite+solid.md +81 -22
- package/docs/id/intlayer_with_vite+svelte.md +78 -21
- package/docs/id/intlayer_with_vite+vanilla.md +84 -23
- package/docs/id/intlayer_with_vite+vue.md +81 -22
- package/docs/id/introduction.md +65 -35
- package/docs/id/lsp.md +351 -0
- package/docs/it/dictionary/markdown.md +161 -0
- package/docs/it/interest_of_intlayer.md +130 -82
- package/docs/it/intlayer_with_adonisjs.md +3 -3
- package/docs/it/intlayer_with_analog.md +63 -16
- package/docs/it/intlayer_with_angular_19.md +63 -16
- package/docs/it/intlayer_with_angular_21.md +63 -16
- package/docs/it/intlayer_with_astro.md +69 -18
- package/docs/it/intlayer_with_astro_lit.md +72 -19
- package/docs/it/intlayer_with_astro_preact.md +72 -19
- package/docs/it/intlayer_with_astro_react.md +72 -19
- package/docs/it/intlayer_with_astro_solid.md +72 -19
- package/docs/it/intlayer_with_astro_svelte.md +72 -19
- package/docs/it/intlayer_with_astro_vanilla.md +69 -18
- package/docs/it/intlayer_with_astro_vue.md +72 -19
- package/docs/it/intlayer_with_create_react_app.md +37 -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 +41 -10
- package/docs/it/intlayer_with_nestjs.md +3 -3
- 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 +84 -24
- package/docs/it/intlayer_with_nextjs_15.md +84 -26
- package/docs/it/intlayer_with_nextjs_16.md +85 -27
- package/docs/it/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/it/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/it/intlayer_with_nuxt.md +72 -19
- package/docs/it/intlayer_with_react_native+expo.md +82 -10
- package/docs/it/intlayer_with_react_router_v7.md +89 -23
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/it/intlayer_with_storybook.md +67 -16
- package/docs/it/intlayer_with_svelte_kit.md +101 -28
- package/docs/it/intlayer_with_tanstack+solid.md +99 -29
- package/docs/it/intlayer_with_tanstack.md +99 -29
- package/docs/it/intlayer_with_vanilla.md +69 -22
- package/docs/it/intlayer_with_vite+lit.md +81 -22
- package/docs/it/intlayer_with_vite+preact.md +81 -22
- package/docs/it/intlayer_with_vite+react.md +78 -21
- package/docs/it/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/it/intlayer_with_vite+solid.md +81 -22
- package/docs/it/intlayer_with_vite+svelte.md +78 -21
- package/docs/it/intlayer_with_vite+vanilla.md +84 -23
- package/docs/it/intlayer_with_vite+vue.md +81 -22
- package/docs/it/introduction.md +71 -32
- package/docs/it/lsp.md +351 -0
- package/docs/it/releases/v7.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 +59 -18
- package/docs/ja/intlayer_with_astro_lit.md +62 -19
- package/docs/ja/intlayer_with_astro_preact.md +62 -19
- package/docs/ja/intlayer_with_astro_react.md +62 -19
- package/docs/ja/intlayer_with_astro_solid.md +62 -19
- package/docs/ja/intlayer_with_astro_svelte.md +62 -19
- package/docs/ja/intlayer_with_astro_vanilla.md +59 -18
- package/docs/ja/intlayer_with_astro_vue.md +62 -19
- package/docs/ja/intlayer_with_create_react_app.md +34 -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 -3
- 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 +74 -24
- package/docs/ja/intlayer_with_nextjs_15.md +74 -26
- package/docs/ja/intlayer_with_nextjs_16.md +74 -26
- package/docs/ja/intlayer_with_nextjs_compiler.md +37 -13
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +65 -21
- package/docs/ja/intlayer_with_nextjs_page_router.md +71 -22
- package/docs/ja/intlayer_with_nuxt.md +62 -19
- 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 +57 -16
- package/docs/ja/intlayer_with_svelte_kit.md +38 -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 +59 -22
- package/docs/ja/intlayer_with_vite+lit.md +71 -22
- package/docs/ja/intlayer_with_vite+preact.md +38 -11
- package/docs/ja/intlayer_with_vite+react.md +19 -111
- package/docs/ja/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/ja/intlayer_with_vite+solid.md +74 -23
- package/docs/ja/intlayer_with_vite+svelte.md +68 -21
- package/docs/ja/intlayer_with_vite+vanilla.md +74 -23
- package/docs/ja/intlayer_with_vite+vue.md +71 -22
- package/docs/ja/introduction.md +79 -40
- package/docs/ja/lsp.md +351 -0
- package/docs/ko/dictionary/markdown.md +161 -0
- package/docs/ko/interest_of_intlayer.md +140 -92
- package/docs/ko/intlayer_with_adonisjs.md +3 -3
- package/docs/ko/intlayer_with_analog.md +41 -10
- package/docs/ko/intlayer_with_angular_19.md +41 -10
- package/docs/ko/intlayer_with_angular_21.md +41 -10
- package/docs/ko/intlayer_with_astro.md +41 -10
- package/docs/ko/intlayer_with_astro_lit.md +41 -10
- package/docs/ko/intlayer_with_astro_preact.md +41 -10
- package/docs/ko/intlayer_with_astro_react.md +41 -10
- package/docs/ko/intlayer_with_astro_solid.md +41 -10
- package/docs/ko/intlayer_with_astro_svelte.md +41 -10
- package/docs/ko/intlayer_with_astro_vanilla.md +41 -10
- package/docs/ko/intlayer_with_astro_vue.md +41 -10
- package/docs/ko/intlayer_with_create_react_app.md +19 -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 +41 -10
- package/docs/ko/intlayer_with_nestjs.md +3 -3
- 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 +44 -12
- package/docs/ko/intlayer_with_nextjs_15.md +44 -14
- package/docs/ko/intlayer_with_nextjs_16.md +51 -15
- package/docs/ko/intlayer_with_nextjs_compiler.md +10 -4
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +51 -13
- package/docs/ko/intlayer_with_nextjs_page_router.md +44 -11
- package/docs/ko/intlayer_with_nuxt.md +41 -10
- package/docs/ko/intlayer_with_react_native+expo.md +84 -10
- package/docs/ko/intlayer_with_react_router_v7.md +51 -13
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +51 -13
- package/docs/ko/intlayer_with_storybook.md +39 -8
- package/docs/ko/intlayer_with_svelte_kit.md +49 -12
- package/docs/ko/intlayer_with_tanstack+solid.md +41 -11
- package/docs/ko/intlayer_with_tanstack.md +41 -11
- package/docs/ko/intlayer_with_vanilla.md +38 -13
- package/docs/ko/intlayer_with_vite+lit.md +41 -10
- package/docs/ko/intlayer_with_vite+preact.md +48 -11
- package/docs/ko/intlayer_with_vite+react.md +48 -11
- package/docs/ko/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/ko/intlayer_with_vite+solid.md +48 -11
- package/docs/ko/intlayer_with_vite+svelte.md +51 -12
- package/docs/ko/intlayer_with_vite+vanilla.md +41 -10
- package/docs/ko/intlayer_with_vite+vue.md +48 -11
- package/docs/ko/introduction.md +84 -45
- package/docs/ko/lsp.md +351 -0
- package/docs/nl/interest_of_intlayer.md +132 -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 +28 -8
- package/docs/nl/intlayer_with_vanilla.md +34 -12
- package/docs/nl/intlayer_with_vite+lit.md +43 -15
- package/docs/nl/intlayer_with_vite+vanilla.md +46 -16
- package/docs/nl/introduction.md +66 -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/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/dictionary/markdown.md +161 -0
- package/docs/pl/how_works_intlayer.md +1 -1
- package/docs/pl/interest_of_intlayer.md +124 -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 +59 -18
- package/docs/pl/intlayer_with_astro_lit.md +62 -19
- package/docs/pl/intlayer_with_astro_preact.md +62 -19
- package/docs/pl/intlayer_with_astro_react.md +62 -19
- package/docs/pl/intlayer_with_astro_solid.md +62 -19
- package/docs/pl/intlayer_with_astro_svelte.md +62 -19
- package/docs/pl/intlayer_with_astro_vanilla.md +59 -18
- package/docs/pl/intlayer_with_astro_vue.md +62 -19
- package/docs/pl/intlayer_with_create_react_app.md +34 -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 -3
- 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 +77 -25
- package/docs/pl/intlayer_with_nextjs_15.md +77 -25
- package/docs/pl/intlayer_with_nextjs_16.md +81 -29
- package/docs/pl/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +68 -22
- package/docs/pl/intlayer_with_nextjs_page_router.md +71 -22
- package/docs/pl/intlayer_with_nuxt.md +62 -19
- 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 +57 -16
- package/docs/pl/intlayer_with_svelte_kit.md +94 -29
- 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 +59 -22
- package/docs/pl/intlayer_with_vite+lit.md +71 -22
- package/docs/pl/intlayer_with_vite+preact.md +71 -22
- package/docs/pl/intlayer_with_vite+react.md +68 -21
- package/docs/pl/intlayer_with_vite+react_compiler.md +26 -10
- package/docs/pl/intlayer_with_vite+solid.md +71 -22
- package/docs/pl/intlayer_with_vite+svelte.md +68 -21
- package/docs/pl/intlayer_with_vite+vanilla.md +74 -23
- package/docs/pl/intlayer_with_vite+vue.md +71 -22
- package/docs/pl/introduction.md +67 -40
- 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/dictionary/html.md +5 -5
- package/docs/pt/dictionary/markdown.md +168 -7
- package/docs/pt/how_works_intlayer.md +2 -2
- package/docs/pt/interest_of_intlayer.md +133 -85
- package/docs/pt/intlayer_with_adonisjs.md +3 -3
- package/docs/pt/intlayer_with_analog.md +63 -16
- package/docs/pt/intlayer_with_angular_19.md +63 -16
- package/docs/pt/intlayer_with_angular_21.md +63 -16
- package/docs/pt/intlayer_with_astro.md +69 -18
- package/docs/pt/intlayer_with_astro_lit.md +72 -19
- package/docs/pt/intlayer_with_astro_preact.md +72 -19
- package/docs/pt/intlayer_with_astro_react.md +72 -19
- package/docs/pt/intlayer_with_astro_solid.md +72 -19
- package/docs/pt/intlayer_with_astro_svelte.md +72 -19
- package/docs/pt/intlayer_with_astro_vanilla.md +69 -18
- package/docs/pt/intlayer_with_astro_vue.md +72 -19
- package/docs/pt/intlayer_with_create_react_app.md +37 -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 +41 -10
- package/docs/pt/intlayer_with_nestjs.md +3 -3
- 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 +84 -24
- package/docs/pt/intlayer_with_nextjs_15.md +84 -26
- package/docs/pt/intlayer_with_nextjs_16.md +90 -28
- package/docs/pt/intlayer_with_nextjs_compiler.md +40 -14
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/pt/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/pt/intlayer_with_nuxt.md +74 -21
- package/docs/pt/intlayer_with_react_native+expo.md +82 -10
- package/docs/pt/intlayer_with_react_router_v7.md +88 -24
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/pt/intlayer_with_storybook.md +67 -16
- package/docs/pt/intlayer_with_svelte_kit.md +104 -29
- package/docs/pt/intlayer_with_tanstack+solid.md +99 -29
- package/docs/pt/intlayer_with_tanstack.md +99 -29
- package/docs/pt/intlayer_with_vanilla.md +69 -22
- package/docs/pt/intlayer_with_vite+lit.md +81 -22
- package/docs/pt/intlayer_with_vite+preact.md +82 -23
- package/docs/pt/intlayer_with_vite+react.md +79 -22
- package/docs/pt/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/pt/intlayer_with_vite+solid.md +82 -23
- package/docs/pt/intlayer_with_vite+svelte.md +82 -23
- package/docs/pt/intlayer_with_vite+vanilla.md +84 -23
- package/docs/pt/intlayer_with_vite+vue.md +82 -23
- package/docs/pt/introduction.md +81 -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/configuration.md +2 -2
- package/docs/ru/dictionary/content_file.md +2 -2
- package/docs/ru/dictionary/markdown.md +161 -0
- package/docs/ru/interest_of_intlayer.md +122 -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 +63 -16
- package/docs/ru/intlayer_with_angular_19.md +63 -16
- package/docs/ru/intlayer_with_angular_21.md +63 -16
- package/docs/ru/intlayer_with_astro.md +69 -18
- package/docs/ru/intlayer_with_astro_lit.md +72 -19
- package/docs/ru/intlayer_with_astro_preact.md +72 -19
- package/docs/ru/intlayer_with_astro_react.md +72 -19
- package/docs/ru/intlayer_with_astro_solid.md +72 -19
- package/docs/ru/intlayer_with_astro_svelte.md +72 -19
- package/docs/ru/intlayer_with_astro_vanilla.md +69 -18
- package/docs/ru/intlayer_with_astro_vue.md +72 -19
- package/docs/ru/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/ru/intlayer_with_nestjs.md +3 -3
- 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 +84 -24
- package/docs/ru/intlayer_with_nextjs_15.md +87 -27
- package/docs/ru/intlayer_with_nextjs_16.md +90 -28
- package/docs/ru/intlayer_with_nextjs_compiler.md +42 -16
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +75 -21
- package/docs/ru/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/ru/intlayer_with_nuxt.md +72 -19
- package/docs/ru/intlayer_with_react_native+expo.md +82 -10
- package/docs/ru/intlayer_with_react_router_v7.md +89 -23
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/ru/intlayer_with_storybook.md +67 -16
- package/docs/ru/intlayer_with_svelte_kit.md +101 -28
- package/docs/ru/intlayer_with_tanstack+solid.md +99 -29
- package/docs/ru/intlayer_with_tanstack.md +99 -29
- package/docs/ru/intlayer_with_vanilla.md +69 -22
- package/docs/ru/intlayer_with_vite+lit.md +81 -22
- package/docs/ru/intlayer_with_vite+preact.md +81 -22
- package/docs/ru/intlayer_with_vite+react.md +78 -21
- package/docs/ru/intlayer_with_vite+react_compiler.md +26 -10
- package/docs/ru/intlayer_with_vite+solid.md +81 -22
- package/docs/ru/intlayer_with_vite+svelte.md +78 -21
- package/docs/ru/intlayer_with_vite+vanilla.md +84 -23
- package/docs/ru/intlayer_with_vite+vue.md +81 -22
- package/docs/ru/introduction.md +69 -31
- 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/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 +168 -7
- package/docs/tr/how_works_intlayer.md +2 -2
- package/docs/tr/interest_of_intlayer.md +144 -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 +63 -16
- package/docs/tr/intlayer_with_angular_19.md +63 -16
- package/docs/tr/intlayer_with_angular_21.md +63 -16
- package/docs/tr/intlayer_with_astro.md +69 -18
- package/docs/tr/intlayer_with_astro_lit.md +72 -19
- package/docs/tr/intlayer_with_astro_preact.md +72 -19
- package/docs/tr/intlayer_with_astro_react.md +72 -19
- package/docs/tr/intlayer_with_astro_solid.md +72 -19
- package/docs/tr/intlayer_with_astro_svelte.md +72 -19
- package/docs/tr/intlayer_with_astro_vanilla.md +69 -18
- package/docs/tr/intlayer_with_astro_vue.md +72 -19
- package/docs/tr/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/tr/intlayer_with_nestjs.md +3 -3
- 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 +14 -6
- package/docs/tr/intlayer_with_nextjs_15.md +85 -27
- package/docs/tr/intlayer_with_nextjs_16.md +91 -29
- package/docs/tr/intlayer_with_nextjs_compiler.md +38 -14
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +79 -23
- package/docs/tr/intlayer_with_nextjs_page_router.md +82 -23
- package/docs/tr/intlayer_with_nuxt.md +72 -19
- package/docs/tr/intlayer_with_react_native+expo.md +83 -11
- package/docs/tr/intlayer_with_react_router_v7.md +89 -23
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/tr/intlayer_with_storybook.md +67 -16
- package/docs/tr/intlayer_with_svelte_kit.md +101 -28
- package/docs/tr/intlayer_with_tanstack+solid.md +96 -28
- package/docs/tr/intlayer_with_tanstack.md +96 -28
- package/docs/tr/intlayer_with_vanilla.md +69 -22
- package/docs/tr/intlayer_with_vite+lit.md +82 -23
- package/docs/tr/intlayer_with_vite+preact.md +82 -23
- package/docs/tr/intlayer_with_vite+react.md +79 -22
- package/docs/tr/intlayer_with_vite+react_compiler.md +27 -11
- package/docs/tr/intlayer_with_vite+solid.md +82 -23
- package/docs/tr/intlayer_with_vite+svelte.md +79 -22
- package/docs/tr/intlayer_with_vite+vanilla.md +85 -24
- package/docs/tr/intlayer_with_vite+vue.md +82 -23
- package/docs/tr/introduction.md +86 -47
- 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/dictionary/markdown.md +161 -0
- package/docs/uk/interest_of_intlayer.md +50 -192
- package/docs/uk/intlayer_with_adonisjs.md +3 -3
- package/docs/uk/intlayer_with_analog.md +63 -16
- package/docs/uk/intlayer_with_angular_19.md +63 -16
- package/docs/uk/intlayer_with_angular_21.md +63 -16
- package/docs/uk/intlayer_with_astro.md +69 -18
- package/docs/uk/intlayer_with_astro_lit.md +72 -19
- package/docs/uk/intlayer_with_astro_preact.md +72 -19
- package/docs/uk/intlayer_with_astro_react.md +72 -19
- package/docs/uk/intlayer_with_astro_solid.md +72 -19
- package/docs/uk/intlayer_with_astro_svelte.md +72 -19
- package/docs/uk/intlayer_with_astro_vanilla.md +69 -18
- package/docs/uk/intlayer_with_astro_vue.md +72 -19
- package/docs/uk/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/uk/intlayer_with_nestjs.md +3 -3
- 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 +87 -25
- package/docs/uk/intlayer_with_nextjs_15.md +87 -25
- package/docs/uk/intlayer_with_nextjs_16.md +90 -28
- package/docs/uk/intlayer_with_nextjs_compiler.md +37 -13
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +78 -22
- package/docs/uk/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/uk/intlayer_with_nuxt.md +72 -19
- package/docs/uk/intlayer_with_react_native+expo.md +81 -11
- package/docs/uk/intlayer_with_react_router_v7.md +89 -23
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +82 -22
- package/docs/uk/intlayer_with_storybook.md +67 -16
- package/docs/uk/intlayer_with_svelte_kit.md +81 -22
- package/docs/uk/intlayer_with_tanstack+solid.md +97 -29
- package/docs/uk/intlayer_with_tanstack.md +96 -28
- package/docs/uk/intlayer_with_vanilla.md +69 -22
- package/docs/uk/intlayer_with_vite+lit.md +81 -22
- package/docs/uk/intlayer_with_vite+preact.md +81 -22
- package/docs/uk/intlayer_with_vite+react.md +78 -21
- package/docs/uk/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/uk/intlayer_with_vite+solid.md +81 -22
- package/docs/uk/intlayer_with_vite+svelte.md +81 -22
- package/docs/uk/intlayer_with_vite+vanilla.md +85 -24
- package/docs/uk/intlayer_with_vite+vue.md +81 -22
- package/docs/uk/introduction.md +66 -39
- package/docs/uk/lsp.md +351 -0
- 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 +28 -8
- package/docs/ur/intlayer_with_vanilla.md +34 -12
- package/docs/ur/intlayer_with_vite+lit.md +43 -15
- package/docs/ur/intlayer_with_vite+vanilla.md +46 -16
- package/docs/ur/introduction.md +67 -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/dictionary/markdown.md +161 -0
- package/docs/vi/how_works_intlayer.md +2 -2
- package/docs/vi/interest_of_intlayer.md +50 -192
- package/docs/vi/intlayer_with_adonisjs.md +3 -3
- package/docs/vi/intlayer_with_analog.md +63 -16
- package/docs/vi/intlayer_with_angular_19.md +63 -16
- package/docs/vi/intlayer_with_angular_21.md +63 -16
- package/docs/vi/intlayer_with_astro.md +69 -18
- package/docs/vi/intlayer_with_astro_lit.md +72 -19
- package/docs/vi/intlayer_with_astro_preact.md +72 -19
- package/docs/vi/intlayer_with_astro_react.md +72 -19
- package/docs/vi/intlayer_with_astro_solid.md +72 -19
- package/docs/vi/intlayer_with_astro_svelte.md +72 -19
- package/docs/vi/intlayer_with_astro_vanilla.md +69 -18
- package/docs/vi/intlayer_with_astro_vue.md +72 -19
- package/docs/vi/intlayer_with_create_react_app.md +34 -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 +41 -10
- package/docs/vi/intlayer_with_nestjs.md +3 -3
- 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 +87 -25
- package/docs/vi/intlayer_with_nextjs_15.md +69 -26
- package/docs/vi/intlayer_with_nextjs_16.md +91 -29
- package/docs/vi/intlayer_with_nextjs_compiler.md +37 -13
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +75 -21
- package/docs/vi/intlayer_with_nextjs_page_router.md +81 -22
- package/docs/vi/intlayer_with_nuxt.md +72 -19
- package/docs/vi/intlayer_with_react_native+expo.md +82 -10
- package/docs/vi/intlayer_with_react_router_v7.md +89 -23
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +89 -23
- package/docs/vi/intlayer_with_storybook.md +67 -16
- package/docs/vi/intlayer_with_svelte_kit.md +101 -28
- package/docs/vi/intlayer_with_tanstack+solid.md +96 -28
- package/docs/vi/intlayer_with_tanstack.md +96 -28
- package/docs/vi/intlayer_with_vanilla.md +69 -22
- package/docs/vi/intlayer_with_vite+lit.md +81 -22
- package/docs/vi/intlayer_with_vite+preact.md +81 -22
- package/docs/vi/intlayer_with_vite+react.md +78 -21
- package/docs/vi/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/vi/intlayer_with_vite+solid.md +81 -22
- package/docs/vi/intlayer_with_vite+svelte.md +78 -21
- package/docs/vi/intlayer_with_vite+vanilla.md +84 -23
- package/docs/vi/intlayer_with_vite+vue.md +81 -22
- package/docs/vi/introduction.md +72 -41
- 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/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 +168 -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 -3
- 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 +53 -17
- package/docs/zh/intlayer_with_nextjs_15.md +57 -21
- package/docs/zh/intlayer_with_nextjs_16.md +43 -17
- package/docs/zh/intlayer_with_nextjs_compiler.md +28 -10
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +56 -18
- package/docs/zh/intlayer_with_nextjs_page_router.md +50 -15
- package/docs/zh/intlayer_with_nuxt.md +47 -14
- 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 +29 -8
- package/docs/zh/intlayer_with_svelte_kit.md +54 -17
- 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 +44 -13
- package/docs/zh/intlayer_with_vite+react.md +53 -16
- package/docs/zh/intlayer_with_vite+react_compiler.md +3 -3
- package/docs/zh/intlayer_with_vite+solid.md +44 -13
- package/docs/zh/intlayer_with_vite+svelte.md +56 -17
- package/docs/zh/intlayer_with_vite+vanilla.md +31 -10
- package/docs/zh/intlayer_with_vite+vue.md +56 -17
- package/docs/zh/introduction.md +83 -44
- 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 +192 -0
- package/package.json +7 -7
- 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,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-14
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
4
|
title: Lợi ích của Intlayer
|
|
5
5
|
description: Khám phá những lợi ích và ưu điểm của việc sử dụng Intlayer trong các dự án của bạn. Hiểu tại sao Intlayer nổi bật giữa các khung khác.
|
|
6
6
|
keywords:
|
|
@@ -13,6 +13,9 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- why
|
|
15
15
|
history:
|
|
16
|
+
- version: 8.11.2
|
|
17
|
+
date: 2026-05-31
|
|
18
|
+
changes: "Thêm phần Tại sao Intlayer thay thế"
|
|
16
19
|
- version: 7.3.1
|
|
17
20
|
date: 2025-11-27
|
|
18
21
|
changes: "Phát hành Trình biên dịch"
|
|
@@ -26,197 +29,52 @@ history:
|
|
|
26
29
|
|
|
27
30
|
# Tại sao bạn nên cân nhắc sử dụng Intlayer?
|
|
28
31
|
|
|
29
|
-
## Intlayer
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
1. **Đối với bất kỳ thành phần mới nào được tạo, bạn nên:**
|
|
76
|
-
- Tạo tài nguyên/không gian tên mới trong thư mục `locales`
|
|
77
|
-
- Nhớ nhập không gian tên mới trong trang của bạn
|
|
78
|
-
- Dịch nội dung của bạn (thường được thực hiện thủ công bằng cách sao chép/dán từ các nhà cung cấp AI)
|
|
79
|
-
|
|
80
|
-
2. **Đối với bất kỳ thay đổi nào được thực hiện trên các thành phần của bạn, bạn nên:**
|
|
81
|
-
- Tìm kiếm tài nguyên/không gian tên liên quan (xa thành phần)
|
|
82
|
-
- Dịch nội dung của bạn
|
|
83
|
-
- Đảm bảo nội dung của bạn được cập nhật cho mọi ngôn ngữ
|
|
84
|
-
- Xác minh không gian tên của bạn không bao gồm các khóa/giá trị không sử dụng
|
|
85
|
-
- Đảm bảo cấu trúc của các tệp JSON của bạn giống nhau cho tất cả các ngôn ngữ
|
|
86
|
-
|
|
87
|
-
Trên các dự án chuyên nghiệp sử dụng các giải pháp này, các nền tảng địa phương hóa thường được sử dụng để giúp quản lý việc dịch nội dung của bạn. Tuy nhiên, điều này có thể nhanh chóng trở nên tốn kém cho các dự án lớn.
|
|
88
|
-
|
|
89
|
-
Để giải quyết vấn đề này, Intlayer áp dụng một cách tiếp cận phân phạm vi nội dung của bạn theo từng thành phần và giữ nội dung của bạn gần với thành phần của bạn, như chúng ta thường làm với CSS (`styled-components`), các kiểu, tài liệu (`storybook`) hoặc kiểm thử đơn vị (`jest`).
|
|
90
|
-
|
|
91
|
-
```bash codeFormat="typescript"
|
|
92
|
-
.
|
|
93
|
-
└── components
|
|
94
|
-
└── MyComponent
|
|
95
|
-
├── index.content.ts
|
|
96
|
-
├── index.test.tsx
|
|
97
|
-
├── index.stories.tsx
|
|
98
|
-
└── index.tsx
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
```bash codeFormat="commonjs"
|
|
102
|
-
.
|
|
103
|
-
└── components
|
|
104
|
-
└── MyComponent
|
|
105
|
-
├── index.content.cjs
|
|
106
|
-
├── index.test.mjs
|
|
107
|
-
├── index.stories.mjs
|
|
108
|
-
└── index.tsx
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
```bash codeFormat="esm"
|
|
112
|
-
.
|
|
113
|
-
└── components
|
|
114
|
-
└── MyComponent
|
|
115
|
-
├── index.content.mjs
|
|
116
|
-
├── index.test.mjs
|
|
117
|
-
├── index.stories.mjs
|
|
118
|
-
└── index.tsx
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
```tsx fileName="./components/MyComponent/index.content.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
122
|
-
import { t, type Dictionary } from "intlayer";
|
|
123
|
-
|
|
124
|
-
const componentExampleContent = {
|
|
125
|
-
key: "component-example",
|
|
126
|
-
content: {
|
|
127
|
-
myTranslatedContent: t({
|
|
128
|
-
en: "Hello World",
|
|
129
|
-
es: "Hola Mundo",
|
|
130
|
-
fr: "Bonjour le monde",
|
|
131
|
-
}),
|
|
132
|
-
},
|
|
133
|
-
} satisfies Dictionary;
|
|
134
|
-
|
|
135
|
-
export default componentExampleContent;
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
```tsx fileName="./components/MyComponent/index.tsx" codeFormat={["typescript", "esm"]}
|
|
139
|
-
import { useIntlayer } from "react-intlayer";
|
|
140
|
-
|
|
141
|
-
export const ComponentExample = () => {
|
|
142
|
-
const { myTranslatedContent } = useIntlayer("component-example");
|
|
143
|
-
|
|
144
|
-
return <span>{myTranslatedContent}</span>;
|
|
145
|
-
};
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Cách tiếp cận này cho phép bạn:
|
|
149
|
-
|
|
150
|
-
1. **Tăng tốc độ phát triển**
|
|
151
|
-
- Các tệp `.content.{{ts|mjs|cjs|json}}` có thể được tạo bằng tiện ích mở rộng VSCode
|
|
152
|
-
- Các công cụ AI tự động hoàn thành trong IDE của bạn (như GitHub Copilot) có thể giúp bạn khai báo nội dung, giảm việc sao chép/dán
|
|
153
|
-
|
|
154
|
-
2. **Làm sạch mã nguồn của bạn**
|
|
155
|
-
- Giảm độ phức tạp
|
|
156
|
-
- Tăng khả năng bảo trì
|
|
157
|
-
|
|
158
|
-
3. **Sao chép các thành phần và nội dung liên quan của chúng dễ dàng hơn (Ví dụ: thành phần đăng nhập/đăng ký, v.v.)**
|
|
159
|
-
- Bằng cách hạn chế rủi ro ảnh hưởng đến nội dung của các thành phần khác
|
|
160
|
-
- Bằng cách sao chép/dán nội dung của bạn từ ứng dụng này sang ứng dụng khác mà không có các phụ thuộc bên ngoài
|
|
161
|
-
|
|
162
|
-
4. **Tránh làm bẩn mã nguồn của bạn với các khóa/giá trị không sử dụng cho các thành phần không sử dụng**
|
|
163
|
-
- Nếu bạn không sử dụng một thành phần, Intlayer sẽ không nhập nội dung liên quan của nó
|
|
164
|
-
- Nếu bạn xóa một thành phần, bạn sẽ dễ dàng nhớ xóa nội dung liên quan của nó vì nó sẽ có mặt trong cùng một thư mục
|
|
165
|
-
|
|
166
|
-
5. **Giảm chi phí lập luận cho các tác nhân AI để khai báo nội dung đa ngôn ngữ của bạn**
|
|
167
|
-
- Tác nhân AI sẽ không phải quét toàn bộ mã nguồn của bạn để biết nơi triển khai nội dung của bạn
|
|
168
|
-
- Các bản dịch có thể dễ dàng được thực hiện bằng các công cụ AI tự động hoàn thành trong IDE của bạn (như GitHub Copilot)
|
|
169
|
-
|
|
170
|
-
6. **Tối ưu hóa hiệu suất tải**
|
|
171
|
-
- Nếu một thành phần được tải lười (lazy-loaded), nội dung liên quan của nó sẽ được tải cùng lúc
|
|
172
|
-
|
|
173
|
-
## Các tính năng bổ sung của Intlayer
|
|
174
|
-
|
|
175
|
-
| Tính năng | Mô tả |
|
|
176
|
-
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
177
|
-
|  | **Hỗ trợ đa khung làm việc**<br><br>Intlayer tương thích với tất cả các khung làm việc và thư viện chính, bao gồm Next.js, React, Vite, Vue.js, Nuxt, Preact, Express và nhiều hơn nữa. |
|
|
178
|
-
|  | **Quản lý nội dung bằng sức mạnh JavaScript**<br><br>Tận dụng tính linh hoạt của JavaScript để xác định và quản lý nội dung của bạn một cách hiệu quả. <br><br> - [Khai báo nội dung](https://intlayer.org/doc/concept/content) |
|
|
179
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Tính năng" width="700"> | **Trình biên dịch**<br><br>Trình biên dịch Intlayer tự động trích xuất nội dung từ các thành phần và tạo các tệp từ điển.<br><br> - [Trình biên dịch](https://intlayer.org/doc/compiler) |
|
|
180
|
-
|  | **Tệp khai báo nội dung theo ngôn ngữ**<br><br>Tăng tốc độ phát triển của bạn bằng cách khai báo nội dung của bạn một lần, trước khi tự động tạo.<br><br> - [Tệp khai báo nội dung theo ngôn ngữ](https://intlayer.org/doc/concept/per-locale-file) |
|
|
181
|
-
|  | **Môi trường Type-Safe**<br><br>Tận dụng TypeScript để đảm bảo các định nghĩa nội dung và mã của bạn không có lỗi, đồng thời hưởng lợi từ tính năng tự động hoàn thành của IDE.<br><br> - [Cấu hình TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
182
|
-
|  | **Thiết lập đơn giản hóa**<br><br>Bắt đầu và chạy nhanh chóng với cấu hình tối thiểu. Điều chỉnh các cài đặt cho quốc tế hóa, định tuyến, AI, xây dựng và xử lý nội dung một cách dễ dàng. <br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
183
|
-
|  | **Truy xuất nội dung đơn giản hóa**<br><br>Không cần gọi hàm `t` cho từng phần nội dung. Truy xuất tất cả nội dung của bạn trực tiếp bằng một hook duy nhất.<br><br> - [Tích hợp React](https://intlayer.org/doc/environment/create-react-app) |
|
|
184
|
-
|  | **Triển khai Server Component nhất quán**<br><br>Hoàn toàn phù hợp cho các server component của Next.js, sử dụng cùng một cách triển khai cho cả thành phần client và server, không cần truyền hàm `t` của bạn qua từng server component. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
185
|
-
|  | **Mã nguồn được tổ chức**<br><br>Giữ cho mã nguồn của bạn có tổ chức hơn: 1 thành phần = 1 từ điển trong cùng một thư mục. Các bản dịch gần với các thành phần tương ứng của chúng giúp tăng khả năng bảo trì và sự rõ ràng. <br><br> - [Cách Intlayer hoạt động](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
186
|
-
|  | **Định tuyến nâng cao**<br><br>Hỗ trợ đầy đủ định tuyến ứng dụng, thích ứng liền mạch với các cấu trúc ứng dụng phức tạp, cho Next.js, React, Vite, Vue.js, v.v.<br><br> - [Khám phá tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
187
|
-
|  | **Hỗ trợ Markdown**<br><br>Nhập và diễn giải các tệp ngôn ngữ và Markdown từ xa cho nội dung đa ngôn ngữ như chính sách bảo mật, tài liệu, v.v. Diễn giải và làm cho siêu dữ liệu Markdown có thể truy cập được trong mã của bạn.<br><br> - [Tệp nội dung](https://intlayer.org/doc/concept/content/file) |
|
|
188
|
-
|  | **Trình biên tập trực quan & CMS miễn phí**<br><br>Một trình biên tập trực quan và CMS miễn phí có sẵn cho các nhà viết nội dung, loại bỏ nhu cầu về một nền tảng địa phương hóa. Giữ cho nội dung của bạn được đồng bộ hóa bằng Git, hoặc bên thứ ba hóa nó hoàn toàn hoặc một phần với CMS.<br><br> - [Trình biên tập Intlayer](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
189
|
-
|  | **Nội dung Tree-shakable**<br><br>Nội dung tree-shakable, giảm kích thước của gói cuối cùng. Tải nội dung theo từng thành phần, loại trừ bất kỳ nội dung không sử dụng nào khỏi gói của bạn. Hỗ trợ tải lười để tăng hiệu quả tải ứng dụng. <br><br> - [Tối ưu hóa xây dựng ứng dụng](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
190
|
-
|  | **Kết xuất tĩnh (Static Rendering)**<br><br>Không chặn Kết xuất tĩnh. <br><br> - [Tích hợp Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
191
|
-
|  | **Dịch bằng AI**<br><br>Biến trang web của bạn sang 231 ngôn ngữ chỉ bằng một cú nhấp chuột bằng các công cụ dịch nâng cao được hỗ trợ bởi AI của Intlayer bằng cách sử dụng nhà cung cấp AI/khóa API của riêng bạn. <br><br> - [Tích hợp CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Tự động điền](https://intlayer.org/doc/concept/auto-fill) |
|
|
192
|
-
|  | **Tích hợp Máy chủ MCP**<br><br>Cung cấp máy chủ MCP (Model Context Protocol) để tự động hóa IDE, cho phép quản lý nội dung và quy trình làm việc i18n liền mạch ngay trong môi trường phát triển của bạn. <br><br> - [Máy chủ MCP](https://github.com/aymericzip/intlayer/blob/main/docs/vi/mcp_server.md) |
|
|
193
|
-
|  | **Tiện ích mở rộng VSCode**<br><br>Intlayer cung cấp một tiện ích mở rộng VSCode để giúp bạn quản lý nội dung và bản dịch, xây dựng từ điển, dịch nội dung và nhiều hơn nữa. <br><br> - [Tiện ích mở rộng VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
194
|
-
|  | **Khả năng tương tác**<br><br>Cho phép khả năng tương tác với react-i18next, next-i18next, next-intl và react-intl. <br><br> - [Intlayer và react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer và next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer và next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
195
|
-
| Kiểm tra bản dịch còn thiếu (CLI/CI) | ✅ CLI: npx intlayer content test (kiểm tra thân thiện với CI) |
|
|
196
|
-
|
|
197
|
-
## So sánh Intlayer với các giải pháp khác
|
|
198
|
-
|
|
199
|
-
| Tính năng | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
|
|
200
|
-
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
|
201
|
-
| **Bản dịch gần các thành phần** | ✅ Có, nội dung được đặt cùng với từng thành phần | ❌ Không | ❌ Không | ❌ Không | ❌ Không | ❌ Không | ✅ Có - sử dụng `Single File Components` (SFCs) |
|
|
202
|
-
| **Tích hợp TypeScript** | ✅ Nâng cao, các kiểu nghiêm ngặt được tạo tự động | ⚠️ Cơ bản; cần cấu hình thêm để an toàn | ✅ Tốt, nhưng ít nghiêm ngặt hơn | ⚠️ Định kiểu, cần cấu hình | ✅ Tốt | ⚠️ Cơ bản | ✅ Tốt (có sẵn kiểu; an toàn khóa cần thiết lập) |
|
|
203
|
-
| **Phát hiện bản dịch còn thiếu** | ✅ Làm nổi bật lỗi TypeScript và lỗi/cảnh báo trong thời gian xây dựng | ⚠️ Chủ yếu là các chuỗi dự phòng (fallback) khi chạy | ⚠️ Các chuỗi dự phòng | ⚠️ Cần cấu hình thêm | ⚠️ Dự phòng khi chạy | ⚠️ Dự phòng khi chạy | ⚠️ Dự phòng/cảnh báo khi chạy (có thể cấu hình) |
|
|
204
|
-
| **Nội dung phong phú (JSX/Markdown/thành phần)** | ✅ Hỗ trợ trực tiếp | ⚠️ Hạn chế / chỉ nội suy | ⚠️ Cú pháp ICU, không phải JSX thực | ⚠️ Hạn chế | ❌ Không được thiết kế cho các nút phong phú | ⚠️ Hạn chế | ⚠️ Hạn chế (thành phần qua `<i18n-t>`, Markdown qua plugin) |
|
|
205
|
-
| **Dịch bằng AI** | ✅ Có, hỗ trợ nhiều nhà cung cấp AI. Có thể sử dụng bằng các khóa API của riêng bạn. Xem xét bối cảnh ứng dụng và phạm vi nội dung của bạn | ❌ Không | ❌ Không | ❌ Không | ❌ Không | ❌ Không | ❌ Không |
|
|
206
|
-
| **Trình biên tập trực quan** | ✅ Có, Trình biên tập trực quan cục bộ + CMS tùy chọn; có thể bên thứ ba hóa nội dung mã nguồn; có thể nhúng | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài | ❌ Không / có sẵn thông qua các nền tảng địa phương hóa bên ngoài |
|
|
207
|
-
| **Định tuyến được bản địa hóa** | ✅ Có, hỗ trợ các đường dẫn được bản địa hóa ngay từ đầu (hoạt động với Next.js & Vite) | ⚠️ Không tích hợp sẵn, yêu cầu plugin (ví dụ: `next-i18next`) hoặc cấu hình bộ định tuyến tùy chỉnh | ❌ Không, chỉ định dạng thông báo, định tuyến phải thủ công | ⚠️ Không tích hợp sẵn, yêu cầu plugin hoặc cấu hình thủ công | ✅ Tích hợp sẵn, App Router hỗ trợ phân đoạn `[locale]` | ✅ Tích hợp sẵn | ✅ Tích hợp sẵn |
|
|
208
|
-
| **Tạo tuyến đường động** | ✅ Có | ⚠️ Plugin/hệ sinh thái hoặc thiết lập thủ công | ❌ Không được cung cấp | ⚠️ Plugin/thủ công | ✅ Có | ✅ Có | ❌ Không được cung cấp (Nuxt i18n cung cấp) |
|
|
209
|
-
| **Số nhiều** | ✅ Các mẫu dựa trên liệt kê | ✅ Có thể cấu hình (các plugin như i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Tốt | ✅ Tốt | ✅ Các quy tắc số nhiều tích hợp sẵn |
|
|
210
|
-
| **Định dạng (ngày tháng, số, tiền tệ)** | ✅ Các trình định dạng được tối ưu hóa (sử dụng Intl bên dưới) | ⚠️ Qua các plugin hoặc cách sử dụng Intl tùy chỉnh | ✅ Trình định dạng ICU | ✅ Helper ICU/CLI | ✅ Tốt (Intl helper) | ✅ Tốt (Intl helper) | ✅ Trình định dạng ngày tháng/số tích hợp sẵn (Intl) |
|
|
211
|
-
| **Định dạng nội dung** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml đang phát triển) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
|
|
212
|
-
| **Hỗ trợ ICU** | ⚠️ Đang phát triển | ⚠️ Qua plugin (i18next-icu) | ✅ Có | ✅ Có | ✅ Có | ⚠️ Qua plugin (`i18next-icu`) | ⚠️ Qua trình định dạng/trình biên dịch tùy chỉnh |
|
|
213
|
-
| **SEO Helper (hreflang, sitemap)** | ✅ Công cụ tích hợp sẵn: các helper cho sitemap, robots.txt, metadata | ⚠️ Các plugin cộng đồng/thủ công | ❌ Không phải là cốt lõi | ❌ Không phải là cốt lõi | ✅ Tốt | ✅ Tốt | ❌ Không phải là cốt lõi (Nuxt i18n cung cấp các helper) |
|
|
214
|
-
| **Hệ sinh thái / Cộng đồng** | ⚠️ Nhỏ hơn nhưng phát triển nhanh và phản ứng nhanh | ✅ Lớn nhất và trưởng thành | ✅ Lớn | ⚠️ Nhỏ hơn | ✅ Quy mô trung bình, tập trung vào Next.js | ✅ Quy mô trung bình, tập trung vào Next.js | ✅ Lớn trong hệ sinh thái Vue |
|
|
215
|
-
| **Server-side Rendering & Server Components** | ✅ Có, được tối ưu cho SSR / React Server Components | ⚠️ Được hỗ trợ ở cấp trang nhưng cần truyền hàm t trên cây thành phần cho các server component con | ⚠️ Được hỗ trợ ở cấp trang với thiết lập bổ sung, nhưng cần truyền hàm t trên cây thành phần cho các server component con | ✅ Được hỗ trợ, cần thiết lập | ⚠️ Được hỗ trợ ở cấp trang nhưng cần truyền hàm t trên cây thành phần cho các server component con | ⚠️ Được hỗ trợ ở cấp trang nhưng cần truyền hàm t trên cây thành phần cho các server component con | ✅ SSR qua Nuxt/Vue SSR (không RSC) |
|
|
216
|
-
| **Tree-shaking (chỉ tải nội dung được sử dụng)** | ✅ Có, trên mỗi thành phần tại thời điểm xây dựng thông qua các plugin Babel/SWC | ⚠️ Thường tải tất cả (có thể được cải thiện với không gian tên/chia nhỏ mã) | ⚠️ Thường tải tất cả | ❌ Không mặc định | ⚠️ Một phần | ⚠️ Một phần | ⚠️ Một phần (với chia nhỏ mã/thiết lập thủ công) |
|
|
217
|
-
| **Tải lười (Lazy loading)** | ✅ Có, theo từng ngôn ngữ / theo từng từ điển | ✅ Có (ví dụ: backends/không gian tên theo yêu cầu) | ✅ Có (tách rời các gói ngôn ngữ) | ✅ Có (nhập danh mục động) | ✅ Có (theo tuyến đường/theo ngôn ngữ), cần quản lý không gian tên | ✅ Có (theo tuyến đường/theo ngôn ngữ), cần quản lý không gian tên | ✅ Có (thông báo ngôn ngữ không đồng bộ) |
|
|
218
|
-
| **Loại bỏ nội dung không sử dụng** | ✅ Có, theo từng từ điển tại thời điểm xây dựng | ❌ Không, chỉ thông qua phân đoạn không gian tên thủ công | ❌ Không, tất cả các thông báo được khai báo đều được đóng gói | ✅ Có, các khóa không sử dụng được phát hiện & loại bỏ khi xây dựng | ❌ Không, có thể được quản lý thủ công với quản lý không gian tên | ❌ Không, có thể được quản lý thủ công với quản lý không gian tên | ❌ Không, chỉ có thể thực hiện qua tải lười thủ công |
|
|
219
|
-
| **Quản lý dự án lớn** | ✅ Khuyến khích tính mô-đun, phù hợp cho các hệ thống thiết kế | ⚠️ Cần kỷ luật tệp tốt | ⚠️ Các danh mục trung tâm có thể trở nên lớn | ⚠️ Có thể trở nên phức tạp | ✅ Mô-đun với thiết lập | ✅ Mô-đun với thiết lập | ✅ Mô-đun với thiết lập Vue Router/Nuxt i18n |
|
|
32
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
33
|
+
|
|
34
|
+
So với các giải pháp chính như `next-intl` hay `i18next`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
35
|
+
|
|
36
|
+
<AccordionGroup>
|
|
37
|
+
<Accordion header="Kích thước bundle">
|
|
38
|
+
|
|
39
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
40
|
+
|
|
41
|
+
</Accordion>
|
|
42
|
+
<Accordion header="Khả năng bảo trì">
|
|
43
|
+
|
|
44
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
45
|
+
|
|
46
|
+
</Accordion>
|
|
47
|
+
<Accordion header="Đại lý AI">
|
|
48
|
+
|
|
49
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
50
|
+
|
|
51
|
+
</Accordion>
|
|
52
|
+
<Accordion header="Tính năng">
|
|
53
|
+
|
|
54
|
+
Intlayer cung cấp nhiều tính năng bổ sung mà các giải pháp i18n khác không có, chẳng hạn như [Hỗ trợ Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/markdown.md), [tìm nạp nội dung bên ngoài](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/function_fetching.md), [nội dung tệp loading](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/file.md), [cập nhật nội dung trực tiếp](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/live.md), [trình soạn thảo trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md), v.v.
|
|
55
|
+
|
|
56
|
+
</Accordion>
|
|
57
|
+
<Accordion header="Tự động hóa">
|
|
58
|
+
|
|
59
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
60
|
+
|
|
61
|
+
</Accordion>
|
|
62
|
+
<Accordion header="Hiệu suất">
|
|
63
|
+
|
|
64
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
65
|
+
|
|
66
|
+
</Accordion>
|
|
67
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
68
|
+
|
|
69
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
70
|
+
|
|
71
|
+
</Accordion>
|
|
72
|
+
<Accordion header="Thiết kế khung chéo">
|
|
73
|
+
|
|
74
|
+
Nếu bạn sử dụng các khung khác nhau cho các phần khác nhau của ứng dụng (ví dụ: React, React-native, Vue, Angular, Svelte, v.v.), Intlayer sẽ cung cấp cách **sử dụng một synatax chung và cách triển khai trên tất cả các khung giao diện người dùng chính**. Bạn cũng sẽ có thể chia sẻ khai báo nội dung của mình trên hệ thống thiết kế, ứng dụng, chương trình phụ trợ, v.v.
|
|
75
|
+
|
|
76
|
+
</Accordion>
|
|
77
|
+
</AccordionGroup>
|
|
220
78
|
|
|
221
79
|
---
|
|
222
80
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: AdonisJS i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: AdonisJS i18n - Hướng dẫn đầy đủ để dịch AdonisJS
|
|
5
|
+
description: Giải pháp tốt nhất cho kích thước bundle, SEO, hiệu suất & khả năng bảo trì. Làm cho AdonisJS backend của bạn đa ngôn ngữ vào năm 2026, dịch thuật LLM, Agent Skills & MCP.
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: Analog i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: Analog i18n - Hướng dẫn đầy đủ để dịch Analog
|
|
5
|
+
description: Giải pháp tốt nhất cho kích thước bundle, SEO, hiệu suất & khả năng bảo trì. Làm cho Analog ứng dụng của bạn đa ngôn ngữ vào năm 2026, dịch thuật LLM, Agent Skills & MCP.
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -56,16 +56,47 @@ history:
|
|
|
56
56
|
|
|
57
57
|
<TOC/>
|
|
58
58
|
|
|
59
|
-
## Intlayer
|
|
59
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
So với các giải pháp chính như `ngx-translate` hay `angular-l10n`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
<AccordionGroup>
|
|
64
|
+
<Accordion header="Phạm vi phủ sóng tương tự đầy đủ">
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
Intlayer được tối ưu hóa để hoạt động hoàn hảo với Analog bằng cách cung cấp **định tuyến đa ngôn ngữ**, **hỗ trợ SSR** và tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
67
|
+
|
|
68
|
+
</Accordion>
|
|
69
|
+
<Accordion header="Kích thước bundle">
|
|
70
|
+
|
|
71
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
72
|
+
|
|
73
|
+
</Accordion>
|
|
74
|
+
<Accordion header="Khả năng bảo trì">
|
|
75
|
+
|
|
76
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
77
|
+
|
|
78
|
+
</Accordion>
|
|
79
|
+
<Accordion header="Đại lý AI">
|
|
80
|
+
|
|
81
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
82
|
+
|
|
83
|
+
</Accordion>
|
|
84
|
+
<Accordion header="Tự động hóa">
|
|
85
|
+
|
|
86
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
87
|
+
|
|
88
|
+
</Accordion>
|
|
89
|
+
<Accordion header="Hiệu suất">
|
|
90
|
+
|
|
91
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
92
|
+
|
|
93
|
+
</Accordion>
|
|
94
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
95
|
+
|
|
96
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
97
|
+
|
|
98
|
+
</Accordion>
|
|
99
|
+
</AccordionGroup>
|
|
69
100
|
|
|
70
101
|
---
|
|
71
102
|
|
|
@@ -73,7 +104,9 @@ Với Intlayer, bạn có thể:
|
|
|
73
104
|
|
|
74
105
|
Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-analog-template) trên GitHub.
|
|
75
106
|
|
|
76
|
-
|
|
107
|
+
<Steps>
|
|
108
|
+
|
|
109
|
+
<Step number={1} title="Cài đặt các phụ thuộc">
|
|
77
110
|
|
|
78
111
|
Cài đặt các gói cần thiết bằng npm:
|
|
79
112
|
|
|
@@ -107,7 +140,9 @@ bun x intlayer init
|
|
|
107
140
|
- **vite-intlayer**
|
|
108
141
|
Gói tích hợp Intlayer với Vite. Nó cung cấp một plugin để xử lý các tệp khai báo nội dung và thiết lập các bí danh (aliases) để đạt hiệu suất tối ưu.
|
|
109
142
|
|
|
110
|
-
|
|
143
|
+
</Step>
|
|
144
|
+
|
|
145
|
+
<Step number={2} title="Cấu hình dự án của bạn">
|
|
111
146
|
|
|
112
147
|
Tạo một tệp cấu hình để thiết lập các ngôn ngữ cho ứng dụng của bạn:
|
|
113
148
|
|
|
@@ -131,7 +166,9 @@ export default config;
|
|
|
131
166
|
|
|
132
167
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL được bản địa hóa, chuyển hướng trung gian (middleware redirection), tên cookie, vị trí và phần mở rộng của các khai báo nội dung của bạn, tắt nhật ký Intlayer trong bảng điều khiển, và nhiều hơn nữa. Để biết danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
|
|
133
168
|
|
|
134
|
-
|
|
169
|
+
</Step>
|
|
170
|
+
|
|
171
|
+
<Step number={3} title="Tích hợp Intlayer vào cấu hình Vite của bạn">
|
|
135
172
|
|
|
136
173
|
Để tích hợp Intlayer với Analog, bạn cần sử dụng plugin `vite-intlayer`.
|
|
137
174
|
|
|
@@ -153,7 +190,9 @@ export default defineConfig(() => ({
|
|
|
153
190
|
|
|
154
191
|
> Plugin `intlayer()` cấu hình Vite với Intlayer. Nó xử lý các tệp khai báo nội dung và thiết lập các bí danh để đạt hiệu suất tối ưu.
|
|
155
192
|
|
|
156
|
-
|
|
193
|
+
</Step>
|
|
194
|
+
|
|
195
|
+
<Step number={4} title="Khai báo nội dung của bạn">
|
|
157
196
|
|
|
158
197
|
Tạo và quản lý các khai báo nội dung của bạn để lưu trữ các bản dịch:
|
|
159
198
|
|
|
@@ -185,7 +224,9 @@ export default appContent;
|
|
|
185
224
|
|
|
186
225
|
> Để biết thêm chi tiết, hãy tham khảo [tài liệu khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md).
|
|
187
226
|
|
|
188
|
-
|
|
227
|
+
</Step>
|
|
228
|
+
|
|
229
|
+
<Step number={5} title="Sử dụng Intlayer trong mã của bạn">
|
|
189
230
|
|
|
190
231
|
Để sử dụng các tính năng quốc tế hóa của Intlayer trong suốt ứng dụng Analog của bạn, bạn cần cung cấp Intlayer trong cấu hình ứng dụng của mình.
|
|
191
232
|
|
|
@@ -223,7 +264,9 @@ export default class HomeComponent {
|
|
|
223
264
|
|
|
224
265
|
Nội dung Intlayer được trả về dưới dạng một `Signal`, vì vậy bạn truy cập các giá trị bằng cách gọi signal: `content().title`.
|
|
225
266
|
|
|
226
|
-
|
|
267
|
+
</Step>
|
|
268
|
+
|
|
269
|
+
<Step number={6} title="Thay đổi ngôn ngữ của nội dung" isOptional={true}>
|
|
227
270
|
|
|
228
271
|
Để thay đổi ngôn ngữ của nội dung, bạn có thể sử dụng hàm `setLocale` được cung cấp bởi hàm `useLocale`. Điều này cho phép bạn thiết lập ngôn ngữ của ứng dụng và cập nhật nội dung tương ứng.
|
|
229
272
|
|
|
@@ -329,3 +372,7 @@ Tiện ích mở rộng này cung cấp:
|
|
|
329
372
|
- **Các hành động nhanh** để dễ dàng tạo và cập nhật các bản dịch.
|
|
330
373
|
|
|
331
374
|
Để biết thêm chi tiết về cách sử dụng tiện ích mở rộng, hãy tham khảo [tài liệu Tiện ích mở rộng Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
375
|
+
|
|
376
|
+
</Step>
|
|
377
|
+
|
|
378
|
+
</Steps>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-05-
|
|
4
|
-
title: Angular i18n -
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2026-05-31
|
|
4
|
+
title: Angular i18n - Hướng dẫn đầy đủ để dịch Angular 19 app (Webpack)
|
|
5
|
+
description: Giải pháp tốt nhất cho kích thước bundle, SEO, hiệu suất & khả năng bảo trì. Làm cho Angular 19 ứng dụng của bạn đa ngôn ngữ vào năm 2026, dịch thuật LLM, Agent Skills & MCP.
|
|
6
6
|
keywords:
|
|
7
7
|
- Quốc tế hóa
|
|
8
8
|
- Tài liệu
|
|
@@ -34,16 +34,47 @@ history:
|
|
|
34
34
|
|
|
35
35
|
<TOC/>
|
|
36
36
|
|
|
37
|
-
## Intlayer
|
|
37
|
+
## Tại sao Intlayer thay thế các lựa chọn thay thế?
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
So với các giải pháp chính như `ngx-translate` hay `angular-l10n`, Intlayer là giải pháp đi kèm với các tính năng tối ưu hóa tích hợp như:
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
<AccordionGroup>
|
|
42
|
+
<Accordion header="Bảo hiểm góc đầy đủ">
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
Intlayer được tối ưu hóa để hoạt động hoàn hảo với Angular bằng cách cung cấp **phạm vi nội dung cấp thành phần**, **bản dịch được tải từng phần** và tất cả các tính năng cần thiết để mở rộng quy mô quốc tế hóa (i18n).
|
|
45
|
+
|
|
46
|
+
</Accordion>
|
|
47
|
+
<Accordion header="Kích thước bundle">
|
|
48
|
+
|
|
49
|
+
Thay vì tải các tệp JSON lớn vào trang của bạn, hãy chỉ tải nội dung cần thiết. Intlayer giúp **giảm tới 50% kích thước bundle và kích thước trang**.
|
|
50
|
+
|
|
51
|
+
</Accordion>
|
|
52
|
+
<Accordion header="Khả năng bảo trì">
|
|
53
|
+
|
|
54
|
+
Xác định phạm vi nội dung ứng dụng của bạn **tạo điều kiện bảo trì** cho các ứng dụng quy mô lớn. Bạn có thể sao chép hoặc xóa một thư mục tính năng mà không phải lo lắng về việc xem lại toàn bộ cơ sở mã nội dung của mình. Ngoài ra, Intlayer **được nhập đầy đủ** để đảm bảo tính chính xác cho nội dung của bạn.
|
|
55
|
+
|
|
56
|
+
</Accordion>
|
|
57
|
+
<Accordion header="Đại lý AI">
|
|
58
|
+
|
|
59
|
+
Nội dung cùng định vị **giảm ngữ cảnh cần thiết** của Mô hình ngôn ngữ lớn (LLM). Intlayer cũng đi kèm một bộ công cụ, chẳng hạn như **CLI** để kiểm tra các bản dịch bị thiếu,**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** và **[agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/agent_skills.md)**, để giúp trải nghiệm của nhà phát triển (DX) trở nên mượt mà hơn nữa đối với các tác nhân AI.
|
|
60
|
+
|
|
61
|
+
</Accordion>
|
|
62
|
+
<Accordion header="Tự động hóa">
|
|
63
|
+
|
|
64
|
+
Sử dụng tính năng tự động hóa để dịch trong quy trình CI/CD của bạn bằng cách sử dụng LLM mà bạn chọn với chi phí do nhà cung cấp AI của bạn chi trả. Intlayer cũng cung cấp **trình biên dịch** để tự động trích xuất nội dung cũng như [nền tảng web](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) để giúp **dịch ở chế độ nền**.
|
|
65
|
+
|
|
66
|
+
</Accordion>
|
|
67
|
+
<Accordion header="Hiệu suất">
|
|
68
|
+
|
|
69
|
+
Việc kết nối các tệp JSON lớn với các thành phần có thể dẫn đến các vấn đề về hiệu suất và khả năng phản hồi. Intlayer tối ưu hóa việc tải nội dung của bạn tại thời điểm build.
|
|
70
|
+
|
|
71
|
+
</Accordion>
|
|
72
|
+
<Accordion header="Mở rộng quy mô không có nhà phát triển">
|
|
73
|
+
|
|
74
|
+
Không chỉ là giải pháp i18n, Intlayer còn cung cấp **[trình chỉnh sửa trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** và **[CMS đầy đủ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** để giúp bạn quản lý nội dung đa ngôn ngữ của mình trong **thời gian thực**, giúp việc cộng tác với người dịch, người viết quảng cáo và các thành viên khác trong nhóm trở nên liền mạch. Nội dung có thể được lưu trữ cục bộ và/hoặc từ xa.
|
|
75
|
+
|
|
76
|
+
</Accordion>
|
|
77
|
+
</AccordionGroup>
|
|
47
78
|
|
|
48
79
|
---
|
|
49
80
|
|
|
@@ -76,7 +107,9 @@ Với Intlayer, bạn có thể:
|
|
|
76
107
|
|
|
77
108
|
Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-angular-19-template) trên GitHub.
|
|
78
109
|
|
|
79
|
-
|
|
110
|
+
<Steps>
|
|
111
|
+
|
|
112
|
+
<Step number={1} title="Cài đặt các phụ thuộc">
|
|
80
113
|
|
|
81
114
|
Cài đặt các gói cần thiết bằng npm:
|
|
82
115
|
|
|
@@ -114,7 +147,9 @@ bun x intlayer init
|
|
|
114
147
|
- **@angular-builders/custom-webpack**
|
|
115
148
|
Yêu cầu để tùy chỉnh cấu hình Webpack của Angular CLI.
|
|
116
149
|
|
|
117
|
-
|
|
150
|
+
</Step>
|
|
151
|
+
|
|
152
|
+
<Step number={2} title="Cấu hình dự án của bạn">
|
|
118
153
|
|
|
119
154
|
Tạo một tệp cấu hình để thiết lập các ngôn ngữ cho ứng dụng của bạn:
|
|
120
155
|
|
|
@@ -138,7 +173,9 @@ export default config;
|
|
|
138
173
|
|
|
139
174
|
> Thông qua tệp cấu hình này, bạn có thể thiết lập các URL được bản địa hóa, điều hướng middleware, tên cookie, vị trí và phần mở rộng của các khai báo nội dung, tắt nhật ký Intlayer trong bảng điều khiển, v.v. Để biết danh sách đầy đủ các tham số có sẵn, hãy tham khảo [tài liệu cấu hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
|
|
140
175
|
|
|
141
|
-
|
|
176
|
+
</Step>
|
|
177
|
+
|
|
178
|
+
<Step number={3} title="Tích hợp Intlayer vào cấu hình Angular của bạn">
|
|
142
179
|
|
|
143
180
|
Để tích hợp Intlayer với Angular CLI, bạn cần sử dụng một trình xây dựng (builder) tùy chỉnh. Hướng dẫn này giả định bạn đang sử dụng Webpack (mặc định cho nhiều dự án Angular).
|
|
144
181
|
|
|
@@ -181,7 +218,9 @@ export default mergeConfig({});
|
|
|
181
218
|
|
|
182
219
|
> Hàm `mergeConfig` cấu hình Webpack với Intlayer. Nó chèn `IntlayerPlugin` (để xử lý các tệp khai báo nội dung) và thiết lập các biệt danh (aliases) để đạt hiệu suất tối ưu.
|
|
183
220
|
|
|
184
|
-
|
|
221
|
+
</Step>
|
|
222
|
+
|
|
223
|
+
<Step number={4} title="Khai báo nội dung của bạn">
|
|
185
224
|
|
|
186
225
|
Tạo và quản lý các khai báo nội dung để lưu trữ các bản dịch:
|
|
187
226
|
|
|
@@ -231,7 +270,9 @@ export default appContent;
|
|
|
231
270
|
|
|
232
271
|
> Để biết thêm chi tiết, hãy tham khảo [tài liệu khai báo nội dung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
233
272
|
|
|
234
|
-
|
|
273
|
+
</Step>
|
|
274
|
+
|
|
275
|
+
<Step number={5} title="Sử dụng Intlayer trong mã của bạn">
|
|
235
276
|
|
|
236
277
|
Để sử dụng các tính năng quốc tế hóa của Intlayer trong toàn bộ ứng dụng Angular của bạn, bạn cần cung cấp Intlayer trong cấu hình ứng dụng.
|
|
237
278
|
|
|
@@ -279,7 +320,9 @@ Và trong template của bạn:
|
|
|
279
320
|
|
|
280
321
|
Nội dung Intlayer được trả về dưới dạng một `Signal`, vì vậy bạn truy cập các giá trị bằng cách gọi signal đó: `content().title`.
|
|
281
322
|
|
|
282
|
-
|
|
323
|
+
</Step>
|
|
324
|
+
|
|
325
|
+
<Step number={6} title="Thay đổi ngôn ngữ nội dung của bạn" isOptional={true}>
|
|
283
326
|
|
|
284
327
|
Để thay đổi ngôn ngữ của nội dung, bạn có thể sử dụng hàm `setLocale` được cung cấp bởi hàm `useLocale`. Điều này cho phép bạn thiết lập ngôn ngữ của ứng dụng và cập nhật nội dung tương ứng.
|
|
285
328
|
|
|
@@ -389,3 +432,7 @@ Tiện ích mở rộng này cung cấp:
|
|
|
389
432
|
Để tìm hiểu thêm, bạn có thể triển khai [trình chỉnh sửa trực quan (visual editor)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) hoặc xuất nội dung của bạn bằng cách sử dụng [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md).
|
|
390
433
|
|
|
391
434
|
---
|
|
435
|
+
|
|
436
|
+
</Step>
|
|
437
|
+
|
|
438
|
+
</Steps>
|