@intlayer/docs 9.5.3 → 9.5.4-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/blog/ar/history_of_i18n.md +54 -54
- package/blog/ar/how_to_pick_react_i18n_library.md +548 -0
- package/blog/ar/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/ar/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/ar/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/ar/is_i18next_outdated.md +5 -1
- package/blog/ar/is_next-intl_outdated.md +5 -1
- package/blog/ar/is_vue-i18n_outdated.md +7 -1
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
- package/blog/ar/per-component_vs_centralized_i18n.md +9 -4
- package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/de/history_of_i18n.md +54 -54
- package/blog/de/how_to_pick_react_i18n_library.md +548 -0
- package/blog/de/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/de/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/de/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/de/is_i18next_outdated.md +5 -1
- package/blog/de/is_next-intl_outdated.md +5 -1
- package/blog/de/is_vue-i18n_outdated.md +7 -1
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/de/per-component_vs_centralized_i18n.md +9 -4
- package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/en/history_of_i18n.md +54 -54
- package/blog/en/how_to_pick_react_i18n_library.md +542 -0
- package/blog/en/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/en/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/en/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/en/is_i18next_outdated.md +5 -1
- package/blog/en/is_next-intl_outdated.md +5 -1
- package/blog/en/is_vue-i18n_outdated.md +7 -1
- package/blog/en/list_i18n_technologies/frameworks/react-router.md +2 -3
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/en/per-component_vs_centralized_i18n.md +9 -4
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/en-GB/history_of_i18n.md +54 -54
- package/blog/en-GB/how_to_pick_react_i18n_library.md +542 -0
- package/blog/en-GB/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/en-GB/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/en-GB/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/en-GB/is_i18next_outdated.md +5 -1
- package/blog/en-GB/is_next-intl_outdated.md +5 -1
- package/blog/en-GB/is_vue-i18n_outdated.md +7 -1
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/en-GB/per-component_vs_centralized_i18n.md +9 -4
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/es/history_of_i18n.md +54 -54
- package/blog/es/how_to_pick_react_i18n_library.md +542 -0
- package/blog/es/how_to_pick_solid_i18n_library.md +446 -0
- package/blog/es/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/es/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/es/is_i18next_outdated.md +5 -1
- package/blog/es/is_next-intl_outdated.md +5 -1
- package/blog/es/is_vue-i18n_outdated.md +7 -1
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/es/per-component_vs_centralized_i18n.md +9 -4
- package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/fr/history_of_i18n.md +54 -54
- package/blog/fr/how_to_pick_react_i18n_library.md +542 -0
- package/blog/fr/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/fr/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/fr/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/fr/is_i18next_outdated.md +5 -1
- package/blog/fr/is_next-intl_outdated.md +5 -1
- package/blog/fr/is_vue-i18n_outdated.md +7 -1
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/fr/per-component_vs_centralized_i18n.md +9 -4
- package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/hi/history_of_i18n.md +54 -54
- package/blog/hi/how_to_pick_react_i18n_library.md +548 -0
- package/blog/hi/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/hi/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/hi/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/hi/is_i18next_outdated.md +5 -1
- package/blog/hi/is_next-intl_outdated.md +5 -1
- package/blog/hi/is_vue-i18n_outdated.md +7 -1
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
- package/blog/hi/per-component_vs_centralized_i18n.md +9 -4
- package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/id/history_of_i18n.md +54 -54
- package/blog/id/how_to_pick_react_i18n_library.md +548 -0
- package/blog/id/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/id/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/id/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/id/is_i18next_outdated.md +5 -1
- package/blog/id/is_next-intl_outdated.md +5 -1
- package/blog/id/is_vue-i18n_outdated.md +7 -1
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/id/per-component_vs_centralized_i18n.md +9 -4
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/it/history_of_i18n.md +54 -54
- package/blog/it/how_to_pick_react_i18n_library.md +549 -0
- package/blog/it/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/it/how_to_pick_svelte_i18n_library.md +455 -0
- package/blog/it/how_to_pick_vue_i18n_library.md +449 -0
- package/blog/it/is_i18next_outdated.md +5 -1
- package/blog/it/is_next-intl_outdated.md +5 -1
- package/blog/it/is_vue-i18n_outdated.md +7 -1
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/it/per-component_vs_centralized_i18n.md +9 -4
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/ja/history_of_i18n.md +54 -54
- package/blog/ja/how_to_pick_react_i18n_library.md +542 -0
- package/blog/ja/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/ja/how_to_pick_svelte_i18n_library.md +457 -0
- package/blog/ja/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/ja/is_i18next_outdated.md +5 -1
- package/blog/ja/is_next-intl_outdated.md +5 -1
- package/blog/ja/is_vue-i18n_outdated.md +7 -1
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/ja/per-component_vs_centralized_i18n.md +9 -4
- package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/ko/history_of_i18n.md +54 -54
- package/blog/ko/how_to_pick_react_i18n_library.md +548 -0
- package/blog/ko/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/ko/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/ko/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/ko/is_i18next_outdated.md +5 -1
- package/blog/ko/is_next-intl_outdated.md +5 -1
- package/blog/ko/is_vue-i18n_outdated.md +7 -1
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/ko/per-component_vs_centralized_i18n.md +9 -4
- package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/pl/history_of_i18n.md +54 -54
- package/blog/pl/how_to_pick_react_i18n_library.md +549 -0
- package/blog/pl/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/pl/how_to_pick_svelte_i18n_library.md +460 -0
- package/blog/pl/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/pl/is_i18next_outdated.md +5 -1
- package/blog/pl/is_next-intl_outdated.md +5 -1
- package/blog/pl/is_vue-i18n_outdated.md +7 -1
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/pl/per-component_vs_centralized_i18n.md +9 -4
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/pt/history_of_i18n.md +54 -54
- package/blog/pt/how_to_pick_react_i18n_library.md +549 -0
- package/blog/pt/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/pt/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/pt/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/pt/is_i18next_outdated.md +5 -1
- package/blog/pt/is_next-intl_outdated.md +5 -1
- package/blog/pt/is_vue-i18n_outdated.md +7 -1
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/pt/per-component_vs_centralized_i18n.md +9 -4
- package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/ru/history_of_i18n.md +54 -54
- package/blog/ru/how_to_pick_react_i18n_library.md +553 -0
- package/blog/ru/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/ru/how_to_pick_svelte_i18n_library.md +459 -0
- package/blog/ru/how_to_pick_vue_i18n_library.md +453 -0
- package/blog/ru/is_i18next_outdated.md +5 -1
- package/blog/ru/is_next-intl_outdated.md +5 -1
- package/blog/ru/is_vue-i18n_outdated.md +7 -1
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +8 -4
- package/blog/ru/per-component_vs_centralized_i18n.md +9 -4
- package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/tr/history_of_i18n.md +54 -54
- package/blog/tr/how_to_pick_react_i18n_library.md +548 -0
- package/blog/tr/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/tr/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/tr/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/tr/is_i18next_outdated.md +5 -1
- package/blog/tr/is_next-intl_outdated.md +5 -1
- package/blog/tr/is_vue-i18n_outdated.md +7 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/tr/per-component_vs_centralized_i18n.md +9 -4
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/uk/history_of_i18n.md +54 -54
- package/blog/uk/how_to_pick_react_i18n_library.md +542 -0
- package/blog/uk/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/uk/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/uk/how_to_pick_vue_i18n_library.md +443 -0
- package/blog/uk/is_i18next_outdated.md +5 -1
- package/blog/uk/is_next-intl_outdated.md +5 -1
- package/blog/uk/is_vue-i18n_outdated.md +7 -1
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/uk/per-component_vs_centralized_i18n.md +9 -4
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/vi/history_of_i18n.md +54 -54
- package/blog/vi/how_to_pick_react_i18n_library.md +548 -0
- package/blog/vi/how_to_pick_solid_i18n_library.md +438 -0
- package/blog/vi/how_to_pick_svelte_i18n_library.md +448 -0
- package/blog/vi/how_to_pick_vue_i18n_library.md +442 -0
- package/blog/vi/is_i18next_outdated.md +5 -1
- package/blog/vi/is_next-intl_outdated.md +5 -1
- package/blog/vi/is_vue-i18n_outdated.md +7 -1
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/vi/per-component_vs_centralized_i18n.md +9 -4
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/blog/zh/history_of_i18n.md +54 -54
- package/blog/zh/how_to_pick_react_i18n_library.md +548 -0
- package/blog/zh/how_to_pick_solid_i18n_library.md +451 -0
- package/blog/zh/how_to_pick_svelte_i18n_library.md +454 -0
- package/blog/zh/how_to_pick_vue_i18n_library.md +448 -0
- package/blog/zh/is_i18next_outdated.md +5 -1
- package/blog/zh/is_next-intl_outdated.md +5 -1
- package/blog/zh/is_vue-i18n_outdated.md +7 -1
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +9 -5
- package/blog/zh/per-component_vs_centralized_i18n.md +9 -4
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +5 -1
- package/dist/cjs/generated/blog.entry.cjs +80 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/esm/generated/blog.entry.mjs +80 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/types/generated/blog.entry.d.ts +4 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +5 -1
- package/docs/ar/how_works_intlayer.md +2 -2
- package/docs/ar/interest_of_intlayer.md +6 -6
- package/docs/ar/intlayer_CMS.md +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +1 -1
- package/docs/ar/intlayer_with_analog.md +1 -1
- package/docs/ar/intlayer_with_angular_19.md +1 -1
- package/docs/ar/intlayer_with_angular_21.md +1 -1
- package/docs/ar/intlayer_with_astro.md +1 -1
- package/docs/ar/intlayer_with_astro_lit.md +1 -1
- package/docs/ar/intlayer_with_astro_preact.md +1 -1
- package/docs/ar/intlayer_with_astro_react.md +1 -1
- package/docs/ar/intlayer_with_astro_solid.md +1 -1
- package/docs/ar/intlayer_with_astro_svelte.md +1 -1
- package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ar/intlayer_with_astro_vue.md +1 -1
- package/docs/ar/intlayer_with_create_react_app.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_hono.md +1 -1
- package/docs/ar/intlayer_with_nestjs.md +1 -1
- package/docs/ar/intlayer_with_nextjs_14.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +1 -1
- package/docs/ar/introduction.md +0 -1
- package/docs/ar/readme.md +8 -8
- package/docs/bn/bundle_optimization.md +5 -1
- package/docs/bn/interest_of_intlayer.md +21 -21
- package/docs/bn/intlayer_CMS.md +1 -1
- package/docs/bn/intlayer_with_angular_21.md +1 -1
- package/docs/bn/intlayer_with_hono.md +1 -1
- package/docs/bn/introduction.md +0 -1
- package/docs/cs/bundle_optimization.md +5 -1
- package/docs/cs/interest_of_intlayer.md +6 -6
- package/docs/cs/intlayer_with_angular_21.md +1 -1
- package/docs/cs/intlayer_with_hono.md +1 -1
- package/docs/cs/introduction.md +0 -1
- package/docs/de/bundle_optimization.md +5 -1
- package/docs/de/how_works_intlayer.md +2 -2
- package/docs/de/interest_of_intlayer.md +6 -6
- package/docs/de/intlayer_CMS.md +1 -1
- package/docs/de/intlayer_with_adonisjs.md +1 -1
- package/docs/de/intlayer_with_analog.md +1 -1
- package/docs/de/intlayer_with_angular_19.md +1 -1
- package/docs/de/intlayer_with_angular_21.md +1 -1
- package/docs/de/intlayer_with_astro.md +1 -1
- package/docs/de/intlayer_with_astro_lit.md +1 -1
- package/docs/de/intlayer_with_astro_preact.md +1 -1
- package/docs/de/intlayer_with_astro_react.md +1 -1
- package/docs/de/intlayer_with_astro_solid.md +1 -1
- package/docs/de/intlayer_with_astro_svelte.md +1 -1
- package/docs/de/intlayer_with_astro_vanilla.md +1 -1
- package/docs/de/intlayer_with_astro_vue.md +1 -1
- package/docs/de/intlayer_with_create_react_app.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_hono.md +1 -1
- package/docs/de/intlayer_with_nestjs.md +1 -1
- package/docs/de/intlayer_with_nextjs_14.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_vite+preact.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +1 -1
- package/docs/de/introduction.md +0 -1
- package/docs/de/readme.md +8 -8
- package/docs/en/bundle_optimization.md +5 -1
- package/docs/en/how_works_intlayer.md +2 -2
- package/docs/en/interest_of_intlayer.md +6 -6
- package/docs/en/intlayer_CMS.md +1 -1
- package/docs/en/intlayer_with_adonisjs.md +1 -1
- package/docs/en/intlayer_with_analog.md +1 -1
- package/docs/en/intlayer_with_angular_19.md +1 -1
- package/docs/en/intlayer_with_angular_21.md +1 -1
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_astro_lit.md +1 -1
- package/docs/en/intlayer_with_astro_preact.md +1 -1
- package/docs/en/intlayer_with_astro_react.md +1 -1
- package/docs/en/intlayer_with_astro_solid.md +1 -1
- package/docs/en/intlayer_with_astro_svelte.md +1 -1
- package/docs/en/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en/intlayer_with_astro_vue.md +1 -1
- package/docs/en/intlayer_with_create_react_app.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_hono.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -1
- package/docs/en/intlayer_with_nextjs_14.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +1 -1
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_vite+preact.md +1 -1
- package/docs/en/intlayer_with_vite+react.md +1 -1
- package/docs/en/intlayer_with_vite+vue.md +1 -1
- package/docs/en/introduction.md +0 -1
- package/docs/en/readme.md +8 -8
- package/docs/en-GB/bundle_optimization.md +5 -1
- package/docs/en-GB/how_works_intlayer.md +2 -2
- package/docs/en-GB/interest_of_intlayer.md +6 -6
- package/docs/en-GB/intlayer_CMS.md +1 -1
- package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
- package/docs/en-GB/intlayer_with_analog.md +1 -1
- package/docs/en-GB/intlayer_with_angular_19.md +1 -1
- package/docs/en-GB/intlayer_with_angular_21.md +1 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
- package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
- package/docs/en-GB/intlayer_with_astro_react.md +1 -1
- package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
- package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
- package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_hono.md +1 -1
- package/docs/en-GB/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
- package/docs/en-GB/introduction.md +0 -1
- package/docs/en-GB/readme.md +8 -8
- package/docs/es/bundle_optimization.md +5 -1
- package/docs/es/how_works_intlayer.md +2 -2
- package/docs/es/interest_of_intlayer.md +6 -6
- package/docs/es/intlayer_CMS.md +1 -1
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_analog.md +1 -1
- package/docs/es/intlayer_with_angular_19.md +1 -1
- package/docs/es/intlayer_with_angular_21.md +1 -1
- package/docs/es/intlayer_with_astro.md +1 -1
- package/docs/es/intlayer_with_astro_lit.md +1 -1
- package/docs/es/intlayer_with_astro_preact.md +1 -1
- package/docs/es/intlayer_with_astro_react.md +1 -1
- package/docs/es/intlayer_with_astro_solid.md +1 -1
- package/docs/es/intlayer_with_astro_svelte.md +1 -1
- package/docs/es/intlayer_with_astro_vanilla.md +1 -1
- package/docs/es/intlayer_with_astro_vue.md +1 -1
- package/docs/es/intlayer_with_create_react_app.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_14.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_vite+preact.md +1 -1
- package/docs/es/intlayer_with_vite+react.md +1 -1
- package/docs/es/intlayer_with_vite+vue.md +1 -1
- package/docs/es/introduction.md +0 -1
- package/docs/es/readme.md +8 -8
- package/docs/fr/bundle_optimization.md +5 -1
- package/docs/fr/how_works_intlayer.md +2 -2
- package/docs/fr/interest_of_intlayer.md +6 -6
- package/docs/fr/intlayer_CMS.md +1 -1
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_analog.md +1 -1
- package/docs/fr/intlayer_with_angular_19.md +1 -1
- package/docs/fr/intlayer_with_angular_21.md +1 -1
- package/docs/fr/intlayer_with_astro.md +1 -1
- package/docs/fr/intlayer_with_astro_lit.md +1 -1
- package/docs/fr/intlayer_with_astro_preact.md +1 -1
- package/docs/fr/intlayer_with_astro_react.md +1 -1
- package/docs/fr/intlayer_with_astro_solid.md +1 -1
- package/docs/fr/intlayer_with_astro_svelte.md +1 -1
- package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/fr/intlayer_with_astro_vue.md +1 -1
- package/docs/fr/intlayer_with_create_react_app.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_14.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +2 -2
- package/docs/fr/intlayer_with_vite+preact.md +1 -1
- package/docs/fr/intlayer_with_vite+react.md +1 -1
- package/docs/fr/intlayer_with_vite+vue.md +1 -1
- package/docs/fr/introduction.md +0 -1
- package/docs/fr/readme.md +8 -8
- package/docs/hi/bundle_optimization.md +5 -1
- package/docs/hi/how_works_intlayer.md +2 -2
- package/docs/hi/interest_of_intlayer.md +6 -6
- package/docs/hi/intlayer_CMS.md +1 -1
- package/docs/hi/intlayer_with_adonisjs.md +1 -1
- package/docs/hi/intlayer_with_analog.md +1 -1
- package/docs/hi/intlayer_with_angular_19.md +1 -1
- package/docs/hi/intlayer_with_angular_21.md +1 -1
- package/docs/hi/intlayer_with_astro.md +1 -1
- package/docs/hi/intlayer_with_astro_lit.md +1 -1
- package/docs/hi/intlayer_with_astro_preact.md +1 -1
- package/docs/hi/intlayer_with_astro_react.md +1 -1
- package/docs/hi/intlayer_with_astro_solid.md +1 -1
- package/docs/hi/intlayer_with_astro_svelte.md +1 -1
- package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/hi/intlayer_with_astro_vue.md +1 -1
- package/docs/hi/intlayer_with_create_react_app.md +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_hono.md +1 -1
- package/docs/hi/intlayer_with_nestjs.md +1 -1
- package/docs/hi/intlayer_with_nextjs_14.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +1 -1
- package/docs/hi/intlayer_with_vite+preact.md +1 -1
- package/docs/hi/intlayer_with_vite+react.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +1 -1
- package/docs/hi/introduction.md +0 -1
- package/docs/hi/readme.md +8 -8
- package/docs/id/bundle_optimization.md +5 -1
- package/docs/id/how_works_intlayer.md +2 -2
- package/docs/id/interest_of_intlayer.md +6 -6
- package/docs/id/intlayer_CMS.md +1 -1
- package/docs/id/intlayer_with_adonisjs.md +1 -1
- package/docs/id/intlayer_with_analog.md +1 -1
- package/docs/id/intlayer_with_angular_19.md +1 -1
- package/docs/id/intlayer_with_angular_21.md +1 -1
- package/docs/id/intlayer_with_astro.md +1 -1
- package/docs/id/intlayer_with_astro_lit.md +1 -1
- package/docs/id/intlayer_with_astro_preact.md +1 -1
- package/docs/id/intlayer_with_astro_react.md +1 -1
- package/docs/id/intlayer_with_astro_solid.md +1 -1
- package/docs/id/intlayer_with_astro_svelte.md +1 -1
- package/docs/id/intlayer_with_astro_vanilla.md +1 -1
- package/docs/id/intlayer_with_astro_vue.md +1 -1
- package/docs/id/intlayer_with_create_react_app.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_hono.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +1 -1
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +1 -1
- package/docs/id/intlayer_with_vite+react.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +1 -1
- package/docs/id/introduction.md +0 -1
- package/docs/id/readme.md +8 -8
- package/docs/it/bundle_optimization.md +5 -1
- package/docs/it/how_works_intlayer.md +2 -2
- package/docs/it/interest_of_intlayer.md +6 -6
- package/docs/it/intlayer_CMS.md +1 -1
- package/docs/it/intlayer_with_adonisjs.md +1 -1
- package/docs/it/intlayer_with_analog.md +1 -1
- package/docs/it/intlayer_with_angular_19.md +1 -1
- package/docs/it/intlayer_with_angular_21.md +1 -1
- package/docs/it/intlayer_with_astro.md +1 -1
- package/docs/it/intlayer_with_astro_lit.md +1 -1
- package/docs/it/intlayer_with_astro_preact.md +1 -1
- package/docs/it/intlayer_with_astro_react.md +1 -1
- package/docs/it/intlayer_with_astro_solid.md +1 -1
- package/docs/it/intlayer_with_astro_svelte.md +1 -1
- package/docs/it/intlayer_with_astro_vanilla.md +1 -1
- package/docs/it/intlayer_with_astro_vue.md +1 -1
- package/docs/it/intlayer_with_create_react_app.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_hono.md +1 -1
- package/docs/it/intlayer_with_nestjs.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +2 -2
- package/docs/it/intlayer_with_vite+preact.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +1 -1
- package/docs/it/introduction.md +0 -1
- package/docs/it/readme.md +8 -8
- package/docs/ja/bundle_optimization.md +5 -1
- package/docs/ja/how_works_intlayer.md +2 -2
- package/docs/ja/interest_of_intlayer.md +6 -6
- package/docs/ja/intlayer_CMS.md +1 -1
- package/docs/ja/intlayer_with_adonisjs.md +1 -1
- package/docs/ja/intlayer_with_analog.md +1 -1
- package/docs/ja/intlayer_with_angular_19.md +1 -1
- package/docs/ja/intlayer_with_angular_21.md +1 -1
- package/docs/ja/intlayer_with_astro.md +1 -1
- package/docs/ja/intlayer_with_astro_lit.md +1 -1
- package/docs/ja/intlayer_with_astro_preact.md +1 -1
- package/docs/ja/intlayer_with_astro_react.md +1 -1
- package/docs/ja/intlayer_with_astro_solid.md +1 -1
- package/docs/ja/intlayer_with_astro_svelte.md +1 -1
- package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ja/intlayer_with_astro_vue.md +1 -1
- package/docs/ja/intlayer_with_create_react_app.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_hono.md +1 -1
- package/docs/ja/intlayer_with_nestjs.md +1 -1
- package/docs/ja/intlayer_with_nextjs_14.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +1 -1
- package/docs/ja/introduction.md +0 -1
- package/docs/ja/readme.md +8 -8
- package/docs/ko/bundle_optimization.md +5 -1
- package/docs/ko/how_works_intlayer.md +2 -2
- package/docs/ko/interest_of_intlayer.md +6 -6
- package/docs/ko/intlayer_CMS.md +1 -1
- package/docs/ko/intlayer_with_adonisjs.md +1 -1
- package/docs/ko/intlayer_with_analog.md +1 -1
- package/docs/ko/intlayer_with_angular_19.md +1 -1
- package/docs/ko/intlayer_with_angular_21.md +1 -1
- package/docs/ko/intlayer_with_astro.md +1 -1
- package/docs/ko/intlayer_with_astro_lit.md +1 -1
- package/docs/ko/intlayer_with_astro_preact.md +1 -1
- package/docs/ko/intlayer_with_astro_react.md +1 -1
- package/docs/ko/intlayer_with_astro_solid.md +1 -1
- package/docs/ko/intlayer_with_astro_svelte.md +1 -1
- package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ko/intlayer_with_astro_vue.md +1 -1
- package/docs/ko/intlayer_with_create_react_app.md +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_hono.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +2 -2
- package/docs/ko/intlayer_with_vite+preact.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +1 -1
- package/docs/ko/introduction.md +0 -1
- package/docs/ko/readme.md +8 -8
- package/docs/nl/bundle_optimization.md +5 -1
- package/docs/nl/interest_of_intlayer.md +6 -6
- package/docs/nl/intlayer_with_angular_21.md +1 -1
- package/docs/nl/intlayer_with_hono.md +1 -1
- package/docs/nl/introduction.md +0 -1
- package/docs/pl/bundle_optimization.md +5 -1
- package/docs/pl/how_works_intlayer.md +2 -2
- package/docs/pl/interest_of_intlayer.md +6 -6
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_with_adonisjs.md +1 -1
- package/docs/pl/intlayer_with_analog.md +1 -1
- package/docs/pl/intlayer_with_angular_19.md +1 -1
- package/docs/pl/intlayer_with_angular_21.md +1 -1
- package/docs/pl/intlayer_with_astro.md +1 -1
- package/docs/pl/intlayer_with_astro_lit.md +1 -1
- package/docs/pl/intlayer_with_astro_preact.md +1 -1
- package/docs/pl/intlayer_with_astro_react.md +1 -1
- package/docs/pl/intlayer_with_astro_solid.md +1 -1
- package/docs/pl/intlayer_with_astro_svelte.md +1 -1
- package/docs/pl/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pl/intlayer_with_astro_vue.md +1 -1
- package/docs/pl/intlayer_with_create_react_app.md +1 -1
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_hono.md +1 -1
- package/docs/pl/intlayer_with_nestjs.md +1 -1
- package/docs/pl/intlayer_with_nextjs_14.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +2 -2
- package/docs/pl/intlayer_with_vite+preact.md +1 -1
- package/docs/pl/intlayer_with_vite+react.md +1 -1
- package/docs/pl/intlayer_with_vite+vue.md +1 -1
- package/docs/pl/introduction.md +0 -1
- package/docs/pl/readme.md +8 -8
- package/docs/pt/bundle_optimization.md +5 -1
- package/docs/pt/how_works_intlayer.md +2 -2
- package/docs/pt/interest_of_intlayer.md +6 -6
- package/docs/pt/intlayer_CMS.md +1 -1
- package/docs/pt/intlayer_with_adonisjs.md +1 -1
- package/docs/pt/intlayer_with_analog.md +1 -1
- package/docs/pt/intlayer_with_angular_19.md +1 -1
- package/docs/pt/intlayer_with_angular_21.md +1 -1
- package/docs/pt/intlayer_with_astro.md +1 -1
- package/docs/pt/intlayer_with_astro_lit.md +1 -1
- package/docs/pt/intlayer_with_astro_preact.md +1 -1
- package/docs/pt/intlayer_with_astro_react.md +1 -1
- package/docs/pt/intlayer_with_astro_solid.md +1 -1
- package/docs/pt/intlayer_with_astro_svelte.md +1 -1
- package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pt/intlayer_with_astro_vue.md +1 -1
- package/docs/pt/intlayer_with_create_react_app.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_hono.md +1 -1
- package/docs/pt/intlayer_with_nestjs.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +1 -1
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +2 -2
- package/docs/pt/intlayer_with_vite+preact.md +1 -1
- package/docs/pt/intlayer_with_vite+react.md +1 -1
- package/docs/pt/intlayer_with_vite+vue.md +1 -1
- package/docs/pt/introduction.md +0 -1
- package/docs/pt/readme.md +8 -8
- package/docs/ru/bundle_optimization.md +5 -1
- package/docs/ru/how_works_intlayer.md +2 -2
- package/docs/ru/interest_of_intlayer.md +6 -6
- package/docs/ru/intlayer_CMS.md +1 -1
- package/docs/ru/intlayer_with_adonisjs.md +1 -1
- package/docs/ru/intlayer_with_analog.md +1 -1
- package/docs/ru/intlayer_with_angular_19.md +1 -1
- package/docs/ru/intlayer_with_angular_21.md +1 -1
- package/docs/ru/intlayer_with_astro.md +1 -1
- package/docs/ru/intlayer_with_astro_lit.md +1 -1
- package/docs/ru/intlayer_with_astro_preact.md +1 -1
- package/docs/ru/intlayer_with_astro_react.md +1 -1
- package/docs/ru/intlayer_with_astro_solid.md +1 -1
- package/docs/ru/intlayer_with_astro_svelte.md +1 -1
- package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ru/intlayer_with_astro_vue.md +1 -1
- package/docs/ru/intlayer_with_create_react_app.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_hono.md +1 -1
- package/docs/ru/intlayer_with_nestjs.md +1 -1
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +2 -2
- package/docs/ru/intlayer_with_vite+preact.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +1 -1
- package/docs/ru/introduction.md +0 -1
- package/docs/ru/readme.md +8 -8
- package/docs/tr/bundle_optimization.md +5 -1
- package/docs/tr/how_works_intlayer.md +2 -2
- package/docs/tr/interest_of_intlayer.md +6 -6
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_with_adonisjs.md +1 -1
- package/docs/tr/intlayer_with_analog.md +1 -1
- package/docs/tr/intlayer_with_angular_19.md +1 -1
- package/docs/tr/intlayer_with_angular_21.md +1 -1
- package/docs/tr/intlayer_with_astro.md +1 -1
- package/docs/tr/intlayer_with_astro_lit.md +1 -1
- package/docs/tr/intlayer_with_astro_preact.md +1 -1
- package/docs/tr/intlayer_with_astro_react.md +1 -1
- package/docs/tr/intlayer_with_astro_solid.md +1 -1
- package/docs/tr/intlayer_with_astro_svelte.md +1 -1
- package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/tr/intlayer_with_astro_vue.md +1 -1
- package/docs/tr/intlayer_with_create_react_app.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_hono.md +1 -1
- package/docs/tr/intlayer_with_nestjs.md +1 -1
- package/docs/tr/intlayer_with_nextjs_14.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +1 -1
- package/docs/tr/intlayer_with_vite+preact.md +1 -1
- package/docs/tr/intlayer_with_vite+react.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +1 -1
- package/docs/tr/introduction.md +0 -1
- package/docs/tr/readme.md +8 -8
- package/docs/uk/bundle_optimization.md +5 -1
- package/docs/uk/how_works_intlayer.md +2 -2
- package/docs/uk/interest_of_intlayer.md +6 -6
- package/docs/uk/intlayer_CMS.md +1 -1
- package/docs/uk/intlayer_with_adonisjs.md +1 -1
- package/docs/uk/intlayer_with_analog.md +1 -1
- package/docs/uk/intlayer_with_angular_19.md +1 -1
- package/docs/uk/intlayer_with_angular_21.md +1 -1
- package/docs/uk/intlayer_with_astro.md +1 -1
- package/docs/uk/intlayer_with_astro_lit.md +1 -1
- package/docs/uk/intlayer_with_astro_preact.md +1 -1
- package/docs/uk/intlayer_with_astro_react.md +1 -1
- package/docs/uk/intlayer_with_astro_solid.md +1 -1
- package/docs/uk/intlayer_with_astro_svelte.md +1 -1
- package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
- package/docs/uk/intlayer_with_astro_vue.md +1 -1
- package/docs/uk/intlayer_with_create_react_app.md +1 -1
- package/docs/uk/intlayer_with_express.md +1 -1
- package/docs/uk/intlayer_with_hono.md +1 -1
- package/docs/uk/intlayer_with_nestjs.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_15.md +1 -1
- package/docs/uk/intlayer_with_nextjs_16.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +1 -1
- package/docs/uk/intlayer_with_vite+preact.md +1 -1
- package/docs/uk/intlayer_with_vite+react.md +1 -1
- package/docs/uk/intlayer_with_vite+vue.md +1 -1
- package/docs/uk/introduction.md +0 -1
- package/docs/uk/readme.md +8 -8
- package/docs/ur/bundle_optimization.md +5 -1
- package/docs/ur/interest_of_intlayer.md +6 -6
- package/docs/ur/intlayer_with_angular_21.md +1 -1
- package/docs/ur/intlayer_with_hono.md +1 -1
- package/docs/ur/introduction.md +0 -1
- package/docs/vi/bundle_optimization.md +5 -1
- package/docs/vi/how_works_intlayer.md +2 -2
- package/docs/vi/interest_of_intlayer.md +6 -6
- package/docs/vi/intlayer_CMS.md +1 -1
- package/docs/vi/intlayer_with_adonisjs.md +1 -1
- package/docs/vi/intlayer_with_analog.md +1 -1
- package/docs/vi/intlayer_with_angular_19.md +1 -1
- package/docs/vi/intlayer_with_angular_21.md +1 -1
- package/docs/vi/intlayer_with_astro.md +1 -1
- package/docs/vi/intlayer_with_astro_lit.md +1 -1
- package/docs/vi/intlayer_with_astro_preact.md +1 -1
- package/docs/vi/intlayer_with_astro_react.md +1 -1
- package/docs/vi/intlayer_with_astro_solid.md +1 -1
- package/docs/vi/intlayer_with_astro_svelte.md +1 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/vi/intlayer_with_astro_vue.md +1 -1
- package/docs/vi/intlayer_with_create_react_app.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_hono.md +1 -1
- package/docs/vi/intlayer_with_nestjs.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +1 -1
- package/docs/vi/intlayer_with_vite+react.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +1 -1
- package/docs/vi/introduction.md +0 -1
- package/docs/vi/readme.md +8 -8
- package/docs/zh/bundle_optimization.md +5 -1
- package/docs/zh/how_works_intlayer.md +2 -2
- package/docs/zh/interest_of_intlayer.md +6 -6
- package/docs/zh/intlayer_CMS.md +1 -1
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_analog.md +1 -1
- package/docs/zh/intlayer_with_angular_19.md +1 -1
- package/docs/zh/intlayer_with_angular_21.md +1 -1
- package/docs/zh/intlayer_with_astro.md +1 -1
- package/docs/zh/intlayer_with_astro_lit.md +1 -1
- package/docs/zh/intlayer_with_astro_preact.md +1 -1
- package/docs/zh/intlayer_with_astro_react.md +1 -1
- package/docs/zh/intlayer_with_astro_solid.md +1 -1
- package/docs/zh/intlayer_with_astro_svelte.md +1 -1
- package/docs/zh/intlayer_with_astro_vanilla.md +1 -1
- package/docs/zh/intlayer_with_astro_vue.md +1 -1
- package/docs/zh/intlayer_with_create_react_app.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +2 -2
- package/docs/zh/intlayer_with_vite+preact.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +1 -1
- package/docs/zh/intlayer_with_vite+vue.md +1 -1
- package/docs/zh/introduction.md +0 -1
- package/docs/zh/readme.md +8 -8
- package/docs/zh-TW/bundle_optimization.md +5 -1
- package/docs/zh-TW/interest_of_intlayer.md +6 -6
- package/docs/zh-TW/intlayer_with_angular_21.md +1 -1
- package/docs/zh-TW/introduction.md +0 -1
- package/package.json +8 -7
- package/src/generated/blog.entry.ts +80 -0
- package/blog/en/___per-component_vs_centralized_i18n.md +0 -255
- package/blog/pl/___per-component_vs_centralized_i18n.md +0 -100
- package/docs/en/benchmark/___NOTE.md +0 -101
- package/docs/en/benchmark/___nextjs.md +0 -197
- package/docs/en/benchmark/___solid.md +0 -12
- package/docs/en/benchmark/___svelte.md +0 -16
- package/docs/en/benchmark/___tanstack.md +0 -190
- package/docs/en/benchmark/___vue.md +0 -7
- package/docs/pl/benchmark/___NOTE.md +0 -101
- package/docs/pl/benchmark/___nextjs.md +0 -198
- package/docs/pl/benchmark/___solid.md +0 -36
- package/docs/pl/benchmark/___svelte.md +0 -36
- package/docs/pl/benchmark/___tanstack.md +0 -36
- package/docs/pl/benchmark/___vue.md +0 -36
|
@@ -49,7 +49,7 @@ Las soluciones han cambiado considerablemente. Pasamos de objetos globales y lla
|
|
|
49
49
|
|
|
50
50
|
Este artículo repasa esa evolución desde aproximadamente 2011 hasta 2026: qué intentó resolver cada generación de herramientas, qué funcionó, qué no y cómo la arquitectura del frontend influyó en nuestra manera de gestionar la i18n hoy en día.
|
|
51
51
|
|
|
52
|
-

|
|
53
53
|
|
|
54
54
|
## Tabla de contenidos
|
|
55
55
|
|
|
@@ -149,87 +149,87 @@ Las siguientes pestañas muestran cómo abordó cada ecosistema estos desafíos,
|
|
|
149
149
|
|
|
150
150
|
<Tab label="JavaScript Core" value="javascript">
|
|
151
151
|
|
|
152
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
153
|
-
| ------------------ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
154
|
-
| Enero de 2012 | `i18next` | Estandarizar la consulta de diccionarios en runtime para navegador y Node.js sin atarse a un framework. | Arquitectura modular de runtime que separa la traducción central de cargadores, detectores y almacenamiento en caché. |
|
|
155
|
-
| Febrero de 2021 | `typesafe-i18n` | Evitar errores silenciosos en tiempo de ejecución e interpolaciones rotas por claves no tipadas. | Funciones de traducción completamente tipadas generadas a partir de objetos de traducción sin dependencias en runtime. |
|
|
156
|
-
| Octubre de 2023 | `paraglide` (`@inlang/paraglide-js`) | Eliminar búsquedas de diccionarios en runtime, parseadores pesados y aumento del tamaño del bundle. | Compila mensajes en módulos ECMAScript optimizados para tree-shaking y funciones puras de JavaScript. |
|
|
157
|
-
|
|
|
158
|
-
| Junio de 2025 | `wuchale` | Eliminar la fricción de extraer cadenas de texto manualmente e inventar claves de traducción durante el desarrollo. | Preprocesador a nivel de AST que detecta texto inline y lo compila en funciones localizadas sin envoltorios en tiempo de build. |
|
|
152
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
153
|
+
| ------------------ | ------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
154
|
+
| Enero de 2012 | `i18next` | Jan Mühlemann (`@jamuhl`) | Estandarizar la consulta de diccionarios en runtime para navegador y Node.js sin atarse a un framework. | Arquitectura modular de runtime que separa la traducción central de cargadores, detectores y almacenamiento en caché. |
|
|
155
|
+
| Febrero de 2021 | `typesafe-i18n` | Ivan Hofer (`@ivanhofer`) | Evitar errores silenciosos en tiempo de ejecución e interpolaciones rotas por claves no tipadas. | Funciones de traducción completamente tipadas generadas a partir de objetos de traducción sin dependencias en runtime. |
|
|
156
|
+
| Octubre de 2023 | `paraglide` (`@inlang/paraglide-js`) | Samuel Stroschein (`@samuelstroschein`) / Inlang (`@inlang`) | Eliminar búsquedas de diccionarios en runtime, parseadores pesados y aumento del tamaño del bundle. | Compila mensajes en módulos ECMAScript optimizados para tree-shaking y funciones puras de JavaScript. |
|
|
157
|
+
| Agosto 2024 | `intlayer` | Aymeric Pineau (`@aymericzip`) | Reemplazar namespaces difíciles de mantener, evitar fugas de contenido entre páginas, reducir conflictos de git y solucionar la falta de tipado estricto. | Coubica archivos `.content` junto a los componentes, autogenera tipos en TypeScript, integra CMS visual y herramientas CLI de traducción con IA. |
|
|
158
|
+
| Junio de 2025 | `wuchale` | Kidus Adugna (`@K1DV5`) | Eliminar la fricción de extraer cadenas de texto manualmente e inventar claves de traducción durante el desarrollo. | Preprocesador a nivel de AST que detecta texto inline y lo compila en funciones localizadas sin envoltorios en tiempo de build. |
|
|
159
159
|
|
|
160
160
|
</Tab>
|
|
161
161
|
|
|
162
162
|
<Tab label="React" value="react">
|
|
163
163
|
|
|
164
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
165
|
-
| ------------------ | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
166
|
-
| Junio de 2014 | `react-intl` | Estandarizar el formateo de números, fechas, monedas y plurales complejos en React. | Componentes declarativos (`<FormattedMessage>`, `<FormattedDate>`) que implementan ICU MessageFormat y el estándar ECMA-402. |
|
|
167
|
-
| Diciembre de 2015 | `react-i18next` | Proporcionar una integración idiomática de `i18next` para React con re-renderizado reactivo. | Evolucionó junto a React desde Higher-Order Components hacia interpolación JSX con `<Trans>` y el hook `useTranslation`. |
|
|
168
|
-
| Enero de 2018 | `@lingui/react` | Reducir el impacto en el tamaño del bundle generado por los parseadores ICU en runtime. | Macros de Babel/SWC que compilan `<Trans>` y `t` en arrays indexados compactos en tiempo de compilación. |
|
|
169
|
-
| Diciembre de 2020 | `use-intl` | Ofrecer una alternativa ligera, basada en hooks y con seguridad de tipos frente a librerías heredadas de React. | Hooks ergonómicos `useTranslations` y `useFormatter` con profunda integración con TypeScript. |
|
|
170
|
-
| Febrero de 2021 | `@tolgee/react` | Acortar el ciclo de retroalimentación entre desarrolladores, traductores y diseñadores. | Edición en contexto en el navegador que permite hacer Alt-clic sobre los textos, editar traducciones in situ y capturar pantallas. |
|
|
171
|
-
|
|
|
172
|
-
| Julio de 2024 | `gt-react` | Automatizar exportaciones manuales de archivos y el mantenimiento continuo de traducciones. | Localización automatizada con IA directamente dentro de los componentes de React mediante pipelines de traducción en la nube. |
|
|
173
|
-
|
|
|
164
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
165
|
+
| ------------------ | ---------------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
166
|
+
| Junio de 2014 | `react-intl` | Yahoo! / FormatJS | Estandarizar el formateo de números, fechas, monedas y plurales complejos en React. | Componentes declarativos (`<FormattedMessage>`, `<FormattedDate>`) que implementan ICU MessageFormat y el estándar ECMA-402. |
|
|
167
|
+
| Diciembre de 2015 | `react-i18next` | Jan Mühlemann (`@jamuhl`) | Proporcionar una integración idiomática de `i18next` para React con re-renderizado reactivo. | Evolucionó junto a React desde Higher-Order Components hacia interpolación JSX con `<Trans>` y el hook `useTranslation`. |
|
|
168
|
+
| Enero de 2018 | `@lingui/react` | Tomáš Ehrlich (`@tricoder42`) | Reducir el impacto en el tamaño del bundle generado por los parseadores ICU en runtime. | Macros de Babel/SWC que compilan `<Trans>` y `t` en arrays indexados compactos en tiempo de compilación. |
|
|
169
|
+
| Diciembre de 2020 | `use-intl` | Jan Amann (`@amannn`) | Ofrecer una alternativa ligera, basada en hooks y con seguridad de tipos frente a librerías heredadas de React. | Hooks ergonómicos `useTranslations` y `useFormatter` con profunda integración con TypeScript. |
|
|
170
|
+
| Febrero de 2021 | `@tolgee/react` | Jan Cizmar (`@jcizmar`) | Acortar el ciclo de retroalimentación entre desarrolladores, traductores y diseñadores. | Edición en contexto en el navegador que permite hacer Alt-clic sobre los textos, editar traducciones in situ y capturar pantallas. |
|
|
171
|
+
| Agosto 2024 | `react-intlayer` | Aymeric Pineau (`@aymericzip`) | Brindar una solución adaptada al ciclo de vida de React, sin diccionarios JSON centralizados ni namespaces complejos de mantener. | Hook `useIntlayer` optimizado para React, tipos TypeScript autogenerados, tree-shaking por componente y sincronización con CMS visual sin necesidad de contextos sobrecargados. |
|
|
172
|
+
| Julio de 2024 | `gt-react` | Ernest McCarter (`@eoinest`) | Automatizar exportaciones manuales de archivos y el mantenimiento continuo de traducciones. | Localización automatizada con IA directamente dentro de los componentes de React mediante pipelines de traducción en la nube. |
|
|
173
|
+
| Junio 2025 | `@wuchale/jsx` | Kidus Adugna (`@K1DV5`) | Eliminar la creación manual de claves y los hooks repetitivos al escribir JSX. | Transformación por AST que extrae automáticamente nodos de texto en JSX y los compila en equivalentes localizados. |
|
|
174
174
|
|
|
175
175
|
</Tab>
|
|
176
176
|
|
|
177
177
|
<Tab label="Next.js" value="nextjs">
|
|
178
178
|
|
|
179
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
180
|
-
| ------------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
181
|
-
| Noviembre de 2018 | `next-i18next` | Soportar SSR y SSG con `i18next` en el Pages Router de Next.js sin cascadas de peticiones en el cliente. | `serverSideTranslations` y `appWithTranslation` pasando namespaces localizados en las props de página. |
|
|
182
|
-
| Diciembre
|
|
183
|
-
|
|
|
184
|
-
| Julio de 2022 | `next-international` | Maximizar la seguridad de tipos en TypeScript con un impacto mínimo en el bundle de cliente en Next.js. | Generación estricta de tipos para claves delimitadas con adaptadores ligeros para App Router y Pages Router. |
|
|
185
|
-
|
|
|
186
|
-
|
|
|
187
|
-
|
|
|
179
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
180
|
+
| ------------------ | ------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
181
|
+
| Noviembre de 2018 | `next-i18next` | Isaac Hinman (`@isaachinman`) | Soportar SSR y SSG con `i18next` en el Pages Router de Next.js sin cascadas de peticiones en el cliente. | `serverSideTranslations` y `appWithTranslation` pasando namespaces localizados en las props de página. |
|
|
182
|
+
| Diciembre 2020 | `next-translate` | Arvin Wiyono (`@arvinn`) / Vinissimus (`@vinissimus`) | Simplificar la configuración y reducir el peso del bundle en aplicaciones Next.js Pages Router. | Plugin de Webpack loader que inyecta automáticamente solo los namespaces de traducción necesarios por página. |
|
|
183
|
+
| Diciembre 2020 | `next-intl` | Jan Amann (`@amannn`) | Rediseñar la internacionalización para App Router, React Server Components (RSC) y SSR por streaming. | Integración nativa con middleware de Next.js App Router, Server Actions y Server Components asíncronos sin JavaScript en el cliente. |
|
|
184
|
+
| Julio de 2022 | `next-international` | Tom Dussaix (`@tom-dussaix`) | Maximizar la seguridad de tipos en TypeScript con un impacto mínimo en el bundle de cliente en Next.js. | Generación estricta de tipos para claves delimitadas con adaptadores ligeros para App Router y Pages Router. |
|
|
185
|
+
| Octubre 2023 | `paraglide-next` (`@inlang/paraglide-next`) | Samuel Stroschein (`@samuelstroschein`) / Inlang (`@inlang`) | Llevar mensajes compilados con cero runtime a Next.js App Router y Pages Router. | Enrutamiento por middleware combinado con funciones de mensajes preparadas para tree-shaking, evitando parsear JSON en RSC y bundles de cliente. |
|
|
186
|
+
| Agosto 2024 | `next-intlayer` | Aymeric Pineau (`@aymericzip`) | Ofrecer un adaptador para Server Components sin tener que pasar funciones `t()` o diccionarios como props entre componentes. | Adaptador de Server Components que permite invocar `useIntlayer` en componentes síncronos sin prop-drilling, con renderizado sin cascadas, middleware de rutas y sincronización con CMS en vivo. |
|
|
187
|
+
| Julio 2024 | `gt-next` | Ernest McCarter (`@eoinest`) | Automatizar la generación de contenido multilingüe y el enrutamiento localizado en Next.js mediante IA. | Integración con App Router que conecta traducción automática en la nube con middleware en el edge y capas de caché de Next.js. |
|
|
188
188
|
|
|
189
189
|
</Tab>
|
|
190
190
|
|
|
191
191
|
<Tab label="Vue & Nuxt" value="vue">
|
|
192
192
|
|
|
193
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
194
|
-
| ------------------ | -------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
195
|
-
| Mayo de 2014 | `vue-i18n` | Proporcionar internacionalización reactiva e idiomática para aplicaciones Vue. | Integración profunda con la reactividad de Vue, directivas de plantilla (`v-t`), helpers `$t` y bloques personalizados `<i18n>` en Single-File Components. |
|
|
196
|
-
| Noviembre de 2017 | `@nuxt/i18n` | Gestionar enrutamiento localizado, etiquetas SEO hreflang e hidratación SSR en Nuxt. | Módulo de enrutamiento full-stack que genera rutas localizadas (prefijo, dominio), encabezados meta para SEO y carga perezosa de fragmentos de traducción. |
|
|
197
|
-
| Agosto
|
|
198
|
-
|
|
|
193
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
194
|
+
| ------------------ | -------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
195
|
+
| Mayo de 2014 | `vue-i18n` | Kazupon (`@kazupon`) | Proporcionar internacionalización reactiva e idiomática para aplicaciones Vue. | Integración profunda con la reactividad de Vue, directivas de plantilla (`v-t`), helpers `$t` y bloques personalizados `<i18n>` en Single-File Components. |
|
|
196
|
+
| Noviembre de 2017 | `@nuxt/i18n` | Comunidad Nuxt | Gestionar enrutamiento localizado, etiquetas SEO hreflang e hidratación SSR en Nuxt. | Módulo de enrutamiento full-stack que genera rutas localizadas (prefijo, dominio), encabezados meta para SEO y carga perezosa de fragmentos de traducción. |
|
|
197
|
+
| Agosto 2020 | `fluent-vue` | Mozilla (`@mozilla`) / Demivan (`@demivan`) | Manejar género gramatical complejo, casos y estructuras asimétricas en Vue. | Integración de la sintaxis Project Fluent de Mozilla en Vue, evitando lógica condicional enredada para sutilezas del lenguaje. |
|
|
198
|
+
| Enero 2025 | `vue-intlayer` | Aymeric Pineau (`@aymericzip`) | Ofrecer una implementación de Intlayer diseñada para la Composition API de Vue 3 y Nuxt, evitando contaminar el espacio global. | Composable `useIntlayer` adaptado al seguimiento reactivo de Vue 3, aislamiento por componente, autocompletado exhaustivo en TypeScript y editor visual directo. |
|
|
199
199
|
|
|
200
200
|
</Tab>
|
|
201
201
|
|
|
202
202
|
<Tab label="Angular" value="angular">
|
|
203
203
|
|
|
204
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
205
|
-
| ------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
206
|
-
| Febrero de 2017 | `ngx-translate` | Proporcionar traducción dinámica en runtime en Angular sin desplegar bundles separados por idioma. | Servicio `TranslateService` y pipe `translate` que permiten carga dinámica de traducciones y cambio de idioma en ejecución. |
|
|
207
|
-
| Julio de 2019 | `@ngneat/transloco` | Resolver problemas de rendimiento, falta de aislamiento y funciones ausentes en librerías anteriores de Angular. | Directiva estructural (`*transloco`), traducciones delimitadas para módulos con lazy-loading, soporte SSR y CLI de extracción. |
|
|
208
|
-
| Septiembre de 2019 | `@angular/localize` | Modernizar la i18n integrada de Angular para evitar recompilar TypeScript para cada idioma. | Literales de plantilla etiquetados con `$localize` inyectados como paso rápido posterior al build en el compilador Ivy. |
|
|
209
|
-
| Febrero de 2021 | `@tolgee/ngx` | Integrar traducción colaborativa en contexto y captura de pantallas en flujos de trabajo de Angular. | Pipes y directivas de Angular conectados a Tolgee para edición de textos en vivo dentro del navegador. |
|
|
210
|
-
|
|
|
204
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
205
|
+
| ------------------ | ------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
206
|
+
| Febrero de 2017 | `ngx-translate` | Olivier Combe (`@ocombe`) | Proporcionar traducción dinámica en runtime en Angular sin desplegar bundles separados por idioma. | Servicio `TranslateService` y pipe `translate` que permiten carga dinámica de traducciones y cambio de idioma en ejecución. |
|
|
207
|
+
| Julio de 2019 | `@ngneat/transloco` | Netanel Basal (`@NetanelBasal`) & Shahar Kazaz (`@shahar_k`) | Resolver problemas de rendimiento, falta de aislamiento y funciones ausentes en librerías anteriores de Angular. | Directiva estructural (`*transloco`), traducciones delimitadas para módulos con lazy-loading, soporte SSR y CLI de extracción. |
|
|
208
|
+
| Septiembre de 2019 | `@angular/localize` | Equipo Angular (@angular) | Modernizar la i18n integrada de Angular para evitar recompilar TypeScript para cada idioma. | Literales de plantilla etiquetados con `$localize` inyectados como paso rápido posterior al build en el compilador Ivy. |
|
|
209
|
+
| Febrero de 2021 | `@tolgee/ngx` | Jan Cizmar (`@jcizmar`) | Integrar traducción colaborativa en contexto y captura de pantallas en flujos de trabajo de Angular. | Pipes y directivas de Angular conectados a Tolgee para edición de textos en vivo dentro del navegador. |
|
|
210
|
+
| Marzo 2026 | `angular-intlayer` | Aymeric Pineau (`@aymericzip`) | Ofrecer una implementación nativa de Intlayer para Angular moderno (Signals, componentes standalone y SSR). | Integración reactiva basada en Signals adaptada a la detección de cambios de Angular, inyección de dependencias standalone y sincronización directa con CMS. |
|
|
211
211
|
|
|
212
212
|
</Tab>
|
|
213
213
|
|
|
214
214
|
<Tab label="Svelte & SvelteKit" value="svelte">
|
|
215
215
|
|
|
216
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
217
|
-
| ------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
-
| Julio de 2018 | `svelte-i18n` | Proporcionar una librería de internacionalización reactiva basada en los stores de Svelte. | Consulta de `$t` vinculada a stores que garantiza actualizaciones precisas en el DOM al cambiar de idioma. |
|
|
219
|
-
| Diciembre de 2021 | `sveltekit-i18n` | Gestionar SSR y carga de traducciones por ruta de forma limpia en aplicaciones SvelteKit. | Arquitectura de carga modular que obtiene únicamente las traducciones y formateadores necesarios para la ruta activa de SvelteKit. |
|
|
220
|
-
| Noviembre de 2021 | `@tolgee/svelte` | Habilitar localización en contexto en aplicaciones Svelte. | Conexión con stores de Svelte integrada con la interfaz de traducción de Tolgee y captura automática de pantallas. |
|
|
221
|
-
|
|
|
222
|
-
| Julio de 2025 | `@wuchale/svelte` | Eliminar el código repetitivo de declarar diccionarios e importar funciones `$t` en componentes Svelte. | Preprocesador de Svelte que analiza plantillas en compilación y transforma nodos de texto en salidas localizadas sin wrappers. |
|
|
216
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
217
|
+
| ------------------ | ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
218
|
+
| Julio de 2018 | `svelte-i18n` | Kaisermann (`@kaisermann`) | Proporcionar una librería de internacionalización reactiva basada en los stores de Svelte. | Consulta de `$t` vinculada a stores que garantiza actualizaciones precisas en el DOM al cambiar de idioma. |
|
|
219
|
+
| Diciembre de 2021 | `sveltekit-i18n` | Ivan Fevrier (`@ivanfevrier`) | Gestionar SSR y carga de traducciones por ruta de forma limpia en aplicaciones SvelteKit. | Arquitectura de carga modular que obtiene únicamente las traducciones y formateadores necesarios para la ruta activa de SvelteKit. |
|
|
220
|
+
| Noviembre de 2021 | `@tolgee/svelte` | Jan Cizmar (`@jcizmar`) | Habilitar localización en contexto en aplicaciones Svelte. | Conexión con stores de Svelte integrada con la interfaz de traducción de Tolgee y captura automática de pantallas. |
|
|
221
|
+
| Octubre 2025 | `svelte-intlayer` | Aymeric Pineau (`@aymericzip`) | Proporcionar una implementación de alto rendimiento de Intlayer diseñada de forma nativa para Svelte 5 y SvelteKit. | Enlaces reactivos adaptados a los Runes de Svelte 5 (`$state`), declaraciones `.content` por componente, plugins de build sin configuración y CMS visual. |
|
|
222
|
+
| Julio de 2025 | `@wuchale/svelte` | Kidus Adugna (`@K1DV5`) | Eliminar el código repetitivo de declarar diccionarios e importar funciones `$t` en componentes Svelte. | Preprocesador de Svelte que analiza plantillas en compilación y transforma nodos de texto en salidas localizadas sin wrappers. |
|
|
223
223
|
|
|
224
224
|
</Tab>
|
|
225
225
|
|
|
226
226
|
<Tab label="SolidJS" value="solid">
|
|
227
227
|
|
|
228
|
-
| Primer lanzamiento | Librería | Qué buscaba resolver | Innovación clave |
|
|
229
|
-
| ------------------ | ------------------------ | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
230
|
-
| Septiembre de 2021 | `@solid-primitives/i18n` | Proporcionar una primitiva de i18n que encaje con la reactividad fina de SolidJS. | Resolutor de traducciones basado en Signals que actualiza nodos del DOM sin Virtual DOM ni re-renderizados innecesarios. |
|
|
231
|
-
|
|
|
232
|
-
| Junio de 2026 | `@lingui/solid` | Extender la extracción por macros en compilación y la compatibilidad con ICU MessageFormat a SolidJS. | Transformaciones de macros adaptadas a la reactividad de Solid, compilando mensajes en estructuras ligeras para el runtime. |
|
|
228
|
+
| Primer lanzamiento | Librería | Autor | Qué buscaba resolver | Innovación clave |
|
|
229
|
+
| ------------------ | ------------------------ | ------------------------------ | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
230
|
+
| Septiembre de 2021 | `@solid-primitives/i18n` | Comunidad SolidJS | Proporcionar una primitiva de i18n que encaje con la reactividad fina de SolidJS. | Resolutor de traducciones basado en Signals que actualiza nodos del DOM sin Virtual DOM ni re-renderizados innecesarios. |
|
|
231
|
+
| Julio 2025 | `solid-intlayer` | Aymeric Pineau (`@aymericzip`) | Proporcionar una implementación eficiente de Intlayer diseñada de forma nativa para SolidJS y SolidStart. | Enlaces de contenido adaptados a las primitivas reactivas de Solid sin sobrecarga de Virtual DOM, autocompletado con esquemas TypeScript y editor visual integrado. |
|
|
232
|
+
| Junio de 2026 | `@lingui/solid` | Tomáš Ehrlich (`@tricoder42`) | Extender la extracción por macros en compilación y la compatibilidad con ICU MessageFormat a SolidJS. | Transformaciones de macros adaptadas a la reactividad de Solid, compilando mensajes en estructuras ligeras para el runtime. |
|
|
233
233
|
|
|
234
234
|
</Tab>
|
|
235
235
|
|
|
@@ -237,7 +237,7 @@ Las siguientes pestañas muestran cómo abordó cada ecosistema estos desafíos,
|
|
|
237
237
|
|
|
238
238
|
## Las cuatro grandes eras arquitectónicas de la i18n en JavaScript
|
|
239
239
|
|
|
240
|
-

|
|
241
241
|
|
|
242
242
|
Al observar quince años de desarrollo, podemos clasificar la historia de la internacionalización en JavaScript en cuatro etapas bien diferenciadas:
|
|
243
243
|
|
|
@@ -287,7 +287,7 @@ Durante más de una década, los servicios comerciales estructuraron sus ingreso
|
|
|
287
287
|
|
|
288
288
|
A medida que los Modelos de Lenguaje redujeron el coste de traducción a fracciones de céntimo aumentando la precisión lingüística, surgieron nuevas herramientas:
|
|
289
289
|
|
|
290
|
-
- Plataformas como
|
|
290
|
+
- Plataformas como **lingo.dev** o **General Translation** (`gt-react`, `gt-next`) han introducido planes de suscripción propios e intermediación en la nube.
|
|
291
291
|
- Por el contrario, **Intlayer** integra traducción automatizada con IA directamente desde su CLI, permitiendo a los equipos conectar sus propias claves de API (OpenAI, Anthropic, Mistral o Google Gemini). Funciona sin comisiones intermedias ni dependencia de proveedores, operando al coste directo y transparente del proveedor elegido.
|
|
292
292
|
|
|
293
293
|
### Más allá de la i18n: un sistema completo de contenido multilingüe
|