@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.
- package/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- 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_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 +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- 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_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 +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- 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_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 +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- 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_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_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 +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- 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_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_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 +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- 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_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 +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- 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_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 +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- 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_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 +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- 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_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 +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- 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_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 +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- 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_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 +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- 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_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 +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- 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_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 +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- 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_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 +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- 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_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 +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- 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_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 +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- 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_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_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 +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -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 - 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
|
|
27
|
+
# Traduce tu Vite y Solid con Intlayer | Internacionalización (i18n)
|
|
28
28
|
|
|
29
29
|
<Tabs defaultTab="video">
|
|
30
|
-
<Tab label="
|
|
30
|
+
<Tab label="Vídeo" value="video">
|
|
31
31
|
|
|
32
|
-
<iframe title="The best i18n solution for Vite
|
|
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 -
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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&origin=http://intlayer.org&controls=0&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 -
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|