@intlayer/docs 9.4.1 → 9.4.2
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 +1 -1
- package/blog/ar/hreflang_guide_multilingual_seo.md +317 -0
- package/blog/ar/intlayer_with_i18next.md +0 -2
- package/blog/ar/intlayer_with_next-i18next.md +0 -4
- package/blog/ar/intlayer_with_vue-i18n.md +0 -4
- package/blog/de/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/de/intlayer_with_vue-i18n.md +0 -4
- package/blog/en/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/en/intlayer_with_i18next.md +0 -2
- package/blog/en/intlayer_with_next-i18next.md +0 -2
- package/blog/en/intlayer_with_next-intl.md +0 -2
- package/blog/en/intlayer_with_react-intl.md +0 -2
- package/blog/en/intlayer_with_vue-i18n.md +0 -2
- package/blog/en-GB/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/es/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/fr/hreflang_guide_multilingual_seo.md +315 -0
- package/blog/hi/hreflang_guide_multilingual_seo.md +323 -0
- package/blog/hi/intlayer_with_i18next.md +0 -2
- package/blog/hi/intlayer_with_next-i18next.md +0 -4
- package/blog/hi/intlayer_with_vue-i18n.md +0 -4
- package/blog/id/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/id/intlayer_with_i18next.md +0 -2
- package/blog/id/intlayer_with_next-i18next.md +0 -4
- package/blog/id/intlayer_with_vue-i18n.md +0 -4
- package/blog/it/hreflang_guide_multilingual_seo.md +315 -0
- package/blog/it/intlayer_with_i18next.md +0 -2
- package/blog/it/intlayer_with_next-i18next.md +0 -4
- package/blog/it/intlayer_with_vue-i18n.md +0 -4
- package/blog/ja/hreflang_guide_multilingual_seo.md +320 -0
- package/blog/ko/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/ko/intlayer_with_i18next.md +0 -2
- package/blog/ko/intlayer_with_next-i18next.md +0 -4
- package/blog/ko/intlayer_with_vue-i18n.md +0 -4
- package/blog/pl/hreflang_guide_multilingual_seo.md +316 -0
- package/blog/pt/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/pt/intlayer_with_i18next.md +0 -2
- package/blog/pt/intlayer_with_next-i18next.md +0 -4
- package/blog/pt/intlayer_with_vue-i18n.md +0 -4
- package/blog/ru/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/tr/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/tr/intlayer_with_i18next.md +0 -2
- package/blog/tr/intlayer_with_next-i18next.md +0 -4
- package/blog/tr/intlayer_with_vue-i18n.md +0 -4
- package/blog/uk/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/uk/intlayer_with_i18next.md +0 -2
- package/blog/uk/intlayer_with_next-i18next.md +0 -2
- package/blog/uk/intlayer_with_next-intl.md +0 -2
- package/blog/uk/intlayer_with_react-intl.md +0 -2
- package/blog/uk/intlayer_with_vue-i18n.md +0 -2
- package/blog/vi/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/vi/intlayer_with_i18next.md +0 -2
- package/blog/vi/intlayer_with_next-i18next.md +0 -4
- package/blog/vi/intlayer_with_vue-i18n.md +0 -4
- package/blog/zh/hreflang_guide_multilingual_seo.md +314 -0
- package/blog/zh/intlayer_with_i18next.md +0 -2
- package/blog/zh/intlayer_with_next-i18next.md +0 -2
- package/blog/zh/intlayer_with_next-intl.md +0 -2
- package/blog/zh/intlayer_with_react-intl.md +0 -2
- package/blog/zh/intlayer_with_vue-i18n.md +0 -2
- package/dist/cjs/common.cjs +29 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +20 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +20 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +29 -6
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +20 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/analytics.md +458 -12
- package/docs/ar/configuration.md +98 -0
- package/docs/ar/dictionary/content_file.md +4 -4
- package/docs/ar/dictionary/html.md +117 -1
- package/docs/ar/dictionary/markdown.md +18 -1
- package/docs/ar/dictionary/plurial.md +5 -2
- package/docs/ar/how_works_intlayer.md +92 -0
- package/docs/ar/interest_of_intlayer.md +106 -9
- package/docs/ar/intlayer_CMS.md +92 -0
- package/docs/ar/intlayer_visual_editor.md +87 -1
- package/docs/ar/intlayer_with_adonisjs.md +121 -0
- package/docs/ar/intlayer_with_analog.md +116 -8
- package/docs/ar/intlayer_with_angular_19.md +115 -8
- package/docs/ar/intlayer_with_angular_21.md +109 -8
- package/docs/ar/intlayer_with_astro.md +117 -20
- package/docs/ar/intlayer_with_astro_lit.md +118 -10
- package/docs/ar/intlayer_with_astro_preact.md +118 -10
- package/docs/ar/intlayer_with_astro_react.md +118 -10
- package/docs/ar/intlayer_with_astro_solid.md +118 -10
- package/docs/ar/intlayer_with_astro_svelte.md +118 -10
- package/docs/ar/intlayer_with_astro_vanilla.md +112 -10
- package/docs/ar/intlayer_with_astro_vue.md +118 -10
- package/docs/ar/intlayer_with_create_react_app.md +105 -0
- package/docs/ar/intlayer_with_elysia.md +121 -0
- package/docs/ar/intlayer_with_express.md +114 -0
- package/docs/ar/intlayer_with_fastify.md +115 -0
- package/docs/ar/intlayer_with_hono.md +114 -0
- package/docs/ar/intlayer_with_htmx.md +771 -0
- package/docs/ar/intlayer_with_lynx+react.md +7 -14
- package/docs/ar/intlayer_with_nestjs.md +115 -0
- package/docs/ar/intlayer_with_nextjs_14.md +144 -120
- package/docs/ar/intlayer_with_nextjs_15.md +126 -51
- package/docs/ar/intlayer_with_nextjs_16.md +127 -49
- package/docs/ar/intlayer_with_nextjs_compiler.md +122 -13
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +121 -9
- package/docs/ar/intlayer_with_nextjs_page_router.md +139 -107
- package/docs/ar/intlayer_with_nuxt.md +110 -8
- package/docs/ar/intlayer_with_react_native+expo.md +102 -7
- package/docs/ar/intlayer_with_react_router_v7.md +119 -10
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +122 -22
- package/docs/ar/intlayer_with_solid_start.md +115 -1
- package/docs/ar/intlayer_with_storybook.md +7 -20
- package/docs/ar/intlayer_with_svelte_kit.md +107 -17
- package/docs/ar/intlayer_with_tanstack+solid.md +124 -22
- package/docs/ar/intlayer_with_tanstack.md +134 -43
- package/docs/ar/intlayer_with_vanilla.md +117 -9
- package/docs/ar/intlayer_with_vite+lit.md +118 -8
- package/docs/ar/intlayer_with_vite+preact.md +148 -40
- package/docs/ar/intlayer_with_vite+react.md +108 -20
- package/docs/ar/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/ar/intlayer_with_vite+solid.md +114 -5
- package/docs/ar/intlayer_with_vite+svelte.md +118 -8
- package/docs/ar/intlayer_with_vite+vanilla.md +125 -8
- package/docs/ar/intlayer_with_vite+vue.md +105 -9
- package/docs/ar/introduction.md +104 -1
- package/docs/ar/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/ar/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/bn/introduction.md +0 -1
- package/docs/cs/interest_of_intlayer.md +0 -1
- package/docs/cs/intlayer_with_storybook.md +0 -12
- package/docs/cs/intlayer_with_vanilla.md +2 -1
- package/docs/cs/introduction.md +0 -1
- package/docs/de/analytics.md +458 -12
- package/docs/de/configuration.md +99 -1
- package/docs/de/dictionary/content_file.md +4 -4
- package/docs/de/dictionary/markdown.md +3 -0
- package/docs/de/dictionary/plurial.md +6 -3
- package/docs/de/how_works_intlayer.md +93 -1
- package/docs/de/interest_of_intlayer.md +97 -2
- package/docs/de/intlayer_CMS.md +93 -1
- package/docs/de/intlayer_visual_editor.md +88 -2
- package/docs/de/intlayer_with_adonisjs.md +121 -1
- package/docs/de/intlayer_with_analog.md +111 -2
- package/docs/de/intlayer_with_angular_19.md +109 -2
- package/docs/de/intlayer_with_angular_21.md +103 -2
- package/docs/de/intlayer_with_astro.md +111 -14
- package/docs/de/intlayer_with_astro_lit.md +112 -4
- package/docs/de/intlayer_with_astro_preact.md +112 -4
- package/docs/de/intlayer_with_astro_react.md +112 -4
- package/docs/de/intlayer_with_astro_solid.md +112 -4
- package/docs/de/intlayer_with_astro_svelte.md +112 -4
- package/docs/de/intlayer_with_astro_vanilla.md +106 -4
- package/docs/de/intlayer_with_astro_vue.md +112 -4
- package/docs/de/intlayer_with_create_react_app.md +107 -2
- package/docs/de/intlayer_with_elysia.md +121 -1
- package/docs/de/intlayer_with_express.md +115 -1
- package/docs/de/intlayer_with_fastify.md +115 -1
- package/docs/de/intlayer_with_hono.md +115 -1
- package/docs/de/intlayer_with_htmx.md +770 -0
- package/docs/de/intlayer_with_lynx+react.md +0 -7
- package/docs/de/intlayer_with_nestjs.md +115 -1
- package/docs/de/intlayer_with_nextjs_14.md +138 -110
- package/docs/de/intlayer_with_nextjs_15.md +120 -45
- package/docs/de/intlayer_with_nextjs_16.md +147 -51
- package/docs/de/intlayer_with_nextjs_compiler.md +113 -3
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/de/intlayer_with_nextjs_page_router.md +121 -95
- package/docs/de/intlayer_with_nuxt.md +104 -2
- package/docs/de/intlayer_with_react_native+expo.md +103 -8
- package/docs/de/intlayer_with_react_router_v7.md +113 -4
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/de/intlayer_with_solid_start.md +117 -2
- package/docs/de/intlayer_with_storybook.md +0 -13
- package/docs/de/intlayer_with_svelte_kit.md +99 -2
- package/docs/de/intlayer_with_tanstack+solid.md +119 -16
- package/docs/de/intlayer_with_tanstack.md +231 -152
- package/docs/de/intlayer_with_vanilla.md +111 -3
- package/docs/de/intlayer_with_vite+lit.md +113 -2
- package/docs/de/intlayer_with_vite+preact.md +170 -33
- package/docs/de/intlayer_with_vite+react.md +102 -6
- package/docs/de/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/de/intlayer_with_vite+solid.md +113 -2
- package/docs/de/intlayer_with_vite+svelte.md +113 -2
- package/docs/de/intlayer_with_vite+vanilla.md +119 -2
- package/docs/de/intlayer_with_vite+vue.md +98 -2
- package/docs/de/introduction.md +105 -2
- package/docs/de/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/de/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/de/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/de/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en/configuration.md +99 -1
- package/docs/en/dictionary/content_file.md +4 -4
- package/docs/en/how_works_intlayer.md +93 -1
- package/docs/en/interest_of_intlayer.md +97 -2
- package/docs/en/intlayer_CMS.md +93 -1
- package/docs/en/intlayer_visual_editor.md +88 -2
- package/docs/en/intlayer_with_adonisjs.md +121 -1
- package/docs/en/intlayer_with_analog.md +111 -2
- package/docs/en/intlayer_with_angular_19.md +109 -2
- package/docs/en/intlayer_with_angular_21.md +103 -2
- package/docs/en/intlayer_with_astro.md +107 -4
- package/docs/en/intlayer_with_astro_lit.md +112 -4
- package/docs/en/intlayer_with_astro_preact.md +112 -4
- package/docs/en/intlayer_with_astro_react.md +112 -4
- package/docs/en/intlayer_with_astro_solid.md +112 -4
- package/docs/en/intlayer_with_astro_svelte.md +112 -4
- package/docs/en/intlayer_with_astro_vanilla.md +106 -4
- package/docs/en/intlayer_with_astro_vue.md +112 -4
- package/docs/en/intlayer_with_create_react_app.md +105 -2
- package/docs/en/intlayer_with_elysia.md +121 -1
- package/docs/en/intlayer_with_express.md +115 -1
- package/docs/en/intlayer_with_fastify.md +115 -1
- package/docs/en/intlayer_with_hono.md +115 -1
- package/docs/en/intlayer_with_htmx.md +754 -0
- package/docs/en/intlayer_with_lynx+react.md +0 -7
- package/docs/en/intlayer_with_nestjs.md +115 -1
- package/docs/en/intlayer_with_nextjs_14.md +120 -43
- package/docs/en/intlayer_with_nextjs_15.md +120 -44
- package/docs/en/intlayer_with_nextjs_16.md +121 -43
- package/docs/en/intlayer_with_nextjs_compiler.md +111 -2
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/en/intlayer_with_nextjs_page_router.md +110 -95
- package/docs/en/intlayer_with_nuxt.md +104 -2
- package/docs/en/intlayer_with_react_native+expo.md +103 -8
- package/docs/en/intlayer_with_react_router_v7.md +113 -4
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +112 -5
- package/docs/en/intlayer_with_solid_start.md +117 -2
- package/docs/en/intlayer_with_storybook.md +0 -13
- package/docs/en/intlayer_with_svelte_kit.md +99 -2
- package/docs/en/intlayer_with_tanstack+solid.md +120 -16
- package/docs/en/intlayer_with_tanstack.md +114 -16
- package/docs/en/intlayer_with_vanilla.md +111 -3
- package/docs/en/intlayer_with_vite+lit.md +113 -2
- package/docs/en/intlayer_with_vite+preact.md +143 -34
- package/docs/en/intlayer_with_vite+react.md +101 -4
- package/docs/en/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/en/intlayer_with_vite+solid.md +113 -2
- package/docs/en/intlayer_with_vite+svelte.md +113 -2
- package/docs/en/intlayer_with_vite+vanilla.md +119 -2
- package/docs/en/intlayer_with_vite+vue.md +98 -2
- package/docs/en/introduction.md +105 -2
- package/docs/en/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/en/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/en/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/en/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en-GB/analytics.md +527 -58
- package/docs/en-GB/configuration.md +99 -1
- package/docs/en-GB/dictionary/content_file.md +4 -4
- package/docs/en-GB/dictionary/html.md +117 -1
- package/docs/en-GB/dictionary/markdown.md +18 -1
- package/docs/en-GB/dictionary/plurial.md +5 -2
- package/docs/en-GB/dictionary/translation.md +1 -1
- package/docs/en-GB/how_works_intlayer.md +93 -1
- package/docs/en-GB/interest_of_intlayer.md +97 -2
- package/docs/en-GB/intlayer_CMS.md +93 -1
- package/docs/en-GB/intlayer_visual_editor.md +88 -2
- package/docs/en-GB/intlayer_with_adonisjs.md +121 -1
- package/docs/en-GB/intlayer_with_analog.md +111 -2
- package/docs/en-GB/intlayer_with_angular_19.md +109 -2
- package/docs/en-GB/intlayer_with_angular_21.md +103 -2
- package/docs/en-GB/intlayer_with_astro.md +111 -14
- package/docs/en-GB/intlayer_with_astro_lit.md +112 -4
- package/docs/en-GB/intlayer_with_astro_preact.md +112 -4
- package/docs/en-GB/intlayer_with_astro_react.md +112 -4
- package/docs/en-GB/intlayer_with_astro_solid.md +112 -4
- package/docs/en-GB/intlayer_with_astro_svelte.md +112 -4
- package/docs/en-GB/intlayer_with_astro_vanilla.md +106 -4
- package/docs/en-GB/intlayer_with_astro_vue.md +112 -4
- package/docs/en-GB/intlayer_with_create_react_app.md +105 -2
- package/docs/en-GB/intlayer_with_elysia.md +121 -1
- package/docs/en-GB/intlayer_with_express.md +115 -1
- package/docs/en-GB/intlayer_with_fastify.md +115 -1
- package/docs/en-GB/intlayer_with_hono.md +115 -1
- package/docs/en-GB/intlayer_with_htmx.md +757 -0
- package/docs/en-GB/intlayer_with_lynx+react.md +0 -7
- package/docs/en-GB/intlayer_with_nestjs.md +115 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +120 -44
- package/docs/en-GB/intlayer_with_nextjs_15.md +123 -45
- package/docs/en-GB/intlayer_with_nextjs_16.md +121 -44
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +121 -12
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +122 -137
- package/docs/en-GB/intlayer_with_nuxt.md +104 -2
- package/docs/en-GB/intlayer_with_react_native+expo.md +103 -8
- package/docs/en-GB/intlayer_with_react_router_v7.md +113 -4
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/en-GB/intlayer_with_solid_start.md +117 -2
- package/docs/en-GB/intlayer_with_storybook.md +0 -13
- package/docs/en-GB/intlayer_with_svelte_kit.md +99 -2
- package/docs/en-GB/intlayer_with_tanstack+solid.md +120 -16
- package/docs/en-GB/intlayer_with_tanstack.md +255 -167
- package/docs/en-GB/intlayer_with_vanilla.md +111 -3
- package/docs/en-GB/intlayer_with_vite+lit.md +113 -2
- package/docs/en-GB/intlayer_with_vite+preact.md +179 -32
- package/docs/en-GB/intlayer_with_vite+react.md +101 -13
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/en-GB/intlayer_with_vite+solid.md +118 -2
- package/docs/en-GB/intlayer_with_vite+svelte.md +113 -11
- package/docs/en-GB/intlayer_with_vite+vanilla.md +119 -2
- package/docs/en-GB/intlayer_with_vite+vue.md +102 -8
- package/docs/en-GB/introduction.md +105 -2
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/es/analytics.md +458 -12
- package/docs/es/configuration.md +99 -1
- package/docs/es/dictionary/content_file.md +4 -4
- package/docs/es/dictionary/markdown.md +18 -1
- package/docs/es/dictionary/plurial.md +5 -2
- package/docs/es/how_works_intlayer.md +93 -1
- package/docs/es/interest_of_intlayer.md +97 -2
- package/docs/es/intlayer_CMS.md +93 -1
- package/docs/es/intlayer_visual_editor.md +88 -2
- package/docs/es/intlayer_with_adonisjs.md +121 -1
- package/docs/es/intlayer_with_analog.md +111 -2
- package/docs/es/intlayer_with_angular_19.md +109 -2
- package/docs/es/intlayer_with_angular_21.md +103 -2
- package/docs/es/intlayer_with_astro.md +111 -14
- package/docs/es/intlayer_with_astro_lit.md +112 -4
- package/docs/es/intlayer_with_astro_preact.md +112 -4
- package/docs/es/intlayer_with_astro_react.md +112 -4
- package/docs/es/intlayer_with_astro_solid.md +112 -4
- package/docs/es/intlayer_with_astro_svelte.md +112 -4
- package/docs/es/intlayer_with_astro_vanilla.md +106 -4
- package/docs/es/intlayer_with_astro_vue.md +112 -4
- package/docs/es/intlayer_with_create_react_app.md +107 -2
- package/docs/es/intlayer_with_elysia.md +121 -1
- package/docs/es/intlayer_with_express.md +115 -1
- package/docs/es/intlayer_with_fastify.md +115 -1
- package/docs/es/intlayer_with_hono.md +115 -1
- package/docs/es/intlayer_with_htmx.md +763 -0
- package/docs/es/intlayer_with_lynx+react.md +0 -7
- package/docs/es/intlayer_with_nestjs.md +115 -1
- package/docs/es/intlayer_with_nextjs_14.md +120 -44
- package/docs/es/intlayer_with_nextjs_15.md +123 -45
- package/docs/es/intlayer_with_nextjs_16.md +142 -52
- package/docs/es/intlayer_with_nextjs_compiler.md +122 -12
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/es/intlayer_with_nextjs_page_router.md +110 -95
- package/docs/es/intlayer_with_nuxt.md +104 -2
- package/docs/es/intlayer_with_react_native+expo.md +103 -8
- package/docs/es/intlayer_with_react_router_v7.md +113 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/es/intlayer_with_solid_start.md +117 -2
- package/docs/es/intlayer_with_storybook.md +0 -13
- package/docs/es/intlayer_with_svelte_kit.md +99 -2
- package/docs/es/intlayer_with_tanstack+solid.md +119 -16
- package/docs/es/intlayer_with_tanstack.md +252 -147
- package/docs/es/intlayer_with_vanilla.md +111 -3
- package/docs/es/intlayer_with_vite+lit.md +113 -2
- package/docs/es/intlayer_with_vite+preact.md +143 -34
- package/docs/es/intlayer_with_vite+react.md +101 -4
- package/docs/es/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/es/intlayer_with_vite+solid.md +114 -2
- package/docs/es/intlayer_with_vite+svelte.md +113 -2
- package/docs/es/intlayer_with_vite+vanilla.md +119 -2
- package/docs/es/intlayer_with_vite+vue.md +99 -3
- package/docs/es/introduction.md +105 -2
- package/docs/es/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/es/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/es/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/es/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/fr/analytics.md +437 -13
- package/docs/fr/configuration.md +99 -1
- package/docs/fr/dictionary/content_file.md +4 -4
- package/docs/fr/dictionary/markdown.md +18 -1
- package/docs/fr/dictionary/plurial.md +5 -2
- package/docs/fr/how_works_intlayer.md +93 -1
- package/docs/fr/interest_of_intlayer.md +97 -2
- package/docs/fr/intlayer_CMS.md +93 -1
- package/docs/fr/intlayer_visual_editor.md +88 -2
- package/docs/fr/intlayer_with_adonisjs.md +121 -1
- package/docs/fr/intlayer_with_analog.md +111 -2
- package/docs/fr/intlayer_with_angular_19.md +109 -2
- package/docs/fr/intlayer_with_angular_21.md +103 -2
- package/docs/fr/intlayer_with_astro.md +111 -14
- package/docs/fr/intlayer_with_astro_lit.md +112 -4
- package/docs/fr/intlayer_with_astro_preact.md +112 -4
- package/docs/fr/intlayer_with_astro_react.md +112 -4
- package/docs/fr/intlayer_with_astro_solid.md +112 -4
- package/docs/fr/intlayer_with_astro_svelte.md +112 -4
- package/docs/fr/intlayer_with_astro_vanilla.md +106 -4
- package/docs/fr/intlayer_with_astro_vue.md +112 -4
- package/docs/fr/intlayer_with_create_react_app.md +107 -2
- package/docs/fr/intlayer_with_elysia.md +121 -1
- package/docs/fr/intlayer_with_express.md +115 -1
- package/docs/fr/intlayer_with_fastify.md +115 -1
- package/docs/fr/intlayer_with_hono.md +115 -1
- package/docs/fr/intlayer_with_htmx.md +756 -0
- package/docs/fr/intlayer_with_lynx+react.md +0 -7
- package/docs/fr/intlayer_with_nestjs.md +115 -1
- package/docs/fr/intlayer_with_nextjs_14.md +138 -110
- package/docs/fr/intlayer_with_nextjs_15.md +124 -46
- package/docs/fr/intlayer_with_nextjs_16.md +121 -43
- package/docs/fr/intlayer_with_nextjs_compiler.md +122 -12
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/fr/intlayer_with_nextjs_page_router.md +110 -95
- package/docs/fr/intlayer_with_nuxt.md +104 -2
- package/docs/fr/intlayer_with_react_native+expo.md +103 -8
- package/docs/fr/intlayer_with_react_router_v7.md +117 -10
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/fr/intlayer_with_solid_start.md +117 -2
- package/docs/fr/intlayer_with_storybook.md +0 -13
- package/docs/fr/intlayer_with_svelte_kit.md +99 -2
- package/docs/fr/intlayer_with_tanstack+solid.md +119 -16
- package/docs/fr/intlayer_with_tanstack.md +235 -128
- package/docs/fr/intlayer_with_vanilla.md +111 -3
- package/docs/fr/intlayer_with_vite+lit.md +113 -2
- package/docs/fr/intlayer_with_vite+preact.md +143 -34
- package/docs/fr/intlayer_with_vite+react.md +101 -4
- package/docs/fr/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/fr/intlayer_with_vite+solid.md +114 -2
- package/docs/fr/intlayer_with_vite+svelte.md +113 -2
- package/docs/fr/intlayer_with_vite+vanilla.md +119 -2
- package/docs/fr/intlayer_with_vite+vue.md +99 -3
- package/docs/fr/introduction.md +105 -2
- package/docs/fr/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/fr/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/hi/analytics.md +488 -21
- package/docs/hi/configuration.md +98 -0
- package/docs/hi/dictionary/content_file.md +4 -4
- package/docs/hi/dictionary/html.md +100 -3
- package/docs/hi/dictionary/markdown.md +3 -0
- package/docs/hi/dictionary/plurial.md +6 -3
- package/docs/hi/how_works_intlayer.md +92 -0
- package/docs/hi/interest_of_intlayer.md +106 -9
- package/docs/hi/intlayer_CMS.md +92 -0
- package/docs/hi/intlayer_visual_editor.md +87 -1
- package/docs/hi/intlayer_with_adonisjs.md +121 -0
- package/docs/hi/intlayer_with_analog.md +116 -8
- package/docs/hi/intlayer_with_angular_19.md +115 -8
- package/docs/hi/intlayer_with_angular_21.md +109 -8
- package/docs/hi/intlayer_with_astro.md +117 -20
- package/docs/hi/intlayer_with_astro_lit.md +118 -10
- package/docs/hi/intlayer_with_astro_preact.md +118 -10
- package/docs/hi/intlayer_with_astro_react.md +118 -10
- package/docs/hi/intlayer_with_astro_solid.md +118 -10
- package/docs/hi/intlayer_with_astro_svelte.md +118 -10
- package/docs/hi/intlayer_with_astro_vanilla.md +112 -10
- package/docs/hi/intlayer_with_astro_vue.md +118 -10
- package/docs/hi/intlayer_with_create_react_app.md +106 -1
- package/docs/hi/intlayer_with_elysia.md +121 -0
- package/docs/hi/intlayer_with_express.md +114 -0
- package/docs/hi/intlayer_with_fastify.md +115 -0
- package/docs/hi/intlayer_with_hono.md +114 -0
- package/docs/hi/intlayer_with_htmx.md +771 -0
- package/docs/hi/intlayer_with_lynx+react.md +7 -14
- package/docs/hi/intlayer_with_nestjs.md +115 -0
- package/docs/hi/intlayer_with_nextjs_14.md +144 -120
- package/docs/hi/intlayer_with_nextjs_15.md +129 -51
- package/docs/hi/intlayer_with_nextjs_16.md +129 -50
- package/docs/hi/intlayer_with_nextjs_compiler.md +121 -12
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +121 -9
- package/docs/hi/intlayer_with_nextjs_page_router.md +123 -96
- package/docs/hi/intlayer_with_nuxt.md +110 -8
- package/docs/hi/intlayer_with_react_native+expo.md +102 -7
- package/docs/hi/intlayer_with_react_router_v7.md +119 -10
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +122 -22
- package/docs/hi/intlayer_with_solid_start.md +115 -1
- package/docs/hi/intlayer_with_storybook.md +7 -20
- package/docs/hi/intlayer_with_svelte_kit.md +105 -8
- package/docs/hi/intlayer_with_tanstack+solid.md +124 -22
- package/docs/hi/intlayer_with_tanstack.md +269 -155
- package/docs/hi/intlayer_with_vanilla.md +117 -9
- package/docs/hi/intlayer_with_vite+lit.md +118 -8
- package/docs/hi/intlayer_with_vite+preact.md +170 -41
- package/docs/hi/intlayer_with_vite+react.md +108 -20
- package/docs/hi/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/hi/intlayer_with_vite+solid.md +118 -8
- package/docs/hi/intlayer_with_vite+svelte.md +120 -9
- package/docs/hi/intlayer_with_vite+vanilla.md +125 -8
- package/docs/hi/intlayer_with_vite+vue.md +104 -8
- package/docs/hi/introduction.md +104 -1
- package/docs/hi/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/hi/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/id/analytics.md +488 -21
- package/docs/id/configuration.md +98 -0
- package/docs/id/dictionary/content_file.md +4 -4
- package/docs/id/dictionary/markdown.md +3 -0
- package/docs/id/dictionary/plurial.md +5 -2
- package/docs/id/how_works_intlayer.md +92 -0
- package/docs/id/interest_of_intlayer.md +96 -1
- package/docs/id/intlayer_CMS.md +92 -0
- package/docs/id/intlayer_visual_editor.md +87 -1
- package/docs/id/intlayer_with_adonisjs.md +121 -0
- package/docs/id/intlayer_with_analog.md +109 -1
- package/docs/id/intlayer_with_angular_19.md +108 -1
- package/docs/id/intlayer_with_angular_21.md +102 -1
- package/docs/id/intlayer_with_astro.md +110 -13
- package/docs/id/intlayer_with_astro_lit.md +111 -3
- package/docs/id/intlayer_with_astro_preact.md +111 -3
- package/docs/id/intlayer_with_astro_react.md +111 -3
- package/docs/id/intlayer_with_astro_solid.md +111 -3
- package/docs/id/intlayer_with_astro_svelte.md +111 -3
- package/docs/id/intlayer_with_astro_vanilla.md +105 -3
- package/docs/id/intlayer_with_astro_vue.md +111 -3
- package/docs/id/intlayer_with_create_react_app.md +106 -1
- package/docs/id/intlayer_with_elysia.md +121 -0
- package/docs/id/intlayer_with_express.md +114 -0
- package/docs/id/intlayer_with_fastify.md +115 -0
- package/docs/id/intlayer_with_hono.md +114 -0
- package/docs/id/intlayer_with_htmx.md +761 -0
- package/docs/id/intlayer_with_lynx+react.md +0 -7
- package/docs/id/intlayer_with_nestjs.md +115 -0
- package/docs/id/intlayer_with_nextjs_14.md +132 -66
- package/docs/id/intlayer_with_nextjs_15.md +119 -43
- package/docs/id/intlayer_with_nextjs_16.md +122 -42
- package/docs/id/intlayer_with_nextjs_compiler.md +122 -14
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +114 -2
- package/docs/id/intlayer_with_nextjs_page_router.md +111 -94
- package/docs/id/intlayer_with_nuxt.md +103 -1
- package/docs/id/intlayer_with_react_native+expo.md +102 -7
- package/docs/id/intlayer_with_react_router_v7.md +112 -3
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +116 -16
- package/docs/id/intlayer_with_solid_start.md +115 -1
- package/docs/id/intlayer_with_storybook.md +0 -13
- package/docs/id/intlayer_with_svelte_kit.md +98 -1
- package/docs/id/intlayer_with_tanstack+solid.md +117 -15
- package/docs/id/intlayer_with_tanstack.md +229 -129
- package/docs/id/intlayer_with_vanilla.md +110 -2
- package/docs/id/intlayer_with_vite+lit.md +111 -1
- package/docs/id/intlayer_with_vite+preact.md +141 -33
- package/docs/id/intlayer_with_vite+react.md +101 -13
- package/docs/id/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/id/intlayer_with_vite+solid.md +112 -1
- package/docs/id/intlayer_with_vite+svelte.md +111 -1
- package/docs/id/intlayer_with_vite+vanilla.md +118 -1
- package/docs/id/intlayer_with_vite+vue.md +97 -1
- package/docs/id/introduction.md +104 -1
- package/docs/id/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/id/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/id/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/id/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/it/analytics.md +488 -21
- package/docs/it/configuration.md +99 -1
- package/docs/it/dictionary/content_file.md +4 -4
- package/docs/it/dictionary/markdown.md +18 -1
- package/docs/it/dictionary/plurial.md +5 -2
- package/docs/it/how_works_intlayer.md +93 -1
- package/docs/it/interest_of_intlayer.md +97 -2
- package/docs/it/intlayer_CMS.md +93 -1
- package/docs/it/intlayer_visual_editor.md +88 -2
- package/docs/it/intlayer_with_adonisjs.md +121 -1
- package/docs/it/intlayer_with_analog.md +111 -2
- package/docs/it/intlayer_with_angular_19.md +109 -2
- package/docs/it/intlayer_with_angular_21.md +103 -2
- package/docs/it/intlayer_with_astro.md +111 -14
- package/docs/it/intlayer_with_astro_lit.md +112 -4
- package/docs/it/intlayer_with_astro_preact.md +112 -4
- package/docs/it/intlayer_with_astro_react.md +112 -4
- package/docs/it/intlayer_with_astro_solid.md +112 -4
- package/docs/it/intlayer_with_astro_svelte.md +112 -4
- package/docs/it/intlayer_with_astro_vanilla.md +106 -4
- package/docs/it/intlayer_with_astro_vue.md +112 -4
- package/docs/it/intlayer_with_create_react_app.md +107 -2
- package/docs/it/intlayer_with_elysia.md +121 -1
- package/docs/it/intlayer_with_express.md +115 -1
- package/docs/it/intlayer_with_fastify.md +115 -1
- package/docs/it/intlayer_with_hono.md +115 -1
- package/docs/it/intlayer_with_htmx.md +761 -0
- package/docs/it/intlayer_with_lynx+react.md +0 -7
- package/docs/it/intlayer_with_nestjs.md +115 -1
- package/docs/it/intlayer_with_nextjs_14.md +138 -115
- package/docs/it/intlayer_with_nextjs_15.md +124 -47
- package/docs/it/intlayer_with_nextjs_16.md +123 -44
- package/docs/it/intlayer_with_nextjs_compiler.md +123 -14
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/it/intlayer_with_nextjs_page_router.md +119 -95
- package/docs/it/intlayer_with_nuxt.md +104 -2
- package/docs/it/intlayer_with_react_native+expo.md +103 -8
- package/docs/it/intlayer_with_react_router_v7.md +113 -4
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/it/intlayer_with_solid_start.md +117 -2
- package/docs/it/intlayer_with_storybook.md +0 -13
- package/docs/it/intlayer_with_svelte_kit.md +99 -2
- package/docs/it/intlayer_with_tanstack+solid.md +119 -16
- package/docs/it/intlayer_with_tanstack.md +232 -131
- package/docs/it/intlayer_with_vanilla.md +111 -3
- package/docs/it/intlayer_with_vite+lit.md +113 -2
- package/docs/it/intlayer_with_vite+preact.md +143 -34
- package/docs/it/intlayer_with_vite+react.md +102 -14
- package/docs/it/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/it/intlayer_with_vite+solid.md +114 -2
- package/docs/it/intlayer_with_vite+svelte.md +113 -2
- package/docs/it/intlayer_with_vite+vanilla.md +119 -2
- package/docs/it/intlayer_with_vite+vue.md +99 -3
- package/docs/it/introduction.md +105 -2
- package/docs/it/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/it/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/it/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/it/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ja/analytics.md +458 -12
- package/docs/ja/configuration.md +99 -1
- package/docs/ja/dictionary/content_file.md +4 -4
- package/docs/ja/dictionary/plurial.md +5 -2
- package/docs/ja/how_works_intlayer.md +93 -1
- package/docs/ja/interest_of_intlayer.md +107 -10
- package/docs/ja/intlayer_CMS.md +93 -1
- package/docs/ja/intlayer_visual_editor.md +88 -2
- package/docs/ja/intlayer_with_adonisjs.md +121 -1
- package/docs/ja/intlayer_with_analog.md +119 -10
- package/docs/ja/intlayer_with_angular_19.md +117 -10
- package/docs/ja/intlayer_with_angular_21.md +111 -10
- package/docs/ja/intlayer_with_astro.md +119 -22
- package/docs/ja/intlayer_with_astro_lit.md +120 -12
- package/docs/ja/intlayer_with_astro_preact.md +120 -12
- package/docs/ja/intlayer_with_astro_react.md +120 -12
- package/docs/ja/intlayer_with_astro_solid.md +120 -12
- package/docs/ja/intlayer_with_astro_svelte.md +120 -12
- package/docs/ja/intlayer_with_astro_vanilla.md +114 -12
- package/docs/ja/intlayer_with_astro_vue.md +120 -12
- package/docs/ja/intlayer_with_create_react_app.md +107 -2
- package/docs/ja/intlayer_with_elysia.md +121 -1
- package/docs/ja/intlayer_with_express.md +121 -1
- package/docs/ja/intlayer_with_fastify.md +115 -1
- package/docs/ja/intlayer_with_hono.md +115 -1
- package/docs/ja/intlayer_with_htmx.md +769 -0
- package/docs/ja/intlayer_with_lynx+react.md +8 -15
- package/docs/ja/intlayer_with_nestjs.md +115 -1
- package/docs/ja/intlayer_with_nextjs_14.md +128 -51
- package/docs/ja/intlayer_with_nextjs_15.md +136 -59
- package/docs/ja/intlayer_with_nextjs_16.md +131 -52
- package/docs/ja/intlayer_with_nextjs_compiler.md +123 -15
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +123 -11
- package/docs/ja/intlayer_with_nextjs_page_router.md +215 -110
- package/docs/ja/intlayer_with_nuxt.md +112 -10
- package/docs/ja/intlayer_with_react_native+expo.md +103 -8
- package/docs/ja/intlayer_with_react_router_v7.md +121 -11
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +123 -23
- package/docs/ja/intlayer_with_solid_start.md +117 -2
- package/docs/ja/intlayer_with_storybook.md +8 -21
- package/docs/ja/intlayer_with_svelte_kit.md +107 -10
- package/docs/ja/intlayer_with_tanstack+solid.md +128 -24
- package/docs/ja/intlayer_with_tanstack.md +254 -203
- package/docs/ja/intlayer_with_vanilla.md +119 -11
- package/docs/ja/intlayer_with_vite+lit.md +121 -10
- package/docs/ja/intlayer_with_vite+preact.md +151 -23
- package/docs/ja/intlayer_with_vite+react.md +109 -12
- package/docs/ja/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/ja/intlayer_with_vite+solid.md +121 -10
- package/docs/ja/intlayer_with_vite+svelte.md +121 -10
- package/docs/ja/intlayer_with_vite+vanilla.md +127 -10
- package/docs/ja/intlayer_with_vite+vue.md +107 -11
- package/docs/ja/introduction.md +105 -2
- package/docs/ja/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/ja/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ko/analytics.md +457 -11
- package/docs/ko/configuration.md +99 -1
- package/docs/ko/dictionary/content_file.md +4 -4
- package/docs/ko/dictionary/markdown.md +18 -1
- package/docs/ko/dictionary/plurial.md +6 -3
- package/docs/ko/how_works_intlayer.md +93 -1
- package/docs/ko/interest_of_intlayer.md +98 -3
- package/docs/ko/intlayer_CMS.md +93 -1
- package/docs/ko/intlayer_visual_editor.md +88 -2
- package/docs/ko/intlayer_with_adonisjs.md +121 -1
- package/docs/ko/intlayer_with_analog.md +111 -2
- package/docs/ko/intlayer_with_angular_19.md +110 -3
- package/docs/ko/intlayer_with_angular_21.md +104 -3
- package/docs/ko/intlayer_with_astro.md +119 -19
- package/docs/ko/intlayer_with_astro_lit.md +112 -4
- package/docs/ko/intlayer_with_astro_preact.md +112 -4
- package/docs/ko/intlayer_with_astro_react.md +112 -4
- package/docs/ko/intlayer_with_astro_solid.md +112 -4
- package/docs/ko/intlayer_with_astro_svelte.md +112 -4
- package/docs/ko/intlayer_with_astro_vanilla.md +106 -4
- package/docs/ko/intlayer_with_astro_vue.md +112 -4
- package/docs/ko/intlayer_with_create_react_app.md +107 -5
- package/docs/ko/intlayer_with_elysia.md +121 -1
- package/docs/ko/intlayer_with_express.md +115 -1
- package/docs/ko/intlayer_with_fastify.md +115 -2
- package/docs/ko/intlayer_with_hono.md +115 -1
- package/docs/ko/intlayer_with_htmx.md +763 -0
- package/docs/ko/intlayer_with_lynx+react.md +0 -7
- package/docs/ko/intlayer_with_nestjs.md +115 -1
- package/docs/ko/intlayer_with_nextjs_14.md +118 -42
- package/docs/ko/intlayer_with_nextjs_15.md +118 -43
- package/docs/ko/intlayer_with_nextjs_16.md +121 -43
- package/docs/ko/intlayer_with_nextjs_compiler.md +110 -1
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +117 -7
- package/docs/ko/intlayer_with_nextjs_page_router.md +110 -94
- package/docs/ko/intlayer_with_nuxt.md +104 -2
- package/docs/ko/intlayer_with_react_native+expo.md +103 -8
- package/docs/ko/intlayer_with_react_router_v7.md +116 -10
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +113 -11
- package/docs/ko/intlayer_with_solid_start.md +122 -7
- package/docs/ko/intlayer_with_storybook.md +0 -14
- package/docs/ko/intlayer_with_svelte_kit.md +99 -2
- package/docs/ko/intlayer_with_tanstack+solid.md +121 -17
- package/docs/ko/intlayer_with_tanstack.md +260 -191
- package/docs/ko/intlayer_with_vanilla.md +111 -2
- package/docs/ko/intlayer_with_vite+lit.md +114 -3
- package/docs/ko/intlayer_with_vite+preact.md +143 -34
- package/docs/ko/intlayer_with_vite+react.md +101 -5
- package/docs/ko/intlayer_with_vite+react_compiler.md +107 -10
- package/docs/ko/intlayer_with_vite+solid.md +115 -2
- package/docs/ko/intlayer_with_vite+svelte.md +114 -6
- package/docs/ko/intlayer_with_vite+vanilla.md +121 -11
- package/docs/ko/intlayer_with_vite+vue.md +99 -3
- package/docs/ko/introduction.md +105 -2
- package/docs/ko/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/ko/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/ko/packages/express-intlayer/t.md +9 -6
- package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/nl/interest_of_intlayer.md +0 -1
- package/docs/nl/intlayer_with_storybook.md +0 -12
- package/docs/nl/intlayer_with_vanilla.md +2 -1
- package/docs/nl/introduction.md +0 -1
- package/docs/pl/analytics.md +488 -21
- package/docs/pl/configuration.md +98 -0
- package/docs/pl/dictionary/content_file.md +4 -4
- package/docs/pl/dictionary/markdown.md +3 -0
- package/docs/pl/dictionary/plurial.md +5 -2
- package/docs/pl/how_works_intlayer.md +92 -0
- package/docs/pl/interest_of_intlayer.md +96 -1
- package/docs/pl/intlayer_CMS.md +92 -0
- package/docs/pl/intlayer_visual_editor.md +87 -1
- package/docs/pl/intlayer_with_adonisjs.md +120 -0
- package/docs/pl/intlayer_with_analog.md +116 -8
- package/docs/pl/intlayer_with_angular_19.md +115 -8
- package/docs/pl/intlayer_with_angular_21.md +109 -8
- package/docs/pl/intlayer_with_astro.md +117 -20
- package/docs/pl/intlayer_with_astro_lit.md +118 -10
- package/docs/pl/intlayer_with_astro_preact.md +118 -10
- package/docs/pl/intlayer_with_astro_react.md +118 -10
- package/docs/pl/intlayer_with_astro_solid.md +118 -10
- package/docs/pl/intlayer_with_astro_svelte.md +118 -10
- package/docs/pl/intlayer_with_astro_vanilla.md +112 -10
- package/docs/pl/intlayer_with_astro_vue.md +118 -10
- package/docs/pl/intlayer_with_create_react_app.md +106 -1
- package/docs/pl/intlayer_with_elysia.md +120 -0
- package/docs/pl/intlayer_with_express.md +114 -0
- package/docs/pl/intlayer_with_fastify.md +114 -0
- package/docs/pl/intlayer_with_hono.md +114 -0
- package/docs/pl/intlayer_with_htmx.md +767 -0
- package/docs/pl/intlayer_with_lynx+react.md +7 -14
- package/docs/pl/intlayer_with_nestjs.md +114 -0
- package/docs/pl/intlayer_with_nextjs_14.md +127 -50
- package/docs/pl/intlayer_with_nextjs_15.md +141 -62
- package/docs/pl/intlayer_with_nextjs_16.md +128 -51
- package/docs/pl/intlayer_with_nextjs_compiler.md +122 -13
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +122 -10
- package/docs/pl/intlayer_with_nextjs_page_router.md +115 -97
- package/docs/pl/intlayer_with_nuxt.md +110 -8
- package/docs/pl/intlayer_with_react_native+expo.md +102 -7
- package/docs/pl/intlayer_with_react_router_v7.md +131 -22
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +121 -20
- package/docs/pl/intlayer_with_solid_start.md +115 -1
- package/docs/pl/intlayer_with_storybook.md +7 -20
- package/docs/pl/intlayer_with_svelte_kit.md +105 -8
- package/docs/pl/intlayer_with_tanstack+solid.md +124 -22
- package/docs/pl/intlayer_with_tanstack.md +238 -160
- package/docs/pl/intlayer_with_vanilla.md +117 -9
- package/docs/pl/intlayer_with_vite+lit.md +118 -8
- package/docs/pl/intlayer_with_vite+preact.md +148 -40
- package/docs/pl/intlayer_with_vite+react.md +108 -20
- package/docs/pl/intlayer_with_vite+react_compiler.md +108 -3
- package/docs/pl/intlayer_with_vite+solid.md +112 -5
- package/docs/pl/intlayer_with_vite+svelte.md +118 -8
- package/docs/pl/intlayer_with_vite+vanilla.md +125 -8
- package/docs/pl/intlayer_with_vite+vue.md +104 -8
- package/docs/pl/introduction.md +104 -1
- package/docs/pl/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/pl/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/pl/packages/next-intlayer/useIntlayer.md +3 -0
- package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pt/analytics.md +488 -21
- package/docs/pt/configuration.md +99 -1
- package/docs/pt/dictionary/content_file.md +4 -4
- package/docs/pt/dictionary/html.md +18 -1
- package/docs/pt/dictionary/markdown.md +3 -0
- package/docs/pt/dictionary/plurial.md +5 -2
- package/docs/pt/how_works_intlayer.md +93 -1
- package/docs/pt/interest_of_intlayer.md +98 -3
- package/docs/pt/intlayer_CMS.md +93 -1
- package/docs/pt/intlayer_visual_editor.md +88 -2
- package/docs/pt/intlayer_with_adonisjs.md +121 -1
- package/docs/pt/intlayer_with_analog.md +112 -3
- package/docs/pt/intlayer_with_angular_19.md +109 -2
- package/docs/pt/intlayer_with_angular_21.md +103 -2
- package/docs/pt/intlayer_with_astro.md +111 -14
- package/docs/pt/intlayer_with_astro_lit.md +112 -4
- package/docs/pt/intlayer_with_astro_preact.md +112 -4
- package/docs/pt/intlayer_with_astro_react.md +112 -4
- package/docs/pt/intlayer_with_astro_solid.md +112 -4
- package/docs/pt/intlayer_with_astro_svelte.md +112 -4
- package/docs/pt/intlayer_with_astro_vanilla.md +106 -4
- package/docs/pt/intlayer_with_astro_vue.md +111 -3
- package/docs/pt/intlayer_with_create_react_app.md +107 -2
- package/docs/pt/intlayer_with_elysia.md +121 -1
- package/docs/pt/intlayer_with_express.md +115 -1
- package/docs/pt/intlayer_with_fastify.md +115 -2
- package/docs/pt/intlayer_with_hono.md +115 -1
- package/docs/pt/intlayer_with_htmx.md +771 -0
- package/docs/pt/intlayer_with_lynx+react.md +0 -7
- package/docs/pt/intlayer_with_nestjs.md +115 -1
- package/docs/pt/intlayer_with_nextjs_14.md +138 -117
- package/docs/pt/intlayer_with_nextjs_15.md +120 -45
- package/docs/pt/intlayer_with_nextjs_16.md +122 -45
- package/docs/pt/intlayer_with_nextjs_compiler.md +122 -12
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/pt/intlayer_with_nextjs_page_router.md +121 -95
- package/docs/pt/intlayer_with_nuxt.md +104 -2
- package/docs/pt/intlayer_with_react_native+expo.md +103 -8
- package/docs/pt/intlayer_with_react_router_v7.md +140 -33
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +115 -8
- package/docs/pt/intlayer_with_solid_start.md +121 -6
- package/docs/pt/intlayer_with_storybook.md +0 -13
- package/docs/pt/intlayer_with_svelte_kit.md +99 -2
- package/docs/pt/intlayer_with_tanstack+solid.md +120 -16
- package/docs/pt/intlayer_with_tanstack.md +252 -144
- package/docs/pt/intlayer_with_vanilla.md +111 -3
- package/docs/pt/intlayer_with_vite+lit.md +113 -2
- package/docs/pt/intlayer_with_vite+preact.md +143 -34
- package/docs/pt/intlayer_with_vite+react.md +101 -4
- package/docs/pt/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/pt/intlayer_with_vite+solid.md +114 -2
- package/docs/pt/intlayer_with_vite+svelte.md +113 -2
- package/docs/pt/intlayer_with_vite+vanilla.md +119 -2
- package/docs/pt/intlayer_with_vite+vue.md +98 -2
- package/docs/pt/introduction.md +105 -2
- package/docs/pt/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/pt/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ru/analytics.md +458 -12
- package/docs/ru/cli/doc-review.md +0 -2
- package/docs/ru/configuration.md +99 -1
- package/docs/ru/dictionary/content_file.md +4 -4
- package/docs/ru/dictionary/markdown.md +0 -2
- package/docs/ru/dictionary/plurial.md +6 -3
- package/docs/ru/dictionary/translation.md +1 -1
- package/docs/ru/how_works_intlayer.md +93 -1
- package/docs/ru/interest_of_intlayer.md +97 -2
- package/docs/ru/intlayer_CMS.md +93 -1
- package/docs/ru/intlayer_visual_editor.md +88 -2
- package/docs/ru/intlayer_with_adonisjs.md +121 -1
- package/docs/ru/intlayer_with_analog.md +111 -2
- package/docs/ru/intlayer_with_angular_19.md +109 -2
- package/docs/ru/intlayer_with_angular_21.md +103 -2
- package/docs/ru/intlayer_with_astro.md +111 -14
- package/docs/ru/intlayer_with_astro_lit.md +112 -4
- package/docs/ru/intlayer_with_astro_preact.md +112 -4
- package/docs/ru/intlayer_with_astro_react.md +112 -4
- package/docs/ru/intlayer_with_astro_solid.md +112 -4
- package/docs/ru/intlayer_with_astro_svelte.md +112 -4
- package/docs/ru/intlayer_with_astro_vanilla.md +106 -4
- package/docs/ru/intlayer_with_astro_vue.md +112 -4
- package/docs/ru/intlayer_with_create_react_app.md +107 -2
- package/docs/ru/intlayer_with_elysia.md +121 -1
- package/docs/ru/intlayer_with_express.md +115 -1
- package/docs/ru/intlayer_with_fastify.md +115 -1
- package/docs/ru/intlayer_with_hono.md +115 -1
- package/docs/ru/intlayer_with_htmx.md +767 -0
- package/docs/ru/intlayer_with_lynx+react.md +0 -7
- package/docs/ru/intlayer_with_nestjs.md +115 -1
- package/docs/ru/intlayer_with_nextjs_14.md +138 -114
- package/docs/ru/intlayer_with_nextjs_15.md +123 -62
- package/docs/ru/intlayer_with_nextjs_16.md +122 -45
- package/docs/ru/intlayer_with_nextjs_compiler.md +123 -14
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +115 -3
- package/docs/ru/intlayer_with_nextjs_page_router.md +110 -95
- package/docs/ru/intlayer_with_nuxt.md +104 -2
- package/docs/ru/intlayer_with_react_native+expo.md +103 -8
- package/docs/ru/intlayer_with_react_router_v7.md +113 -4
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +111 -4
- package/docs/ru/intlayer_with_solid_start.md +117 -2
- package/docs/ru/intlayer_with_storybook.md +0 -13
- package/docs/ru/intlayer_with_svelte_kit.md +99 -2
- package/docs/ru/intlayer_with_tanstack+solid.md +119 -16
- package/docs/ru/intlayer_with_tanstack.md +230 -151
- package/docs/ru/intlayer_with_vanilla.md +111 -3
- package/docs/ru/intlayer_with_vite+lit.md +113 -2
- package/docs/ru/intlayer_with_vite+preact.md +143 -34
- package/docs/ru/intlayer_with_vite+react.md +102 -14
- package/docs/ru/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/ru/intlayer_with_vite+solid.md +114 -2
- package/docs/ru/intlayer_with_vite+svelte.md +115 -12
- package/docs/ru/intlayer_with_vite+vanilla.md +119 -2
- package/docs/ru/intlayer_with_vite+vue.md +99 -3
- package/docs/ru/introduction.md +105 -2
- package/docs/ru/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/ru/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/tr/analytics.md +488 -21
- package/docs/tr/cli/doc-review.md +0 -2
- package/docs/tr/configuration.md +98 -0
- package/docs/tr/dictionary/content_file.md +4 -4
- package/docs/tr/dictionary/markdown.md +3 -0
- package/docs/tr/dictionary/plurial.md +6 -3
- package/docs/tr/how_works_intlayer.md +92 -0
- package/docs/tr/interest_of_intlayer.md +96 -1
- package/docs/tr/intlayer_CMS.md +92 -0
- package/docs/tr/intlayer_visual_editor.md +87 -1
- package/docs/tr/intlayer_with_adonisjs.md +121 -0
- package/docs/tr/intlayer_with_analog.md +109 -1
- package/docs/tr/intlayer_with_angular_19.md +108 -1
- package/docs/tr/intlayer_with_angular_21.md +102 -1
- package/docs/tr/intlayer_with_astro.md +117 -27
- package/docs/tr/intlayer_with_astro_lit.md +111 -3
- package/docs/tr/intlayer_with_astro_preact.md +111 -3
- package/docs/tr/intlayer_with_astro_react.md +111 -3
- package/docs/tr/intlayer_with_astro_solid.md +111 -3
- package/docs/tr/intlayer_with_astro_svelte.md +111 -3
- package/docs/tr/intlayer_with_astro_vanilla.md +105 -3
- package/docs/tr/intlayer_with_astro_vue.md +111 -3
- package/docs/tr/intlayer_with_create_react_app.md +106 -1
- package/docs/tr/intlayer_with_elysia.md +121 -0
- package/docs/tr/intlayer_with_express.md +114 -0
- package/docs/tr/intlayer_with_fastify.md +115 -0
- package/docs/tr/intlayer_with_hono.md +114 -0
- package/docs/tr/intlayer_with_htmx.md +761 -0
- package/docs/tr/intlayer_with_lynx+react.md +0 -7
- package/docs/tr/intlayer_with_nestjs.md +115 -0
- package/docs/tr/intlayer_with_nextjs_14.md +125 -51
- package/docs/tr/intlayer_with_nextjs_15.md +119 -44
- package/docs/tr/intlayer_with_nextjs_16.md +120 -43
- package/docs/tr/intlayer_with_nextjs_compiler.md +121 -13
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +114 -2
- package/docs/tr/intlayer_with_nextjs_page_router.md +124 -120
- package/docs/tr/intlayer_with_nuxt.md +103 -1
- package/docs/tr/intlayer_with_react_native+expo.md +102 -7
- package/docs/tr/intlayer_with_react_router_v7.md +112 -3
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +110 -3
- package/docs/tr/intlayer_with_solid_start.md +115 -1
- package/docs/tr/intlayer_with_storybook.md +0 -13
- package/docs/tr/intlayer_with_svelte_kit.md +98 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +117 -15
- package/docs/tr/intlayer_with_tanstack.md +259 -128
- package/docs/tr/intlayer_with_vanilla.md +110 -2
- package/docs/tr/intlayer_with_vite+lit.md +111 -1
- package/docs/tr/intlayer_with_vite+preact.md +141 -33
- package/docs/tr/intlayer_with_vite+react.md +100 -3
- package/docs/tr/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/tr/intlayer_with_vite+solid.md +112 -1
- package/docs/tr/intlayer_with_vite+svelte.md +111 -1
- package/docs/tr/intlayer_with_vite+vanilla.md +118 -1
- package/docs/tr/intlayer_with_vite+vue.md +99 -4
- package/docs/tr/introduction.md +104 -1
- package/docs/tr/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/tr/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/uk/analytics.md +488 -21
- package/docs/uk/configuration.md +98 -0
- package/docs/uk/dictionary/content_file.md +4 -4
- package/docs/uk/dictionary/markdown.md +3 -0
- package/docs/uk/dictionary/plurial.md +6 -3
- package/docs/uk/how_works_intlayer.md +92 -0
- package/docs/uk/interest_of_intlayer.md +96 -1
- package/docs/uk/intlayer_CMS.md +92 -0
- package/docs/uk/intlayer_visual_editor.md +87 -1
- package/docs/uk/intlayer_with_adonisjs.md +121 -0
- package/docs/uk/intlayer_with_analog.md +109 -1
- package/docs/uk/intlayer_with_angular_19.md +108 -1
- package/docs/uk/intlayer_with_angular_21.md +102 -1
- package/docs/uk/intlayer_with_astro.md +110 -13
- package/docs/uk/intlayer_with_astro_lit.md +111 -3
- package/docs/uk/intlayer_with_astro_preact.md +111 -3
- package/docs/uk/intlayer_with_astro_react.md +111 -3
- package/docs/uk/intlayer_with_astro_solid.md +111 -3
- package/docs/uk/intlayer_with_astro_svelte.md +111 -3
- package/docs/uk/intlayer_with_astro_vanilla.md +105 -3
- package/docs/uk/intlayer_with_astro_vue.md +111 -3
- package/docs/uk/intlayer_with_create_react_app.md +106 -1
- package/docs/uk/intlayer_with_elysia.md +121 -0
- package/docs/uk/intlayer_with_express.md +114 -0
- package/docs/uk/intlayer_with_fastify.md +115 -0
- package/docs/uk/intlayer_with_hono.md +114 -0
- package/docs/uk/intlayer_with_htmx.md +760 -0
- package/docs/uk/intlayer_with_lynx+react.md +0 -7
- package/docs/uk/intlayer_with_nestjs.md +115 -0
- package/docs/uk/intlayer_with_nextjs_14.md +119 -44
- package/docs/uk/intlayer_with_nextjs_15.md +133 -56
- package/docs/uk/intlayer_with_nextjs_16.md +121 -44
- package/docs/uk/intlayer_with_nextjs_compiler.md +122 -14
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +114 -2
- package/docs/uk/intlayer_with_nextjs_page_router.md +111 -96
- package/docs/uk/intlayer_with_nuxt.md +103 -1
- package/docs/uk/intlayer_with_react_native+expo.md +102 -7
- package/docs/uk/intlayer_with_react_router_v7.md +112 -3
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +110 -3
- package/docs/uk/intlayer_with_solid_start.md +115 -1
- package/docs/uk/intlayer_with_storybook.md +0 -13
- package/docs/uk/intlayer_with_svelte_kit.md +98 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +117 -15
- package/docs/uk/intlayer_with_tanstack.md +235 -132
- package/docs/uk/intlayer_with_vanilla.md +110 -2
- package/docs/uk/intlayer_with_vite+lit.md +111 -1
- package/docs/uk/intlayer_with_vite+preact.md +167 -31
- package/docs/uk/intlayer_with_vite+react.md +101 -13
- package/docs/uk/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/uk/intlayer_with_vite+solid.md +112 -1
- package/docs/uk/intlayer_with_vite+svelte.md +111 -1
- package/docs/uk/intlayer_with_vite+vanilla.md +118 -1
- package/docs/uk/intlayer_with_vite+vue.md +97 -1
- package/docs/uk/introduction.md +104 -1
- package/docs/uk/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/uk/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ur/intlayer_with_storybook.md +0 -12
- package/docs/ur/intlayer_with_vanilla.md +2 -1
- package/docs/ur/introduction.md +0 -1
- package/docs/vi/analytics.md +488 -21
- package/docs/vi/configuration.md +98 -0
- package/docs/vi/dictionary/content_file.md +4 -4
- package/docs/vi/dictionary/markdown.md +3 -0
- package/docs/vi/dictionary/plurial.md +5 -2
- package/docs/vi/how_works_intlayer.md +92 -0
- package/docs/vi/interest_of_intlayer.md +96 -1
- package/docs/vi/intlayer_CMS.md +92 -0
- package/docs/vi/intlayer_visual_editor.md +87 -1
- package/docs/vi/intlayer_with_adonisjs.md +121 -0
- package/docs/vi/intlayer_with_analog.md +109 -1
- package/docs/vi/intlayer_with_angular_19.md +108 -1
- package/docs/vi/intlayer_with_angular_21.md +102 -1
- package/docs/vi/intlayer_with_astro.md +110 -13
- package/docs/vi/intlayer_with_astro_lit.md +111 -3
- package/docs/vi/intlayer_with_astro_preact.md +111 -3
- package/docs/vi/intlayer_with_astro_react.md +111 -3
- package/docs/vi/intlayer_with_astro_solid.md +111 -3
- package/docs/vi/intlayer_with_astro_svelte.md +111 -3
- package/docs/vi/intlayer_with_astro_vanilla.md +105 -3
- package/docs/vi/intlayer_with_astro_vue.md +111 -3
- package/docs/vi/intlayer_with_create_react_app.md +106 -1
- package/docs/vi/intlayer_with_elysia.md +121 -0
- package/docs/vi/intlayer_with_express.md +114 -0
- package/docs/vi/intlayer_with_fastify.md +115 -0
- package/docs/vi/intlayer_with_hono.md +114 -0
- package/docs/vi/intlayer_with_htmx.md +760 -0
- package/docs/vi/intlayer_with_lynx+react.md +0 -7
- package/docs/vi/intlayer_with_nestjs.md +115 -0
- package/docs/vi/intlayer_with_nextjs_14.md +133 -53
- package/docs/vi/intlayer_with_nextjs_15.md +133 -56
- package/docs/vi/intlayer_with_nextjs_16.md +121 -44
- package/docs/vi/intlayer_with_nextjs_compiler.md +122 -14
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +114 -2
- package/docs/vi/intlayer_with_nextjs_page_router.md +111 -92
- package/docs/vi/intlayer_with_nuxt.md +103 -1
- package/docs/vi/intlayer_with_react_native+expo.md +102 -7
- package/docs/vi/intlayer_with_react_router_v7.md +112 -3
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +116 -16
- package/docs/vi/intlayer_with_solid_start.md +115 -1
- package/docs/vi/intlayer_with_storybook.md +0 -13
- package/docs/vi/intlayer_with_svelte_kit.md +98 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +117 -15
- package/docs/vi/intlayer_with_tanstack.md +249 -169
- package/docs/vi/intlayer_with_vanilla.md +110 -2
- package/docs/vi/intlayer_with_vite+lit.md +111 -1
- package/docs/vi/intlayer_with_vite+preact.md +147 -14
- package/docs/vi/intlayer_with_vite+react.md +101 -13
- package/docs/vi/intlayer_with_vite+react_compiler.md +106 -1
- package/docs/vi/intlayer_with_vite+solid.md +112 -1
- package/docs/vi/intlayer_with_vite+svelte.md +111 -1
- package/docs/vi/intlayer_with_vite+vanilla.md +118 -1
- package/docs/vi/intlayer_with_vite+vue.md +97 -1
- package/docs/vi/introduction.md +104 -1
- package/docs/vi/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/vi/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/analytics.md +458 -12
- package/docs/zh/configuration.md +99 -1
- package/docs/zh/dictionary/content_file.md +4 -4
- package/docs/zh/dictionary/markdown.md +18 -1
- package/docs/zh/dictionary/plurial.md +6 -3
- package/docs/zh/how_works_intlayer.md +93 -1
- package/docs/zh/interest_of_intlayer.md +108 -13
- package/docs/zh/intlayer_CMS.md +93 -1
- package/docs/zh/intlayer_visual_editor.md +88 -2
- package/docs/zh/intlayer_with_adonisjs.md +121 -1
- package/docs/zh/intlayer_with_analog.md +118 -9
- package/docs/zh/intlayer_with_angular_19.md +117 -10
- package/docs/zh/intlayer_with_angular_21.md +110 -9
- package/docs/zh/intlayer_with_astro.md +108 -4
- package/docs/zh/intlayer_with_astro_lit.md +114 -7
- package/docs/zh/intlayer_with_astro_preact.md +114 -7
- package/docs/zh/intlayer_with_astro_react.md +114 -7
- package/docs/zh/intlayer_with_astro_solid.md +114 -7
- package/docs/zh/intlayer_with_astro_svelte.md +114 -7
- package/docs/zh/intlayer_with_astro_vanilla.md +108 -7
- package/docs/zh/intlayer_with_astro_vue.md +114 -7
- package/docs/zh/intlayer_with_create_react_app.md +110 -6
- package/docs/zh/intlayer_with_elysia.md +121 -1
- package/docs/zh/intlayer_with_express.md +115 -1
- package/docs/zh/intlayer_with_fastify.md +115 -1
- package/docs/zh/intlayer_with_hono.md +115 -1
- package/docs/zh/intlayer_with_htmx.md +769 -0
- package/docs/zh/intlayer_with_lynx+react.md +8 -13
- package/docs/zh/intlayer_with_nestjs.md +115 -1
- package/docs/zh/intlayer_with_nextjs_14.md +120 -45
- package/docs/zh/intlayer_with_nextjs_15.md +121 -44
- package/docs/zh/intlayer_with_nextjs_16.md +121 -42
- package/docs/zh/intlayer_with_nextjs_compiler.md +121 -14
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +122 -10
- package/docs/zh/intlayer_with_nextjs_page_router.md +110 -94
- package/docs/zh/intlayer_with_nuxt.md +111 -9
- package/docs/zh/intlayer_with_react_native+expo.md +103 -8
- package/docs/zh/intlayer_with_react_router_v7.md +131 -28
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +134 -30
- package/docs/zh/intlayer_with_solid_start.md +122 -7
- package/docs/zh/intlayer_with_storybook.md +7 -20
- package/docs/zh/intlayer_with_svelte_kit.md +106 -9
- package/docs/zh/intlayer_with_tanstack+solid.md +129 -29
- package/docs/zh/intlayer_with_tanstack.md +251 -191
- package/docs/zh/intlayer_with_vanilla.md +118 -10
- package/docs/zh/intlayer_with_vite+lit.md +121 -8
- package/docs/zh/intlayer_with_vite+preact.md +150 -41
- package/docs/zh/intlayer_with_vite+react.md +104 -12
- package/docs/zh/intlayer_with_vite+react_compiler.md +107 -2
- package/docs/zh/intlayer_with_vite+solid.md +113 -2
- package/docs/zh/intlayer_with_vite+svelte.md +127 -14
- package/docs/zh/intlayer_with_vite+vanilla.md +126 -9
- package/docs/zh/intlayer_with_vite+vue.md +99 -3
- package/docs/zh/introduction.md +105 -2
- package/docs/zh/migration_from_i18next_to_intlayer.md +0 -2
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +0 -2
- package/docs/zh/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +0 -2
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +0 -2
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +0 -2
- package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/releases/v6.md +1 -1
- package/docs/zh-TW/introduction.md +0 -1
- package/package.json +7 -7
- package/src/common.ts +45 -18
- package/src/generated/blog.entry.ts +20 -0
- package/src/generated/docs.entry.ts +20 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-03-31
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-30
|
|
4
4
|
title: "Vanilla JS i18n - Guia completo para traduzir seu aplicativo"
|
|
5
5
|
description: "Sem mais i18next. O guia 2026 para criar uma aplicação Vanilla JS multilíngue (i18n). Traduza com agentes de IA e otimize o tamanho do bundle, SEO e desempenho."
|
|
6
6
|
keywords:
|
|
@@ -63,7 +63,6 @@ author: aymericzip
|
|
|
63
63
|
Comparado com soluções principais como `i18next` ou `i18n.js`, Intlayer é uma solução que vem com otimizações integradas como:
|
|
64
64
|
|
|
65
65
|
<AccordionGroup>
|
|
66
|
-
|
|
67
66
|
<Accordion header="Cobertura completa Vanilla JS">
|
|
68
67
|
|
|
69
68
|
O Intlayer é otimizado para funcionar perfeitamente com Vanilla JavaScript, oferecendo **gerenciamento de conteúdo independente de estrutura**, **suporte a TypeScript** e todos os recursos necessários para dimensionar a internacionalização (i18n).
|
|
@@ -444,7 +443,8 @@ const unsubscribe = useDictionaryDynamic(
|
|
|
444
443
|
```
|
|
445
444
|
|
|
446
445
|
> Nota: o `useDictionaryDynamic` requer que os dicionários estejam disponíveis como ficheiros ESM separados. Esta abordagem é tipicamente utilizada se tiver um servidor web a servir os dicionários.
|
|
447
|
-
|
|
446
|
+
|
|
447
|
+
</Step>
|
|
448
448
|
|
|
449
449
|
</Steps>
|
|
450
450
|
|
|
@@ -481,3 +481,111 @@ Para mais detalhes sobre como utilizar a extensão, consulte a [documentação d
|
|
|
481
481
|
### Ir Mais Longe
|
|
482
482
|
|
|
483
483
|
Para ir mais longe, pode implementar o [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md) ou externalizar o seu conteúdo utilizando o [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md).
|
|
484
|
+
|
|
485
|
+
## Perguntas Frequentes
|
|
486
|
+
|
|
487
|
+
<FAQ>
|
|
488
|
+
|
|
489
|
+
<Question title="Posso usar o Intlayer sem um empacotador (bundler) ou framework?">
|
|
490
|
+
|
|
491
|
+
Sim. É exatamente o que este guia cobre. Você importa o bundle `vanilla-intlayer` diretamente no seu HTML conforme demonstrado no passo 3, inicializa-o no seu ponto de entrada e lê o conteúdo com `useIntlayer`. Não é necessário Vite, webpack ou qualquer pipeline de compilação obrigatório.
|
|
492
|
+
|
|
493
|
+
</Question>
|
|
494
|
+
|
|
495
|
+
<Question title="Quanto a i18n adiciona ao peso da minha página?">
|
|
496
|
+
|
|
497
|
+
Muito menos do que um catálogo de mensagens em runtime, pois a página nunca baixa um idioma que não renderiza. O conteúdo é resolvido a partir de dicionários pré-compilados, e o carregamento tardio (lazy loading) por locale mantém os outros idiomas fora do payload inicial até que o visitante alterne a língua. Comparado às opções usuais, o Intlayer reduz o tamanho do bundle e da página em até 50%. Consulte [otimização de bundle](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/bundle_optimization.md), [dicionários dinâmicos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dynamic_dictionaries/index.md) e o [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md).
|
|
498
|
+
|
|
499
|
+
</Question>
|
|
500
|
+
|
|
501
|
+
<Question title="Posso migrar do i18next sem reescrever meus scripts?">
|
|
502
|
+
|
|
503
|
+
Em grande parte, sim. Siga o [guia de migração do i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/migration_from_i18next_to_intlayer.md) para transferir o conteúdo. Você também pode migrar gradualmente: o [plugin sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) mantém seus catálogos JSON existentes como fonte de verdade e gera dicionários Intlayer a partir deles, mantendo ambas as camadas sincronizadas enquanto você migra scripts um a um.
|
|
504
|
+
|
|
505
|
+
</Question>
|
|
506
|
+
|
|
507
|
+
<Question title="Posso manter meus arquivos de tradução JSON existentes?">
|
|
508
|
+
|
|
509
|
+
Sim. O [plugin sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) mantém seus arquivos `/messages/{locale}/{namespace}.json` como fonte de verdade e gera dicionários Intlayer a partir deles, em ambas as direções. O [plugin sync PO](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-po.md) faz o mesmo para catálogos gettext, e os [arquivos por locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/per_locale_file.md) permitem dividir o conteúdo por idioma em vez de agrupar todos os locales em um único arquivo.
|
|
510
|
+
|
|
511
|
+
</Question>
|
|
512
|
+
|
|
513
|
+
<Question title="Preciso mover meu conteúdo chave por chave?">
|
|
514
|
+
|
|
515
|
+
Não. Execute `npx intlayer extract` e o Intlayer lê seus arquivos fonte, extrai as strings voltadas para o usuário e escreve um arquivo `.content` ao lado de cada um, para que você revise um diff em vez de copiar strings para um catálogo uma a uma. Consulte o [comando extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md).
|
|
516
|
+
|
|
517
|
+
Para um fluxo de trabalho totalmente automatizado, o [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) faz o mesmo em tempo de build em código JSX, TSX, Vue e Svelte, gerando os dicionários a cada alteração para que não haja necessidade de manter chaves manualmente. Como opera por análise estática, strings criadas exclusivamente em tempo de execução ficam fora de alcance, necessitando de algumas anotações para diferenciar texto do usuário de lógica interna da aplicação.
|
|
518
|
+
|
|
519
|
+
</Question>
|
|
520
|
+
|
|
521
|
+
<Question title="Quais ferramentas de editor e agentes de IA estão disponíveis?">
|
|
522
|
+
|
|
523
|
+
Cinco ferramentas, todas opcionais:
|
|
524
|
+
|
|
525
|
+
- **[Extensão VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)**: navegue de uma chave `useIntlayer` diretamente para o arquivo de conteúdo que a declara, extraia conteúdo de um componente e execute build, fill, test, push e pull pela paleta de comandos ou pela aba dedicada do Intlayer.
|
|
526
|
+
- **[Servidor LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/lsp.md)**: a mesma inteligência em qualquer editor compatível com LSP, com ir para definição, localizar referências, pré-visualizações de valores traduzidos ao passar o mouse, autocompletar e alertas para chaves não declaradas. Também resolve chamadas de `i18next`, `react-i18next`, `next-intl` e `use-intl`, facilitando a migração.
|
|
527
|
+
- **[Servidor MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/mcp_server.md)**: expõe a documentação e a CLI do Intlayer para Cursor, VS Code, Claude Desktop, Claude Code e ChatGPT, permitindo que os assistentes respondam com base na documentação atualizada e executem comandos como `intlayer fill`.
|
|
528
|
+
- **[Agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/agent_skills.md)**: habilidades focadas como `intlayer-config`, `intlayer-cli` e `intlayer-content`, além de uma por framework, ensinando ao agente suas regras de roteamento e tipos de nós.
|
|
529
|
+
- **[Plugin ESLint](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/eslint.md)**: a regra `no-raw-text` identifica strings hardcoded, com regras adicionais para chaves estáticas e conteúdo não utilizado.
|
|
530
|
+
|
|
531
|
+
</Question>
|
|
532
|
+
|
|
533
|
+
<Question title="Quais são as diferentes soluções disponíveis para internacionalizar um site em JavaScript puro?">
|
|
534
|
+
|
|
535
|
+
- **Um objeto de dicionário manual**, geralmente um arquivo JSON por idioma carregado via `fetch`: sem dependências, porém sem verificação de tipos, sem suporte a regras de plurais e sem alertas para traduções faltantes.
|
|
536
|
+
- **`i18next`** via CDN: maduro e agnóstico de framework, com ecossistema de plugins, mas adiciona sobrecarga de runtime e seu próprio carregamento de catálogos.
|
|
537
|
+
- **`Intlayer`**: conteúdo declarado com regras de plural e gênero, detecção de locale, suporte para RTL e carregamento dinâmico por idioma, além de uma CLI para preencher traduções com IA e um editor visual para colaboradores não técnicos.
|
|
538
|
+
|
|
539
|
+
Consulte [por que Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/interest_of_intlayer.md).
|
|
540
|
+
|
|
541
|
+
</Question>
|
|
542
|
+
|
|
543
|
+
<Question title="Como leio uma tradução e a insiro no DOM?">
|
|
544
|
+
|
|
545
|
+
Chame `useIntlayer` passando a chave do seu dicionário e insira o valor diretamente no nó do DOM correspondente, como mostrado no passo 6. Como não há um framework com re-renderização automática, você atualiza os elementos quando o idioma for alterado, conforme detalhado no passo 7.
|
|
546
|
+
|
|
547
|
+
</Question>
|
|
548
|
+
|
|
549
|
+
<Question title="Como o idioma do visitante é detectado?">
|
|
550
|
+
|
|
551
|
+
A partir das fontes configuradas em `routing.storage`, normalmente um cookie em primeiro lugar, seguido pelo cabeçalho `Accept-Language`, caindo no seu idioma padrão como fallback. O idioma escolhido manualmente pelo visitante é persistido para futuras visitas. Consulte a [referência de configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md).
|
|
552
|
+
|
|
553
|
+
</Question>
|
|
554
|
+
|
|
555
|
+
<Question title="Como dou suporte a idiomas da direita para a esquerda (RTL), como Árabe ou Hebraico?">
|
|
556
|
+
|
|
557
|
+
O passo 8 cobre isso. A função `getHTMLTextDir` retorna `ltr`, `rtl` ou `auto` para um locale, permitindo definir os atributos `lang` e `dir` no elemento `html` a partir do idioma ativo e deixando que as propriedades lógicas do CSS cuidem do layout.
|
|
558
|
+
|
|
559
|
+
</Question>
|
|
560
|
+
|
|
561
|
+
<Question title="Os visitantes baixam todos os idiomas?">
|
|
562
|
+
|
|
563
|
+
Não, se você não quiser. O passo 9 explica como habilitar carregamento dinâmico (lazy loading) dos dicionários por locale, fazendo com que a página carregue apenas o idioma inicial e busque outro sob demanda apenas quando o usuário alternar de idioma. Consulte [dicionários dinâmicos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dynamic_dictionaries/index.md).
|
|
564
|
+
|
|
565
|
+
</Question>
|
|
566
|
+
|
|
567
|
+
<Question title="Como traduzo o app automaticamente com IA?">
|
|
568
|
+
|
|
569
|
+
Execute `npx intlayer fill`. Ele preenche traduções pendentes com o LLM de sua escolha, usando seu provedor e chave de API próprios, e a opção `--git-diff` limita o processo ao conteúdo modificado na branch atual. Consulte o [comando fill](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/fill.md) e a [integração CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/CI_CD.md).
|
|
570
|
+
|
|
571
|
+
</Question>
|
|
572
|
+
|
|
573
|
+
<Question title="O Intlayer suporta plurais, gênero e rich text?">
|
|
574
|
+
|
|
575
|
+
Sim: [formas plurais](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/plurial.md), [conteúdo baseado em gênero](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/gender.md), condições, [inserções](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/markdown.md) e [formatadores](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/formatters.md) para números, datas e moedas.
|
|
576
|
+
|
|
577
|
+
</Question>
|
|
578
|
+
|
|
579
|
+
<Question title="Como tradutores podem editar o conteúdo sem tocar no código?">
|
|
580
|
+
|
|
581
|
+
Por meio do [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md), que roda em sua própria infraestrutura e permite editar textos diretamente no app em execução, ou pelo [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md), que externaliza o conteúdo para que ele possa ser alterado sem novos deploys.
|
|
582
|
+
|
|
583
|
+
</Question>
|
|
584
|
+
|
|
585
|
+
<Question title="O Intlayer é gratuito e de código aberto?">
|
|
586
|
+
|
|
587
|
+
Sim, sob a licença Apache 2.0, uso comercial incluído. O CMS hospedado é um serviço opcional pago que também pode ser [auto hospedado](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/self_hosting.md).
|
|
588
|
+
|
|
589
|
+
</Question>
|
|
590
|
+
|
|
591
|
+
</FAQ>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-03-23
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-30
|
|
4
4
|
title: "Vite + Lit i18n - Guia completo para traduzir seu aplicativo"
|
|
5
5
|
description: "Sem mais i18next. O guia 2026 para criar uma aplicação Vite + Lit multilíngue (i18n). Traduza com agentes de IA e otimize o tamanho do bundle, SEO e desempenho."
|
|
6
6
|
keywords:
|
|
@@ -63,7 +63,6 @@ author: aymericzip
|
|
|
63
63
|
Comparado com soluções principais como `lit-localize` ou `i18next`, Intlayer é uma solução que vem com otimizações integradas como:
|
|
64
64
|
|
|
65
65
|
<AccordionGroup>
|
|
66
|
-
|
|
67
66
|
<Accordion header="Cobertura total iluminada">
|
|
68
67
|
|
|
69
68
|
O Intlayer é otimizado para funcionar perfeitamente com o Lit, oferecendo **escopo de conteúdo em nível de componente da Web**, **suporte a TypeScript** e todos os recursos necessários para dimensionar a internacionalização (i18n).
|
|
@@ -732,3 +731,115 @@ Para mais detalhes sobre como usar a extensão, consulte a [documentação da Ex
|
|
|
732
731
|
### Ir Mais Longe
|
|
733
732
|
|
|
734
733
|
Para ir mais longe, pode implementar o [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md) ou externalizar o seu conteúdo usando o [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md).
|
|
734
|
+
|
|
735
|
+
## Perguntas Frequentes
|
|
736
|
+
|
|
737
|
+
<FAQ>
|
|
738
|
+
|
|
739
|
+
<Question title="Quais são as diferentes soluções disponíveis para internacionalizar um aplicativo Vite e Lit?">
|
|
740
|
+
|
|
741
|
+
O Vite não impõe nenhuma solução de i18n, portanto a escolha vem do ecossistema Lit:
|
|
742
|
+
|
|
743
|
+
- **`@lit/localize`**: a opção oficial, baseada na extração XLIFF e um bundle compilado por locale, exigindo o modo de tempo de execução para trocar de idioma dinamicamente.
|
|
744
|
+
- **Dicionário manual** importado em cada elemento: sem dependências, mas sem tipagem nem ferramentas auxiliares.
|
|
745
|
+
- **`Intlayer`**: a solução mais avançada. O conteúdo pode ser declarado em qualquer lugar da sua base de código ([ao lado de cada componente ou centralizado](https://intlayer.org/blog/per-component-vs-centralized-i18n)) e compilado pelo plugin Vite em tempo de build, totalmente tipado, com tradução por IA, editor visual e CMS.
|
|
746
|
+
|
|
747
|
+
O ganho específico no Vite é que as traduções são resolvidas e submetidas a tree-shaking em tempo de compilação em vez de serem buscadas como JSON em tempo de execução, de modo que uma página envia apenas as entradas que renderiza. Consulte [por que Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/interest_of_intlayer.md) e o [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md).
|
|
748
|
+
|
|
749
|
+
</Question>
|
|
750
|
+
|
|
751
|
+
<Question title="Quanto a i18n adiciona ao tamanho do bundle do meu app Lit?">
|
|
752
|
+
|
|
753
|
+
Muito menos do que uma configuração baseada em namespaces, porque uma página nunca baixa um catálogo que não renderiza. O compilador em tempo de build substitui as chamadas `useIntlayer` pelas entradas exatas do dicionário usadas pelo componente, descartando chaves e idiomas não utilizados, enquanto os [dicionários dinâmicos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dynamic_dictionaries/index.md) dividem o restante por locale. Comparado às alternativas tradicionais, o Intlayer reduz o tamanho do bundle e da página em até 50%. Consulte [otimização de bundle](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/bundle_optimization.md) e o [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md).
|
|
754
|
+
|
|
755
|
+
</Question>
|
|
756
|
+
|
|
757
|
+
<Question title="Posso migrar do @lit/localize sem reescrever meus elementos?">
|
|
758
|
+
|
|
759
|
+
Em grande parte, sim. Siga a [visão geral dos adaptadores de compatibilidade](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/index.md) para migrar o conteúdo. Você também pode migrar gradualmente: o [plugin sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) mantém seus catálogos JSON existentes como fonte de verdade e gera dicionários Intlayer a partir deles, mantendo ambas as camadas sincronizadas enquanto você migra elementos individualmente.
|
|
760
|
+
|
|
761
|
+
</Question>
|
|
762
|
+
|
|
763
|
+
<Question title="Posso manter meus arquivos de tradução JSON existentes?">
|
|
764
|
+
|
|
765
|
+
Sim. O [plugin sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) mantém seus arquivos `/messages/{locale}/{namespace}.json` como fonte de verdade e gera dicionários Intlayer a partir deles, em ambas as direções. O [plugin sync PO](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-po.md) faz o mesmo para catálogos gettext, e os [arquivos por locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/per_locale_file.md) permitem dividir o conteúdo por idioma em vez de agrupar todos os locales em um único arquivo.
|
|
766
|
+
|
|
767
|
+
</Question>
|
|
768
|
+
|
|
769
|
+
<Question title="Preciso mover meu conteúdo chave por chave?">
|
|
770
|
+
|
|
771
|
+
Não. Execute `npx intlayer extract` e o Intlayer lê seus componentes, extrai as strings voltadas para o usuário e escreve um arquivo `.content` ao lado de cada um, para que você revise um diff em vez de copiar strings para um catálogo uma a uma. O passo 12 deste guia detalha esse processo.
|
|
772
|
+
|
|
773
|
+
Para um fluxo de trabalho totalmente automatizado, o [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) faz o mesmo em tempo de build: ele analisa seu código JSX, TSX, Vue e Svelte a cada alteração, gera os dicionários e os mantém sincronizados via hot module replacement, dispensando completamente a manutenção manual de chaves.
|
|
774
|
+
|
|
775
|
+
Dois limites são importantes considerar: o compilador opera por análise estática, de modo que strings criadas apenas em tempo de execução (como códigos de erro de API ou campos dinâmicos de CMS) ficam fora de alcance. Além disso, ele precisa distinguir texto visível de lógicas de aplicação como `className="active"` ou status codes, exigindo algumas anotações em bases de código extensas. O [comando extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) evita ambos mantendo você no controle.
|
|
776
|
+
|
|
777
|
+
</Question>
|
|
778
|
+
|
|
779
|
+
<Question title="Quais ferramentas de editor e agentes de IA estão disponíveis?">
|
|
780
|
+
|
|
781
|
+
Cinco ferramentas, todas opcionais:
|
|
782
|
+
|
|
783
|
+
- **[Extensão VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)**: navegue de uma chave `useIntlayer` diretamente para o arquivo de conteúdo que a declara, extraia conteúdo de um componente e execute build, fill, test, push e pull pela paleta de comandos ou pela aba dedicada do Intlayer.
|
|
784
|
+
- **[Servidor LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/lsp.md)**: a mesma inteligência em qualquer editor compatível com LSP, com ir para definição, localizar referências, pré-visualizações de valores traduzidos ao passar o mouse, autocompletar e alertas para chaves não declaradas. Também resolve chamadas de `i18next`, `react-i18next`, `next-intl` e `use-intl`, facilitando a migração.
|
|
785
|
+
- **[Servidor MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/mcp_server.md)**: expõe a documentação e a CLI do Intlayer para Cursor, VS Code, Claude Desktop, Claude Code e ChatGPT, permitindo que os assistentes respondam com base na documentação atualizada e executem comandos como `intlayer fill`.
|
|
786
|
+
- **[Agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/agent_skills.md)**: habilidades focadas como `intlayer-config`, `intlayer-cli` e `intlayer-content`, além de uma por framework, ensinando ao agente suas regras de roteamento e tipos de nós.
|
|
787
|
+
- **[Plugin ESLint](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/eslint.md)**: a regra `no-raw-text` identifica strings hardcoded, com regras adicionais para chaves estáticas e conteúdo não utilizado.
|
|
788
|
+
|
|
789
|
+
</Question>
|
|
790
|
+
|
|
791
|
+
<Question title="Como uso conteúdo traduzido em um componente Lit?">
|
|
792
|
+
|
|
793
|
+
Acesse o conteúdo dentro do método `render` do seu `LitElement` por meio da integração Intlayer, conforme exibido no passo 6. Mudar o locale dispara uma atualização direta dos elementos que o consomem, portanto alternar o idioma não requer o recarregamento da página nem o envio de um segundo bundle.
|
|
794
|
+
|
|
795
|
+
</Question>
|
|
796
|
+
|
|
797
|
+
<Question title="O Intlayer funciona com o servidor de desenvolvimento do Vite e hot reload?">
|
|
798
|
+
|
|
799
|
+
Sim. O plugin Vite `intlayer()` observa seus arquivos `.content.ts` e recompila os dicionários afetados ao salvar, permitindo que as edições apareçam sem reiniciar o servidor de desenvolvimento. Além disso, as definições de tipo são atualizadas no mesmo instante para manter o autocompletar sincronizado.
|
|
800
|
+
|
|
801
|
+
</Question>
|
|
802
|
+
|
|
803
|
+
<Question title="Como configuro o roteamento localizado?">
|
|
804
|
+
|
|
805
|
+
Os passos 9 e 10 cobrem as rotas localizadas e a reescrita da URL na mudança de locale. O `routing.mode` define o formato da URL: `"prefix-no-default"` (o padrão, `/about` e `/pt/about`), `"prefix-all"`, `"no-prefix"` (resolvido por cookie, cabeçalho ou domínio) ou `"search-params"` (`/about?locale=pt`). Consulte a [referência de configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md).
|
|
806
|
+
|
|
807
|
+
</Question>
|
|
808
|
+
|
|
809
|
+
<Question title="Como suporto idiomas da direita para a esquerda como árabe ou hebraico?">
|
|
810
|
+
|
|
811
|
+
O passo 11 aborda isso. A função `getHTMLTextDir` retorna `ltr`, `rtl` ou `auto` para um determinado locale, permitindo que você vincule `lang` e `dir` no elemento raiz a partir do locale ativo e deixe as propriedades CSS lógicas cuidarem do restante do layout.
|
|
812
|
+
|
|
813
|
+
</Question>
|
|
814
|
+
|
|
815
|
+
<Question title="Como gerencio metadados de SEO em um app Vite renderizado no cliente?">
|
|
816
|
+
|
|
817
|
+
Defina os atributos `lang` e `dir` no elemento `html` a partir do locale ativo e emita tags `hreflang` alternativas para cada locale declarado usando `getMultilingualUrls`, incluindo a entrada `x-default`. Para páginas com alta necessidade de indexação rápida por buscadores, prefira uma solução pré-renderizada ou renderizada no servidor.
|
|
818
|
+
|
|
819
|
+
</Question>
|
|
820
|
+
|
|
821
|
+
<Question title="Como traduzo o app automaticamente com IA?">
|
|
822
|
+
|
|
823
|
+
Execute `npx intlayer fill`. Ele preenche traduções pendentes com o LLM de sua preferência, usando seu provedor e chave de API próprios, e a opção `--git-diff` limita o processo ao conteúdo modificado na branch atual. Consulte o [comando fill](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/fill.md) e a [integração CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/CI_CD.md).
|
|
824
|
+
|
|
825
|
+
</Question>
|
|
826
|
+
|
|
827
|
+
<Question title="O Intlayer suporta plurais, gênero e rich text?">
|
|
828
|
+
|
|
829
|
+
Sim: [formas plurais](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/plurial.md), [conteúdo baseado em gênero](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/gender.md), condições, [inserções](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/markdown.md) e [formatadores](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/formatters.md) para números, datas e moedas.
|
|
830
|
+
|
|
831
|
+
</Question>
|
|
832
|
+
|
|
833
|
+
<Question title="Como tradutores podem editar o conteúdo sem tocar no código?">
|
|
834
|
+
|
|
835
|
+
Por meio do [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md), que roda em sua própria infraestrutura e permite editar textos diretamente no app em execução, ou pelo [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md), que externaliza o conteúdo para que ele possa ser alterado sem novos deploys.
|
|
836
|
+
|
|
837
|
+
</Question>
|
|
838
|
+
|
|
839
|
+
<Question title="O Intlayer é gratuito e de código aberto?">
|
|
840
|
+
|
|
841
|
+
Sim, sob a licença Apache 2.0, uso comercial incluído. O CMS hospedado é um serviço opcional pago que também pode ser [auto hospedado](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/self_hosting.md).
|
|
842
|
+
|
|
843
|
+
</Question>
|
|
844
|
+
|
|
845
|
+
</FAQ>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-30
|
|
4
4
|
title: "Vite + Preact i18n - Guia completo para traduzir seu aplicativo"
|
|
5
5
|
description: "Sem mais i18next. O guia 2026 para criar uma aplicação Vite + Preact multilíngue (i18n). Traduza com agentes de IA e otimize o tamanho do bundle, SEO e desempenho."
|
|
6
6
|
keywords:
|
|
@@ -31,36 +31,6 @@ author: aymericzip
|
|
|
31
31
|
|
|
32
32
|
# Traduza seu site Vite e Preact usando o Intlayer | Internacionalização (i18n)
|
|
33
33
|
|
|
34
|
-
<Tabs defaultTab="video">
|
|
35
|
-
<Tab label="Video" value="video">
|
|
36
|
-
|
|
37
|
-
<iframe title="The best i18n solution for Vite and Preact? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
38
|
-
|
|
39
|
-
</Tab>
|
|
40
|
-
<Tab label="Code" value="code">
|
|
41
|
-
|
|
42
|
-
<iframe
|
|
43
|
-
src="https://ide.intlayer.org/aymericzip/intlayer-vite-preact-template?file=intlayer.config.ts"
|
|
44
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
45
|
-
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
46
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
47
|
-
loading="lazy"
|
|
48
|
-
/>
|
|
49
|
-
|
|
50
|
-
</Tab>
|
|
51
|
-
<Tab label="Demo" value="demo">
|
|
52
|
-
|
|
53
|
-
<iframe
|
|
54
|
-
src="https://intlayer-vite-preact-template.vercel.app"
|
|
55
|
-
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
56
|
-
title="Demo - intlayer-vite-preact-template"
|
|
57
|
-
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
58
|
-
loading="lazy"
|
|
59
|
-
/>
|
|
60
|
-
|
|
61
|
-
</Tab>
|
|
62
|
-
</Tabs>
|
|
63
|
-
|
|
64
34
|
## Tabela de Conteúdos
|
|
65
35
|
|
|
66
36
|
<TOC/>
|
|
@@ -70,7 +40,6 @@ author: aymericzip
|
|
|
70
40
|
Comparado com soluções principais como `preact-i18n` ou `i18next`, Intlayer é uma solução que vem com otimizações integradas como:
|
|
71
41
|
|
|
72
42
|
<AccordionGroup>
|
|
73
|
-
|
|
74
43
|
<Accordion header="Cobertura completa do Preact">
|
|
75
44
|
|
|
76
45
|
O Intlayer é otimizado para funcionar perfeitamente com o Preact, oferecendo **escopo de conteúdo em nível de componente**, **traduções de carregamento lento** e todos os recursos necessários para dimensionar a internacionalização (i18n).
|
|
@@ -118,6 +87,36 @@ Mais do que apenas uma solução i18n, o Intlayer fornece um **[editor visual] a
|
|
|
118
87
|
|
|
119
88
|
## Guia Passo a Passo para Configurar o Intlayer em uma Aplicação Vite e Preact
|
|
120
89
|
|
|
90
|
+
<Tabs defaultTab="video">
|
|
91
|
+
<Tab label="Video" value="video">
|
|
92
|
+
|
|
93
|
+
<iframe title="The best i18n solution for Vite and Preact? Discover Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
|
|
94
|
+
|
|
95
|
+
</Tab>
|
|
96
|
+
<Tab label="Code" value="code">
|
|
97
|
+
|
|
98
|
+
<iframe
|
|
99
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-vite-preact-template?file=intlayer.config.ts"
|
|
100
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
101
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
102
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
103
|
+
loading="lazy"
|
|
104
|
+
/>
|
|
105
|
+
|
|
106
|
+
</Tab>
|
|
107
|
+
<Tab label="Demo" value="demo">
|
|
108
|
+
|
|
109
|
+
<iframe
|
|
110
|
+
src="https://intlayer-vite-preact-template.vercel.app"
|
|
111
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
112
|
+
title="Demo - intlayer-vite-preact-template"
|
|
113
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
114
|
+
loading="lazy"
|
|
115
|
+
/>
|
|
116
|
+
|
|
117
|
+
</Tab>
|
|
118
|
+
</Tabs>
|
|
119
|
+
|
|
121
120
|
Veja o [Modelo de Aplicação](https://github.com/aymericzip/intlayer-vite-preact-template) no GitHub.
|
|
122
121
|
|
|
123
122
|
<Steps>
|
|
@@ -616,8 +615,6 @@ export default LocaleSwitcher;
|
|
|
616
615
|
|
|
617
616
|
Abaixo está o **Passo 9** atualizado com explicações adicionadas e exemplos de código refinados:
|
|
618
617
|
|
|
619
|
-
---
|
|
620
|
-
|
|
621
618
|
</Step>
|
|
622
619
|
|
|
623
620
|
<Step number={9} title="Alternar os atributos de idioma e direção do HTML" isOptional={true}>
|
|
@@ -1034,3 +1031,115 @@ Para mais detalhes sobre como usar a extensão, consulte a [documentação da Ex
|
|
|
1034
1031
|
Para ir mais longe, você pode implementar o [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md) ou externalizar seu conteúdo usando o [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md).
|
|
1035
1032
|
|
|
1036
1033
|
---
|
|
1034
|
+
|
|
1035
|
+
## Perguntas Frequentes
|
|
1036
|
+
|
|
1037
|
+
<FAQ>
|
|
1038
|
+
|
|
1039
|
+
<Question title="Quais são as diferentes soluções disponíveis para internacionalizar um aplicativo Vite e Preact?">
|
|
1040
|
+
|
|
1041
|
+
O Vite não impõe nenhuma opinião sobre i18n, portanto a escolha vem do ecossistema Preact:
|
|
1042
|
+
|
|
1043
|
+
- **`preact-i18n`**: uma pequena biblioteca específica do Preact com um dicionário JSON.
|
|
1044
|
+
- **`react-i18next`** via `preact/compat`: madura, mas introduz a camada de compatibilidade do React no seu bundle.
|
|
1045
|
+
- **`Intlayer`**: a solução mais avançada. O conteúdo pode ser declarado em qualquer lugar da sua base de código ([ao lado de cada componente ou centralizado](https://intlayer.org/blog/per-component-vs-centralized-i18n)) e compilado pelo plugin Vite em tempo de build, totalmente tipado, com tradução por IA, editor visual e CMS.
|
|
1046
|
+
|
|
1047
|
+
O ganho específico no Vite é que as traduções são resolvidas e submetidas a tree-shaking em tempo de compilação em vez de serem buscadas como JSON em tempo de execução, de modo que uma página envia apenas as entradas que renderiza. Consulte [por que Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/interest_of_intlayer.md) e o [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md).
|
|
1048
|
+
|
|
1049
|
+
</Question>
|
|
1050
|
+
|
|
1051
|
+
<Question title="Quanto a i18n adiciona ao tamanho do bundle do meu app Preact?">
|
|
1052
|
+
|
|
1053
|
+
Muito menos do que uma configuração baseada em namespaces, porque uma página nunca baixa um catálogo que não renderiza. O compilador em tempo de build substitui as chamadas `useIntlayer` pelas entradas exatas do dicionário usadas pelo componente, descartando chaves e idiomas não utilizados, enquanto os [dicionários dinâmicos](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dynamic_dictionaries/index.md) dividem o restante por locale. Comparado às alternativas tradicionais, o Intlayer reduz o tamanho do bundle e da página em até 50%. Consulte [otimização de bundle](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/bundle_optimization.md) e o [benchmark](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/benchmark/index.md).
|
|
1054
|
+
|
|
1055
|
+
</Question>
|
|
1056
|
+
|
|
1057
|
+
<Question title="Posso migrar do preact-i18n ou react-i18next sem reescrever meus componentes?">
|
|
1058
|
+
|
|
1059
|
+
Sim, e existem dois caminhos. Você pode migrar o conteúdo progressivamente com o [guia de migração do react-i18next](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/migration_from_react-i18next_to_intlayer.md). Ou pode manter sua API atual inteiramente: os [adaptadores de compatibilidade (compat adapters)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compat/index.md) expõem exatamente a mesma API que `react-i18next` e `react-intl`, mas servidos por dicionários Intlayer, de modo que apenas as importações mudam e o código dos componentes permanece idêntico.
|
|
1060
|
+
|
|
1061
|
+
</Question>
|
|
1062
|
+
|
|
1063
|
+
<Question title="Posso manter meus arquivos de tradução JSON existentes?">
|
|
1064
|
+
|
|
1065
|
+
Sim. O [plugin sync JSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-json.md) mantém seus arquivos `/messages/{locale}/{namespace}.json` como fonte de verdade e gera dicionários Intlayer a partir deles, em ambas as direções. O [plugin sync PO](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/plugins/sync-po.md) faz o mesmo para catálogos gettext, e os [arquivos por locale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/per_locale_file.md) permitem dividir o conteúdo por idioma em vez de agrupar todos os locales em um único arquivo.
|
|
1066
|
+
|
|
1067
|
+
</Question>
|
|
1068
|
+
|
|
1069
|
+
<Question title="Preciso mover meu conteúdo chave por chave?">
|
|
1070
|
+
|
|
1071
|
+
Não. Execute `npx intlayer extract` e o Intlayer lê seus componentes, extrai as strings voltadas para o usuário e escreve um arquivo `.content` ao lado de cada um, para que você revise um diff em vez de copiar strings para um catálogo uma a uma. O passo 12 deste guia detalha esse processo.
|
|
1072
|
+
|
|
1073
|
+
Para um fluxo de trabalho totalmente automatizado, o [Intlayer Compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) faz o mesmo em tempo de build: ele analisa seu código JSX, TSX, Vue e Svelte a cada alteração, gera os dicionários e os mantém sincronizados via hot module replacement, dispensando completamente a manutenção manual de chaves.
|
|
1074
|
+
|
|
1075
|
+
Dois limites são importantes considerar: o compilador opera por análise estática, de modo que strings criadas apenas em tempo de execução (como códigos de erro de API ou campos dinâmicos de CMS) ficam fora de alcance. Além disso, ele precisa distinguir texto visível de lógicas de aplicação como `className="active"` ou status codes, exigindo algumas anotações em bases de código extensas. O [comando extract](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) evita ambos mantendo você no controle.
|
|
1076
|
+
|
|
1077
|
+
</Question>
|
|
1078
|
+
|
|
1079
|
+
<Question title="Quais ferramentas de editor e agentes de IA estão disponíveis?">
|
|
1080
|
+
|
|
1081
|
+
Cinco ferramentas, todas opcionais:
|
|
1082
|
+
|
|
1083
|
+
- **[Extensão VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/vs_code_extension.md)**: navegue de uma chave `useIntlayer` diretamente para o arquivo de conteúdo que a declara, extraia conteúdo de um componente e execute build, fill, test, push e pull pela paleta de comandos ou pela aba dedicada do Intlayer.
|
|
1084
|
+
- **[Servidor LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/lsp.md)**: a mesma inteligência em qualquer editor compatível com LSP, com ir para definição, localizar referências, pré-visualizações de valores traduzidos ao passar o mouse, autocompletar e alertas para chaves não declaradas. Também resolve chamadas de `i18next`, `react-i18next`, `next-intl` e `use-intl`, facilitando a migração.
|
|
1085
|
+
- **[Servidor MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/mcp_server.md)**: expõe a documentação e a CLI do Intlayer para Cursor, VS Code, Claude Desktop, Claude Code e ChatGPT, permitindo que os assistentes respondam com base na documentação atualizada e executem comandos como `intlayer fill`.
|
|
1086
|
+
- **[Agent Skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/agent_skills.md)**: habilidades focadas como `intlayer-config`, `intlayer-cli` e `intlayer-content`, além de uma por framework, ensinando ao agente suas regras de roteamento e tipos de nós.
|
|
1087
|
+
- **[Plugin ESLint](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/eslint.md)**: a regra `no-raw-text` identifica strings hardcoded, com regras adicionais para chaves estáticas e conteúdo não utilizado.
|
|
1088
|
+
|
|
1089
|
+
</Question>
|
|
1090
|
+
|
|
1091
|
+
<Question title="Como uso conteúdo traduzido em um componente Preact?">
|
|
1092
|
+
|
|
1093
|
+
Chame `useIntlayer` em seu componente, exatamente como faria no React. O `preact-intlayer` é um binding nativo do Preact, portanto não há necessidade de recorrer a `preact/compat`. O passo 5 mostra o uso e o passo 11 cobre conteúdo Markdown e HTML.
|
|
1094
|
+
|
|
1095
|
+
</Question>
|
|
1096
|
+
|
|
1097
|
+
<Question title="O Intlayer funciona com o servidor de desenvolvimento do Vite e hot reload?">
|
|
1098
|
+
|
|
1099
|
+
Sim. O plugin Vite `intlayer()` observa seus arquivos `.content.ts` e recompila os dicionários afetados ao salvar, permitindo que as edições apareçam sem reiniciar o servidor de desenvolvimento. Além disso, as definições de tipo são atualizadas no mesmo instante para manter o autocompletar sincronizado.
|
|
1100
|
+
|
|
1101
|
+
</Question>
|
|
1102
|
+
|
|
1103
|
+
<Question title="Como configuro o roteamento localizado?">
|
|
1104
|
+
|
|
1105
|
+
Os passos 7 e 8 cobrem as rotas localizadas e a reescrita da URL na mudança de locale, e o passo 10 adiciona um componente de link localizado. O `routing.mode` define o formato da URL: `"prefix-no-default"` (o padrão, `/about` e `/pt/about`), `"prefix-all"`, `"no-prefix"` (resolvido por cookie, cabeçalho ou domínio) ou `"search-params"` (`/about?locale=pt`). Consulte a [referência de configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md).
|
|
1106
|
+
|
|
1107
|
+
</Question>
|
|
1108
|
+
|
|
1109
|
+
<Question title="Como suporto idiomas da direita para a esquerda como árabe ou hebraico?">
|
|
1110
|
+
|
|
1111
|
+
O passo 9 aborda isso. A função `getHTMLTextDir` retorna `ltr`, `rtl` ou `auto` para um determinado locale, permitindo que você vincule `lang` e `dir` no elemento raiz a partir do locale ativo e deixe as propriedades CSS lógicas cuidarem do restante do layout.
|
|
1112
|
+
|
|
1113
|
+
</Question>
|
|
1114
|
+
|
|
1115
|
+
<Question title="Como gerencio metadados de SEO em um app Vite renderizado no cliente?">
|
|
1116
|
+
|
|
1117
|
+
Defina os atributos `lang` e `dir` no elemento `html` a partir do locale ativo e emita tags `hreflang` alternativas para cada locale declarado usando `getMultilingualUrls`, incluindo a entrada `x-default`. Para páginas com alta necessidade de indexação rápida por buscadores, prefira uma solução pré-renderizada ou renderizada no servidor.
|
|
1118
|
+
|
|
1119
|
+
</Question>
|
|
1120
|
+
|
|
1121
|
+
<Question title="Como traduzo o app automaticamente com IA?">
|
|
1122
|
+
|
|
1123
|
+
Execute `npx intlayer fill`. Ele preenche traduções pendentes com o LLM de sua preferência, usando seu provedor e chave de API próprios, e a opção `--git-diff` limita o processo ao conteúdo modificado na branch atual. Consulte o [comando fill](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/fill.md) e a [integração CI/CD](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/CI_CD.md).
|
|
1124
|
+
|
|
1125
|
+
</Question>
|
|
1126
|
+
|
|
1127
|
+
<Question title="O Intlayer suporta plurais, gênero e rich text?">
|
|
1128
|
+
|
|
1129
|
+
Sim: [formas plurais](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/plurial.md), [conteúdo baseado em gênero](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/gender.md), condições, [inserções](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/insertion.md), [Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/dictionary/markdown.md) e [formatadores](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/formatters.md) para números, datas e moedas.
|
|
1130
|
+
|
|
1131
|
+
</Question>
|
|
1132
|
+
|
|
1133
|
+
<Question title="Como tradutores podem editar o conteúdo sem tocar no código?">
|
|
1134
|
+
|
|
1135
|
+
Por meio do [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_visual_editor.md), que roda em sua própria infraestrutura e permite editar textos diretamente no app em execução, ou pelo [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md), que externaliza o conteúdo para que ele possa ser alterado sem novos deploys.
|
|
1136
|
+
|
|
1137
|
+
</Question>
|
|
1138
|
+
|
|
1139
|
+
<Question title="O Intlayer é gratuito e de código aberto?">
|
|
1140
|
+
|
|
1141
|
+
Sim, sob a licença Apache 2.0, uso comercial incluído. O CMS hospedado é um serviço opcional pago que também pode ser [auto hospedado](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/self_hosting.md).
|
|
1142
|
+
|
|
1143
|
+
</Question>
|
|
1144
|
+
|
|
1145
|
+
</FAQ>
|