@intlayer/docs 9.0.0-canary.15 → 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/pl/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 | Zewnętrzne zarządzanie treścią w Intlayer CMS
|
|
5
5
|
description: Zewnętrzne zarządzanie treścią w Intlayer CMS, aby delegować zarządzanie treścią do Twojego zespołu.
|
|
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: "Przeniesiono sekcję „Synchronizacja na żywo” na osobną stronę (live-sync.md), pozostawiając tu krótkie wprowadzenie i link"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-06-30
|
|
23
26
|
changes: "Dodano sekcję samodzielnego hostowania"
|
|
@@ -248,144 +251,7 @@ Następnie będziesz mógł zobaczyć i zarządzać swoim słownikiem w [Intlaye
|
|
|
248
251
|
|
|
249
252
|
Synchronizacja na żywo pozwala Twojej aplikacji odzwierciedlać zmiany treści CMS w czasie rzeczywistym. Nie jest wymagane ponowne budowanie ani wdrażanie. Po włączeniu aktualizacje są przesyłane do serwera synchronizacji na żywo, który odświeża słowniki odczytywane przez Twoją aplikację.
|
|
250
253
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
254
|
-
import type { IntlayerConfig } from "intlayer";
|
|
255
|
-
|
|
256
|
-
const config: IntlayerConfig = {
|
|
257
|
-
// ... inne ustawienia konfiguracyjne
|
|
258
|
-
editor: {
|
|
259
|
-
/**
|
|
260
|
-
* Włącza hot reloading konfiguracji lokalizacji, gdy wykryte zostaną zmiany.
|
|
261
|
-
* Na przykład, gdy słownik zostanie dodany lub zaktualizowany, aplikacja aktualizuje
|
|
262
|
-
* wyświetlaną na stronie zawartość.
|
|
263
|
-
*
|
|
264
|
-
* Ponieważ hot reloading wymaga ciągłego połączenia z serwerem,
|
|
265
|
-
* jest dostępny tylko dla klientów planu `enterprise`.
|
|
266
|
-
*
|
|
267
|
-
* Domyślnie: false
|
|
268
|
-
*/
|
|
269
|
-
liveSync: true,
|
|
270
|
-
},
|
|
271
|
-
dictionary: {
|
|
272
|
-
/**
|
|
273
|
-
* Kontroluje sposób importowania słowników:
|
|
274
|
-
*
|
|
275
|
-
* - "live": Słowniki są pobierane dynamicznie za pomocą API Live Sync.
|
|
276
|
-
* Zastępuje useIntlayer funkcją useDictionaryDynamic.
|
|
277
|
-
*
|
|
278
|
-
* Uwaga: Tryb live korzysta z API Live Sync do pobierania słowników. Jeśli wywołanie API
|
|
279
|
-
* zakończy się niepowodzeniem, słowniki są importowane dynamicznie.
|
|
280
|
-
* Uwaga: Tryb live jest używany tylko dla słowników zdalnych i oznaczonych flagą "live".
|
|
281
|
-
* Pozostałe używają trybu dynamicznego dla wydajności.
|
|
282
|
-
*/
|
|
283
|
-
importMode: "fetch",
|
|
284
|
-
},
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
export default config;
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
Uruchom serwer Live Sync, aby otoczyć swoją aplikację:
|
|
291
|
-
|
|
292
|
-
Przykład użycia samodzielnego serwera:
|
|
293
|
-
|
|
294
|
-
```json5 fileName="package.json"
|
|
295
|
-
{
|
|
296
|
-
"scripts": {
|
|
297
|
-
// ... inne skrypty
|
|
298
|
-
"live:start": "npx intlayer live",
|
|
299
|
-
},
|
|
300
|
-
}
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
Możesz również używać swojego serwera aplikacji równolegle, korzystając z argumentu `--process`.
|
|
304
|
-
|
|
305
|
-
Przykład użycia Next.js:
|
|
306
|
-
|
|
307
|
-
```json5 fileName="package.json"
|
|
308
|
-
{
|
|
309
|
-
"scripts": {
|
|
310
|
-
// ... inne skrypty
|
|
311
|
-
"build": "next build",
|
|
312
|
-
"dev": "next dev",
|
|
313
|
-
"start": "npx intlayer live --with 'next start'",
|
|
314
|
-
},
|
|
315
|
-
}
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
Przykład użycia Vite:
|
|
319
|
-
|
|
320
|
-
```json5 fileName="package.json"
|
|
321
|
-
{
|
|
322
|
-
"scripts": {
|
|
323
|
-
// ... inne skrypty
|
|
324
|
-
"build": "vite build",
|
|
325
|
-
"dev": "vite dev",
|
|
326
|
-
"start": "npx intlayer live --with 'vite start'",
|
|
327
|
-
},
|
|
328
|
-
}
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
Serwer Live Sync otacza Twoją aplikację i automatycznie stosuje zaktualizowaną zawartość w momencie jej pojawienia się.
|
|
332
|
-
|
|
333
|
-
Aby otrzymywać powiadomienia o zmianach z CMS, serwer Live Sync utrzymuje połączenie SSE z backendem. Gdy zawartość w CMS ulega zmianie, backend przekazuje aktualizację do serwera Live Sync, który zapisuje nowe słowniki. Twoja aplikacja odzwierciedli aktualizację przy następnej nawigacji lub przeładowaniu przeglądarki, nie jest wymagane ponowne budowanie.
|
|
334
|
-
|
|
335
|
-
Schemat przepływu (CMS/Backend -> Serwer Live Sync -> Serwer aplikacji -> Frontend):
|
|
336
|
-
|
|
337
|
-

|
|
338
|
-
|
|
339
|
-
Jak to działa:
|
|
340
|
-
|
|
341
|
-

|
|
342
|
-
|
|
343
|
-
### Przebieg pracy podczas developmentu (lokalnie)
|
|
344
|
-
|
|
345
|
-
- Podczas developmentu wszystkie zdalne słowniki są pobierane przy starcie aplikacji, dzięki czemu możesz szybko testować aktualizacje.
|
|
346
|
-
- Aby przetestować Live Sync lokalnie z Next.js, opakuj swój serwer deweloperski:
|
|
347
|
-
|
|
348
|
-
```json5 fileName="package.json"
|
|
349
|
-
{
|
|
350
|
-
"scripts": {
|
|
351
|
-
// ... inne skrypty
|
|
352
|
-
"dev": "npx intlayer live --with 'next dev'",
|
|
353
|
-
// "dev": "npx intlayer live --with 'vite dev'", // Dla Vite
|
|
354
|
-
},
|
|
355
|
-
}
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
Włącz optymalizację, aby Intlayer stosował transformacje importu Live podczas developmentu:
|
|
359
|
-
|
|
360
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
361
|
-
import type { IntlayerConfig } from "intlayer";
|
|
362
|
-
|
|
363
|
-
const config: IntlayerConfig = {
|
|
364
|
-
editor: {
|
|
365
|
-
applicationURL: "http://localhost:5173",
|
|
366
|
-
liveSyncURL: "http://localhost:4000",
|
|
367
|
-
liveSync: true,
|
|
368
|
-
},
|
|
369
|
-
dictionary: {
|
|
370
|
-
importMode: "fetch",
|
|
371
|
-
},
|
|
372
|
-
build: {
|
|
373
|
-
optimize: true,
|
|
374
|
-
},
|
|
375
|
-
};
|
|
376
|
-
|
|
377
|
-
export default config;
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
To ustawienie owija Twój serwer deweloperski serwerem Live Sync, pobiera zdalne słowniki podczas uruchamiania i przesyła aktualizacje z CMS za pomocą SSE. Odśwież stronę, aby zobaczyć zmiany.
|
|
381
|
-
|
|
382
|
-
Uwagi i ograniczenia:
|
|
383
|
-
|
|
384
|
-
- Dodaj pochodzenie live sync do polityki bezpieczeństwa swojej strony (CSP). Upewnij się, że adres URL live sync jest dozwolony w `connect-src` (oraz `frame-ancestors`, jeśli ma to zastosowanie).
|
|
385
|
-
- Live Sync nie działa ze statycznym outputem. W Next.js strona musi być dynamiczna, aby otrzymywać aktualizacje w czasie wykonywania (np. użyj `generateStaticParams`, `generateMetadata`, `getServerSideProps` lub `getStaticProps` odpowiednio, aby uniknąć pełnych ograniczeń statycznych).
|
|
386
|
-
- W CMS każdy słownik ma flagę `live`. Tylko słowniki z `live=true` są pobierane przez API live sync; pozostałe są importowane dynamicznie i pozostają niezmienione w czasie wykonywania.
|
|
387
|
-
- Flaga `live` jest oceniana dla każdego słownika podczas budowania (build time). Jeśli zdalna zawartość nie była oznaczona jako `live=true` podczas budowania (build time), musisz przebudować projekt, aby włączyć Live Sync dla tego słownika.
|
|
388
|
-
- Serwer live sync musi mieć możliwość zapisu do `.intlayer`. W kontenerach upewnij się, że masz dostęp do zapisu do `/.intlayer`.
|
|
254
|
+
Pełny przewodnik po konfiguracji (włączanie, uruchamianie serwera Live Sync, lokalny przepływ pracy programistycznej i ograniczenia) znajdziesz w [dokumentacji Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/live-sync.md).
|
|
389
255
|
|
|
390
256
|
## Samodzielne hostowanie (Self-Hosting)
|
|
391
257
|
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-07-08
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
|
+
title: Synchronizacja na żywo | Odzwierciedlaj zmiany treści CMS w czasie rzeczywistym
|
|
5
|
+
description: Pozwól swojej aplikacji odzwierciedlać zmiany treści w Intlayer CMS w czasie działania, bez konieczności przebudowy czy ponownego wdrożenia.
|
|
6
|
+
keywords:
|
|
7
|
+
- Synchronizacja na żywo
|
|
8
|
+
- Live Sync
|
|
9
|
+
- CMS
|
|
10
|
+
- Edytor Wizualny
|
|
11
|
+
- Internacjonalizacja
|
|
12
|
+
- Dokumentacja
|
|
13
|
+
- Intlayer
|
|
14
|
+
- Next.js
|
|
15
|
+
- Vite
|
|
16
|
+
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-08
|
|
19
|
+
changes: "Przeniesiono z dokumentacji Intlayer CMS na osobną stronę"
|
|
20
|
+
- version: 6.0.1
|
|
21
|
+
date: 2025-09-22
|
|
22
|
+
changes: "Dodano dokumentację synchronizacji na żywo"
|
|
23
|
+
- version: 6.0.0
|
|
24
|
+
date: 2025-09-04
|
|
25
|
+
changes: "Zastąpiono pole `hotReload` polem `liveSync`"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Synchronizacja na żywo
|
|
30
|
+
|
|
31
|
+
Synchronizacja na żywo pozwala Twojej aplikacji odzwierciedlać zmiany treści CMS w czasie rzeczywistym. Nie jest wymagane ponowne budowanie ani wdrażanie. Po włączeniu aktualizacje są przesyłane do serwera synchronizacji na żywo, który odświeża słowniki odczytywane przez Twoją aplikację.
|
|
32
|
+
|
|
33
|
+
## Spis treści
|
|
34
|
+
|
|
35
|
+
<TOC/>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Włączanie synchronizacji na żywo
|
|
40
|
+
|
|
41
|
+
Włącz synchronizację na żywo, aktualizując konfigurację Intlayer:
|
|
42
|
+
|
|
43
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
44
|
+
import type { IntlayerConfig } from "intlayer";
|
|
45
|
+
|
|
46
|
+
const config: IntlayerConfig = {
|
|
47
|
+
// ... inne ustawienia konfiguracyjne
|
|
48
|
+
editor: {
|
|
49
|
+
/**
|
|
50
|
+
* Włącza hot reloading konfiguracji lokalizacji, gdy wykryte zostaną zmiany.
|
|
51
|
+
* Na przykład, gdy słownik zostanie dodany lub zaktualizowany, aplikacja aktualizuje
|
|
52
|
+
* wyświetlaną na stronie zawartość.
|
|
53
|
+
*
|
|
54
|
+
* Ponieważ hot reloading wymaga ciągłego połączenia z serwerem,
|
|
55
|
+
* jest dostępny tylko dla klientów planu `enterprise`.
|
|
56
|
+
*
|
|
57
|
+
* Domyślnie: false
|
|
58
|
+
*/
|
|
59
|
+
liveSync: true,
|
|
60
|
+
},
|
|
61
|
+
dictionary: {
|
|
62
|
+
/**
|
|
63
|
+
* Kontroluje sposób importowania słowników:
|
|
64
|
+
*
|
|
65
|
+
* - "live": Słowniki są pobierane dynamicznie za pomocą API Live Sync.
|
|
66
|
+
* Zastępuje useIntlayer funkcją useDictionaryDynamic.
|
|
67
|
+
*
|
|
68
|
+
* Uwaga: Tryb live korzysta z API Live Sync do pobierania słowników. Jeśli wywołanie API
|
|
69
|
+
* zakończy się niepowodzeniem, słowniki są importowane dynamicznie.
|
|
70
|
+
* Uwaga: Tryb live jest używany tylko dla słowników zdalnych i oznaczonych flagą "live".
|
|
71
|
+
* Pozostałe używają trybu dynamicznego dla wydajności.
|
|
72
|
+
*/
|
|
73
|
+
importMode: "fetch",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default config;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Uruchom serwer Live Sync, aby otoczyć swoją aplikację:
|
|
81
|
+
|
|
82
|
+
Przykład użycia samodzielnego serwera:
|
|
83
|
+
|
|
84
|
+
```json5 fileName="package.json"
|
|
85
|
+
{
|
|
86
|
+
"scripts": {
|
|
87
|
+
// ... inne skrypty
|
|
88
|
+
"live:start": "npx intlayer live",
|
|
89
|
+
},
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Możesz również używać swojego serwera aplikacji równolegle, korzystając z argumentu `--process`.
|
|
94
|
+
|
|
95
|
+
Przykład użycia Next.js:
|
|
96
|
+
|
|
97
|
+
```json5 fileName="package.json"
|
|
98
|
+
{
|
|
99
|
+
"scripts": {
|
|
100
|
+
// ... inne skrypty
|
|
101
|
+
"build": "next build",
|
|
102
|
+
"dev": "next dev",
|
|
103
|
+
"start": "npx intlayer live --with 'next start'",
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Przykład użycia Vite:
|
|
109
|
+
|
|
110
|
+
```json5 fileName="package.json"
|
|
111
|
+
{
|
|
112
|
+
"scripts": {
|
|
113
|
+
// ... inne skrypty
|
|
114
|
+
"build": "vite build",
|
|
115
|
+
"dev": "vite dev",
|
|
116
|
+
"start": "npx intlayer live --with 'vite start'",
|
|
117
|
+
},
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Serwer Live Sync otacza Twoją aplikację i automatycznie stosuje zaktualizowaną zawartość w momencie jej pojawienia się.
|
|
122
|
+
|
|
123
|
+
Aby otrzymywać powiadomienia o zmianach z CMS, serwer Live Sync utrzymuje połączenie SSE z backendem. Gdy zawartość w CMS ulega zmianie, backend przekazuje aktualizację do serwera Live Sync, który zapisuje nowe słowniki. Twoja aplikacja odzwierciedli aktualizację przy następnej nawigacji lub przeładowaniu przeglądarki, nie jest wymagane ponowne budowanie.
|
|
124
|
+
|
|
125
|
+
Schemat przepływu (CMS/Backend -> Serwer Live Sync -> Serwer aplikacji -> Frontend):
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
Jak to działa:
|
|
130
|
+
|
|
131
|
+

|
|
132
|
+
|
|
133
|
+
## Przebieg pracy podczas developmentu (lokalnie)
|
|
134
|
+
|
|
135
|
+
- Podczas developmentu wszystkie zdalne słowniki są pobierane przy starcie aplikacji, dzięki czemu możesz szybko testować aktualizacje.
|
|
136
|
+
- Aby przetestować Live Sync lokalnie z Next.js, opakuj swój serwer deweloperski:
|
|
137
|
+
|
|
138
|
+
```json5 fileName="package.json"
|
|
139
|
+
{
|
|
140
|
+
"scripts": {
|
|
141
|
+
// ... inne skrypty
|
|
142
|
+
"dev": "npx intlayer live --with 'next dev'",
|
|
143
|
+
// "dev": "npx intlayer live --with 'vite dev'", // Dla Vite
|
|
144
|
+
},
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Włącz optymalizację, aby Intlayer stosował transformacje importu Live podczas developmentu:
|
|
149
|
+
|
|
150
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
151
|
+
import type { IntlayerConfig } from "intlayer";
|
|
152
|
+
|
|
153
|
+
const config: IntlayerConfig = {
|
|
154
|
+
editor: {
|
|
155
|
+
applicationURL: "http://localhost:5173",
|
|
156
|
+
liveSyncURL: "http://localhost:4000",
|
|
157
|
+
liveSync: true,
|
|
158
|
+
},
|
|
159
|
+
dictionary: {
|
|
160
|
+
importMode: "fetch",
|
|
161
|
+
},
|
|
162
|
+
build: {
|
|
163
|
+
optimize: true,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export default config;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
To ustawienie owija Twój serwer deweloperski serwerem Live Sync, pobiera zdalne słowniki podczas uruchamiania i przesyła aktualizacje z CMS za pomocą SSE. Odśwież stronę, aby zobaczyć zmiany.
|
|
171
|
+
|
|
172
|
+
## Uwagi i ograniczenia
|
|
173
|
+
|
|
174
|
+
- Dodaj pochodzenie live sync do polityki bezpieczeństwa swojej strony (CSP). Upewnij się, że adres URL live sync jest dozwolony w `connect-src` (oraz `frame-ancestors`, jeśli ma to zastosowanie).
|
|
175
|
+
- Live Sync nie działa ze statycznym outputem. W Next.js strona musi być dynamiczna, aby otrzymywać aktualizacje w czasie wykonywania (np. użyj `generateStaticParams`, `generateMetadata`, `getServerSideProps` lub `getStaticProps` odpowiednio, aby uniknąć pełnych ograniczeń statycznych).
|
|
176
|
+
- W CMS każdy słownik ma flagę `live`. Tylko słowniki z `live=true` są pobierane przez API live sync; pozostałe są importowane dynamicznie i pozostają niezmienione w czasie wykonywania.
|
|
177
|
+
- Flaga `live` jest oceniana dla każdego słownika podczas budowania (build time). Jeśli zdalna zawartość nie była oznaczona jako `live=true` podczas budowania (build time), musisz przebudować projekt, aby włączyć Live Sync dla tego słownika.
|
|
178
|
+
- Serwer live sync musi mieć możliwość zapisu do `.intlayer`. W kontenerach upewnij się, że masz dostęp do zapisu do `/.intlayer`.
|
|
179
|
+
|
|
180
|
+
## Przydatne linki
|
|
181
|
+
|
|
182
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md)
|
|
183
|
+
- [Edytor Wizualny Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md)
|
|
184
|
+
- [Dokumentacja konfiguracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md)
|
|
185
|
+
- [Przewodnik po samodzielnym hostowaniu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/self_hosting.md)
|
package/docs/pl/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: Nowy Intlayer v9 - Co nowego?
|
|
5
5
|
description: Odkryj nowości w Intlayer v9. Przedstawiamy pakiety kompatybilności typu drop-in dla popularnych bibliotek i18n oraz wsparcie dla Kolekcji (Collections) i Wariantów (Variants).
|
|
6
6
|
keywords:
|
|
@@ -204,6 +204,49 @@ const product = useIntlayer("product-copy", {
|
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
|
207
|
+
## `@intlayer/analytics`: śledzenie ekspozycji treści i testy A/B
|
|
208
|
+
|
|
209
|
+
Nowy opcjonalny pakiet, [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md), pokazuje, jakie treści są faktycznie wyświetlane Twoim odwiedzającym — i domyka pętlę z **Collections & Variants**, umożliwiając testowanie treści A/B i mierzenie konwersji dla każdego wariantu.
|
|
210
|
+
|
|
211
|
+
- **Śledzenie na poziomie providera**: `IntlayerProvider` (React / Next.js / React Native) automatycznie rejestruje zdarzenia `page_view` przy ładowaniu, zmianie trasy i zmianie języka.
|
|
212
|
+
- **Śledzenie na poziomie węzła**: każde rozwiązanie `useIntlayer` zgłasza zdarzenie `content_exposure` — jaki klucz słownika, ścieżka klucza, język i (jeśli dotyczy) jaki **wariant** A/B został wyświetlony. Powtarzające się ekspozycje tego samego węzła w oknie wysyłki są łączone w jedno zdarzenie.
|
|
213
|
+
- **Deterministyczne przypisanie A/B**: `getVariant(experimentKey, variants)` przypisuje wariant każdej sesji **bez komunikacji z serwerem**, dzięki czemu nie ma migotania przed pierwszym renderowaniem.
|
|
214
|
+
- **`useConversion()`**: przypisuje cel (rejestracja, kliknięcie, zakup…) do wariantu, na który była wystawiona sesja.
|
|
215
|
+
- **Zerowy koszt, gdy nie zainstalowano**: ten sam wzorzec tree-shakeable co `@intlayer/editor` — dynamiczny `import()` opakowany w `try/catch`, plus zmienna środowiskowa czasu kompilacji (`INTLAYER_ANALYTICS_ENABLED`), która całkowicie usuwa integrację z bundla dla aplikacji, które jej nie włączają.
|
|
216
|
+
- **Bez nowego schematu konfiguracji**: ponownie wykorzystuje `editor.backendURL` (punkt końcowy wysyłki / self-hosting) i `editor.clientId` (klucz projektu, będący jednocześnie przełącznikiem włączania).
|
|
217
|
+
- **Dbałość o prywatność**: anonimowe hashowanie sesji (SHA-256, bez przechowywania surowych identyfikatorów), brak przechowywania adresów IP, tylko przybliżona geolokalizacja na poziomie kraju, żądania wysyłane partiami mniej więcej co 20 sekund.
|
|
218
|
+
- **Panel**: nowa strona **Analytics** (widoczna na pasku bocznym po wybraniu projektu) pokazuje aktywnych użytkowników, użytkowników dzisiaj, użytkowników z ostatnich 7/30/90 dni, wykres ewolucji odwiedzających oraz podział według języka i lokalizacji.
|
|
219
|
+
|
|
220
|
+
```tsx fileName="CTAButton.tsx" codeFormat="tsx"
|
|
221
|
+
import { useConversion } from "react-intlayer";
|
|
222
|
+
|
|
223
|
+
const CTAButton = () => {
|
|
224
|
+
const trackConversion = useConversion();
|
|
225
|
+
|
|
226
|
+
return (
|
|
227
|
+
<button
|
|
228
|
+
onClick={() =>
|
|
229
|
+
trackConversion({
|
|
230
|
+
experimentKey: "homepage-hero",
|
|
231
|
+
variant: "black_friday",
|
|
232
|
+
goal: "cta_click",
|
|
233
|
+
})
|
|
234
|
+
}
|
|
235
|
+
>
|
|
236
|
+
Get started
|
|
237
|
+
</button>
|
|
238
|
+
);
|
|
239
|
+
};
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
```bash packageManager="npm"
|
|
243
|
+
npm install @intlayer/analytics
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Dostępne już dziś dla React, Next.js i React Native (poprzez `react-intlayer`); inne wiązania frameworków (Vue, Svelte, Angular, …) są planowane, zgodnie z tym samym wzorcem wdrażania co `@intlayer/editor`. Pełny przewodnik znajdziesz w [dokumentacji Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md).
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
207
250
|
## Vite Plugin: Bundled Compiler & Proxy
|
|
208
251
|
|
|
209
252
|
Plugin Vite `intlayer()` teraz łączy **kompilator** i **proxy do routingu locale'ów** bezpośrednio, więc większość projektów potrzebuje tylko jednej wtyczki w `vite.config.ts`:
|
|
@@ -350,6 +393,7 @@ Jeśli aktualizujesz aplikację z wersji v8, pamiętaj, że wersja v9 nie zawier
|
|
|
350
393
|
|
|
351
394
|
- [Przewodnik po pakietach kompatybilności (Compat Adapter Packages)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/compat/index.md)
|
|
352
395
|
- [Dynamiczne słowniki - Kolekcje i Warianty](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dynamic_dictionaries/index.md)
|
|
396
|
+
- [Analytics - Śledzenie ekspozycji treści i testy A/B](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
|
|
353
397
|
- [Dokumentacja konfiguracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md)
|
|
354
398
|
- [SDK CMS - Programowy dostęp z @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md)
|
|
355
399
|
- [Przewodnik po samodzielnym hostowaniu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/self_hosting.md)
|
package/docs/pt/cli/index.md
CHANGED
|
@@ -125,7 +125,7 @@ Para ver como configurar os idiomas disponíveis ou outros parâmetros, consulte
|
|
|
125
125
|
|
|
126
126
|
### Autenticação
|
|
127
127
|
|
|
128
|
-
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/login.md)** - Autentique-se no Intlayer CMS e obtenha credenciais de acesso
|
|
128
|
+
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/login.md)** - Autentique-se no Intlayer CMS e obtenha credenciais de acesso
|
|
129
129
|
|
|
130
130
|
### Comandos Principais
|
|
131
131
|
|
package/docs/pt/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: Configuração (Configuration)
|
|
5
5
|
description: Saiba como configurar o Intlayer para a sua aplicação. Entenda as várias configurações e opções disponíveis para personalizar o Intlayer conforme as suas necessidades.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,12 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-11
|
|
19
|
+
changes: "Adicionada a configuração `analytics`"
|
|
20
|
+
- version: 9.0.0
|
|
21
|
+
date: 2026-06-24
|
|
22
|
+
changes: "Add `enableProxy` option to the routing configuration"
|
|
17
23
|
- version: 8.10.0
|
|
18
24
|
date: 2026-06-17
|
|
19
25
|
changes: "Adicionada a opção `format` à configuração do dicionário"
|
|
@@ -352,6 +358,30 @@ const config: IntlayerConfig = {
|
|
|
352
358
|
liveSync: true,
|
|
353
359
|
},
|
|
354
360
|
|
|
361
|
+
/**
|
|
362
|
+
* Configuração de analytics.
|
|
363
|
+
*/
|
|
364
|
+
analytics: {
|
|
365
|
+
/**
|
|
366
|
+
* Se a recolha de analytics está ativada (visualizações de página, exposições de conteúdo, eventos A/B).
|
|
367
|
+
* Requer que `editor.clientId` esteja definido para a atribuição.
|
|
368
|
+
* Padrão: false
|
|
369
|
+
*/
|
|
370
|
+
enabled: true,
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Milissegundos entre os envios automáticos em lote para o backend.
|
|
374
|
+
* Padrão: 20000
|
|
375
|
+
*/
|
|
376
|
+
flushInterval: 20000,
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Fração de sessões a registar, de 0 (nenhuma) a 1 (todas).
|
|
380
|
+
* Padrão: 1
|
|
381
|
+
*/
|
|
382
|
+
sampleRate: 1,
|
|
383
|
+
},
|
|
384
|
+
|
|
355
385
|
/**
|
|
356
386
|
* Definições de tradução e geração assistida por IA.
|
|
357
387
|
*/
|
|
@@ -668,6 +698,20 @@ Define as definições para o editor visual integrado, incluindo a porta do serv
|
|
|
668
698
|
|
|
669
699
|
---
|
|
670
700
|
|
|
701
|
+
### Configuração de Analytics
|
|
702
|
+
|
|
703
|
+
Define as definições relacionadas com os analytics do Intlayer: a recolha do conteúdo que é efetivamente mostrado aos utilizadores (visualizações de página, exposições de conteúdo) e o suporte a testes A/B de conteúdo.
|
|
704
|
+
|
|
705
|
+
Os analytics são estritamente opt-in: nada é recolhido a menos que `analytics.enabled` esteja explicitamente definido como `true` **e** uma chave de projeto (`editor.clientId`) esteja configurada para a atribuição. Quando desativado (padrão), toda a integração de analytics é eliminada do bundle da sua aplicação (dead-code elimination).
|
|
706
|
+
|
|
707
|
+
| Campo | Descrição | Tipo | Padrão | Exemplo | Nota |
|
|
708
|
+
| --------------- | -------------------------------------------------------------------------------------------- | --------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
709
|
+
| `enabled` | Ativa a recolha de analytics (visualizações de página, exposições de conteúdo, eventos A/B). | `boolean` | `false` | `true` | Requer que `editor.clientId` esteja definido para a atribuição; caso contrário, os analytics permanecem desativados mesmo que `enabled` seja `true`. |
|
|
710
|
+
| `flushInterval` | Milissegundos entre os envios automáticos em lote para o backend. | `number` | `20000` | `10000` | |
|
|
711
|
+
| `sampleRate` | Fração de sessões a registar, de `0` (nenhuma) a `1` (todas). | `number` | `1` | `0.5` | A amostragem é determinística por sessão, pelo que uma sessão registada reporta todos os seus eventos (sem funis parciais). |
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
671
715
|
### Configuração de Roteamento
|
|
672
716
|
|
|
673
717
|
Definições que controlam o comportamento do roteamento, incluindo estrutura de URL, armazenamento de idiomas e gestão de middleware.
|
package/docs/pt/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 | Externalize seu conteúdo no Intlayer CMS
|
|
5
5
|
description: Externalize seu conteúdo no Intlayer CMS para delegar a gestão do seu conteúdo para sua equipe.
|
|
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ção «Sincronização ao vivo» movida para sua própria página (live-sync.md), mantendo aqui uma breve introdução com link"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-06-30
|
|
23
26
|
changes: "Adicionada seção de Auto-hospedagem: bootstrap Docker Compose, inventário de serviços, configuração SDK, recursos opcionais e notas de atualização"
|
|
@@ -248,148 +251,7 @@ Depois, poderá ver e gerir o seu dicionário no [Intlayer CMS](https://app.intl
|
|
|
248
251
|
|
|
249
252
|
A Sincronização ao Vivo permite que a sua aplicação reflita as alterações de conteúdo do CMS em tempo de execução. Não é necessário reconstruir ou reimplantar. Quando ativada, as atualizações são transmitidas para um servidor de Sincronização ao Vivo que atualiza os dicionários que a sua aplicação lê.
|
|
250
253
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Ative a Sincronização ao Vivo atualizando a sua configuração Intlayer:
|
|
254
|
-
|
|
255
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
256
|
-
import type { IntlayerConfig } from "intlayer";
|
|
257
|
-
|
|
258
|
-
const config: IntlayerConfig = {
|
|
259
|
-
// ... outras configurações
|
|
260
|
-
editor: {
|
|
261
|
-
/**
|
|
262
|
-
* Ativa o recarregamento a quente das configurações de localidade quando são detetadas alterações.
|
|
263
|
-
* Por exemplo, quando um dicionário é adicionado ou atualizado, a aplicação atualiza
|
|
264
|
-
* o conteúdo exibido na página.
|
|
265
|
-
*
|
|
266
|
-
* Como o recarregamento a quente requer uma conexão contínua com o servidor, está
|
|
267
|
-
* disponível apenas para clientes do plano `enterprise`.
|
|
268
|
-
*
|
|
269
|
-
* Padrão: false
|
|
270
|
-
*/
|
|
271
|
-
liveSync: true,
|
|
272
|
-
},
|
|
273
|
-
dictionary: {
|
|
274
|
-
/**
|
|
275
|
-
* Controla como os dicionários são importados:
|
|
276
|
-
*
|
|
277
|
-
* - "live": Os dicionários são buscados dinamicamente usando a API de Sincronização ao Vivo.
|
|
278
|
-
* Substitui useIntlayer por useDictionaryDynamic.
|
|
279
|
-
*
|
|
280
|
-
* Nota: O modo live usa a API de Sincronização ao Vivo para buscar os dicionários. Se a chamada da API
|
|
281
|
-
* falhar, os dicionários são importados dinamicamente.
|
|
282
|
-
* Nota: Apenas dicionários com conteúdo remoto e sinalizadores "live" usam o modo live.
|
|
283
|
-
* Outros usam o modo dinâmico para melhor desempenho.
|
|
284
|
-
*/
|
|
285
|
-
importMode: "fetch",
|
|
286
|
-
},
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
export default config;
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Inicie o servidor Live Sync para envolver sua aplicação:
|
|
293
|
-
|
|
294
|
-
Exemplo usando Next.js:
|
|
295
|
-
|
|
296
|
-
```json5 fileName="package.json"
|
|
297
|
-
{
|
|
298
|
-
"scripts": {
|
|
299
|
-
// ... outros scripts
|
|
300
|
-
"build": "next build",
|
|
301
|
-
"dev": "next dev",
|
|
302
|
-
"start": "npx intlayer live --with 'next start'",
|
|
303
|
-
},
|
|
304
|
-
}
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Exemplo usando Vite:
|
|
308
|
-
|
|
309
|
-
```json5 fileName="package.json"
|
|
310
|
-
{
|
|
311
|
-
"scripts": {
|
|
312
|
-
// ... outros scripts
|
|
313
|
-
"build": "vite build",
|
|
314
|
-
"dev": "vite dev",
|
|
315
|
-
"start": "npx intlayer live --with 'vite start'",
|
|
316
|
-
},
|
|
317
|
-
}
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
O servidor Live Sync envolve sua aplicação e aplica automaticamente o conteúdo atualizado assim que ele chega.
|
|
321
|
-
|
|
322
|
-
Para receber notificações de alterações do CMS, o servidor Live Sync mantém uma conexão SSE com o backend. Quando o conteúdo muda no CMS, o backend encaminha a atualização para o servidor Live Sync, que grava os novos dicionários. Sua aplicação refletirá a atualização na próxima navegação ou recarregamento do navegador, sem necessidade de reconstrução.
|
|
323
|
-
|
|
324
|
-
Fluxograma (CMS/Backend -> Servidor Live Sync -> Servidor de Aplicação -> Frontend):
|
|
325
|
-
|
|
326
|
-

|
|
327
|
-
|
|
328
|
-
Como funciona:
|
|
329
|
-
|
|
330
|
-

|
|
331
|
-
|
|
332
|
-
### Fluxo de trabalho de desenvolvimento (local)
|
|
333
|
-
|
|
334
|
-
- Em desenvolvimento, todos os dicionários remotos são buscados quando a aplicação inicia, para que você possa testar atualizações rapidamente.
|
|
335
|
-
- Para testar o Live Sync localmente com Next.js, envolva seu servidor de desenvolvimento:
|
|
336
|
-
|
|
337
|
-
```json5 fileName="package.json"
|
|
338
|
-
{
|
|
339
|
-
"scripts": {
|
|
340
|
-
// ... outros scripts
|
|
341
|
-
"dev": "npx intlayer live --with 'next dev'",
|
|
342
|
-
// "dev": "npx intlayer live --with 'vite dev'", // Para Vite
|
|
343
|
-
},
|
|
344
|
-
}
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
Habilite a otimização para que o Intlayer aplique as transformações de importação Live durante o desenvolvimento:
|
|
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
|
-
Esta configuração envolve seu servidor de desenvolvimento com o servidor Live Sync, busca dicionários remotos na inicialização e transmite atualizações do CMS via SSE. Atualize a página para ver as mudanças.
|
|
370
|
-
|
|
371
|
-
Notas e restrições:
|
|
372
|
-
|
|
373
|
-
- Adicione a origem do live sync à política de segurança do seu site (CSP). Certifique-se de que a URL do live sync esteja permitida em `connect-src` (e `frame-ancestors`, se relevante).
|
|
374
|
-
- O Live Sync não funciona com saída estática. Para Next.js, a página deve ser dinâmica para receber atualizações em tempo de execução (por exemplo, use `generateStaticParams`, `generateMetadata`, `getServerSideProps` ou `getStaticProps` adequadamente para evitar restrições de somente estático).
|
|
375
|
-
/// No CMS, cada dicionário possui uma flag `live`. Apenas dicionários com `live=true` são buscados via API de sincronização ao vivo; os demais são importados dinamicamente e permanecem inalterados em tempo de execução.
|
|
376
|
-
/// A flag `live` é avaliada para cada dicionário no momento da compilação. Se o conteúdo remoto não foi marcado como `live=true` durante a compilação, você deve recompilar para habilitar a Sincronização ao Vivo para esse dicionário.
|
|
377
|
-
/// O servidor de sincronização ao vivo deve ter permissão para escrever em `.intlayer`. Em contêineres, assegure o acesso de escrita a `/.intlayer`.
|
|
378
|
-
///
|
|
379
|
-
/// ## Depuração
|
|
380
|
-
///
|
|
381
|
-
/// Se você encontrar algum problema com o CMS, verifique o seguinte:
|
|
382
|
-
///
|
|
383
|
-
/// - A aplicação está em execução.
|
|
384
|
-
///
|
|
385
|
-
/// - A configuração do [`editor`](https://intlayer.org/doc/concept/configuration#editor-configuration) está corretamente definida no seu arquivo de configuração do Intlayer.
|
|
386
|
-
/// - Campos obrigatórios:
|
|
387
|
-
- A URL da aplicação deve corresponder àquela que você definiu na configuração do editor (`applicationURL`).
|
|
388
|
-
- A URL do CMS
|
|
389
|
-
|
|
390
|
-
- Certifique-se de que a configuração do projeto foi enviada para o Intlayer CMS.
|
|
391
|
-
|
|
392
|
-
- O editor visual usa um iframe para exibir seu site. Certifique-se de que a Política de Segurança de Conteúdo (CSP) do seu site permita a URL do CMS como `frame-ancestors` ('https://app.intlayer.org' por padrão). Verifique o console do editor para qualquer erro.
|
|
254
|
+
Para o guia de configuração completo (ativação, início do servidor Live Sync, fluxo de trabalho de desenvolvimento local e restrições), consulte a [documentação do Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/live-sync.md).
|
|
393
255
|
|
|
394
256
|
## Auto-hospedagem
|
|
395
257
|
|