@intlayer/docs 8.3.0 → 8.3.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/blog/ar/i18n_using_next-i18next.md +1 -0
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +0 -29
- package/blog/uk/internationalization_and_SEO.md +1 -1
- package/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +82 -58
- package/docs/ar/intlayer_with_analog.md +2 -2
- package/docs/ar/intlayer_with_angular.md +2 -2
- package/docs/ar/intlayer_with_astro.md +2 -2
- package/docs/ar/intlayer_with_lynx+react.md +2 -2
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +4 -7
- package/docs/ar/intlayer_with_react_native+expo.md +2 -2
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +176 -3
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +176 -3
- package/docs/ar/intlayer_with_vite+svelte.md +176 -3
- package/docs/ar/intlayer_with_vite+vue.md +178 -5
- package/docs/ar/vs_code_extension.md +1 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +417 -214
- package/docs/de/intlayer_with_analog.md +2 -2
- package/docs/de/intlayer_with_angular.md +2 -2
- package/docs/de/intlayer_with_astro.md +2 -2
- package/docs/de/intlayer_with_lynx+react.md +2 -2
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_native+expo.md +2 -2
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +159 -3
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +161 -5
- package/docs/de/intlayer_with_vite+svelte.md +159 -3
- package/docs/de/intlayer_with_vite+vue.md +159 -3
- package/docs/de/vs_code_extension.md +1 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +82 -77
- package/docs/en/intlayer_with_analog.md +1 -1
- package/docs/en/intlayer_with_angular.md +1 -1
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_lynx+react.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_native+expo.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +160 -1
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +149 -28
- package/docs/en/intlayer_with_vite+svelte.md +160 -1
- package/docs/en/intlayer_with_vite+vue.md +143 -42
- package/docs/en/vs_code_extension.md +1 -1
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +80 -57
- package/docs/en-GB/intlayer_with_analog.md +1 -1
- package/docs/en-GB/intlayer_with_angular.md +1 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- package/docs/en-GB/intlayer_with_lynx+react.md +1 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +2 -2
- package/docs/en-GB/vs_code_extension.md +1 -1
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +412 -208
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_analog.md +2 -2
- package/docs/es/intlayer_with_angular.md +2 -2
- package/docs/es/intlayer_with_astro.md +2 -2
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_lynx+react.md +2 -2
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +2 -2
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +164 -8
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +165 -9
- package/docs/es/intlayer_with_vite+svelte.md +159 -3
- package/docs/es/intlayer_with_vite+vue.md +169 -13
- package/docs/es/vs_code_extension.md +1 -1
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +351 -149
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_analog.md +2 -2
- package/docs/fr/intlayer_with_angular.md +2 -2
- package/docs/fr/intlayer_with_astro.md +2 -2
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_lynx+react.md +2 -2
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_native+expo.md +2 -2
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +166 -10
- package/docs/fr/intlayer_with_vite+react.md +163 -7
- package/docs/fr/intlayer_with_vite+solid.md +165 -9
- package/docs/fr/intlayer_with_vite+svelte.md +159 -3
- package/docs/fr/intlayer_with_vite+vue.md +168 -12
- package/docs/fr/vs_code_extension.md +1 -1
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +89 -65
- package/docs/hi/intlayer_with_analog.md +1 -1
- package/docs/hi/intlayer_with_angular.md +2 -2
- package/docs/hi/intlayer_with_astro.md +2 -2
- package/docs/hi/intlayer_with_lynx+react.md +2 -2
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_native+expo.md +2 -2
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +159 -3
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +159 -3
- package/docs/hi/intlayer_with_vite+svelte.md +159 -3
- package/docs/hi/intlayer_with_vite+vue.md +159 -3
- package/docs/hi/vs_code_extension.md +1 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +85 -65
- package/docs/id/intlayer_with_analog.md +2 -2
- package/docs/id/intlayer_with_angular.md +2 -2
- package/docs/id/intlayer_with_astro.md +2 -2
- package/docs/id/intlayer_with_lynx+react.md +2 -2
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_native+expo.md +2 -2
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +159 -3
- package/docs/id/intlayer_with_vite+react.md +159 -3
- package/docs/id/intlayer_with_vite+solid.md +159 -3
- package/docs/id/intlayer_with_vite+svelte.md +159 -3
- package/docs/id/intlayer_with_vite+vue.md +159 -3
- package/docs/id/vs_code_extension.md +1 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +410 -208
- package/docs/it/intlayer_with_analog.md +2 -2
- package/docs/it/intlayer_with_angular.md +2 -2
- package/docs/it/intlayer_with_astro.md +2 -2
- package/docs/it/intlayer_with_lynx+react.md +2 -2
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_native+expo.md +2 -2
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +159 -3
- package/docs/it/intlayer_with_vite+react.md +159 -3
- package/docs/it/intlayer_with_vite+solid.md +161 -5
- package/docs/it/intlayer_with_vite+svelte.md +159 -3
- package/docs/it/intlayer_with_vite+vue.md +161 -5
- package/docs/it/vs_code_extension.md +1 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +90 -66
- package/docs/ja/intlayer_with_analog.md +2 -2
- package/docs/ja/intlayer_with_angular.md +2 -2
- package/docs/ja/intlayer_with_astro.md +2 -2
- package/docs/ja/intlayer_with_lynx+react.md +2 -2
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_native+expo.md +2 -2
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +161 -5
- package/docs/ja/intlayer_with_vite+svelte.md +159 -3
- package/docs/ja/intlayer_with_vite+vue.md +159 -3
- package/docs/ja/vs_code_extension.md +1 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +89 -65
- package/docs/ko/intlayer_with_analog.md +2 -2
- package/docs/ko/intlayer_with_angular.md +2 -2
- package/docs/ko/intlayer_with_astro.md +2 -2
- package/docs/ko/intlayer_with_lynx+react.md +2 -2
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_native+expo.md +2 -2
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +159 -3
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +161 -5
- package/docs/ko/intlayer_with_vite+svelte.md +159 -3
- package/docs/ko/intlayer_with_vite+vue.md +159 -3
- package/docs/ko/vs_code_extension.md +1 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +85 -57
- package/docs/pl/intlayer_with_analog.md +2 -2
- package/docs/pl/intlayer_with_angular.md +2 -2
- package/docs/pl/intlayer_with_astro.md +2 -2
- package/docs/pl/intlayer_with_lynx+react.md +2 -2
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_native+expo.md +2 -2
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +158 -2
- package/docs/pl/intlayer_with_vite+react.md +159 -3
- package/docs/pl/intlayer_with_vite+solid.md +159 -3
- package/docs/pl/intlayer_with_vite+svelte.md +159 -3
- package/docs/pl/intlayer_with_vite+vue.md +161 -5
- package/docs/pl/vs_code_extension.md +1 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +399 -199
- package/docs/pt/intlayer_with_analog.md +2 -2
- package/docs/pt/intlayer_with_angular.md +2 -2
- package/docs/pt/intlayer_with_astro.md +2 -2
- package/docs/pt/intlayer_with_lynx+react.md +2 -2
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_native+expo.md +2 -2
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +158 -2
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +159 -3
- package/docs/pt/intlayer_with_vite+svelte.md +159 -3
- package/docs/pt/intlayer_with_vite+vue.md +159 -3
- package/docs/pt/vs_code_extension.md +1 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +78 -67
- package/docs/ru/intlayer_with_analog.md +2 -2
- package/docs/ru/intlayer_with_angular.md +2 -2
- package/docs/ru/intlayer_with_astro.md +2 -2
- package/docs/ru/intlayer_with_lynx+react.md +2 -2
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_native+expo.md +2 -2
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +159 -3
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +159 -3
- package/docs/ru/intlayer_with_vite+svelte.md +159 -3
- package/docs/ru/intlayer_with_vite+vue.md +159 -3
- package/docs/ru/vs_code_extension.md +1 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +85 -61
- package/docs/tr/intlayer_with_analog.md +2 -2
- package/docs/tr/intlayer_with_angular.md +2 -2
- package/docs/tr/intlayer_with_astro.md +2 -2
- package/docs/tr/intlayer_with_lynx+react.md +2 -2
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +6 -14
- package/docs/tr/intlayer_with_react_native+expo.md +2 -2
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +159 -3
- package/docs/tr/intlayer_with_vite+react.md +159 -3
- package/docs/tr/intlayer_with_vite+solid.md +159 -3
- package/docs/tr/intlayer_with_vite+svelte.md +159 -3
- package/docs/tr/intlayer_with_vite+vue.md +159 -3
- package/docs/tr/vs_code_extension.md +1 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +85 -57
- package/docs/uk/intlayer_with_analog.md +2 -2
- package/docs/uk/intlayer_with_angular.md +2 -2
- package/docs/uk/intlayer_with_astro.md +2 -2
- package/docs/uk/intlayer_with_lynx+react.md +2 -2
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +4 -22
- package/docs/uk/intlayer_with_react_native+expo.md +2 -2
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +159 -3
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +159 -3
- package/docs/uk/intlayer_with_vite+svelte.md +159 -3
- package/docs/uk/intlayer_with_vite+vue.md +159 -3
- package/docs/uk/vs_code_extension.md +1 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +87 -59
- package/docs/vi/intlayer_with_analog.md +2 -2
- package/docs/vi/intlayer_with_angular.md +2 -2
- package/docs/vi/intlayer_with_astro.md +2 -2
- package/docs/vi/intlayer_with_lynx+react.md +2 -2
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_native+expo.md +2 -2
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +159 -3
- package/docs/vi/intlayer_with_vite+react.md +159 -3
- package/docs/vi/intlayer_with_vite+solid.md +159 -3
- package/docs/vi/intlayer_with_vite+svelte.md +159 -3
- package/docs/vi/intlayer_with_vite+vue.md +159 -3
- package/docs/vi/vs_code_extension.md +1 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +82 -58
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_analog.md +2 -2
- package/docs/zh/intlayer_with_angular.md +2 -2
- package/docs/zh/intlayer_with_astro.md +2 -2
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_lynx+react.md +2 -2
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_native+expo.md +2 -2
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +161 -5
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +163 -7
- package/docs/zh/intlayer_with_vite+svelte.md +159 -3
- package/docs/zh/intlayer_with_vite+vue.md +162 -6
- package/docs/zh/vs_code_extension.md +2 -2
- package/package.json +8 -8
- package/docs/update_docs.py +0 -65
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Preact i18n - Como traduzir uma aplicação Preact em 2026
|
|
5
5
|
description: Descubra como tornar seu site Vite e Preact multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
|
|
6
6
|
keywords:
|
|
@@ -1303,6 +1303,162 @@ return (
|
|
|
1303
1303
|
);
|
|
1304
1304
|
```
|
|
1305
1305
|
|
|
1306
|
+
### (Opcional) Etapa 1 : Extrair o conteúdo dos seus componentes
|
|
1307
|
+
|
|
1308
|
+
Se você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
|
|
1309
|
+
|
|
1310
|
+
Para facilitar esse processo, o Intlayer propõe um [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) / [extrator](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) para transformar seus componentes e extrair o conteúdo.
|
|
1311
|
+
|
|
1312
|
+
Para configurá-lo, você pode adicionar uma seção `compiler` no seu arquivo `intlayer.config.ts`:
|
|
1313
|
+
|
|
1314
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1315
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1316
|
+
|
|
1317
|
+
const config: IntlayerConfig = {
|
|
1318
|
+
// ... Resto da sua configuração
|
|
1319
|
+
compiler: {
|
|
1320
|
+
/**
|
|
1321
|
+
* Indica se o compilador deve ser ativado.
|
|
1322
|
+
*/
|
|
1323
|
+
enabled: true,
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* Define o caminho dos arquivos de saída
|
|
1327
|
+
*/
|
|
1328
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1329
|
+
|
|
1330
|
+
/**
|
|
1331
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1332
|
+
*/
|
|
1333
|
+
saveComponents: false,
|
|
1334
|
+
|
|
1335
|
+
/**
|
|
1336
|
+
* Prefixo da chave do dicionário
|
|
1337
|
+
*/
|
|
1338
|
+
dictionaryKeyPrefix: "",
|
|
1339
|
+
},
|
|
1340
|
+
};
|
|
1341
|
+
|
|
1342
|
+
export default config;
|
|
1343
|
+
```
|
|
1344
|
+
|
|
1345
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1346
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1347
|
+
const config = {
|
|
1348
|
+
// ... Resto da sua configuração
|
|
1349
|
+
compiler: {
|
|
1350
|
+
/**
|
|
1351
|
+
* Indica se o compilador deve ser ativado.
|
|
1352
|
+
*/
|
|
1353
|
+
enabled: true,
|
|
1354
|
+
|
|
1355
|
+
/**
|
|
1356
|
+
* Define o caminho dos arquivos de saída
|
|
1357
|
+
*/
|
|
1358
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1359
|
+
|
|
1360
|
+
/**
|
|
1361
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1362
|
+
*/
|
|
1363
|
+
saveComponents: false,
|
|
1364
|
+
|
|
1365
|
+
/**
|
|
1366
|
+
* Prefixo da chave do dicionário
|
|
1367
|
+
*/
|
|
1368
|
+
dictionaryKeyPrefix: "",
|
|
1369
|
+
},
|
|
1370
|
+
};
|
|
1371
|
+
|
|
1372
|
+
export default config;
|
|
1373
|
+
```
|
|
1374
|
+
|
|
1375
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1376
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1377
|
+
const config = {
|
|
1378
|
+
// ... Resto da sua configuração
|
|
1379
|
+
compiler: {
|
|
1380
|
+
/**
|
|
1381
|
+
* Indica se o compilador deve ser ativado.
|
|
1382
|
+
*/
|
|
1383
|
+
enabled: true,
|
|
1384
|
+
|
|
1385
|
+
/**
|
|
1386
|
+
* Define o caminho dos arquivos de saída
|
|
1387
|
+
*/
|
|
1388
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1392
|
+
*/
|
|
1393
|
+
saveComponents: false,
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* Prefixo da chave do dicionário
|
|
1397
|
+
*/
|
|
1398
|
+
dictionaryKeyPrefix: "",
|
|
1399
|
+
},
|
|
1400
|
+
};
|
|
1401
|
+
|
|
1402
|
+
module.exports = config;
|
|
1403
|
+
```
|
|
1404
|
+
|
|
1405
|
+
<Tabs>
|
|
1406
|
+
<Tab value='Comando de extração'>
|
|
1407
|
+
|
|
1408
|
+
Execute o extrator para transformar seus componentes e extrair o conteúdo
|
|
1409
|
+
|
|
1410
|
+
```bash packageManager="npm"
|
|
1411
|
+
npx intlayer extract
|
|
1412
|
+
```
|
|
1413
|
+
|
|
1414
|
+
```bash packageManager="pnpm"
|
|
1415
|
+
pnpm intlayer extract
|
|
1416
|
+
```
|
|
1417
|
+
|
|
1418
|
+
```bash packageManager="yarn"
|
|
1419
|
+
yarn intlayer extract
|
|
1420
|
+
```
|
|
1421
|
+
|
|
1422
|
+
```bash packageManager="bun"
|
|
1423
|
+
bunx intlayer extract
|
|
1424
|
+
```
|
|
1425
|
+
|
|
1426
|
+
</Tab>
|
|
1427
|
+
<Tab value='Compilador Babel'>
|
|
1428
|
+
|
|
1429
|
+
Atualize seu `vite.config.ts` para incluir o plugin `intlayerCompiler`:
|
|
1430
|
+
|
|
1431
|
+
```ts fileName="vite.config.ts"
|
|
1432
|
+
import { defineConfig } from "vite";
|
|
1433
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1434
|
+
|
|
1435
|
+
export default defineConfig({
|
|
1436
|
+
plugins: [
|
|
1437
|
+
intlayer(),
|
|
1438
|
+
intlayerCompiler(), // Adiciona o plugin do compilador
|
|
1439
|
+
],
|
|
1440
|
+
});
|
|
1441
|
+
```
|
|
1442
|
+
|
|
1443
|
+
```bash packageManager="npm"
|
|
1444
|
+
npm run build # Ou npm run dev
|
|
1445
|
+
```
|
|
1446
|
+
|
|
1447
|
+
```bash packageManager="pnpm"
|
|
1448
|
+
pnpm run build # Or pnpm run dev
|
|
1449
|
+
```
|
|
1450
|
+
|
|
1451
|
+
```bash packageManager="yarn"
|
|
1452
|
+
yarn build # Or yarn dev
|
|
1453
|
+
```
|
|
1454
|
+
|
|
1455
|
+
```bash packageManager="bun"
|
|
1456
|
+
bun run build # Or bun run dev
|
|
1457
|
+
```
|
|
1458
|
+
|
|
1459
|
+
</Tab>
|
|
1460
|
+
</Tabs>
|
|
1461
|
+
|
|
1306
1462
|
### Configurar TypeScript
|
|
1307
1463
|
|
|
1308
1464
|
O Intlayer usa aumento de módulo para obter benefícios do TypeScript e tornar sua base de código mais forte.
|
|
@@ -1337,7 +1493,7 @@ Recomenda-se ignorar os arquivos gerados pelo Intlayer. Isso permite que você e
|
|
|
1337
1493
|
|
|
1338
1494
|
Para fazer isso, você pode adicionar as seguintes instruções ao seu arquivo `.gitignore`:
|
|
1339
1495
|
|
|
1340
|
-
```
|
|
1496
|
+
```bash
|
|
1341
1497
|
# Ignore the files generated by Intlayer
|
|
1342
1498
|
.intlayer
|
|
1343
1499
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + React i18n - Como traduzir uma aplicação React em 2026
|
|
5
5
|
description: Aprenda como adicionar internacionalização (i18n) à sua aplicação Vite e React usando Intlayer. Siga este guia para tornar seu app multilíngue.
|
|
6
6
|
keywords:
|
|
@@ -1372,6 +1372,162 @@ Link.displayName = "Link";
|
|
|
1372
1372
|
|
|
1373
1373
|
Ao integrar este componente `Link` em toda a sua aplicação, você mantém uma experiência de usuário coerente e consciente do idioma, além de beneficiar-se de uma melhor SEO e usabilidade.
|
|
1374
1374
|
|
|
1375
|
+
### (Opcional) Etapa 1 : Extrair o conteúdo dos seus componentes
|
|
1376
|
+
|
|
1377
|
+
Se você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
|
|
1378
|
+
|
|
1379
|
+
Para facilitar esse processo, o Intlayer propõe um [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) / [extrator](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) para transformar seus componentes e extrair o conteúdo.
|
|
1380
|
+
|
|
1381
|
+
Para configurá-lo, você pode adicionar uma seção `compiler` no seu arquivo `intlayer.config.ts`:
|
|
1382
|
+
|
|
1383
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1384
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1385
|
+
|
|
1386
|
+
const config: IntlayerConfig = {
|
|
1387
|
+
// ... Resto da sua configuração
|
|
1388
|
+
compiler: {
|
|
1389
|
+
/**
|
|
1390
|
+
* Indica se o compilador deve ser ativado.
|
|
1391
|
+
*/
|
|
1392
|
+
enabled: true,
|
|
1393
|
+
|
|
1394
|
+
/**
|
|
1395
|
+
* Define o caminho dos arquivos de saída
|
|
1396
|
+
*/
|
|
1397
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1398
|
+
|
|
1399
|
+
/**
|
|
1400
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1401
|
+
*/
|
|
1402
|
+
saveComponents: false,
|
|
1403
|
+
|
|
1404
|
+
/**
|
|
1405
|
+
* Prefixo da chave do dicionário
|
|
1406
|
+
*/
|
|
1407
|
+
dictionaryKeyPrefix: "",
|
|
1408
|
+
},
|
|
1409
|
+
};
|
|
1410
|
+
|
|
1411
|
+
export default config;
|
|
1412
|
+
```
|
|
1413
|
+
|
|
1414
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1415
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1416
|
+
const config = {
|
|
1417
|
+
// ... Resto da sua configuração
|
|
1418
|
+
compiler: {
|
|
1419
|
+
/**
|
|
1420
|
+
* Indica se o compilador deve ser ativado.
|
|
1421
|
+
*/
|
|
1422
|
+
enabled: true,
|
|
1423
|
+
|
|
1424
|
+
/**
|
|
1425
|
+
* Define o caminho dos arquivos de saída
|
|
1426
|
+
*/
|
|
1427
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1428
|
+
|
|
1429
|
+
/**
|
|
1430
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1431
|
+
*/
|
|
1432
|
+
saveComponents: false,
|
|
1433
|
+
|
|
1434
|
+
/**
|
|
1435
|
+
* Prefixo da chave do dicionário
|
|
1436
|
+
*/
|
|
1437
|
+
dictionaryKeyPrefix: "",
|
|
1438
|
+
},
|
|
1439
|
+
};
|
|
1440
|
+
|
|
1441
|
+
export default config;
|
|
1442
|
+
```
|
|
1443
|
+
|
|
1444
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1445
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1446
|
+
const config = {
|
|
1447
|
+
// ... Resto da sua configuração
|
|
1448
|
+
compiler: {
|
|
1449
|
+
/**
|
|
1450
|
+
* Indica se o compilador deve ser ativado.
|
|
1451
|
+
*/
|
|
1452
|
+
enabled: true,
|
|
1453
|
+
|
|
1454
|
+
/**
|
|
1455
|
+
* Define o caminho dos arquivos de saída
|
|
1456
|
+
*/
|
|
1457
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1458
|
+
|
|
1459
|
+
/**
|
|
1460
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
1461
|
+
*/
|
|
1462
|
+
saveComponents: false,
|
|
1463
|
+
|
|
1464
|
+
/**
|
|
1465
|
+
* Prefixo da chave do dicionário
|
|
1466
|
+
*/
|
|
1467
|
+
dictionaryKeyPrefix: "",
|
|
1468
|
+
},
|
|
1469
|
+
};
|
|
1470
|
+
|
|
1471
|
+
module.exports = config;
|
|
1472
|
+
```
|
|
1473
|
+
|
|
1474
|
+
<Tabs>
|
|
1475
|
+
<Tab value='Comando de extração'>
|
|
1476
|
+
|
|
1477
|
+
Execute o extrator para transformar seus componentes e extrair o conteúdo
|
|
1478
|
+
|
|
1479
|
+
```bash packageManager="npm"
|
|
1480
|
+
npx intlayer extract
|
|
1481
|
+
```
|
|
1482
|
+
|
|
1483
|
+
```bash packageManager="pnpm"
|
|
1484
|
+
pnpm intlayer extract
|
|
1485
|
+
```
|
|
1486
|
+
|
|
1487
|
+
```bash packageManager="yarn"
|
|
1488
|
+
yarn intlayer extract
|
|
1489
|
+
```
|
|
1490
|
+
|
|
1491
|
+
```bash packageManager="bun"
|
|
1492
|
+
bunx intlayer extract
|
|
1493
|
+
```
|
|
1494
|
+
|
|
1495
|
+
</Tab>
|
|
1496
|
+
<Tab value='Compilador Babel'>
|
|
1497
|
+
|
|
1498
|
+
Atualize seu `vite.config.ts` para incluir o plugin `intlayerCompiler`:
|
|
1499
|
+
|
|
1500
|
+
```ts fileName="vite.config.ts"
|
|
1501
|
+
import { defineConfig } from "vite";
|
|
1502
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1503
|
+
|
|
1504
|
+
export default defineConfig({
|
|
1505
|
+
plugins: [
|
|
1506
|
+
intlayer(),
|
|
1507
|
+
intlayerCompiler(), // Adiciona o plugin do compilador
|
|
1508
|
+
],
|
|
1509
|
+
});
|
|
1510
|
+
```
|
|
1511
|
+
|
|
1512
|
+
```bash packageManager="npm"
|
|
1513
|
+
npm run build # Ou npm run dev
|
|
1514
|
+
```
|
|
1515
|
+
|
|
1516
|
+
```bash packageManager="pnpm"
|
|
1517
|
+
pnpm run build # Or pnpm run dev
|
|
1518
|
+
```
|
|
1519
|
+
|
|
1520
|
+
```bash packageManager="yarn"
|
|
1521
|
+
yarn build # Or yarn dev
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
```bash packageManager="bun"
|
|
1525
|
+
bun run build # Or bun run dev
|
|
1526
|
+
```
|
|
1527
|
+
|
|
1528
|
+
</Tab>
|
|
1529
|
+
</Tabs>
|
|
1530
|
+
|
|
1375
1531
|
### Configurar TypeScript
|
|
1376
1532
|
|
|
1377
1533
|
O Intlayer utiliza a ampliação de módulos para aproveitar os benefícios do TypeScript e tornar sua base de código mais robusta.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Solid i18n - Como traduzir uma aplicação Solid em 2026
|
|
5
5
|
description: Descubra como tornar seu site Vite e Solid multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
|
|
6
6
|
keywords:
|
|
@@ -534,6 +534,162 @@ const MyComponent = () => {
|
|
|
534
534
|
};
|
|
535
535
|
```
|
|
536
536
|
|
|
537
|
+
### (Opcional) Etapa 1 : Extrair o conteúdo dos seus componentes
|
|
538
|
+
|
|
539
|
+
Se você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
|
|
540
|
+
|
|
541
|
+
Para facilitar esse processo, o Intlayer propõe um [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) / [extrator](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) para transformar seus componentes e extrair o conteúdo.
|
|
542
|
+
|
|
543
|
+
Para configurá-lo, você pode adicionar uma seção `compiler` no seu arquivo `intlayer.config.ts`:
|
|
544
|
+
|
|
545
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
546
|
+
import { type IntlayerConfig } from "intlayer";
|
|
547
|
+
|
|
548
|
+
const config: IntlayerConfig = {
|
|
549
|
+
// ... Resto da sua configuração
|
|
550
|
+
compiler: {
|
|
551
|
+
/**
|
|
552
|
+
* Indica se o compilador deve ser ativado.
|
|
553
|
+
*/
|
|
554
|
+
enabled: true,
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* Define o caminho dos arquivos de saída
|
|
558
|
+
*/
|
|
559
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
560
|
+
|
|
561
|
+
/**
|
|
562
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
563
|
+
*/
|
|
564
|
+
saveComponents: false,
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* Prefixo da chave do dicionário
|
|
568
|
+
*/
|
|
569
|
+
dictionaryKeyPrefix: "",
|
|
570
|
+
},
|
|
571
|
+
};
|
|
572
|
+
|
|
573
|
+
export default config;
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
577
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
578
|
+
const config = {
|
|
579
|
+
// ... Resto da sua configuração
|
|
580
|
+
compiler: {
|
|
581
|
+
/**
|
|
582
|
+
* Indica se o compilador deve ser ativado.
|
|
583
|
+
*/
|
|
584
|
+
enabled: true,
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* Define o caminho dos arquivos de saída
|
|
588
|
+
*/
|
|
589
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
593
|
+
*/
|
|
594
|
+
saveComponents: false,
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* Prefixo da chave do dicionário
|
|
598
|
+
*/
|
|
599
|
+
dictionaryKeyPrefix: "",
|
|
600
|
+
},
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
export default config;
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
607
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
608
|
+
const config = {
|
|
609
|
+
// ... Resto da sua configuração
|
|
610
|
+
compiler: {
|
|
611
|
+
/**
|
|
612
|
+
* Indica se o compilador deve ser ativado.
|
|
613
|
+
*/
|
|
614
|
+
enabled: true,
|
|
615
|
+
|
|
616
|
+
/**
|
|
617
|
+
* Define o caminho dos arquivos de saída
|
|
618
|
+
*/
|
|
619
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
623
|
+
*/
|
|
624
|
+
saveComponents: false,
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* Prefixo da chave do dicionário
|
|
628
|
+
*/
|
|
629
|
+
dictionaryKeyPrefix: "",
|
|
630
|
+
},
|
|
631
|
+
};
|
|
632
|
+
|
|
633
|
+
module.exports = config;
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
<Tabs>
|
|
637
|
+
<Tab value='Comando de extração'>
|
|
638
|
+
|
|
639
|
+
Execute o extrator para transformar seus componentes e extrair o conteúdo
|
|
640
|
+
|
|
641
|
+
```bash packageManager="npm"
|
|
642
|
+
npx intlayer extract
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
```bash packageManager="pnpm"
|
|
646
|
+
pnpm intlayer extract
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
```bash packageManager="yarn"
|
|
650
|
+
yarn intlayer extract
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
```bash packageManager="bun"
|
|
654
|
+
bunx intlayer extract
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
</Tab>
|
|
658
|
+
<Tab value='Compilador Babel'>
|
|
659
|
+
|
|
660
|
+
Atualize seu `vite.config.ts` para incluir o plugin `intlayerCompiler`:
|
|
661
|
+
|
|
662
|
+
```ts fileName="vite.config.ts"
|
|
663
|
+
import { defineConfig } from "vite";
|
|
664
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
665
|
+
|
|
666
|
+
export default defineConfig({
|
|
667
|
+
plugins: [
|
|
668
|
+
intlayer(),
|
|
669
|
+
intlayerCompiler(), // Adiciona o plugin do compilador
|
|
670
|
+
],
|
|
671
|
+
});
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
```bash packageManager="npm"
|
|
675
|
+
npm run build # Ou npm run dev
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
```bash packageManager="pnpm"
|
|
679
|
+
pnpm run build # Or pnpm run dev
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
```bash packageManager="yarn"
|
|
683
|
+
yarn build # Or yarn dev
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
```bash packageManager="bun"
|
|
687
|
+
bun run build # Or bun run dev
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
</Tab>
|
|
691
|
+
</Tabs>
|
|
692
|
+
|
|
537
693
|
### Configurar TypeScript
|
|
538
694
|
|
|
539
695
|
Certifique-se de que a sua configuração TypeScript inclui os tipos autogerados.
|
|
@@ -553,8 +709,8 @@ Certifique-se de que a sua configuração TypeScript inclui os tipos autogerados
|
|
|
553
709
|
|
|
554
710
|
Para isso, pode adicionar as seguintes instruções ao seu ficheiro `.gitignore`:
|
|
555
711
|
|
|
556
|
-
```
|
|
557
|
-
#
|
|
712
|
+
```bash
|
|
713
|
+
# Ignorar os ficheiros gerados pelo Intlayer
|
|
558
714
|
.intlayer
|
|
559
715
|
```
|
|
560
716
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Svelte i18n - Como traduzir uma aplicação Svelte em 2026
|
|
5
5
|
description: Descubra como tornar seu site Vite e Svelte multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
|
|
6
6
|
keywords:
|
|
@@ -491,8 +491,8 @@ const changeLocale = (event: Event) => {
|
|
|
491
491
|
|
|
492
492
|
Para isso, você pode adicionar as seguintes instruções no seu arquivo `.gitignore`:
|
|
493
493
|
|
|
494
|
-
```
|
|
495
|
-
#
|
|
494
|
+
```bash
|
|
495
|
+
# Ignorar os arquivos gerados pelo Intlayer
|
|
496
496
|
.intlayer
|
|
497
497
|
```
|
|
498
498
|
|
|
@@ -513,6 +513,162 @@ Para mais detalhes sobre como usar a extensão, consulte a [documentação da In
|
|
|
513
513
|
|
|
514
514
|
---
|
|
515
515
|
|
|
516
|
+
### (Opcional) Etapa 1 : Extrair o conteúdo dos seus componentes
|
|
517
|
+
|
|
518
|
+
Se você tiver uma base de código existente, transformar milhares de arquivos pode ser demorado.
|
|
519
|
+
|
|
520
|
+
Para facilitar esse processo, o Intlayer propõe um [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/compiler.md) / [extrator](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/extract.md) para transformar seus componentes e extrair o conteúdo.
|
|
521
|
+
|
|
522
|
+
Para configurá-lo, você pode adicionar uma seção `compiler` no seu arquivo `intlayer.config.ts`:
|
|
523
|
+
|
|
524
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
525
|
+
import { type IntlayerConfig } from "intlayer";
|
|
526
|
+
|
|
527
|
+
const config: IntlayerConfig = {
|
|
528
|
+
// ... Resto da sua configuração
|
|
529
|
+
compiler: {
|
|
530
|
+
/**
|
|
531
|
+
* Indica se o compilador deve ser ativado.
|
|
532
|
+
*/
|
|
533
|
+
enabled: true,
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* Define o caminho dos arquivos de saída
|
|
537
|
+
*/
|
|
538
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
542
|
+
*/
|
|
543
|
+
saveComponents: false,
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* Prefixo da chave do dicionário
|
|
547
|
+
*/
|
|
548
|
+
dictionaryKeyPrefix: "",
|
|
549
|
+
},
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
export default config;
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
556
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
557
|
+
const config = {
|
|
558
|
+
// ... Resto da sua configuração
|
|
559
|
+
compiler: {
|
|
560
|
+
/**
|
|
561
|
+
* Indica se o compilador deve ser ativado.
|
|
562
|
+
*/
|
|
563
|
+
enabled: true,
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* Define o caminho dos arquivos de saída
|
|
567
|
+
*/
|
|
568
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
572
|
+
*/
|
|
573
|
+
saveComponents: false,
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* Prefixo da chave do dicionário
|
|
577
|
+
*/
|
|
578
|
+
dictionaryKeyPrefix: "",
|
|
579
|
+
},
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
export default config;
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
586
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
587
|
+
const config = {
|
|
588
|
+
// ... Resto da sua configuração
|
|
589
|
+
compiler: {
|
|
590
|
+
/**
|
|
591
|
+
* Indica se o compilador deve ser ativado.
|
|
592
|
+
*/
|
|
593
|
+
enabled: true,
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Define o caminho dos arquivos de saída
|
|
597
|
+
*/
|
|
598
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Indica se os componentes devem ser salvos após serem transformados. Dessa forma, o compilador pode ser executado apenas uma vez para transformar o aplicativo e depois removido.
|
|
602
|
+
*/
|
|
603
|
+
saveComponents: false,
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Prefixo da chave do dicionário
|
|
607
|
+
*/
|
|
608
|
+
dictionaryKeyPrefix: "",
|
|
609
|
+
},
|
|
610
|
+
};
|
|
611
|
+
|
|
612
|
+
module.exports = config;
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
<Tabs>
|
|
616
|
+
<Tab value='Comando de extração'>
|
|
617
|
+
|
|
618
|
+
Execute o extrator para transformar seus componentes e extrair o conteúdo
|
|
619
|
+
|
|
620
|
+
```bash packageManager="npm"
|
|
621
|
+
npx intlayer extract
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
```bash packageManager="pnpm"
|
|
625
|
+
pnpm intlayer extract
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
```bash packageManager="yarn"
|
|
629
|
+
yarn intlayer extract
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
```bash packageManager="bun"
|
|
633
|
+
bunx intlayer extract
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
</Tab>
|
|
637
|
+
<Tab value='Compilador Babel'>
|
|
638
|
+
|
|
639
|
+
Atualize seu `vite.config.ts` para incluir o plugin `intlayerCompiler`:
|
|
640
|
+
|
|
641
|
+
```ts fileName="vite.config.ts"
|
|
642
|
+
import { defineConfig } from "vite";
|
|
643
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
644
|
+
|
|
645
|
+
export default defineConfig({
|
|
646
|
+
plugins: [
|
|
647
|
+
intlayer(),
|
|
648
|
+
intlayerCompiler(), // Adiciona o plugin do compilador
|
|
649
|
+
],
|
|
650
|
+
});
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
```bash packageManager="npm"
|
|
654
|
+
npm run build # Ou npm run dev
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
```bash packageManager="pnpm"
|
|
658
|
+
pnpm run build # Or pnpm run dev
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
```bash packageManager="yarn"
|
|
662
|
+
yarn build # Or yarn dev
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
```bash packageManager="bun"
|
|
666
|
+
bun run build # Or bun run dev
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
</Tab>
|
|
670
|
+
</Tabs>
|
|
671
|
+
|
|
516
672
|
### Ir Além
|
|
517
673
|
|
|
518
674
|
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).
|