@intlayer/docs 8.0.4 → 8.0.5

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 (139) hide show
  1. package/dist/cjs/blog.cjs +1 -0
  2. package/dist/cjs/blog.cjs.map +1 -1
  3. package/dist/cjs/common.cjs +1 -0
  4. package/dist/cjs/common.cjs.map +1 -1
  5. package/dist/cjs/doc.cjs +1 -0
  6. package/dist/cjs/doc.cjs.map +1 -1
  7. package/dist/cjs/frequentQuestions.cjs +1 -0
  8. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  9. package/dist/cjs/generated/blog.entry.cjs +1 -0
  10. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  11. package/dist/cjs/generated/docs.entry.cjs +21 -0
  12. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  13. package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -0
  14. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  15. package/dist/cjs/generated/legal.entry.cjs +1 -0
  16. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  17. package/dist/cjs/index.cjs +1 -0
  18. package/dist/cjs/legal.cjs +1 -0
  19. package/dist/cjs/legal.cjs.map +1 -1
  20. package/dist/esm/generated/docs.entry.mjs +20 -0
  21. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  22. package/dist/types/generated/docs.entry.d.ts +1 -0
  23. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  24. package/docs/ar/cli/doc-translate.md +1 -0
  25. package/docs/ar/cli/fill.md +1 -0
  26. package/docs/ar/configuration.md +10 -0
  27. package/docs/ar/intlayer_with_analog.md +371 -0
  28. package/docs/ar/intlayer_with_angular.md +12 -14
  29. package/docs/ar/packages/solid-intlayer/useIntlayer.md +1 -1
  30. package/docs/de/agent_skills.md +53 -0
  31. package/docs/de/cli/doc-translate.md +1 -0
  32. package/docs/de/cli/fill.md +1 -0
  33. package/docs/de/configuration.md +10 -0
  34. package/docs/de/intlayer_with_analog.md +369 -0
  35. package/docs/de/intlayer_with_angular.md +11 -16
  36. package/docs/de/packages/solid-intlayer/useIntlayer.md +1 -1
  37. package/docs/en/agent_skills.md +53 -0
  38. package/docs/en/cli/doc-translate.md +1 -0
  39. package/docs/en/cli/fill.md +1 -0
  40. package/docs/en/configuration.md +21 -1
  41. package/docs/en/intlayer_with_analog.md +4 -12
  42. package/docs/en/intlayer_with_angular.md +13 -15
  43. package/docs/en/packages/react-intlayer/useIntlayer.md +1 -1
  44. package/docs/en/packages/solid-intlayer/useIntlayer.md +1 -1
  45. package/docs/en-GB/cli/doc-translate.md +1 -0
  46. package/docs/en-GB/cli/fill.md +1 -0
  47. package/docs/en-GB/configuration.md +10 -0
  48. package/docs/en-GB/intlayer_with_analog.md +369 -0
  49. package/docs/en-GB/intlayer_with_angular.md +12 -14
  50. package/docs/en-GB/packages/solid-intlayer/useIntlayer.md +1 -1
  51. package/docs/es/agent_skills.md +53 -0
  52. package/docs/es/cli/doc-translate.md +1 -0
  53. package/docs/es/cli/fill.md +1 -0
  54. package/docs/es/configuration.md +10 -0
  55. package/docs/es/intlayer_with_analog.md +369 -0
  56. package/docs/es/intlayer_with_angular.md +11 -16
  57. package/docs/es/packages/solid-intlayer/useIntlayer.md +1 -1
  58. package/docs/fr/agent_skills.md +53 -0
  59. package/docs/fr/cli/doc-translate.md +1 -0
  60. package/docs/fr/cli/fill.md +1 -0
  61. package/docs/fr/configuration.md +10 -0
  62. package/docs/fr/intlayer_with_analog.md +369 -0
  63. package/docs/fr/intlayer_with_angular.md +11 -16
  64. package/docs/fr/packages/solid-intlayer/useIntlayer.md +1 -1
  65. package/docs/hi/cli/doc-translate.md +1 -0
  66. package/docs/hi/cli/fill.md +1 -0
  67. package/docs/hi/configuration.md +10 -0
  68. package/docs/hi/intlayer_with_analog.md +371 -0
  69. package/docs/hi/intlayer_with_angular.md +12 -14
  70. package/docs/hi/packages/solid-intlayer/useIntlayer.md +1 -1
  71. package/docs/id/cli/doc-translate.md +1 -0
  72. package/docs/id/cli/fill.md +1 -0
  73. package/docs/id/configuration.md +10 -0
  74. package/docs/id/intlayer_with_analog.md +371 -0
  75. package/docs/id/intlayer_with_angular.md +12 -14
  76. package/docs/id/packages/solid-intlayer/useIntlayer.md +1 -1
  77. package/docs/it/agent_skills.md +53 -0
  78. package/docs/it/cli/doc-translate.md +1 -0
  79. package/docs/it/cli/fill.md +1 -0
  80. package/docs/it/configuration.md +10 -0
  81. package/docs/it/intlayer_with_analog.md +371 -0
  82. package/docs/it/intlayer_with_angular.md +12 -14
  83. package/docs/it/packages/solid-intlayer/useIntlayer.md +1 -1
  84. package/docs/ja/agent_skills.md +53 -0
  85. package/docs/ja/cli/doc-translate.md +1 -0
  86. package/docs/ja/cli/fill.md +1 -0
  87. package/docs/ja/configuration.md +10 -0
  88. package/docs/ja/intlayer_with_analog.md +365 -0
  89. package/docs/ja/intlayer_with_angular.md +12 -14
  90. package/docs/ja/packages/solid-intlayer/useIntlayer.md +1 -1
  91. package/docs/ko/agent_skills.md +53 -0
  92. package/docs/ko/cli/doc-translate.md +1 -0
  93. package/docs/ko/cli/fill.md +1 -0
  94. package/docs/ko/configuration.md +10 -0
  95. package/docs/ko/intlayer_with_analog.md +365 -0
  96. package/docs/ko/intlayer_with_angular.md +12 -14
  97. package/docs/ko/packages/solid-intlayer/useIntlayer.md +1 -1
  98. package/docs/pl/cli/doc-translate.md +1 -0
  99. package/docs/pl/cli/fill.md +1 -0
  100. package/docs/pl/configuration.md +10 -0
  101. package/docs/pl/intlayer_with_analog.md +371 -0
  102. package/docs/pl/intlayer_with_angular.md +12 -14
  103. package/docs/pl/packages/solid-intlayer/useIntlayer.md +1 -1
  104. package/docs/pt/agent_skills.md +53 -0
  105. package/docs/pt/cli/doc-translate.md +1 -0
  106. package/docs/pt/cli/fill.md +1 -0
  107. package/docs/pt/configuration.md +10 -0
  108. package/docs/pt/intlayer_with_analog.md +371 -0
  109. package/docs/pt/intlayer_with_angular.md +12 -14
  110. package/docs/pt/packages/solid-intlayer/useIntlayer.md +1 -1
  111. package/docs/ru/cli/doc-translate.md +1 -0
  112. package/docs/ru/cli/fill.md +1 -0
  113. package/docs/ru/configuration.md +18 -0
  114. package/docs/ru/intlayer_with_analog.md +371 -0
  115. package/docs/ru/intlayer_with_angular.md +12 -14
  116. package/docs/ru/packages/solid-intlayer/useIntlayer.md +1 -1
  117. package/docs/tr/cli/doc-translate.md +1 -0
  118. package/docs/tr/cli/fill.md +1 -0
  119. package/docs/tr/configuration.md +10 -0
  120. package/docs/tr/intlayer_with_analog.md +365 -0
  121. package/docs/tr/intlayer_with_angular.md +12 -14
  122. package/docs/tr/packages/solid-intlayer/useIntlayer.md +1 -1
  123. package/docs/uk/cli/doc-translate.md +1 -0
  124. package/docs/uk/cli/fill.md +1 -0
  125. package/docs/uk/configuration.md +10 -0
  126. package/docs/uk/intlayer_with_analog.md +365 -0
  127. package/docs/uk/intlayer_with_angular.md +12 -14
  128. package/docs/uk/packages/solid-intlayer/useIntlayer.md +1 -1
  129. package/docs/vi/configuration.md +10 -0
  130. package/docs/vi/intlayer_with_analog.md +365 -0
  131. package/docs/vi/intlayer_with_angular.md +12 -14
  132. package/docs/vi/packages/solid-intlayer/useIntlayer.md +1 -1
  133. package/docs/zh/agent_skills.md +53 -0
  134. package/docs/zh/configuration.md +10 -0
  135. package/docs/zh/intlayer_with_analog.md +365 -0
  136. package/docs/zh/intlayer_with_angular.md +12 -14
  137. package/docs/zh/packages/solid-intlayer/useIntlayer.md +1 -1
  138. package/package.json +8 -8
  139. package/src/generated/docs.entry.ts +20 -0
@@ -0,0 +1,369 @@
1
+ ---
2
+ createdAt: 2025-04-18
3
+ updatedAt: 2025-12-30
4
+ title: Analog i18n - Cómo traducir tu aplicación Analog – guía 2026
5
+ description: Descubre cómo hacer que tu aplicación Analog sea multilingüe. Sigue la documentación para internacionalizarla (i18n) y traducirla.
6
+ keywords:
7
+ - Internacionalización
8
+ - Documentación
9
+ - Intlayer
10
+ - Analog
11
+ - Angular
12
+ - JavaScript
13
+ slugs:
14
+ - doc
15
+ - entorno
16
+ - analog
17
+ applicationTemplate: https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template
18
+ history:
19
+ - version: 8.0.4
20
+ date: 2026-01-26
21
+ changes: Inicio del historial
22
+ ---
23
+
24
+ # Traduce tu aplicación Analog (Angular) con Intlayer | Internacionalización (i18n)
25
+
26
+ ## Tabla de contenidos
27
+
28
+ <TOC/>
29
+
30
+ ## ¿Qué es Intlayer?
31
+
32
+ **Intlayer** es una biblioteca de internacionalización (i18n) innovadora y de código abierto diseñada para simplificar el soporte multilingüe en aplicaciones web modernas.
33
+
34
+ Con Intlayer, puedes:
35
+
36
+ - **Gestionar fácilmente las traducciones** utilizando diccionarios declarativos a nivel de componente.
37
+ - **Localizar dinámicamente metadatos**, rutas y contenido.
38
+ - **Garantizar el soporte de TypeScript** con tipos autogenerados, mejorando el autocompletado y la detección de errores.
39
+ - **Beneficiarte de funciones avanzadas**, como la detección y el cambio dinámico de idioma.
40
+
41
+ ---
42
+
43
+ ## Guía paso a paso para configurar Intlayer en una aplicación Analog
44
+
45
+ <Tabs defaultTab="code">
46
+ <Tab label="Código" value="code">
47
+
48
+ <iframe
49
+ src="https://stackblitz.com/github/aymericzip/intlayer/tree/main/examples/vite-analog-app?embed=1&ctl=1&file=intlayer.config.ts"
50
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
51
+ title="Demo CodeSandbox - Cómo internacionalizar tu aplicación usando Intlayer"
52
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
53
+ loading="lazy"
54
+ />
55
+
56
+ </Tab>
57
+ </Tabs>
58
+
59
+ Ver [Plantilla de Aplicación](https://github.com/aymericzip/intlayer/tree/main/examples/analog-app-template) en GitHub.
60
+
61
+ ### Paso 1: Instalar dependencias
62
+
63
+ Instala los paquetes necesarios usando npm:
64
+
65
+ ```bash packageManager="npm"
66
+ npm install intlayer angular-intlayer vite-intlayer
67
+ npx intlayer init
68
+ ```
69
+
70
+ ```bash packageManager="pnpm"
71
+ pnpm add intlayer angular-intlayer vite-intlayer
72
+ pnpm intlayer init
73
+ ```
74
+
75
+ ```bash packageManager="yarn"
76
+ yarn add intlayer angular-intlayer vite-intlayer
77
+ yarn intlayer init
78
+ ```
79
+
80
+ ```bash packageManager="bun"
81
+ bun add intlayer angular-intlayer vite-intlayer
82
+ bunx intlayer init
83
+ ```
84
+
85
+ - **intlayer**
86
+
87
+ El paquete principal que proporciona herramientas de internacionalización para la gestión de la configuración, traducción, [declaración de contenido](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/content_file.md), transpilación y [comandos de CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/index.md).
88
+
89
+ - **angular-intlayer**
90
+ El paquete que integra Intlayer con la aplicación Angular. Proporciona proveedores de contexto y hooks para la internacionalización de Angular.
91
+
92
+ - **vite-intlayer**
93
+ El paquete que integra Intlayer con Vite. Proporciona un complemento para manejar archivos de declaración de contenido y establece alias para un rendimiento óptimo.
94
+
95
+ ### Paso 2: Configuración de tu proyecto
96
+
97
+ Crea un archivo de configuración para configurar los idiomas de tu aplicación:
98
+
99
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
100
+ import { Locales, type IntlayerConfig } from "intlayer";
101
+
102
+ const config: IntlayerConfig = {
103
+ internationalization: {
104
+ locales: [
105
+ Locales.ENGLISH,
106
+ Locales.FRENCH,
107
+ Locales.SPANISH,
108
+ // Tus otros idiomas
109
+ ],
110
+ defaultLocale: Locales.ENGLISH,
111
+ },
112
+ };
113
+
114
+ export default config;
115
+ ```
116
+
117
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
118
+ import { Locales } from "intlayer";
119
+
120
+ /** @type {import('intlayer').IntlayerConfig} */
121
+ const config = {
122
+ internationalization: {
123
+ locales: [
124
+ Locales.ENGLISH,
125
+ Locales.FRENCH,
126
+ Locales.SPANISH,
127
+ // Tus otros idiomas
128
+ ],
129
+ defaultLocale: Locales.ENGLISH,
130
+ },
131
+ };
132
+
133
+ export default config;
134
+ ```
135
+
136
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
137
+ const { Locales } = require("intlayer");
138
+
139
+ /** @type {import('intlayer').IntlayerConfig} */
140
+ const config = {
141
+ internationalization: {
142
+ locales: [
143
+ Locales.ENGLISH,
144
+ Locales.FRENCH,
145
+ Locales.SPANISH,
146
+ // Tus otros idiomas
147
+ ],
148
+ defaultLocale: Locales.ENGLISH,
149
+ },
150
+ };
151
+
152
+ module.exports = config;
153
+ ```
154
+
155
+ > A través de este archivo de configuración, puedes configurar URLs localizadas, redirección de middleware, nombres de cookies, la ubicación y extensión de tus declaraciones de contenido, desactivar los registros de Intlayer en la consola y más. Para obtener una lista completa de los parámetros disponibles, consulta la [documentación de configuración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/configuration.md).
156
+
157
+ ### Paso 3: Integrar Intlayer en tu configuración de Vite
158
+
159
+ Para integrar Intlayer con Analog, necesitas usar el complemento `vite-intlayer`.
160
+
161
+ Modifica tu archivo `vite.config.ts`:
162
+
163
+ ```typescript fileName="vite.config.ts"
164
+ import { defineConfig } from "vite";
165
+ import { intlayer } from "vite-intlayer";
166
+ import analog from "@analogjs/platform";
167
+
168
+ // https://vitejs.dev/config/
169
+ export default defineConfig(() => ({
170
+ plugins: [
171
+ analog(),
172
+ intlayer(), // Añadir el complemento Intlayer
173
+ ],
174
+ }));
175
+ ```
176
+
177
+ > El complemento `intlayer()` configura Vite con Intlayer. Maneja los archivos de declaración de contenido y establece alias para un rendimiento óptimo.
178
+
179
+ ### Paso 4: Declarar tu contenido
180
+
181
+ Crea y gestiona tus declaraciones de contenido para almacenar traducciones:
182
+
183
+ ```tsx fileName="src/app/app.content.ts" contentDeclarationFormat="typescript"
184
+ import { t, type Dictionary } from "intlayer";
185
+
186
+ const appContent = {
187
+ key: "app",
188
+ content: {
189
+ title: t({
190
+ en: "Hello",
191
+ fr: "Bonjour",
192
+ es: "Hola",
193
+ }),
194
+ congratulations: t({
195
+ en: "Congratulations! Your app is running. 🎉",
196
+ fr: "Félicitations! Votre application est en cours d'exécution. 🎉",
197
+ es: "¡Felicidades! Tu aplicación está en ejecución. 🎉",
198
+ }),
199
+ },
200
+ } satisfies Dictionary;
201
+
202
+ export default appContent;
203
+ ```
204
+
205
+ > Tus declaraciones de contenido se pueden definir en cualquier lugar de tu aplicación, siempre que se incluyan en el directorio `contentDir` (por defecto, `./src`). Y coincidan con la extensión del archivo de declaración de contenido (por defecto, `.content.{json,ts,tsx,js,jsx,mjs,cjs}`).
206
+
207
+ > Para más detalles, consulta la [documentación de declaración de contenido](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/content_file.md).
208
+
209
+ ### Paso 5: Utilizar Intlayer en tu código
210
+
211
+ Para utilizar las funciones de internacionalización de Intlayer en toda tu aplicación Analog, debes proporcionar Intlayer en la configuración de tu aplicación.
212
+
213
+ ```typescript fileName="src/app/app.config.ts"
214
+ import { ApplicationConfig } from "@angular/core";
215
+ import { provideIntlayer } from "angular-intlayer";
216
+
217
+ export const appConfig: ApplicationConfig = {
218
+ providers: [
219
+ provideIntlayer(), // Añade el proveedor de Intlayer aquí
220
+ ],
221
+ };
222
+ ```
223
+
224
+ Luego, puedes usar la función `useIntlayer` dentro de cualquier componente.
225
+
226
+ ```typescript fileName="src/app/pages/index.page.ts"
227
+ import { Component } from "@angular/core";
228
+ import { useIntlayer } from "angular-intlayer";
229
+
230
+ @Component({
231
+ selector: "app-home",
232
+ standalone: true,
233
+ template: `
234
+ <div class="content">
235
+ <h1>{{ content().title }}</h1>
236
+ <p>{{ content().congratulations }}</p>
237
+ </div>
238
+ `,
239
+ })
240
+ export default class HomeComponent {
241
+ content = useIntlayer("app");
242
+ }
243
+ ```
244
+
245
+ El contenido de Intlayer se devuelve como un `Signal`, por lo que accedes a los valores llamando al signal: `content().title`.
246
+
247
+ ### (Opcional) Paso 6: Cambiar el idioma de tu contenido
248
+
249
+ Para cambiar el idioma de tu contenido, puedes usar la función `setLocale` proporcionada por la función `useLocale`. Esto te permite establecer la locale de la aplicación y actualizar el contenido en consecuencia.
250
+
251
+ Crea un componente para cambiar entre idiomas:
252
+
253
+ ```typescript fileName="src/app/locale-switcher.component.ts"
254
+ import { Component } from "@angular/core";
255
+ import { CommonModule } from "@angular/common";
256
+ import { useLocale } from "angular-intlayer";
257
+
258
+ @Component({
259
+ selector: "app-locale-switcher",
260
+ standalone: true,
261
+ imports: [CommonModule],
262
+ template: `
263
+ <div class="locale-switcher">
264
+ <select
265
+ [value]="locale()"
266
+ (change)="setLocale($any($event.target).value)"
267
+ >
268
+ @for (loc of availableLocales; track loc) {
269
+ <option [value]="loc">{{ loc }}</option>
270
+ }
271
+ </select>
272
+ </div>
273
+ `,
274
+ styles: [
275
+ `
276
+ .locale-switcher {
277
+ margin: 1rem;
278
+ padding: 0.5rem;
279
+ border: 1px solid #ccc;
280
+ border-radius: 4px;
281
+ width: fit-content;
282
+ }
283
+ `,
284
+ ],
285
+ })
286
+ export class LocaleSwitcherComponent {
287
+ localeCtx = useLocale();
288
+
289
+ locale = this.localeCtx.locale;
290
+ availableLocales = this.localeCtx.availableLocales;
291
+ setLocale = this.localeCtx.setLocale;
292
+ }
293
+ ```
294
+
295
+ Luego, usa este componente en tus páginas:
296
+
297
+ ```typescript fileName="src/app/pages/index.page.ts"
298
+ import { Component } from "@angular/core";
299
+ import { useIntlayer } from "angular-intlayer";
300
+ import { LocaleSwitcherComponent } from "../locale-switcher.component";
301
+
302
+ @Component({
303
+ selector: "app-home",
304
+ standalone: true,
305
+ imports: [LocaleSwitcherComponent],
306
+ template: `
307
+ <app-locale-switcher></app-locale-switcher>
308
+ <div class="content">
309
+ <h1>{{ content().title }}</h1>
310
+ <p>{{ content().congratulations }}</p>
311
+ </div>
312
+ `,
313
+ })
314
+ export default class HomeComponent {
315
+ content = useIntlayer("app");
316
+ }
317
+ ```
318
+
319
+ ### Configurar TypeScript
320
+
321
+ Intlayer utiliza la aumentación de módulos para obtener los beneficios de TypeScript y fortalecer tu base de código.
322
+
323
+ ![Autocompletado](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
324
+
325
+ ![Error de traducción](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
326
+
327
+ Asegúrate de que tu configuración de TypeScript incluya los tipos autogenerados.
328
+
329
+ ```json5 fileName="tsconfig.json"
330
+ {
331
+ // ... Tus configuraciones de TypeScript existentes
332
+ "include": [
333
+ // ... Tus configuraciones de TypeScript existentes
334
+ ".intlayer/**/*.ts", // Incluir los tipos autogenerados
335
+ ],
336
+ }
337
+ ```
338
+
339
+ ### Configuración de Git
340
+
341
+ Se recomienda ignorar los archivos generados por Intlayer. Esto te permite evitar subirlos a tu repositorio de Git.
342
+
343
+ Para hacer esto, puedes añadir las siguientes instrucciones a tu archivo `.gitignore`:
344
+
345
+ ```plaintext
346
+ # Ignorar los archivos generados por Intlayer
347
+ .intlayer
348
+ ```
349
+
350
+ ### Extensión de VS Code
351
+
352
+ Para mejorar tu experiencia de desarrollo con Intlayer, puedes instalar la **Extensión oficial de Intlayer para VS Code**.
353
+
354
+ [Instalar desde el Marketplace de VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
355
+
356
+ Esta extensión proporciona:
357
+
358
+ - **Autocompletado** para las claves de traducción.
359
+ - **Detección de errores en tiempo real** para traductions faltantes.
360
+ - **Vistas previas en línea** del contenido traducido.
361
+ - **Acciones rápidas** para crear y actualizar traducciones fácilmente.
362
+
363
+ Para más detalles sobre cómo usar la extensión, consulta la [documentación de la extensión de Intlayer para VS Code](https://intlayer.org/doc/vs-code-extension).
364
+
365
+ ---
366
+
367
+ ### Ir más allá
368
+
369
+ Para ir más allá, puedes implementar el [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/intlayer_visual_editor.md) o externalizar tu contenido utilizando el [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/intlayer_CMS.md).
@@ -166,30 +166,25 @@ Para integrar Intlayer con Angular CLI, necesitas usar un constructor (builder)
166
166
 
167
167
  Primero, modifica tu `angular.json` para usar el constructor de Webpack personalizado. Actualiza las configuraciones de `build` y `serve`:
168
168
 
169
- ```json fileName="angular.json"
169
+ ```json5 fileName="angular.json"
170
170
  {
171
171
  "projects": {
172
172
  "nombre-de-tu-app": {
173
173
  "architect": {
174
174
  "build": {
175
- "builder": "@angular-builders/custom-webpack:browser",
175
+ "builder": "@angular-builders/custom-webpack:browser", // replace "@angular-devkit/build-angular:application",
176
176
  "options": {
177
177
  "customWebpackConfig": {
178
- "path": "./webpack.config.ts"
179
- }
180
- }
178
+ "path": "./webpack.config.ts",
179
+ "mergeStrategies": { "module.rules": "prepend" },
180
+ },
181
+ "main": "src/main.ts", // replace "browser": "src/main.ts",
182
+ // ...
183
+ },
181
184
  },
182
- "serve": {
183
- "builder": "@angular-builders/custom-webpack:dev-server",
184
- "options": {
185
- "customWebpackConfig": {
186
- "path": "./webpack.config.ts"
187
- }
188
- }
189
- }
190
- }
191
- }
192
- }
185
+ },
186
+ },
187
+ },
193
188
  }
194
189
  ```
195
190
 
@@ -33,7 +33,7 @@ El hook `useIntlayer` permite recuperar contenido localizado de un diccionario u
33
33
  import { useIntlayer } from "solid-intlayer";
34
34
 
35
35
  const MyComponent = () => {
36
- const content = useIntlayer("my_dictionary_key");
36
+ const content = useIntlayer("my-dictionary-key");
37
37
 
38
38
  return (
39
39
  <div>
@@ -0,0 +1,53 @@
1
+ ---
2
+ createdAt: 2026-02-09
3
+ updatedAt: 2026-02-09
4
+ title: Compétences de l'agent
5
+ description: Apprenez à utiliser les compétences de l'agent Intlayer pour améliorer la compréhension de votre projet par votre agent IA.
6
+ keywords:
7
+ - Intlayer
8
+ - Compétences de l'agent
9
+ - Agent IA
10
+ - Internationalisation
11
+ - Documentation
12
+ slugs:
13
+ - doc
14
+ - agent_skills
15
+ history:
16
+ - version: 8.0.4
17
+ date: 2026-02-09
18
+ changes: Initialiser l'historique
19
+ ---
20
+
21
+ ## La commande `intlayer init skills`
22
+
23
+ La commande `intlayer init skills` est le moyen le plus simple de configurer les compétences de l'agent dans votre projet. Elle détecte votre environnement et installe les fichiers de configuration nécessaires pour vos plateformes préférées.
24
+
25
+ ```bash
26
+ npx intlayer init skills
27
+ ```
28
+
29
+ Lorsque vous exécutez cette commande, elle :
30
+
31
+ 1. Détecte le framework que vous utilisez (ex: Next.js, React, Vite).
32
+ 2. Vous demande pour quelles plateformes vous souhaitez installer des compétences (Cursor, VS Code, OpenCode, Claude Code, etc.).
33
+ 3. Génère les fichiers de configuration requis (tels que `.cursor/mcp.json`, `.vscode/mcp.json` ou `.intlayer/skills/*.md`).
34
+
35
+ ## Plateformes supportées
36
+
37
+ Intlayer supporte l'intégration avec les plateformes suivantes :
38
+
39
+ ### 1. Cursor
40
+
41
+ Cursor supporte les serveurs MCP (Model Context Protocol). L'exécution de `intlayer init skills` créera un fichier `.cursor/mcp.json` qui permet à Cursor de communiquer avec le serveur MCP d'Intlayer.
42
+
43
+ ### 2. VS Code
44
+
45
+ Pour les utilisateurs de VS Code, en particulier ceux utilisant GitHub Copilot ou d'autres extensions compatibles MCP, la commande crée une configuration `.vscode/mcp.json`.
46
+
47
+ ### 3. OpenCode
48
+
49
+ OpenCode est un agent CLI interactif conçu pour les tâches d'ingénierie logicielle. Intlayer fournit des compétences spécifiques pour aider OpenCode à vous assister dans vos tâches d'internationalisation.
50
+
51
+ ### 4. Claude Code
52
+
53
+ Claude Code peut être configuré pour utiliser les compétences d'Intlayer en ajoutant les configurations générées à ses paramètres de bureau ou CLI.
@@ -86,6 +86,7 @@ npx intlayer doc translate
86
86
  - **`--temperature [temperature]`** : Paramètre de température pour le modèle d'IA.
87
87
  - **`--api-key [apiKey]`** : Fournir votre propre clé API pour le service d'IA.
88
88
  - **`--application-context [applicationContext]`** : Fournir un contexte supplémentaire pour la traduction par IA.
89
+ - **`--data-serialization [dataSerialization]`** : Le format de sérialisation des données à utiliser pour les fonctionnalités d'IA d'Intlayer. Options : `json` (standard, fiable), `toon` (moins de tokens, moins cohérent).
89
90
  - **`--custom-prompt [prompt]`** : Personnalisez le prompt de base utilisé pour la traduction. (Remarque : Pour la plupart des cas d'utilisation, l'option `--custom-instructions` est recommandée car elle offre un meilleur contrôle sur le comportement de la traduction.)
90
91
 
91
92
  > Exemple : `npx intlayer doc translate --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "Mon application est une boutique de chats"`
@@ -126,6 +126,7 @@ Affected dictionary keys for processing: app, comp-test, hello-world, lang-switc
126
126
  - **`--api-key [apiKey]`** : Fournir votre propre clé API pour le service d’IA.
127
127
  - **`--custom-prompt [prompt]`** : Fournir une invite personnalisée pour vos instructions de traduction.
128
128
  - **`--application-context [applicationContext]`** : Fournir un contexte supplémentaire pour la traduction par IA.
129
+ - **`--data-serialization [dataSerialization]`** : Le format de sérialisation des données à utiliser pour les fonctionnalités d'IA d'Intlayer. Options : `json` (standard, fiable), `toon` (moins de tokens, moins cohérent).
129
130
 
130
131
  > Exemple : `npx intlayer fill --model gpt-3.5-turbo --provider openai --temperature 0.5 --api-key sk-1234567890 --application-context "Mon application est une boutique de chats"`
131
132
 
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 8.0.5
18
+ date: 2026-02-06
19
+ changes: Ajout de `dataSerialization` à la configuration de l'IA
17
20
  - version: 8.0.0
18
21
  date: 2026-01-22
19
22
  changes: Move `importMode` build configuration to `dictionary` configuration.
@@ -901,6 +904,13 @@ Intlayer prend en charge plusieurs fournisseurs d'IA pour une flexibilité et un
901
904
  - _Exemple_ : `'https://api.openai.com/v1'`
902
905
  - _Note_ : Peut être utilisé pour pointer vers un point de terminaison d'API d'IA local ou personnalisé.
903
906
 
907
+ - **dataSerialization**:
908
+ - _Type_: `'json' | 'toon'`
909
+ - _Par défaut_: `'json'`
910
+ - _Description_: Le format de sérialisation des données à utiliser pour les fonctionnalités d'IA d'Intlayer.
911
+ - _Exemple_: `'toon'`
912
+ - _Note_: `json`: Standard, fiable ; utilise plus de tokens. `toon`: Moins de tokens, moins cohérent que le JSON.
913
+
904
914
  ### Configuration de la compilation
905
915
 
906
916
  Paramètres qui contrôlent la manière dont Intlayer optimise et construit l'internationalisation de votre application.