@intlayer/docs 9.0.0-canary.14 → 9.0.0-canary.16
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/dist/cjs/generated/docs.entry.cjs +40 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +40 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/configuration.md +42 -1
- package/docs/ar/intlayer_CMS.md +5 -128
- package/docs/ar/live-sync.md +174 -0
- package/docs/ar/releases/v9.md +45 -1
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/configuration.md +45 -1
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/configuration.md +45 -1
- package/docs/de/cli/index.md +1 -1
- package/docs/de/configuration.md +42 -1
- package/docs/de/intlayer_CMS.md +5 -135
- package/docs/de/live-sync.md +174 -0
- package/docs/de/releases/v9.md +45 -1
- package/docs/en/analytics.md +222 -0
- package/docs/en/cli/index.md +1 -1
- package/docs/en/configuration.md +42 -1
- package/docs/en/intlayer_CMS.md +6 -140
- package/docs/en/live-sync.md +184 -0
- package/docs/en/releases/v9.md +53 -3
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/configuration.md +42 -1
- package/docs/en-GB/intlayer_CMS.md +5 -128
- package/docs/en-GB/live-sync.md +173 -0
- package/docs/en-GB/releases/v9.md +45 -1
- package/docs/es/cli/index.md +1 -1
- package/docs/es/configuration.md +42 -1
- package/docs/es/intlayer_CMS.md +5 -140
- package/docs/es/live-sync.md +176 -0
- package/docs/es/releases/v9.md +45 -1
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/configuration.md +42 -1
- package/docs/fr/intlayer_CMS.md +5 -135
- package/docs/fr/live-sync.md +174 -0
- package/docs/fr/releases/v9.md +45 -1
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/configuration.md +42 -1
- package/docs/hi/intlayer_CMS.md +5 -128
- package/docs/hi/live-sync.md +174 -0
- package/docs/hi/releases/v9.md +45 -1
- package/docs/id/cli/index.md +1 -1
- package/docs/id/configuration.md +42 -1
- package/docs/id/intlayer_CMS.md +5 -139
- package/docs/id/live-sync.md +185 -0
- package/docs/id/releases/v9.md +45 -1
- package/docs/it/cli/index.md +1 -1
- package/docs/it/configuration.md +42 -1
- package/docs/it/intlayer_CMS.md +5 -128
- package/docs/it/live-sync.md +174 -0
- package/docs/it/releases/v9.md +45 -1
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/configuration.md +42 -1
- package/docs/ja/intlayer_CMS.md +5 -139
- package/docs/ja/live-sync.md +185 -0
- package/docs/ja/releases/v9.md +45 -1
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/configuration.md +42 -1
- package/docs/ko/intlayer_CMS.md +5 -141
- package/docs/ko/live-sync.md +187 -0
- package/docs/ko/releases/v9.md +45 -1
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/configuration.md +45 -1
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/configuration.md +45 -1
- package/docs/pl/intlayer_CMS.md +5 -139
- package/docs/pl/live-sync.md +185 -0
- package/docs/pl/releases/v9.md +45 -1
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/configuration.md +45 -1
- package/docs/pt/intlayer_CMS.md +5 -143
- package/docs/pt/live-sync.md +174 -0
- package/docs/pt/releases/v9.md +45 -1
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/configuration.md +42 -1
- package/docs/ru/intlayer_CMS.md +5 -139
- package/docs/ru/live-sync.md +185 -0
- package/docs/ru/releases/v9.md +45 -1
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/configuration.md +42 -1
- package/docs/tr/intlayer_CMS.md +5 -127
- package/docs/tr/live-sync.md +173 -0
- package/docs/tr/releases/v9.md +45 -1
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/configuration.md +42 -1
- package/docs/uk/intlayer_CMS.md +5 -139
- package/docs/uk/live-sync.md +185 -0
- package/docs/uk/releases/v9.md +45 -1
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/configuration.md +45 -1
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/configuration.md +42 -1
- package/docs/vi/intlayer_CMS.md +5 -139
- package/docs/vi/live-sync.md +185 -0
- package/docs/vi/releases/v9.md +45 -1
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/configuration.md +42 -1
- package/docs/zh/intlayer_CMS.md +5 -129
- package/docs/zh/live-sync.md +175 -0
- package/docs/zh/releases/v9.md +45 -1
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +40 -0
package/docs/es/intlayer_CMS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
4
|
title: Intlayer CMS | Externaliza tu contenido en el Intlayer CMS
|
|
5
5
|
description: Externaliza tu contenido en el Intlayer CMS para delegar la gestión de tu contenido a tu equipo.
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
- cms
|
|
19
19
|
youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.0.0
|
|
22
|
+
date: 2026-07-08
|
|
23
|
+
changes: "Se trasladó la sección «Sincronización en vivo» a su propia página (live-sync.md), dejando aquí una breve introducción y un enlace"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-06-30
|
|
23
26
|
changes: "Añadida sección de Auto-alojamiento: bootstrap Docker Compose, inventario de servicios, configuración SDK, características opcionales y notas de actualización"
|
|
@@ -248,145 +251,7 @@ Luego podrás ver y gestionar tu diccionario en el [Intlayer CMS](https://app.in
|
|
|
248
251
|
|
|
249
252
|
La sincronización en vivo permite que tu aplicación refleje los cambios de contenido del CMS en runtime. No se requiere reconstrucción ni redepliegue. Cuando está habilitada, las actualizaciones se transmiten a un servidor de sincronización en vivo que actualiza los diccionarios que tu aplicación lee.
|
|
250
253
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Habilita Live Sync actualizando tu configuración de Intlayer:
|
|
254
|
-
|
|
255
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
256
|
-
import type { IntlayerConfig } from "intlayer";
|
|
257
|
-
|
|
258
|
-
const config: IntlayerConfig = {
|
|
259
|
-
// ... otras configuraciones
|
|
260
|
-
editor: {
|
|
261
|
-
/**
|
|
262
|
-
* Habilita la recarga en caliente de las configuraciones de localización cuando se detectan cambios.
|
|
263
|
-
* Por ejemplo, cuando se añade o actualiza un diccionario, la aplicación actualiza
|
|
264
|
-
* el contenido mostrado en la página.
|
|
265
|
-
*
|
|
266
|
-
* Debido a que la recarga en caliente requiere una conexión continua al servidor,
|
|
267
|
-
* solo está disponible para clientes del plan `enterprise`.
|
|
268
|
-
*
|
|
269
|
-
* Por defecto: false
|
|
270
|
-
*/
|
|
271
|
-
liveSync: true,
|
|
272
|
-
},
|
|
273
|
-
dictionary: {
|
|
274
|
-
/**
|
|
275
|
-
* Controla cómo se importan los diccionarios:
|
|
276
|
-
*
|
|
277
|
-
* - "live": Los diccionarios se obtienen dinámicamente usando la API de Live Sync.
|
|
278
|
-
* Reemplaza useIntlayer por useDictionaryDynamic.
|
|
279
|
-
*
|
|
280
|
-
* Nota: El modo live usa la API de Live Sync para obtener los diccionarios. Si la llamada a la API
|
|
281
|
-
* falla, los diccionarios se importan dinámicamente.
|
|
282
|
-
* Nota: Solo los diccionarios con contenido remoto y la bandera "live" usan el modo live.
|
|
283
|
-
* Los demás usan el modo dinámico para mejorar el rendimiento.
|
|
284
|
-
*/
|
|
285
|
-
importMode: "fetch",
|
|
286
|
-
},
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
export default config;
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Inicie el servidor Live Sync para envolver su aplicación:
|
|
293
|
-
|
|
294
|
-
Ejemplo usando Next.js:
|
|
295
|
-
|
|
296
|
-
```json5 fileName="package.json"
|
|
297
|
-
{
|
|
298
|
-
"scripts": {
|
|
299
|
-
// ... otros scripts
|
|
300
|
-
"build": "next build",
|
|
301
|
-
"dev": "next dev",
|
|
302
|
-
"start": "npx intlayer live --with 'next start'",
|
|
303
|
-
},
|
|
304
|
-
}
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Ejemplo usando Vite:
|
|
308
|
-
|
|
309
|
-
```json5 fileName="package.json"
|
|
310
|
-
{
|
|
311
|
-
"scripts": {
|
|
312
|
-
// ... otros scripts
|
|
313
|
-
"build": "vite build",
|
|
314
|
-
"dev": "vite dev",
|
|
315
|
-
"start": "npx intlayer live --with 'vite start'",
|
|
316
|
-
},
|
|
317
|
-
}
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
El servidor Live Sync envuelve su aplicación y aplica automáticamente el contenido actualizado a medida que llega.
|
|
321
|
-
|
|
322
|
-
Para recibir notificaciones de cambios desde el CMS, el servidor Live Sync mantiene una conexión SSE con el backend. Cuando el contenido cambia en el CMS, el backend envía la actualización al servidor Live Sync, que escribe los nuevos diccionarios. Su aplicación reflejará la actualización en la siguiente navegación o recarga del navegador, sin necesidad de reconstrucción.
|
|
323
|
-
|
|
324
|
-
Diagrama de flujo (CMS/Backend -> Servidor Live Sync -> Servidor de Aplicación -> Frontend):
|
|
325
|
-
|
|
326
|
-

|
|
327
|
-
|
|
328
|
-
Cómo funciona:
|
|
329
|
-
|
|
330
|
-

|
|
331
|
-
|
|
332
|
-
### Flujo de trabajo de desarrollo (local)
|
|
333
|
-
|
|
334
|
-
docs/ko/intlayer_CMS.md
|
|
335
|
-
|
|
336
|
-
- En desarrollo, todos los diccionarios remotos se obtienen cuando la aplicación se inicia, para que puedas probar actualizaciones rápidamente.
|
|
337
|
-
- Para probar Live Sync localmente con Next.js, envuelve tu servidor de desarrollo:
|
|
338
|
-
|
|
339
|
-
```json5 fileName="package.json"
|
|
340
|
-
{
|
|
341
|
-
"scripts": {
|
|
342
|
-
// ... otros scripts
|
|
343
|
-
"dev": "npx intlayer live --with 'next dev'",
|
|
344
|
-
// "dev": "npx intlayer live --with 'vite dev'", // Para Vite
|
|
345
|
-
},
|
|
346
|
-
}
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
Habilita la optimización para que Intlayer aplique las transformaciones de importación en vivo durante el desarrollo:
|
|
350
|
-
|
|
351
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
352
|
-
import type { IntlayerConfig } from "intlayer";
|
|
353
|
-
|
|
354
|
-
const config: IntlayerConfig = {
|
|
355
|
-
editor: {
|
|
356
|
-
applicationURL: "http://localhost:5173",
|
|
357
|
-
liveSyncURL: "http://localhost:4000",
|
|
358
|
-
liveSync: true,
|
|
359
|
-
},
|
|
360
|
-
dictionary: {
|
|
361
|
-
importMode: "fetch",
|
|
362
|
-
},
|
|
363
|
-
build: {
|
|
364
|
-
optimize: true,
|
|
365
|
-
},
|
|
366
|
-
};
|
|
367
|
-
|
|
368
|
-
export default config;
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
Esta configuración envuelve tu servidor de desarrollo con el servidor Live Sync, obtiene los diccionarios remotos al iniciar y transmite actualizaciones desde el CMS vía SSE. Actualiza la página para ver los cambios.
|
|
372
|
-
|
|
373
|
-
Notas y restricciones:
|
|
374
|
-
|
|
375
|
-
- Añade el origen de live sync a la política de seguridad de tu sitio (CSP). Asegúrate de que la URL de live sync esté permitida en `connect-src` (y en `frame-ancestors` si es relevante).
|
|
376
|
-
- Live Sync no funciona con salida estática. Para Next.js, la página debe ser dinámica para recibir actualizaciones en runtime (por ejemplo, usa `generateStaticParams`, `generateMetadata`, `getServerSideProps` o `getStaticProps` adecuadamente para evitar restricciones de solo estático).
|
|
377
|
-
|
|
378
|
-
Esta configuración envuelve tu servidor de desarrollo con el servidor Live Sync, obtiene diccionarios remotos al iniciar y transmite actualizaciones desde el CMS vía SSE. Actualiza la página para ver los cambios.
|
|
379
|
-
|
|
380
|
-
Notas y restricciones:
|
|
381
|
-
|
|
382
|
-
- Añade el origen de live sync a la política de seguridad de tu sitio (CSP). Asegúrate de que la URL de live sync esté permitida en `connect-src` (y en `frame-ancestors` si es relevante).
|
|
383
|
-
- Live Sync no funciona con salida estática. Para Next.js, la página debe ser dinámica para recibir actualizaciones en runtime (por ejemplo, usa `generateStaticParams`, `generateMetadata`, `getServerSideProps` o `getStaticProps` adecuadamente para evitar restricciones de solo estático).
|
|
384
|
-
- La URL de la aplicación debe coincidir con la que configuraste en la configuración del editor (`applicationURL`).
|
|
385
|
-
- La URL del CMS
|
|
386
|
-
|
|
387
|
-
- Asegúrate de que la configuración del proyecto se haya enviado al CMS de Intlayer.
|
|
388
|
-
|
|
389
|
-
- El editor visual utiliza un iframe para mostrar tu sitio web. Asegúrate de que la Política de Seguridad de Contenidos (CSP) de tu sitio web permita la URL del CMS como `frame-ancestors` ('https://app.intlayer.org' por defecto). Revisa la consola del editor para cualquier error.
|
|
254
|
+
Para la guía de configuración completa (activación, inicio del servidor Live Sync, flujo de trabajo de desarrollo local y restricciones), consulta la [documentación de Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/live-sync.md).
|
|
390
255
|
|
|
391
256
|
## Auto-alojamiento
|
|
392
257
|
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-07-08
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
|
+
title: Sincronización en vivo | Refleja los cambios de contenido del CMS en tiempo real
|
|
5
|
+
description: Permite que tu aplicación refleje los cambios de contenido del CMS de Intlayer en tiempo de ejecución, sin necesidad de reconstruir ni volver a implementar.
|
|
6
|
+
keywords:
|
|
7
|
+
- Sincronización en vivo
|
|
8
|
+
- Live Sync
|
|
9
|
+
- CMS
|
|
10
|
+
- Editor Visual
|
|
11
|
+
- Internacionalización
|
|
12
|
+
- Documentación
|
|
13
|
+
- Intlayer
|
|
14
|
+
- Next.js
|
|
15
|
+
- Vite
|
|
16
|
+
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-08
|
|
19
|
+
changes: "Trasladado desde la documentación del CMS de Intlayer a su propia página"
|
|
20
|
+
- version: 6.0.1
|
|
21
|
+
date: 2025-09-22
|
|
22
|
+
changes: "Añadida documentación de sincronización en vivo"
|
|
23
|
+
- version: 6.0.0
|
|
24
|
+
date: 2025-09-04
|
|
25
|
+
changes: "Reemplazado el campo `hotReload` por `liveSync`"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Sincronización en vivo
|
|
30
|
+
|
|
31
|
+
La sincronización en vivo permite que tu aplicación refleje los cambios de contenido del CMS en runtime. No se requiere reconstrucción ni redepliegue. Cuando está habilitada, las actualizaciones se transmiten a un servidor de sincronización en vivo que actualiza los diccionarios que tu aplicación lee.
|
|
32
|
+
|
|
33
|
+
## Tabla de contenidos
|
|
34
|
+
|
|
35
|
+
<TOC/>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Activar la sincronización en vivo
|
|
40
|
+
|
|
41
|
+
> Live Sync requiere una conexión continua al servidor y está disponible en el plan enterprise.
|
|
42
|
+
|
|
43
|
+
Habilita Live Sync actualizando tu configuración de Intlayer:
|
|
44
|
+
|
|
45
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
46
|
+
import type { IntlayerConfig } from "intlayer";
|
|
47
|
+
|
|
48
|
+
const config: IntlayerConfig = {
|
|
49
|
+
// ... otras configuraciones
|
|
50
|
+
editor: {
|
|
51
|
+
/**
|
|
52
|
+
* Habilita la recarga en caliente de las configuraciones de localización cuando se detectan cambios.
|
|
53
|
+
* Por ejemplo, cuando se añade o actualiza un diccionario, la aplicación actualiza
|
|
54
|
+
* el contenido mostrado en la página.
|
|
55
|
+
*
|
|
56
|
+
* Debido a que la recarga en caliente requiere una conexión continua al servidor,
|
|
57
|
+
* solo está disponible para clientes del plan `enterprise`.
|
|
58
|
+
*
|
|
59
|
+
* Por defecto: false
|
|
60
|
+
*/
|
|
61
|
+
liveSync: true,
|
|
62
|
+
},
|
|
63
|
+
dictionary: {
|
|
64
|
+
/**
|
|
65
|
+
* Controla cómo se importan los diccionarios:
|
|
66
|
+
*
|
|
67
|
+
* - "live": Los diccionarios se obtienen dinámicamente usando la API de Live Sync.
|
|
68
|
+
* Reemplaza useIntlayer por useDictionaryDynamic.
|
|
69
|
+
*
|
|
70
|
+
* Nota: El modo live usa la API de Live Sync para obtener los diccionarios. Si la llamada a la API
|
|
71
|
+
* falla, los diccionarios se importan dinámicamente.
|
|
72
|
+
* Nota: Solo los diccionarios con contenido remoto y la bandera "live" usan el modo live.
|
|
73
|
+
* Los demás usan el modo dinámico para mejorar el rendimiento.
|
|
74
|
+
*/
|
|
75
|
+
importMode: "fetch",
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export default config;
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Inicie el servidor Live Sync para envolver su aplicación:
|
|
83
|
+
|
|
84
|
+
Ejemplo usando Next.js:
|
|
85
|
+
|
|
86
|
+
```json5 fileName="package.json"
|
|
87
|
+
{
|
|
88
|
+
"scripts": {
|
|
89
|
+
// ... otros scripts
|
|
90
|
+
"build": "next build",
|
|
91
|
+
"dev": "next dev",
|
|
92
|
+
"start": "npx intlayer live --with 'next start'",
|
|
93
|
+
},
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Ejemplo usando Vite:
|
|
98
|
+
|
|
99
|
+
```json5 fileName="package.json"
|
|
100
|
+
{
|
|
101
|
+
"scripts": {
|
|
102
|
+
// ... otros scripts
|
|
103
|
+
"build": "vite build",
|
|
104
|
+
"dev": "vite dev",
|
|
105
|
+
"start": "npx intlayer live --with 'vite start'",
|
|
106
|
+
},
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
El servidor Live Sync envuelve su aplicación y aplica automáticamente el contenido actualizado a medida que llega.
|
|
111
|
+
|
|
112
|
+
Para recibir notificaciones de cambios desde el CMS, el servidor Live Sync mantiene una conexión SSE con el backend. Cuando el contenido cambia en el CMS, el backend envía la actualización al servidor Live Sync, que escribe los nuevos diccionarios. Su aplicación reflejará la actualización en la siguiente navegación o recarga del navegador, sin necesidad de reconstrucción.
|
|
113
|
+
|
|
114
|
+
Diagrama de flujo (CMS/Backend -> Servidor Live Sync -> Servidor de Aplicación -> Frontend):
|
|
115
|
+
|
|
116
|
+

|
|
117
|
+
|
|
118
|
+
Cómo funciona:
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
## Flujo de trabajo de desarrollo (local)
|
|
123
|
+
|
|
124
|
+
docs/ko/intlayer_CMS.md
|
|
125
|
+
|
|
126
|
+
- En desarrollo, todos los diccionarios remotos se obtienen cuando la aplicación se inicia, para que puedas probar actualizaciones rápidamente.
|
|
127
|
+
- Para probar Live Sync localmente con Next.js, envuelve tu servidor de desarrollo:
|
|
128
|
+
|
|
129
|
+
```json5 fileName="package.json"
|
|
130
|
+
{
|
|
131
|
+
"scripts": {
|
|
132
|
+
// ... otros scripts
|
|
133
|
+
"dev": "npx intlayer live --with 'next dev'",
|
|
134
|
+
// "dev": "npx intlayer live --with 'vite dev'", // Para Vite
|
|
135
|
+
},
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Habilita la optimización para que Intlayer aplique las transformaciones de importación en vivo durante el desarrollo:
|
|
140
|
+
|
|
141
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
142
|
+
import type { IntlayerConfig } from "intlayer";
|
|
143
|
+
|
|
144
|
+
const config: IntlayerConfig = {
|
|
145
|
+
editor: {
|
|
146
|
+
applicationURL: "http://localhost:5173",
|
|
147
|
+
liveSyncURL: "http://localhost:4000",
|
|
148
|
+
liveSync: true,
|
|
149
|
+
},
|
|
150
|
+
dictionary: {
|
|
151
|
+
importMode: "fetch",
|
|
152
|
+
},
|
|
153
|
+
build: {
|
|
154
|
+
optimize: true,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export default config;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Esta configuración envuelve tu servidor de desarrollo con el servidor Live Sync, obtiene los diccionarios remotos al iniciar y transmite actualizaciones desde el CMS vía SSE. Actualiza la página para ver los cambios.
|
|
162
|
+
|
|
163
|
+
## Notas y restricciones
|
|
164
|
+
|
|
165
|
+
- Añade el origen de live sync a la política de seguridad de tu sitio (CSP). Asegúrate de que la URL de live sync esté permitida en `connect-src` (y en `frame-ancestors` si es relevante).
|
|
166
|
+
- Live Sync no funciona con salida estática. Para Next.js, la página debe ser dinámica para recibir actualizaciones en runtime (por ejemplo, usa `generateStaticParams`, `generateMetadata`, `getServerSideProps` o `getStaticProps` adecuadamente para evitar restricciones de solo estático).
|
|
167
|
+
- En el CMS, cada diccionario tiene una bandera `live`. Solo los diccionarios con `live=true` se obtienen a través de la API de live sync; los demás se importan dinámicamente y permanecen sin cambios en tiempo de ejecución.
|
|
168
|
+
- La bandera `live` se evalúa para cada diccionario en el momento de la compilación. Si el contenido remoto no estaba marcado como `live=true` durante la compilación, debes recompilar para habilitar Live Sync para ese diccionario.
|
|
169
|
+
- El servidor de live sync debe poder escribir en `.intlayer`. En contenedores, asegura el acceso de escritura a `/.intlayer`.
|
|
170
|
+
|
|
171
|
+
## Enlaces útiles
|
|
172
|
+
|
|
173
|
+
- [CMS de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/intlayer_CMS.md)
|
|
174
|
+
- [Editor Visual de Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/intlayer_visual_editor.md)
|
|
175
|
+
- [Referencia de configuración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/configuration.md)
|
|
176
|
+
- [Guía de Auto-alojamiento](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/self_hosting.md)
|
package/docs/es/releases/v9.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-06-14
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
4
|
title: Nuevo Intlayer v9 - ¿Qué hay de nuevo?
|
|
5
5
|
description: Descubre las novedades de Intlayer v9. Presentamos paquetes de compatibilidad directos para librerías i18n populares y soporte para Colecciones y Variantes.
|
|
6
6
|
keywords:
|
|
@@ -201,6 +201,49 @@ const product = useIntlayer("product-copy", {
|
|
|
201
201
|
|
|
202
202
|
---
|
|
203
203
|
|
|
204
|
+
## `@intlayer/analytics`: seguimiento de exposición de contenido y pruebas A/B
|
|
205
|
+
|
|
206
|
+
Un nuevo paquete opcional, [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md), te indica qué contenido ven realmente tus visitantes — y cierra el círculo con **Collections & Variants**, permitiéndote hacer pruebas A/B de contenido y medir conversiones por variante.
|
|
207
|
+
|
|
208
|
+
- **Seguimiento a nivel de provider**: `IntlayerProvider` (React / Next.js / React Native) registra automáticamente eventos `page_view` al cargar, al cambiar de ruta y al cambiar de idioma.
|
|
209
|
+
- **Seguimiento a nivel de nodo**: cada resolución de `useIntlayer` reporta un evento `content_exposure` — qué clave de diccionario, ruta de clave, idioma y, cuando aplica, qué **variante** A/B se mostró. Las exposiciones repetidas del mismo nodo dentro de una ventana de envío se combinan en un solo evento.
|
|
210
|
+
- **Asignación determinista de A/B**: `getVariant(experimentKey, variants)` asigna una variante a cada sesión **sin ida y vuelta al servidor**, por lo que no hay parpadeo antes del primer renderizado.
|
|
211
|
+
- **`useConversion()`**: atribuye un objetivo (registro, clic, compra…) a la variante a la que estuvo expuesta la sesión.
|
|
212
|
+
- **Coste cero si no está instalado**: mismo patrón tree-shakeable que `@intlayer/editor` — `import()` dinámico envuelto en `try/catch`, más una variable de entorno en tiempo de compilación (`INTLAYER_ANALYTICS_ENABLED`) que elimina por completo la integración del bundle para las apps que no la activan.
|
|
213
|
+
- **Sin nuevo esquema de configuración**: reutiliza `editor.backendURL` (endpoint de envío / auto-alojamiento) y `editor.clientId` (clave del proyecto, que también actúa como interruptor de activación).
|
|
214
|
+
- **Respetuoso con la privacidad**: hash anónimo de sesión (SHA-256, sin almacenar ids en bruto), sin almacenamiento de IP, geolocalización aproximada solo por país, solicitudes enviadas por lotes aproximadamente cada 20 segundos.
|
|
215
|
+
- **Panel**: una nueva página **Analytics** (visible en la barra lateral una vez seleccionado un proyecto) muestra usuarios activos, usuarios de hoy, usuarios de los últimos 7/30/90 días, un gráfico de evolución de visitantes y desgloses por idioma y ubicación.
|
|
216
|
+
|
|
217
|
+
```tsx fileName="CTAButton.tsx" codeFormat="tsx"
|
|
218
|
+
import { useConversion } from "react-intlayer";
|
|
219
|
+
|
|
220
|
+
const CTAButton = () => {
|
|
221
|
+
const trackConversion = useConversion();
|
|
222
|
+
|
|
223
|
+
return (
|
|
224
|
+
<button
|
|
225
|
+
onClick={() =>
|
|
226
|
+
trackConversion({
|
|
227
|
+
experimentKey: "homepage-hero",
|
|
228
|
+
variant: "black_friday",
|
|
229
|
+
goal: "cta_click",
|
|
230
|
+
})
|
|
231
|
+
}
|
|
232
|
+
>
|
|
233
|
+
Get started
|
|
234
|
+
</button>
|
|
235
|
+
);
|
|
236
|
+
};
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
```bash packageManager="npm"
|
|
240
|
+
npm install @intlayer/analytics
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Disponible hoy para React, Next.js y React Native (a través de `react-intlayer`); otras integraciones de frameworks (Vue, Svelte, Angular, …) están planificadas, siguiendo el mismo patrón de despliegue que `@intlayer/editor`. Consulta la [documentación de Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) para la guía completa.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
204
247
|
## Plugin de Vite: Compilador Integrado y Proxy
|
|
205
248
|
|
|
206
249
|
El plugin de Vite `intlayer()` ahora integra el **compilador** y el **proxy de enrutamiento de locales** directamente, por lo que la mayoría de proyectos solo necesitan un único plugin en `vite.config.ts`:
|
|
@@ -349,6 +392,7 @@ Si estás actualizando desde v8, ten en cuenta que la v9 no incluye cambios disr
|
|
|
349
392
|
|
|
350
393
|
- [Guía de Paquetes Adaptadores de Compatibilidad](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/compat/index.md)
|
|
351
394
|
- [Diccionarios Dinámicos - Colecciones y Variantes](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dynamic_dictionaries/index.md)
|
|
395
|
+
- [Analytics - Seguimiento de exposición de contenido y pruebas A/B](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
|
|
352
396
|
- [Referencia de Configuración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/configuration.md)
|
|
353
397
|
- [SDK de CMS - Acceso programático con @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/intlayer_CMS.md)
|
|
354
398
|
- [Guía de Auto-alojamiento](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/self_hosting.md)
|
package/docs/fr/cli/index.md
CHANGED
|
@@ -125,7 +125,7 @@ Pour voir comment configurer les locales disponibles ou d'autres paramètres, re
|
|
|
125
125
|
|
|
126
126
|
### Authentification
|
|
127
127
|
|
|
128
|
-
- **[Connexion](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/login.md)** - S'authentifier auprès du CMS Intlayer et obtenir les identifiants d'accès
|
|
128
|
+
- **[Connexion](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/cli/login.md)** - S'authentifier auprès du CMS Intlayer et obtenir les identifiants d'accès
|
|
129
129
|
|
|
130
130
|
### Commandes principales
|
|
131
131
|
|
package/docs/fr/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-11
|
|
4
4
|
title: Configuration
|
|
5
5
|
description: Apprenez à configurer Intlayer pour votre application. Comprenez les différents paramètres et options disponibles pour personnaliser Intlayer selon vos besoins.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-11
|
|
19
|
+
changes: "Ajout de la configuration `analytics`"
|
|
17
20
|
- version: 9.0.0
|
|
18
21
|
date: 2026-06-24
|
|
19
22
|
changes: "Add `enableProxy` option to the routing configuration"
|
|
@@ -355,6 +358,30 @@ const config: IntlayerConfig = {
|
|
|
355
358
|
liveSync: true,
|
|
356
359
|
},
|
|
357
360
|
|
|
361
|
+
/**
|
|
362
|
+
* Configuration des analytics.
|
|
363
|
+
*/
|
|
364
|
+
analytics: {
|
|
365
|
+
/**
|
|
366
|
+
* Indique si la collecte des analytics est activée (pages vues, expositions de contenu, événements A/B).
|
|
367
|
+
* Nécessite que `editor.clientId` soit défini pour l'attribution.
|
|
368
|
+
* Par défaut : false
|
|
369
|
+
*/
|
|
370
|
+
enabled: true,
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Millisecondes entre les envois groupés automatiques vers le backend.
|
|
374
|
+
* Par défaut : 20000
|
|
375
|
+
*/
|
|
376
|
+
flushInterval: 20000,
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Fraction des sessions à enregistrer, de 0 (aucune) à 1 (toutes).
|
|
380
|
+
* Par défaut : 1
|
|
381
|
+
*/
|
|
382
|
+
sampleRate: 1,
|
|
383
|
+
},
|
|
384
|
+
|
|
358
385
|
/**
|
|
359
386
|
* Paramètres de traduction et de construction basés sur l'IA.
|
|
360
387
|
*/
|
|
@@ -671,6 +698,20 @@ Définit les paramètres liés à l'éditeur intégré, y compris le port du ser
|
|
|
671
698
|
|
|
672
699
|
---
|
|
673
700
|
|
|
701
|
+
### Configuration des Analytics (Analytics Configuration)
|
|
702
|
+
|
|
703
|
+
Définit les paramètres liés aux analytics Intlayer : la collecte du contenu réellement affiché aux utilisateurs (pages vues, expositions de contenu) et l'alimentation des tests A/B sur le contenu.
|
|
704
|
+
|
|
705
|
+
Les analytics sont strictement optionnelles (opt-in) : rien n'est collecté à moins que `analytics.enabled` soit explicitement défini sur `true` **et** qu'une clé de projet (`editor.clientId`) soit configurée pour l'attribution. Lorsqu'elles sont désactivées (par défaut), l'intégralité de l'intégration analytics est éliminée du bundle de votre application (dead-code elimination).
|
|
706
|
+
|
|
707
|
+
| Champ | Description | Type | Par défaut | Exemple | Note |
|
|
708
|
+
| --------------- | -------------------------------------------------------------------------------------- | --------- | ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
709
|
+
| `enabled` | Active la collecte des analytics (pages vues, expositions de contenu, événements A/B). | `boolean` | `false` | `true` | Nécessite que `editor.clientId` soit défini pour l'attribution ; sinon les analytics restent désactivées même si `enabled` vaut `true`. |
|
|
710
|
+
| `flushInterval` | Millisecondes entre les envois groupés automatiques vers le backend. | `number` | `20000` | `10000` | |
|
|
711
|
+
| `sampleRate` | Fraction des sessions à enregistrer, de `0` (aucune) à `1` (toutes). | `number` | `1` | `0.5` | L'échantillonnage est déterministe par session, donc une session enregistrée rapporte tous ses événements (pas d'entonnoirs partiels). |
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
674
715
|
### Configuration du Routage (Routing Configuration)
|
|
675
716
|
|
|
676
717
|
Paramètres contrôlant le comportement du routage, y compris la structure des URL, le stockage des locales et la gestion du middleware.
|
package/docs/fr/intlayer_CMS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
4
|
title: Intlayer CMS | Externalisez votre contenu dans le CMS Intlayer
|
|
5
5
|
description: Externalisez votre contenu dans le CMS Intlayer pour déléguer la gestion de votre contenu à votre équipe.
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
- cms
|
|
19
19
|
youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.0.0
|
|
22
|
+
date: 2026-07-08
|
|
23
|
+
changes: "Déplacement de la section « Synchronisation en direct » vers sa propre page (live-sync.md), conservation d'une courte introduction avec lien ici"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-06-30
|
|
23
26
|
changes: "Ajout de la section Auto-hébergement : bootstrap Docker Compose, inventaire des services, configuration SDK, fonctionnalités optionnelles et notes de mise à niveau"
|
|
@@ -248,140 +251,7 @@ Vous pourrez alors voir et gérer votre dictionnaire dans le [CMS Intlayer](http
|
|
|
248
251
|
|
|
249
252
|
La synchronisation en direct permet à votre application de refléter les modifications du contenu CMS en temps réel. Aucune reconstruction ou redéploiement n'est nécessaire. Lorsqu'elle est activée, les mises à jour sont diffusées vers un serveur de synchronisation en direct qui actualise les dictionnaires que votre application utilise.
|
|
250
253
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Activez la synchronisation en direct en mettant à jour votre configuration Intlayer :
|
|
254
|
-
|
|
255
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
256
|
-
import type { IntlayerConfig } from "intlayer";
|
|
257
|
-
|
|
258
|
-
const config: IntlayerConfig = {
|
|
259
|
-
// ... autres paramètres de configuration
|
|
260
|
-
editor: {
|
|
261
|
-
/**
|
|
262
|
-
* Active le rechargement à chaud des configurations de langue lorsque des modifications sont détectées.
|
|
263
|
-
* Par exemple, lorsqu'un dictionnaire est ajouté ou mis à jour, l'application met à jour
|
|
264
|
-
* le contenu affiché sur la page.
|
|
265
|
-
*
|
|
266
|
-
* Comme le rechargement à chaud nécessite une connexion continue au serveur,
|
|
267
|
-
* il est uniquement disponible pour les clients du plan `enterprise`.
|
|
268
|
-
*
|
|
269
|
-
* Par défaut : false
|
|
270
|
-
*/
|
|
271
|
-
liveSync: true,
|
|
272
|
-
},
|
|
273
|
-
dictionary: {
|
|
274
|
-
/**
|
|
275
|
-
* Contrôle la manière dont les dictionnaires sont importés :
|
|
276
|
-
*
|
|
277
|
-
* - "live" : Les dictionnaires sont récupérés dynamiquement via l'API Live Sync.
|
|
278
|
-
* Remplace useIntlayer par useDictionaryDynamic.
|
|
279
|
-
*
|
|
280
|
-
* Remarque : Le mode live utilise l'API Live Sync pour récupérer les dictionnaires. Si l'appel API
|
|
281
|
-
* échoue, les dictionnaires sont importés dynamiquement.
|
|
282
|
-
* Remarque : Seuls les dictionnaires avec un contenu distant et le drapeau "live" utilisent le mode live.
|
|
283
|
-
* Les autres utilisent le mode dynamique pour des raisons de performance.
|
|
284
|
-
*/
|
|
285
|
-
importMode: "fetch",
|
|
286
|
-
},
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
export default config;
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Démarrez le serveur Live Sync pour envelopper votre application :
|
|
293
|
-
|
|
294
|
-
Exemple avec Next.js :
|
|
295
|
-
|
|
296
|
-
```json5 fileName="package.json"
|
|
297
|
-
{
|
|
298
|
-
"scripts": {
|
|
299
|
-
// ... autres scripts
|
|
300
|
-
"build": "next build",
|
|
301
|
-
"dev": "next dev",
|
|
302
|
-
"start": "npx intlayer live --with 'next start'",
|
|
303
|
-
},
|
|
304
|
-
}
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Exemple avec Vite :
|
|
308
|
-
|
|
309
|
-
```json5 fileName="package.json"
|
|
310
|
-
{
|
|
311
|
-
"scripts": {
|
|
312
|
-
// ... autres scripts
|
|
313
|
-
"build": "vite build",
|
|
314
|
-
"dev": "vite dev",
|
|
315
|
-
"start": "npx intlayer live --with 'vite start'",
|
|
316
|
-
},
|
|
317
|
-
}
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
Le serveur Live Sync enveloppe votre application et applique automatiquement le contenu mis à jour dès son arrivée.
|
|
321
|
-
|
|
322
|
-
Pour recevoir les notifications de changement depuis le CMS, le serveur Live Sync maintient une connexion SSE avec le backend. Lorsque le contenu change dans le CMS, le backend transmet la mise à jour au serveur Live Sync, qui écrit les nouveaux dictionnaires. Votre application reflétera la mise à jour lors de la prochaine navigation ou du rechargement du navigateur, aucune reconstruction n’est nécessaire.
|
|
323
|
-
|
|
324
|
-
Organigramme (CMS/Backend -> Serveur Live Sync -> Serveur d’application -> Frontend) :
|
|
325
|
-
|
|
326
|
-

|
|
327
|
-
|
|
328
|
-
Comment cela fonctionne :
|
|
329
|
-
|
|
330
|
-

|
|
331
|
-
|
|
332
|
-
### Flux de travail en développement (local)
|
|
333
|
-
|
|
334
|
-
- En développement, tous les dictionnaires distants sont récupérés au démarrage de l'application, ce qui vous permet de tester rapidement les mises à jour.
|
|
335
|
-
- Pour tester Live Sync localement avec Next.js, encapsulez votre serveur de développement :
|
|
336
|
-
|
|
337
|
-
```json5 fileName="package.json"
|
|
338
|
-
{
|
|
339
|
-
"scripts": {
|
|
340
|
-
// ... autres scripts
|
|
341
|
-
"dev": "npx intlayer live --with 'next dev'",
|
|
342
|
-
// "dev": "npx intlayer live --with 'vite dev'", // Pour Vite
|
|
343
|
-
},
|
|
344
|
-
}
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
Activez l'optimisation afin qu'Intlayer applique les transformations d'importation Live pendant le développement :
|
|
348
|
-
|
|
349
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
350
|
-
import type { IntlayerConfig } from "intlayer";
|
|
351
|
-
|
|
352
|
-
const config: IntlayerConfig = {
|
|
353
|
-
editor: {
|
|
354
|
-
applicationURL: "http://localhost:5173",
|
|
355
|
-
liveSyncURL: "http://localhost:4000",
|
|
356
|
-
liveSync: true,
|
|
357
|
-
},
|
|
358
|
-
dictionary: {
|
|
359
|
-
importMode: "fetch",
|
|
360
|
-
},
|
|
361
|
-
build: {
|
|
362
|
-
optimize: true,
|
|
363
|
-
},
|
|
364
|
-
};
|
|
365
|
-
|
|
366
|
-
export default config;
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
Cette configuration encapsule votre serveur de développement avec le serveur Live Sync, récupère les dictionnaires distants au démarrage et diffuse les mises à jour du CMS via SSE. Rafraîchissez la page pour voir les changements.
|
|
370
|
-
|
|
371
|
-
Notes et contraintes :
|
|
372
|
-
|
|
373
|
-
- Ajoutez l'origine de live sync à votre politique de sécurité du site (CSP). Assurez-vous que l'URL de live sync est autorisée dans `connect-src` (et `frame-ancestors` si pertinent).
|
|
374
|
-
- Live Sync ne fonctionne pas avec une sortie statique. Pour Next.js, la page doit être dynamique pour recevoir les mises à jour à l'exécution (par exemple, utilisez `generateStaticParams`, `generateMetadata`, `getServerSideProps` ou `getStaticProps` de manière appropriée pour éviter les contraintes de statique complète).
|
|
375
|
-
|
|
376
|
-
Cette configuration enveloppe votre serveur de développement avec le serveur Live Sync, récupère les dictionnaires distants au démarrage, et diffuse les mises à jour du CMS via SSE. Actualisez la page pour voir les changements.
|
|
377
|
-
|
|
378
|
-
Notes et contraintes :
|
|
379
|
-
|
|
380
|
-
- Ajoutez l'origine du live sync à la politique de sécurité de votre site (CSP). Assurez-vous que l'URL du live sync est autorisée dans `connect-src` (et `frame-ancestors` si pertinent).
|
|
381
|
-
- Live Sync ne fonctionne pas avec une sortie statique. Pour Next.js, la page doit être dynamique pour recevoir les mises à jour à l'exécution (par exemple, utilisez `generateStaticParams`, `generateMetadata`, `getServerSideProps` ou `getStaticProps` de manière appropriée pour éviter les contraintes de statique complète).
|
|
382
|
-
- Dans le CMS, chaque dictionnaire possède un indicateur `live`. Seuls les dictionnaires avec `live=true` sont récupérés via l'API de synchronisation en direct ; les autres sont importés dynamiquement et restent inchangés à l'exécution.
|
|
383
|
-
- L'indicateur `live` est évalué pour chaque dictionnaire au moment de la compilation. Si le contenu distant n'était pas marqué `live=true` lors de la compilation, vous devez recompiler pour activer la synchronisation en direct pour ce dictionnaire.
|
|
384
|
-
- Le serveur de synchronisation en direct doit pouvoir écrire dans `.intlayer`. Dans les conteneurs, assurez-vous d'avoir un accès en écriture à `/.intlayer`.
|
|
254
|
+
Pour le guide de configuration complet (activation, démarrage du serveur Live Sync, flux de travail en développement local et contraintes), consultez la [documentation Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/live-sync.md).
|
|
385
255
|
|
|
386
256
|
## Auto-hébergement
|
|
387
257
|
|