@intlayer/docs 8.3.0-canary.4 → 8.3.1

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.
Files changed (240) hide show
  1. package/docs/ar/compiler.md +84 -49
  2. package/docs/ar/configuration.md +80 -37
  3. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  4. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  5. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  6. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  7. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  8. package/docs/ar/intlayer_with_tanstack.md +176 -1
  9. package/docs/ar/intlayer_with_vite+preact.md +174 -1
  10. package/docs/ar/intlayer_with_vite+react.md +174 -1
  11. package/docs/ar/intlayer_with_vite+solid.md +174 -1
  12. package/docs/ar/intlayer_with_vite+svelte.md +174 -1
  13. package/docs/ar/intlayer_with_vite+vue.md +174 -1
  14. package/docs/de/compiler.md +83 -48
  15. package/docs/de/configuration.md +434 -212
  16. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  17. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  18. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  19. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  20. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  21. package/docs/de/intlayer_with_tanstack.md +159 -1
  22. package/docs/de/intlayer_with_vite+preact.md +157 -1
  23. package/docs/de/intlayer_with_vite+react.md +157 -1
  24. package/docs/de/intlayer_with_vite+solid.md +159 -3
  25. package/docs/de/intlayer_with_vite+svelte.md +157 -1
  26. package/docs/de/intlayer_with_vite+vue.md +157 -1
  27. package/docs/en/compiler.md +60 -33
  28. package/docs/en/configuration.md +80 -57
  29. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  30. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  31. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  32. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  33. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  34. package/docs/en/intlayer_with_tanstack.md +160 -1
  35. package/docs/en/intlayer_with_vite+preact.md +159 -0
  36. package/docs/en/intlayer_with_vite+react.md +159 -0
  37. package/docs/en/intlayer_with_vite+solid.md +148 -27
  38. package/docs/en/intlayer_with_vite+svelte.md +159 -0
  39. package/docs/en/intlayer_with_vite+vue.md +142 -41
  40. package/docs/en-GB/compiler.md +66 -34
  41. package/docs/en-GB/configuration.md +78 -36
  42. package/docs/es/compiler.md +83 -48
  43. package/docs/es/configuration.md +429 -206
  44. package/docs/es/intlayer_with_adonisjs.md +1 -1
  45. package/docs/es/intlayer_with_express.md +1 -1
  46. package/docs/es/intlayer_with_fastify.md +1 -1
  47. package/docs/es/intlayer_with_hono.md +1 -1
  48. package/docs/es/intlayer_with_nestjs.md +1 -1
  49. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  50. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  51. package/docs/es/intlayer_with_nuxt.md +1 -1
  52. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  53. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  54. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  55. package/docs/es/intlayer_with_tanstack.md +160 -2
  56. package/docs/es/intlayer_with_vite+preact.md +162 -6
  57. package/docs/es/intlayer_with_vite+react.md +160 -4
  58. package/docs/es/intlayer_with_vite+solid.md +163 -7
  59. package/docs/es/intlayer_with_vite+svelte.md +157 -1
  60. package/docs/es/intlayer_with_vite+vue.md +165 -9
  61. package/docs/fr/compiler.md +81 -46
  62. package/docs/fr/configuration.md +355 -134
  63. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  64. package/docs/fr/intlayer_with_express.md +1 -1
  65. package/docs/fr/intlayer_with_fastify.md +1 -1
  66. package/docs/fr/intlayer_with_hono.md +1 -1
  67. package/docs/fr/intlayer_with_nestjs.md +1 -1
  68. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  69. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  70. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  71. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  72. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  73. package/docs/fr/intlayer_with_tanstack.md +159 -1
  74. package/docs/fr/intlayer_with_vite+preact.md +164 -8
  75. package/docs/fr/intlayer_with_vite+react.md +162 -6
  76. package/docs/fr/intlayer_with_vite+solid.md +163 -7
  77. package/docs/fr/intlayer_with_vite+svelte.md +157 -1
  78. package/docs/fr/intlayer_with_vite+vue.md +164 -8
  79. package/docs/hi/compiler.md +81 -46
  80. package/docs/hi/configuration.md +87 -44
  81. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  82. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  83. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  84. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  85. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  86. package/docs/hi/intlayer_with_tanstack.md +159 -1
  87. package/docs/hi/intlayer_with_vite+preact.md +157 -1
  88. package/docs/hi/intlayer_with_vite+react.md +157 -1
  89. package/docs/hi/intlayer_with_vite+solid.md +157 -1
  90. package/docs/hi/intlayer_with_vite+svelte.md +157 -1
  91. package/docs/hi/intlayer_with_vite+vue.md +157 -1
  92. package/docs/id/compiler.md +84 -51
  93. package/docs/id/configuration.md +83 -45
  94. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  95. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  96. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  97. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  98. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  99. package/docs/id/intlayer_with_tanstack.md +159 -1
  100. package/docs/id/intlayer_with_vite+preact.md +157 -1
  101. package/docs/id/intlayer_with_vite+react.md +157 -1
  102. package/docs/id/intlayer_with_vite+solid.md +157 -1
  103. package/docs/id/intlayer_with_vite+svelte.md +157 -1
  104. package/docs/id/intlayer_with_vite+vue.md +157 -1
  105. package/docs/it/compiler.md +81 -46
  106. package/docs/it/configuration.md +426 -204
  107. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  108. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  109. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  110. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  111. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  112. package/docs/it/intlayer_with_tanstack.md +159 -1
  113. package/docs/it/intlayer_with_vite+preact.md +157 -1
  114. package/docs/it/intlayer_with_vite+react.md +157 -1
  115. package/docs/it/intlayer_with_vite+solid.md +159 -3
  116. package/docs/it/intlayer_with_vite+svelte.md +157 -1
  117. package/docs/it/intlayer_with_vite+vue.md +157 -1
  118. package/docs/ja/compiler.md +94 -58
  119. package/docs/ja/configuration.md +88 -45
  120. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  121. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  122. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  123. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  124. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  125. package/docs/ja/intlayer_with_tanstack.md +131 -642
  126. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  127. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  128. package/docs/ja/intlayer_with_vite+solid.md +159 -3
  129. package/docs/ja/intlayer_with_vite+svelte.md +157 -1
  130. package/docs/ja/intlayer_with_vite+vue.md +157 -1
  131. package/docs/ko/compiler.md +88 -52
  132. package/docs/ko/configuration.md +87 -44
  133. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  134. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  135. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  136. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  137. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  138. package/docs/ko/intlayer_with_tanstack.md +159 -1
  139. package/docs/ko/intlayer_with_vite+preact.md +157 -1
  140. package/docs/ko/intlayer_with_vite+react.md +157 -1
  141. package/docs/ko/intlayer_with_vite+solid.md +159 -3
  142. package/docs/ko/intlayer_with_vite+svelte.md +157 -1
  143. package/docs/ko/intlayer_with_vite+vue.md +157 -1
  144. package/docs/pl/compiler.md +84 -51
  145. package/docs/pl/configuration.md +83 -37
  146. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  147. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  148. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  149. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  150. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  151. package/docs/pl/intlayer_with_tanstack.md +159 -1
  152. package/docs/pl/intlayer_with_vite+preact.md +157 -1
  153. package/docs/pl/intlayer_with_vite+react.md +157 -1
  154. package/docs/pl/intlayer_with_vite+solid.md +157 -1
  155. package/docs/pl/intlayer_with_vite+svelte.md +157 -1
  156. package/docs/pl/intlayer_with_vite+vue.md +157 -1
  157. package/docs/pt/compiler.md +81 -46
  158. package/docs/pt/configuration.md +404 -194
  159. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  160. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  161. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  162. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  163. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  164. package/docs/pt/intlayer_with_tanstack.md +159 -1
  165. package/docs/pt/intlayer_with_vite+preact.md +157 -1
  166. package/docs/pt/intlayer_with_vite+react.md +157 -1
  167. package/docs/pt/intlayer_with_vite+solid.md +157 -1
  168. package/docs/pt/intlayer_with_vite+svelte.md +157 -1
  169. package/docs/pt/intlayer_with_vite+vue.md +157 -1
  170. package/docs/ru/compiler.md +90 -57
  171. package/docs/ru/configuration.md +76 -46
  172. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  173. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  174. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  175. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  176. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  177. package/docs/ru/intlayer_with_tanstack.md +159 -1
  178. package/docs/ru/intlayer_with_vite+preact.md +157 -1
  179. package/docs/ru/intlayer_with_vite+react.md +157 -1
  180. package/docs/ru/intlayer_with_vite+solid.md +157 -1
  181. package/docs/ru/intlayer_with_vite+svelte.md +157 -1
  182. package/docs/ru/intlayer_with_vite+vue.md +157 -1
  183. package/docs/tr/compiler.md +85 -52
  184. package/docs/tr/configuration.md +83 -40
  185. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  186. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  187. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  188. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  189. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  190. package/docs/tr/intlayer_with_tanstack.md +159 -1
  191. package/docs/tr/intlayer_with_vite+preact.md +157 -1
  192. package/docs/tr/intlayer_with_vite+react.md +157 -1
  193. package/docs/tr/intlayer_with_vite+solid.md +157 -1
  194. package/docs/tr/intlayer_with_vite+svelte.md +157 -1
  195. package/docs/tr/intlayer_with_vite+vue.md +157 -1
  196. package/docs/uk/compiler.md +96 -61
  197. package/docs/uk/configuration.md +83 -37
  198. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  199. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  200. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  201. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  202. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  203. package/docs/uk/intlayer_with_tanstack.md +159 -1
  204. package/docs/uk/intlayer_with_vite+preact.md +157 -1
  205. package/docs/uk/intlayer_with_vite+react.md +157 -1
  206. package/docs/uk/intlayer_with_vite+solid.md +157 -1
  207. package/docs/uk/intlayer_with_vite+svelte.md +157 -1
  208. package/docs/uk/intlayer_with_vite+vue.md +157 -1
  209. package/docs/vi/compiler.md +85 -50
  210. package/docs/vi/configuration.md +85 -39
  211. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  212. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  213. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  214. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  215. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  216. package/docs/vi/intlayer_with_tanstack.md +159 -1
  217. package/docs/vi/intlayer_with_vite+preact.md +157 -1
  218. package/docs/vi/intlayer_with_vite+react.md +157 -1
  219. package/docs/vi/intlayer_with_vite+solid.md +157 -1
  220. package/docs/vi/intlayer_with_vite+svelte.md +157 -1
  221. package/docs/vi/intlayer_with_vite+vue.md +157 -1
  222. package/docs/zh/compiler.md +84 -49
  223. package/docs/zh/configuration.md +80 -37
  224. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  225. package/docs/zh/intlayer_with_express.md +1 -1
  226. package/docs/zh/intlayer_with_fastify.md +1 -1
  227. package/docs/zh/intlayer_with_hono.md +1 -1
  228. package/docs/zh/intlayer_with_nestjs.md +1 -1
  229. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  230. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  231. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  232. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  233. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  234. package/docs/zh/intlayer_with_tanstack.md +159 -1
  235. package/docs/zh/intlayer_with_vite+preact.md +159 -3
  236. package/docs/zh/intlayer_with_vite+react.md +157 -1
  237. package/docs/zh/intlayer_with_vite+solid.md +161 -5
  238. package/docs/zh/intlayer_with_vite+svelte.md +157 -1
  239. package/docs/zh/intlayer_with_vite+vue.md +158 -2
  240. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Solid i18n - Cómo traducir una aplicación Solid en 2026
5
5
  description: Descubre cómo hacer tu sitio web con Vite y Solid multilingüe. Sigue la documentación para internacionalizar (i18n) y traducirlo.
6
6
  keywords:
@@ -24,12 +24,12 @@ history:
24
24
  changes: Historial inicial
25
25
  ---
26
26
 
27
- # Traduce tu Vite and Solid con Intlayer | Internacionalización (i18n)
27
+ # Traduce tu Vite y Solid con Intlayer | Internacionalización (i18n)
28
28
 
29
29
  <Tabs defaultTab="video">
30
- <Tab label="Video" value="video">
30
+ <Tab label="Vídeo" value="video">
31
31
 
32
- <iframe title="The best i18n solution for Vite and Solid? 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"/>
32
+ <iframe title="The best i18n solution for Vite y Solid? 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"/>
33
33
 
34
34
  </Tab>
35
35
  <Tab label="Code" value="code">
@@ -37,7 +37,7 @@ history:
37
37
  <iframe
38
38
  src="https://stackblitz.com/github/aymericzip/intlayer-vite-solid-template?embed=1&ctl=1&file=intlayer.config.ts"
39
39
  className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
40
- title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
40
+ title="Demo CodeSandbox - Cómo internacionalizar tu aplicación usando Intlayer"
41
41
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
42
42
  loading="lazy"
43
43
  />
@@ -45,7 +45,7 @@ history:
45
45
  </Tab>
46
46
  </Tabs>
47
47
 
48
- ## Table of Contents
48
+ ## Tabla de contenidos
49
49
 
50
50
  <TOC/>
51
51
 
@@ -68,7 +68,7 @@ Con Intlayer, puedes:
68
68
 
69
69
  ## Guía paso a paso para configurar Intlayer en una aplicación Vite y Solid
70
70
 
71
- ## Table of Contents
71
+ ## Tabla de contenidos
72
72
 
73
73
  <TOC/>
74
74
 
@@ -537,6 +537,162 @@ const MyComponent = () => {
537
537
  };
538
538
  ```
539
539
 
540
+ ### (Opcional) Paso 12 : Extraer el contenido de tus componentes
541
+
542
+ Si tienes una base de código existente, transformar miles de archivos puede llevar mucho tiempo.
543
+
544
+ Para facilitar este proceso, Intlayer propone un [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/extract.md) para transformar tus componentes y extraer el contenido.
545
+
546
+ Para configurarlo, puedes agregar una sección `compiler` en tu archivo `intlayer.config.ts` :
547
+
548
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
549
+ import { type IntlayerConfig } from "intlayer";
550
+
551
+ const config: IntlayerConfig = {
552
+ // ... Resto de tu configuración
553
+ compiler: {
554
+ /**
555
+ * Indica si el compilador debe estar habilitado.
556
+ */
557
+ enabled: true,
558
+
559
+ /**
560
+ * Define la ruta de los archivos de salida
561
+ */
562
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
563
+
564
+ /**
565
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
566
+ */
567
+ saveComponents: false,
568
+
569
+ /**
570
+ * Prefijo de clave de diccionario
571
+ */
572
+ dictionaryKeyPrefix: "",
573
+ },
574
+ };
575
+
576
+ export default config;
577
+ ```
578
+
579
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
580
+ /** @type {import('intlayer').IntlayerConfig} */
581
+ const config = {
582
+ // ... Resto de tu configuración
583
+ compiler: {
584
+ /**
585
+ * Indica si el compilador debe estar habilitado.
586
+ */
587
+ enabled: true,
588
+
589
+ /**
590
+ * Define la ruta de los archivos de salida
591
+ */
592
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
593
+
594
+ /**
595
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
596
+ */
597
+ saveComponents: false,
598
+
599
+ /**
600
+ * Prefijo de clave de diccionario
601
+ */
602
+ dictionaryKeyPrefix: "",
603
+ },
604
+ };
605
+
606
+ export default config;
607
+ ```
608
+
609
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
610
+ /** @type {import('intlayer').IntlayerConfig} */
611
+ const config = {
612
+ // ... Resto de tu configuración
613
+ compiler: {
614
+ /**
615
+ * Indica si el compilador debe estar habilitado.
616
+ */
617
+ enabled: true,
618
+
619
+ /**
620
+ * Define la ruta de los archivos de salida
621
+ */
622
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
623
+
624
+ /**
625
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
626
+ */
627
+ saveComponents: false,
628
+
629
+ /**
630
+ * Prefijo de clave de diccionario
631
+ */
632
+ dictionaryKeyPrefix: "",
633
+ },
634
+ };
635
+
636
+ module.exports = config;
637
+ ```
638
+
639
+ <Tabs>
640
+ <Tab value='Comando de extracción'>
641
+
642
+ Ejecuta el extractor para transformar tus componentes y extraer el contenido
643
+
644
+ ```bash packageManager="npm"
645
+ npx intlayer extract
646
+ ```
647
+
648
+ ```bash packageManager="pnpm"
649
+ pnpm intlayer extract
650
+ ```
651
+
652
+ ```bash packageManager="yarn"
653
+ yarn intlayer extract
654
+ ```
655
+
656
+ ```bash packageManager="bun"
657
+ bunx intlayer extract
658
+ ```
659
+
660
+ </Tab>
661
+ <Tab value='Compilador Babel'>
662
+
663
+ Actualiza tu archivo `vite.config.ts` para incluir el plugin `intlayerCompiler` :
664
+
665
+ ```ts fileName="vite.config.ts"
666
+ import { defineConfig } from "vite";
667
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
668
+
669
+ export default defineConfig({
670
+ plugins: [
671
+ intlayer(),
672
+ intlayerCompiler(), // Agrega el plugin del compilador
673
+ ],
674
+ });
675
+ ```
676
+
677
+ ```bash packageManager="npm"
678
+ npm run build # O npm run dev
679
+ ```
680
+
681
+ ```bash packageManager="pnpm"
682
+ pnpm run build # O pnpm run dev
683
+ ```
684
+
685
+ ```bash packageManager="yarn"
686
+ yarn build # O yarn dev
687
+ ```
688
+
689
+ ```bash packageManager="bun"
690
+ bun run build # Or bun run dev
691
+ ```
692
+
693
+ </Tab>
694
+ </Tabs>
695
+
540
696
  ### Configurar TypeScript
541
697
 
542
698
  Asegúrate de que tu configuración de TypeScript incluya los tipos autogenerados.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Svelte i18n - Cómo traducir una aplicación Svelte en 2026
5
5
  description: Descubre cómo hacer tu sitio web Vite y Svelte multilingüe. Sigue la documentación para internacionalizar (i18n) y traducirlo.
6
6
  keywords:
@@ -485,6 +485,162 @@ const changeLocale = (event: Event) => {
485
485
  </div>
486
486
  ```
487
487
 
488
+ ### (Opcional) Paso 9 : Extraer el contenido de tus componentes
489
+
490
+ Si tienes una base de código existente, transformar miles de archivos puede llevar mucho tiempo.
491
+
492
+ Para facilitar este proceso, Intlayer propone un [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/extract.md) para transformar tus componentes y extraer el contenido.
493
+
494
+ Para configurarlo, puedes agregar una sección `compiler` en tu archivo `intlayer.config.ts` :
495
+
496
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
497
+ import { type IntlayerConfig } from "intlayer";
498
+
499
+ const config: IntlayerConfig = {
500
+ // ... Resto de tu configuración
501
+ compiler: {
502
+ /**
503
+ * Indica si el compilador debe estar habilitado.
504
+ */
505
+ enabled: true,
506
+
507
+ /**
508
+ * Define la ruta de los archivos de salida
509
+ */
510
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
511
+
512
+ /**
513
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
514
+ */
515
+ saveComponents: false,
516
+
517
+ /**
518
+ * Prefijo de clave de diccionario
519
+ */
520
+ dictionaryKeyPrefix: "",
521
+ },
522
+ };
523
+
524
+ export default config;
525
+ ```
526
+
527
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
528
+ /** @type {import('intlayer').IntlayerConfig} */
529
+ const config = {
530
+ // ... Resto de tu configuración
531
+ compiler: {
532
+ /**
533
+ * Indica si el compilador debe estar habilitado.
534
+ */
535
+ enabled: true,
536
+
537
+ /**
538
+ * Define la ruta de los archivos de salida
539
+ */
540
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
541
+
542
+ /**
543
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
544
+ */
545
+ saveComponents: false,
546
+
547
+ /**
548
+ * Prefijo de clave de diccionario
549
+ */
550
+ dictionaryKeyPrefix: "",
551
+ },
552
+ };
553
+
554
+ export default config;
555
+ ```
556
+
557
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
558
+ /** @type {import('intlayer').IntlayerConfig} */
559
+ const config = {
560
+ // ... Resto de tu configuración
561
+ compiler: {
562
+ /**
563
+ * Indica si el compilador debe estar habilitado.
564
+ */
565
+ enabled: true,
566
+
567
+ /**
568
+ * Define la ruta de los archivos de salida
569
+ */
570
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
571
+
572
+ /**
573
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
574
+ */
575
+ saveComponents: false,
576
+
577
+ /**
578
+ * Prefijo de clave de diccionario
579
+ */
580
+ dictionaryKeyPrefix: "",
581
+ },
582
+ };
583
+
584
+ module.exports = config;
585
+ ```
586
+
587
+ <Tabs>
588
+ <Tab value='Comando de extracción'>
589
+
590
+ Ejecuta el extractor para transformar tus componentes y extraer el contenido
591
+
592
+ ```bash packageManager="npm"
593
+ npx intlayer extract
594
+ ```
595
+
596
+ ```bash packageManager="pnpm"
597
+ pnpm intlayer extract
598
+ ```
599
+
600
+ ```bash packageManager="yarn"
601
+ yarn intlayer extract
602
+ ```
603
+
604
+ ```bash packageManager="bun"
605
+ bunx intlayer extract
606
+ ```
607
+
608
+ </Tab>
609
+ <Tab value='Compilador Babel'>
610
+
611
+ Actualiza tu archivo `vite.config.ts` para incluir el plugin `intlayerCompiler` :
612
+
613
+ ```ts fileName="vite.config.ts"
614
+ import { defineConfig } from "vite";
615
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
616
+
617
+ export default defineConfig({
618
+ plugins: [
619
+ intlayer(),
620
+ intlayerCompiler(), // Agrega el plugin del compilador
621
+ ],
622
+ });
623
+ ```
624
+
625
+ ```bash packageManager="npm"
626
+ npm run build # O npm run dev
627
+ ```
628
+
629
+ ```bash packageManager="pnpm"
630
+ pnpm run build # O pnpm run dev
631
+ ```
632
+
633
+ ```bash packageManager="yarn"
634
+ yarn build # O yarn dev
635
+ ```
636
+
637
+ ```bash packageManager="bun"
638
+ bun run build # Or bun run dev
639
+ ```
640
+
641
+ </Tab>
642
+ </Tabs>
643
+
488
644
  ### Configuración de Git
489
645
 
490
646
  Se recomienda ignorar los archivos generados por Intlayer. Esto te permite evitar comprometerlos en tu repositorio Git.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Vue i18n - Cómo traducir una aplicación Vue en 2026
5
5
  description: Descubre cómo hacer tu sitio web con Vite y Vue multilingüe. Sigue la documentación para internacionalizar (i18n) y traducirlo.
6
6
  keywords:
@@ -25,7 +25,7 @@ history:
25
25
  changes: Historial inicial
26
26
  ---
27
27
 
28
- # Traduce tu Vite and Vue con Intlayer | Internacionalización (i18n)
28
+ # Traduce tu Vite y Vue con Intlayer | Internacionalización (i18n)
29
29
 
30
30
  ## ¿Qué es Intlayer?
31
31
 
@@ -45,7 +45,7 @@ Con Intlayer, puedes:
45
45
  <Tabs defaultTab="video">
46
46
  <Tab label="Vídeo" value="video">
47
47
 
48
- <iframe title="The best i18n solution for Vite and Vue? 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/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
48
+ <iframe title="The best i18n solution for Vite y Vue? 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/IE3XWkZ6a5U?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
49
49
 
50
50
  </Tab>
51
51
  <Tab label="Código" value="code">
@@ -53,7 +53,7 @@ Con Intlayer, puedes:
53
53
  <iframe
54
54
  src="https://stackblitz.com/github/aymericzip/intlayer-vite-vue-template?embed=1&ctl=1&file=intlayer.config.ts"
55
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 CodeSandbox - How to Internationalize your application using Intlayer"
56
+ title="Demo CodeSandbox - Cómo internacionalizar tu aplicación usando Intlayer"
57
57
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
58
58
  loading="lazy"
59
59
  />
@@ -237,7 +237,7 @@ const helloWorldContent = {
237
237
  es: "Vue Docs Scaling up Guide",
238
238
  }),
239
239
  readTheDocs: t({
240
- en: "Click on the Vite and Vue logos to learn more",
240
+ en: "Click on the Vite y Vue logos to learn more",
241
241
  fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
242
242
  es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
243
243
  }),
@@ -279,7 +279,7 @@ const helloWorldContent = {
279
279
  es: "Guía de escalado de Vue Docs",
280
280
  }),
281
281
  readTheDocs: t({
282
- en: "Click on the Vite and Vue logos to learn more",
282
+ en: "Click on the Vite y Vue logos to learn more",
283
283
  fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
284
284
  es: "Haz clic en los logotipos de Vite y Vue para obtener más información",
285
285
  fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
@@ -321,7 +321,7 @@ const appContent = {
321
321
  es: "Guía de escalado de Vue Docs",
322
322
  }),
323
323
  readTheDocs: t({
324
- en: "Click on the Vite and Vue logos to learn more",
324
+ en: "Click on the Vite y Vue logos to learn more",
325
325
  fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
326
326
  es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
327
327
  es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
@@ -388,7 +388,7 @@ module.exports = appContent;
388
388
  "readTheDocs": {
389
389
  "nodeType": "translation",
390
390
  "translation": {
391
- "en": "Click on the Vite and Vue logos to learn more",
391
+ "en": "Click on the Vite y Vue logos to learn more",
392
392
  "fr": "Cliquez sur les logos Vite et Vue pour en savoir plus",
393
393
  "es": "Haga clic en los logotipos de Vite y Vue para obtener más información"
394
394
  }
@@ -433,7 +433,7 @@ module.exports = appContent;
433
433
  "readTheDocs": {
434
434
  "nodeType": "translation",
435
435
  "translation": {
436
- "en": "Click on the Vite and Vue logos to learn more",
436
+ "en": "Click on the Vite y Vue logos to learn more",
437
437
  "fr": "Cliquez sur les logos Vite et Vue pour en savoir plus",
438
438
  "es": "Haga clic en los logotipos de Vite y Vue para obtener más información"
439
439
  }
@@ -1063,6 +1063,162 @@ const { myMarkdownContent } = useIntlayer("my-component");
1063
1063
  </script>
1064
1064
  ```
1065
1065
 
1066
+ ### (Opcional) Paso 12 : Extraer el contenido de tus componentes
1067
+
1068
+ Si tienes una base de código existente, transformar miles de archivos puede llevar mucho tiempo.
1069
+
1070
+ Para facilitar este proceso, Intlayer propone un [compilador](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/extract.md) para transformar tus componentes y extraer el contenido.
1071
+
1072
+ Para configurarlo, puedes agregar una sección `compiler` en tu archivo `intlayer.config.ts` :
1073
+
1074
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
1075
+ import { type IntlayerConfig } from "intlayer";
1076
+
1077
+ const config: IntlayerConfig = {
1078
+ // ... Resto de tu configuración
1079
+ compiler: {
1080
+ /**
1081
+ * Indica si el compilador debe estar habilitado.
1082
+ */
1083
+ enabled: true,
1084
+
1085
+ /**
1086
+ * Define la ruta de los archivos de salida
1087
+ */
1088
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1089
+
1090
+ /**
1091
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
1092
+ */
1093
+ saveComponents: false,
1094
+
1095
+ /**
1096
+ * Prefijo de clave de diccionario
1097
+ */
1098
+ dictionaryKeyPrefix: "",
1099
+ },
1100
+ };
1101
+
1102
+ export default config;
1103
+ ```
1104
+
1105
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
1106
+ /** @type {import('intlayer').IntlayerConfig} */
1107
+ const config = {
1108
+ // ... Resto de tu configuración
1109
+ compiler: {
1110
+ /**
1111
+ * Indica si el compilador debe estar habilitado.
1112
+ */
1113
+ enabled: true,
1114
+
1115
+ /**
1116
+ * Define la ruta de los archivos de salida
1117
+ */
1118
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1119
+
1120
+ /**
1121
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
1122
+ */
1123
+ saveComponents: false,
1124
+
1125
+ /**
1126
+ * Prefijo de clave de diccionario
1127
+ */
1128
+ dictionaryKeyPrefix: "",
1129
+ },
1130
+ };
1131
+
1132
+ export default config;
1133
+ ```
1134
+
1135
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
1136
+ /** @type {import('intlayer').IntlayerConfig} */
1137
+ const config = {
1138
+ // ... Resto de tu configuración
1139
+ compiler: {
1140
+ /**
1141
+ * Indica si el compilador debe estar habilitado.
1142
+ */
1143
+ enabled: true,
1144
+
1145
+ /**
1146
+ * Define la ruta de los archivos de salida
1147
+ */
1148
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1149
+
1150
+ /**
1151
+ * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar.
1152
+ */
1153
+ saveComponents: false,
1154
+
1155
+ /**
1156
+ * Prefijo de clave de diccionario
1157
+ */
1158
+ dictionaryKeyPrefix: "",
1159
+ },
1160
+ };
1161
+
1162
+ module.exports = config;
1163
+ ```
1164
+
1165
+ <Tabs>
1166
+ <Tab value='Comando de extracción'>
1167
+
1168
+ Ejecuta el extractor para transformar tus componentes y extraer el contenido
1169
+
1170
+ ```bash packageManager="npm"
1171
+ npx intlayer extract
1172
+ ```
1173
+
1174
+ ```bash packageManager="pnpm"
1175
+ pnpm intlayer extract
1176
+ ```
1177
+
1178
+ ```bash packageManager="yarn"
1179
+ yarn intlayer extract
1180
+ ```
1181
+
1182
+ ```bash packageManager="bun"
1183
+ bunx intlayer extract
1184
+ ```
1185
+
1186
+ </Tab>
1187
+ <Tab value='Compilador Babel'>
1188
+
1189
+ Actualiza tu archivo `vite.config.ts` para incluir el plugin `intlayerCompiler` :
1190
+
1191
+ ```ts fileName="vite.config.ts"
1192
+ import { defineConfig } from "vite";
1193
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
1194
+
1195
+ export default defineConfig({
1196
+ plugins: [
1197
+ intlayer(),
1198
+ intlayerCompiler(), // Agrega el plugin del compilador
1199
+ ],
1200
+ });
1201
+ ```
1202
+
1203
+ ```bash packageManager="npm"
1204
+ npm run build # O npm run dev
1205
+ ```
1206
+
1207
+ ```bash packageManager="pnpm"
1208
+ pnpm run build # O pnpm run dev
1209
+ ```
1210
+
1211
+ ```bash packageManager="yarn"
1212
+ yarn build # O yarn dev
1213
+ ```
1214
+
1215
+ ```bash packageManager="bun"
1216
+ bun run build # Or bun run dev
1217
+ ```
1218
+
1219
+ </Tab>
1220
+ </Tabs>
1221
+
1066
1222
  ### Configurar TypeScript
1067
1223
 
1068
1224
  Intlayer utiliza la ampliación de módulos para aprovechar las ventajas de TypeScript y fortalecer tu base de código.