@intlayer/docs 9.0.0-canary.15 → 9.0.0-canary.17
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/blog/en/rag_powered_documentation_assistant.md +6 -0
- 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
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-07-08
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
|
+
title: Live Sync | Отражение изменений контента CMS в реальном времени
|
|
5
|
+
description: Позвольте вашему приложению отражать изменения контента Intlayer CMS в реальном времени — без пересборки и повторного развёртывания.
|
|
6
|
+
keywords:
|
|
7
|
+
- Live Sync
|
|
8
|
+
- Живая синхронизация
|
|
9
|
+
- CMS
|
|
10
|
+
- Визуальный редактор
|
|
11
|
+
- Интернационализация
|
|
12
|
+
- Документация
|
|
13
|
+
- Intlayer
|
|
14
|
+
- Next.js
|
|
15
|
+
- Vite
|
|
16
|
+
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-08
|
|
19
|
+
changes: "Перенесено из документации Intlayer CMS в отдельную страницу"
|
|
20
|
+
- version: 6.0.1
|
|
21
|
+
date: 2025-09-22
|
|
22
|
+
changes: "Добавлена документация по live sync"
|
|
23
|
+
- version: 6.0.0
|
|
24
|
+
date: 2025-09-04
|
|
25
|
+
changes: "Заменено поле `hotReload` на `liveSync`"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Живая синхронизация
|
|
30
|
+
|
|
31
|
+
Живая синхронизация позволяет вашему приложению отражать изменения контента CMS в режиме реального времени. Пересборка или повторный деплой не требуются. Когда функция включена, обновления передаются на сервер живой синхронизации, который обновляет словари, используемые вашим приложением.
|
|
32
|
+
|
|
33
|
+
## Содержание
|
|
34
|
+
|
|
35
|
+
<TOC/>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Включение Live Sync
|
|
40
|
+
|
|
41
|
+
Включите живую синхронизацию, обновив конфигурацию Intlayer:
|
|
42
|
+
|
|
43
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
44
|
+
import type { IntlayerConfig } from "intlayer";
|
|
45
|
+
|
|
46
|
+
const config: IntlayerConfig = {
|
|
47
|
+
// ... другие настройки конфигурации
|
|
48
|
+
editor: {
|
|
49
|
+
/**
|
|
50
|
+
* Включает горячую перезагрузку конфигураций локалей при обнаружении изменений.
|
|
51
|
+
* Например, когда словарь добавляется или обновляется, приложение обновляет
|
|
52
|
+
* отображаемый на странице контент.
|
|
53
|
+
*
|
|
54
|
+
* Поскольку горячая перезагрузка требует постоянного подключения к серверу,
|
|
55
|
+
* она доступна только для клиентов с тарифным планом `enterprise`.
|
|
56
|
+
*
|
|
57
|
+
* По умолчанию: false
|
|
58
|
+
*/
|
|
59
|
+
liveSync: true,
|
|
60
|
+
},
|
|
61
|
+
dictionary: {
|
|
62
|
+
/**
|
|
63
|
+
* Управляет способом импорта словарей:
|
|
64
|
+
*
|
|
65
|
+
* - "fetch": словари загружаются динамически с использованием Live Sync API.
|
|
66
|
+
* Заменяет useIntlayer на useDictionaryDynamic.
|
|
67
|
+
*
|
|
68
|
+
* Примечание: Режим "fetch" использует Live Sync API для загрузки словарей. Если вызов API
|
|
69
|
+
* не удаётся, словари импортируются динамически.
|
|
70
|
+
* Примечание: Только словари с удалённым содержимым и флагом "live" используют режим "fetch".
|
|
71
|
+
* Остальные используют динамический режим для повышения производительности.
|
|
72
|
+
*/
|
|
73
|
+
importMode: "fetch",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default config;
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Запустите сервер Live Sync, чтобы обернуть ваше приложение:
|
|
81
|
+
|
|
82
|
+
Пример использования автономного сервера:
|
|
83
|
+
|
|
84
|
+
```json5 fileName="package.json"
|
|
85
|
+
{
|
|
86
|
+
"scripts": {
|
|
87
|
+
// ... other scripts
|
|
88
|
+
"live:start": "npx intlayer live",
|
|
89
|
+
},
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Вы также можете использовать сервер вашего приложения параллельно, используя аргумент `--process`.
|
|
94
|
+
|
|
95
|
+
Пример с использованием Next.js:
|
|
96
|
+
|
|
97
|
+
```json5 fileName="package.json"
|
|
98
|
+
{
|
|
99
|
+
"scripts": {
|
|
100
|
+
// ... другие скрипты
|
|
101
|
+
"build": "next build",
|
|
102
|
+
"dev": "next dev",
|
|
103
|
+
"start": "npx intlayer live --with 'next start'",
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Пример с использованием Vite:
|
|
109
|
+
|
|
110
|
+
```json5 fileName="package.json"
|
|
111
|
+
{
|
|
112
|
+
"scripts": {
|
|
113
|
+
// ... другие скрипты
|
|
114
|
+
"build": "vite build",
|
|
115
|
+
"dev": "vite dev",
|
|
116
|
+
"start": "npx intlayer live --with 'vite start'",
|
|
117
|
+
},
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Сервер Live Sync оборачивает ваше приложение и автоматически применяет обновлённый контент по мере его поступления.
|
|
122
|
+
|
|
123
|
+
Чтобы получать уведомления об изменениях из CMS, сервер Live Sync поддерживает SSE-соединение с бэкендом. Когда контент в CMS изменяется, бэкенд пересылает обновление серверу Live Sync, который записывает новые словари. Ваше приложение отобразит обновление при следующей навигации или перезагрузке браузера, пересборка не требуется.
|
|
124
|
+
|
|
125
|
+
Блок-схема (CMS/Backend -> Live Sync Server -> Application Server -> Frontend):
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
Как это работает:
|
|
130
|
+
|
|
131
|
+

|
|
132
|
+
|
|
133
|
+
## Рабочий процесс разработки (локально)
|
|
134
|
+
|
|
135
|
+
- В процессе разработки все удалённые словари загружаются при запуске приложения, чтобы вы могли быстро тестировать обновления.
|
|
136
|
+
- Чтобы протестировать Live Sync локально с Next.js, оберните ваш dev-сервер:
|
|
137
|
+
|
|
138
|
+
```json5 fileName="package.json"
|
|
139
|
+
{
|
|
140
|
+
"scripts": {
|
|
141
|
+
// ... другие скрипты
|
|
142
|
+
"dev": "npx intlayer live --with 'next dev'",
|
|
143
|
+
// "dev": "npx intlayer live --with 'vite dev'", // Для Vite
|
|
144
|
+
},
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Включите оптимизацию, чтобы Intlayer применял трансформации Live импорта во время разработки:
|
|
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, // default: process.env.NODE_ENV === 'production'
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export default config;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Эта настройка оборачивает ваш dev-сервер сервером Live Sync, загружает удалённые словари при запуске и транслирует обновления из CMS через SSE. Обновите страницу, чтобы увидеть изменения.
|
|
171
|
+
|
|
172
|
+
## Примечания и ограничения
|
|
173
|
+
|
|
174
|
+
- Добавьте источник live sync в политику безопасности вашего сайта (CSP). Убедитесь, что URL live sync разрешён в `connect-src` (и в `frame-ancestors`, если это актуально).
|
|
175
|
+
- Live Sync не работает со статическим выводом. Для Next.js страница должна быть динамической, чтобы получать обновления во время выполнения (например, используйте `generateStaticParams`, `generateMetadata`, `getServerSideProps` или `getStaticProps` соответствующим образом, чтобы избежать ограничений полностью статического вывода).
|
|
176
|
+
- В CMS у каждого словаря есть флаг `live`. Только словари с `live=true` загружаются через API live sync; остальные импортируются динамически и остаются неизменными во время выполнения.
|
|
177
|
+
- Флаг `live` оценивается для каждого словаря во время сборки. Если удалённый контент не был помечен как `live=true` во время сборки, необходимо выполнить повторную сборку, чтобы включить Live Sync для этого словаря.
|
|
178
|
+
- Сервер live sync должен иметь возможность записывать в `.intlayer`. В контейнерах убедитесь, что есть права на запись в `/.intlayer`.
|
|
179
|
+
|
|
180
|
+
## Полезные ссылки
|
|
181
|
+
|
|
182
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md)
|
|
183
|
+
- [Визуальный редактор Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md)
|
|
184
|
+
- [Справочник по конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md)
|
|
185
|
+
- [Руководство по самостоятельному размещению](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/self_hosting.md)
|
package/docs/ru/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: Новый Intlayer v9 — Что нового?
|
|
5
5
|
description: Узнайте, что нового в Intlayer v9. Представляем пакеты совместимости drop-in для популярных библиотек i18n, а также поддержку Collections и Variants.
|
|
6
6
|
keywords:
|
|
@@ -205,6 +205,49 @@ const product = useIntlayer("product-copy", {
|
|
|
205
205
|
|
|
206
206
|
---
|
|
207
207
|
|
|
208
|
+
## `@intlayer/analytics`: отслеживание показов контента и A/B-тестирование
|
|
209
|
+
|
|
210
|
+
Новый необязательный пакет [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md) показывает, какой контент реально видят ваши посетители — и замыкает цикл с **Collections и Variants**, позволяя проводить A/B-тесты контента и измерять конверсии по каждому варианту.
|
|
211
|
+
|
|
212
|
+
- **Отслеживание на уровне провайдера**: `IntlayerProvider` (React / Next.js / React Native) автоматически регистрирует события `page_view` при загрузке, смене маршрута и смене локали.
|
|
213
|
+
- **Отслеживание на уровне узла**: каждое разрешение `useIntlayer` отправляет событие `content_exposure` — какой ключ словаря, путь ключа, локаль и (если применимо) A/B-**вариант** были показаны. Повторные показы одного и того же узла в пределах окна отправки объединяются в одно событие.
|
|
214
|
+
- **Детерминированное назначение A/B-варианта**: `getVariant(experimentKey, variants)` назначает сессии вариант **без обращения к серверу**, поэтому перед первым рендером не возникает мерцания.
|
|
215
|
+
- **`useConversion()`**: привязывает цель (регистрация, клик, покупка…) к варианту, который видела сессия.
|
|
216
|
+
- **Нулевая стоимость, если не установлен**: тот же tree-shakeable паттерн, что и у `@intlayer/editor` — динамический `import()`, обёрнутый в `try/catch`, плюс переменная окружения времени сборки (`INTLAYER_ANALYTICS_ENABLED`), которая полностью удаляет интеграцию из бандла для приложений, которые её не подключили.
|
|
217
|
+
- **Без новой схемы конфигурации**: переиспользует `editor.backendURL` (эндпоинт для отправки событий / самостоятельный хостинг) и `editor.clientId` (ключ проекта, он же переключатель включения).
|
|
218
|
+
- **Уважение к приватности**: анонимное хеширование сессии (SHA-256, без хранения исходных id), без хранения IP, только приблизительная геолокация по стране, пакетная отправка запросов примерно раз в 20 секунд.
|
|
219
|
+
- **Дашборд**: новая страница **Analytics** (отображается в боковой панели после выбора проекта) показывает активных пользователей, пользователей за сегодня, за последние 7/30/90 дней, график динамики посетителей и разбивку по локалям и странам.
|
|
220
|
+
|
|
221
|
+
```tsx fileName="CTAButton.tsx" codeFormat="tsx"
|
|
222
|
+
import { useConversion } from "react-intlayer";
|
|
223
|
+
|
|
224
|
+
const CTAButton = () => {
|
|
225
|
+
const trackConversion = useConversion();
|
|
226
|
+
|
|
227
|
+
return (
|
|
228
|
+
<button
|
|
229
|
+
onClick={() =>
|
|
230
|
+
trackConversion({
|
|
231
|
+
experimentKey: "homepage-hero",
|
|
232
|
+
variant: "black_friday",
|
|
233
|
+
goal: "cta_click",
|
|
234
|
+
})
|
|
235
|
+
}
|
|
236
|
+
>
|
|
237
|
+
Get started
|
|
238
|
+
</button>
|
|
239
|
+
);
|
|
240
|
+
};
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
```bash packageManager="npm"
|
|
244
|
+
npm install @intlayer/analytics
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Уже доступно для React, Next.js и React Native (через `react-intlayer`); привязки для других фреймворков (Vue, Svelte, Angular, …) планируются по той же схеме внедрения, что и `@intlayer/editor`. Полное руководство см. в [документации Analytics](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md).
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
208
251
|
## Vite Plugin: Bundled Compiler & Proxy
|
|
209
252
|
|
|
210
253
|
Plugin Vite `intlayer()` теперь объединяет **компилятор** и **proxy маршрутизации локалей** напрямую, поэтому большинству проектов нужен только один plugin в `vite.config.ts`:
|
|
@@ -351,6 +394,7 @@ Chromium (используемый для генерации скриншото
|
|
|
351
394
|
|
|
352
395
|
- [Руководство по пакетам адаптеров совместимости](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compat/index.md)
|
|
353
396
|
- [Динамические словари — Collections и Variants](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dynamic_dictionaries/index.md)
|
|
397
|
+
- [Аналитика - отслеживание показов контента и A/B-тестирование](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/analytics.md)
|
|
354
398
|
- [Справочник по конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md)
|
|
355
399
|
- [CMS SDK — программный доступ через @intlayer/api](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md)
|
|
356
400
|
- [Руководство по самостоятельному размещению](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/self_hosting.md)
|
package/docs/tr/cli/index.md
CHANGED
|
@@ -125,7 +125,7 @@ Mevcut dillerin veya diğer parametrelerin nasıl yapılandırılacağını öğ
|
|
|
125
125
|
|
|
126
126
|
### Kimlik Doğrulama
|
|
127
127
|
|
|
128
|
-
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/login.md)** - Intlayer CMS ile kimlik doğrulaması yapın ve erişim kimlik bilgilerini alın
|
|
128
|
+
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/login.md)** - Intlayer CMS ile kimlik doğrulaması yapın ve erişim kimlik bilgilerini alın
|
|
129
129
|
|
|
130
130
|
### Temel Komutlar
|
|
131
131
|
|
package/docs/tr/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: Yapılandırma (Configuration)
|
|
5
5
|
description: Uygulamanız için Intlayer'ı nasıl yapılandıracağınızı öğrenin. Intlayer'ı ihtiyaçlarınıza göre özelleştirmek için çeşitli ayarları ve seçenekleri anlayın.
|
|
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: "`analytics` yapılandırması eklendi"
|
|
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
|
+
* Analitik (analytics) yapılandırması.
|
|
363
|
+
*/
|
|
364
|
+
analytics: {
|
|
365
|
+
/**
|
|
366
|
+
* Analitik toplamanın etkin olup olmadığı (sayfa görüntülemeleri, içerik gösterimleri, A/B olayları).
|
|
367
|
+
* Atıflandırma (attribution) için `editor.clientId` ayarlanmış olmalıdır.
|
|
368
|
+
* Varsayılan: false
|
|
369
|
+
*/
|
|
370
|
+
enabled: true,
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Backend'e otomatik toplu gönderimler arasındaki milisaniye.
|
|
374
|
+
* Varsayılan: 20000
|
|
375
|
+
*/
|
|
376
|
+
flushInterval: 20000,
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Kaydedilecek oturumların oranı, 0 (hiçbiri) ile 1 (tümü) arasında.
|
|
380
|
+
* Varsayılan: 1
|
|
381
|
+
*/
|
|
382
|
+
sampleRate: 1,
|
|
383
|
+
},
|
|
384
|
+
|
|
358
385
|
/**
|
|
359
386
|
* Yapay zeka destekli çeviri ve oluşturma ayarları.
|
|
360
387
|
*/
|
|
@@ -668,6 +695,20 @@ Sunucu portu ve etkinleştirme durumu dahil olmak üzere yerleşik görsel edit
|
|
|
668
695
|
|
|
669
696
|
---
|
|
670
697
|
|
|
698
|
+
### Analitik Yapılandırması (Analytics)
|
|
699
|
+
|
|
700
|
+
Intlayer analitiğiyle ilgili ayarları tanımlar: kullanıcılara gerçekten gösterilen içeriğin (sayfa görüntülemeleri, içerik gösterimleri) toplanması ve içerik üzerinde A/B testinin desteklenmesi.
|
|
701
|
+
|
|
702
|
+
Analitik kesinlikle opt-in'dir: `analytics.enabled` açıkça `true` olarak ayarlanmadıkça **ve** atıflandırma için bir proje anahtarı (`editor.clientId`) yapılandırılmadıkça hiçbir şey toplanmaz. Devre dışı bırakıldığında (varsayılan), analitik entegrasyonunun tamamı uygulama paketinizden kaldırılır (dead-code elimination).
|
|
703
|
+
|
|
704
|
+
| Alan | Açıklama | Tür | Varsayılan | Örnek | Not |
|
|
705
|
+
| --------------- | -------------------------------------------------------------------------------------------- | --------- | ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
706
|
+
| `enabled` | Analitik toplamayı etkinleştirir (sayfa görüntülemeleri, içerik gösterimleri, A/B olayları). | `boolean` | `false` | `true` | Atıflandırma için `editor.clientId` ayarlanmış olmalıdır; aksi takdirde `enabled` `true` olsa bile analitik devre dışı kalır. |
|
|
707
|
+
| `flushInterval` | Backend'e otomatik toplu gönderimler arasındaki milisaniye. | `number` | `20000` | `10000` | |
|
|
708
|
+
| `sampleRate` | Kaydedilecek oturumların oranı, `0` (hiçbiri) ile `1` (tümü) arasında. | `number` | `1` | `0.5` | Örnekleme oturum başına belirlenimlidir, bu nedenle kaydedilen bir oturum tüm olaylarını raporlar (kısmi huniler olmaz). |
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
671
712
|
### Yönlendirme Yapılandırması
|
|
672
713
|
|
|
673
714
|
URL yapısı, dil saklama ve ara yazılım yönetimi dahil olmak üzere yönlendirme davranışını kontrol eden ayarlar.
|
package/docs/tr/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 | İçeriğinizi Intlayer CMS'ye Dışa Aktarın
|
|
5
5
|
description: İçeriğinizin yönetimini ekibinize devretmek için içeriğinizi Intlayer CMS'ye dışa aktarın.
|
|
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: "'Canlı senkronizasyon' bölümü kendi sayfasına (live-sync.md) taşındı, burada yalnızca kısa bir giriş ve bağlantı bırakıldı"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-06-30
|
|
23
26
|
changes: "Kendi Sunucuda Barındırma bölümü eklendi"
|
|
@@ -248,132 +251,7 @@ Daha sonra sözlüğünüzü [Intlayer CMS](https://app.intlayer.org/content) ü
|
|
|
248
251
|
|
|
249
252
|
Canlı Senkronizasyon, uygulamanızın CMS içerik değişikliklerini çalışma zamanında yansıtmasını sağlar. Yeniden derleme veya yeniden dağıtım gerekmez. Etkinleştirildiğinde, güncellemeler uygulamanızın okuduğu sözlükleri yenileyen bir Canlı Senkronizasyon sunucusuna aktarılır.
|
|
250
253
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
Intlayer yapılandırmanızı güncelleyerek Canlı Senkronizasyonu etkinleştirin:
|
|
254
|
-
|
|
255
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
256
|
-
import type { IntlayerConfig } from "intlayer";
|
|
257
|
-
|
|
258
|
-
const config: IntlayerConfig = {
|
|
259
|
-
// ... diğer yapılandırma ayarları
|
|
260
|
-
editor: {
|
|
261
|
-
/**
|
|
262
|
-
* Değişiklik algılandığında yerel ayar yapılandırmalarının sıcak yeniden yüklemesini etkinleştirir.
|
|
263
|
-
* Örneğin, bir sözlük eklendiğinde veya güncellendiğinde, uygulama sayfada görüntülenen içeriği günceller.
|
|
264
|
-
*
|
|
265
|
-
* Sıcak yeniden yükleme sürekli bir sunucu bağlantısı gerektirdiği için,
|
|
266
|
-
* yalnızca `enterprise` planı müşterileri için kullanılabilir.
|
|
267
|
-
*
|
|
268
|
-
* Varsayılan: false
|
|
269
|
-
*/
|
|
270
|
-
liveSync: true,
|
|
271
|
-
},
|
|
272
|
-
dictionary: {
|
|
273
|
-
/**
|
|
274
|
-
* Sözlüklerin nasıl içe aktarılacağını kontrol eder:
|
|
275
|
-
*
|
|
276
|
-
* - "live": Sözlükler, Live Sync API kullanılarak dinamik olarak getirilir.
|
|
277
|
-
* useIntlayer yerine useDictionaryDynamic kullanılır.
|
|
278
|
-
*
|
|
279
|
-
* Not: Canlı mod, sözlükleri getirmek için Live Sync API'sini kullanır. API çağrısı
|
|
280
|
-
* başarısız olursa, sözlükler dinamik olarak içe aktarılır.
|
|
281
|
-
* Not: Yalnızca uzak içeriğe ve "live" bayraklarına sahip sözlükler canlı modu kullanır.
|
|
282
|
-
* Diğerleri performans için dinamik modu kullanır.
|
|
283
|
-
*/
|
|
284
|
-
importMode: "fetch",
|
|
285
|
-
},
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
export default config;
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
Uygulamanızı sarmak için Live Sync sunucusunu başlatın:
|
|
292
|
-
|
|
293
|
-
Next.js kullanarak örnek:
|
|
294
|
-
|
|
295
|
-
```json5 fileName="package.json"
|
|
296
|
-
{
|
|
297
|
-
"scripts": {
|
|
298
|
-
// ... diğer komutlar
|
|
299
|
-
"build": "next build",
|
|
300
|
-
"dev": "next dev",
|
|
301
|
-
"start": "npx intlayer live --with 'next start'",
|
|
302
|
-
},
|
|
303
|
-
}
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
Vite kullanarak örnek:
|
|
307
|
-
|
|
308
|
-
```json5 fileName="package.json"
|
|
309
|
-
{
|
|
310
|
-
"scripts": {
|
|
311
|
-
// ... diğer komutlar
|
|
312
|
-
"build": "vite build",
|
|
313
|
-
"dev": "vite dev",
|
|
314
|
-
"start": "npx intlayer live --with 'vite start'",
|
|
315
|
-
},
|
|
316
|
-
}
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
Live Sync sunucusu uygulamanızı sarar ve güncellenen içeriği geldiği anda otomatik olarak uygular.
|
|
320
|
-
|
|
321
|
-
CMS'den değişiklik bildirimleri almak için, Live Sync sunucusu backend ile bir SSE bağlantısı sürdürür. CMS'de içerik değiştiğinde, backend güncellemeyi Live Sync sunucusuna iletir ve bu sunucu yeni sözlükleri yazar. Uygulamanız, sonraki gezinme veya tarayıcı yenilemesinde güncellemeyi yansıtacaktır, yeniden derleme gerekmez.
|
|
322
|
-
|
|
323
|
-
Akış şeması (CMS/Backend -> Live Sync Sunucusu -> Uygulama Sunucusu -> Ön Yüz):
|
|
324
|
-
|
|
325
|
-

|
|
326
|
-
|
|
327
|
-
Nasıl çalışır:
|
|
328
|
-
|
|
329
|
-

|
|
330
|
-
|
|
331
|
-
### Geliştirme iş akışı (yerel)
|
|
332
|
-
|
|
333
|
-
- Geliştirme aşamasında, uygulama başladığında tüm uzak sözlükler alınır, böylece güncellemeleri hızlıca test edebilirsiniz.
|
|
334
|
-
- Next.js ile Live Sync'i yerel olarak test etmek için geliştirme sunucunuzu şu şekilde sarmalayın:
|
|
335
|
-
|
|
336
|
-
```json5 fileName="package.json"
|
|
337
|
-
{
|
|
338
|
-
"scripts": {
|
|
339
|
-
// ... diğer scriptler
|
|
340
|
-
"dev": "npx intlayer live --with 'next dev'",
|
|
341
|
-
// "dev": "npx intlayer live --with 'vite dev'", // Vite için
|
|
342
|
-
},
|
|
343
|
-
}
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
Optimizasyonu etkinleştirin, böylece Intlayer geliştirme sırasında Live import dönüşümlerini uygular:
|
|
347
|
-
|
|
348
|
-
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
349
|
-
import type { IntlayerConfig } from "intlayer";
|
|
350
|
-
|
|
351
|
-
const config: IntlayerConfig = {
|
|
352
|
-
editor: {
|
|
353
|
-
applicationURL: "http://localhost:5173",
|
|
354
|
-
liveSyncURL: "http://localhost:4000",
|
|
355
|
-
liveSync: true,
|
|
356
|
-
},
|
|
357
|
-
dictionary: {
|
|
358
|
-
importMode: "fetch",
|
|
359
|
-
},
|
|
360
|
-
build: {
|
|
361
|
-
optimize: true,
|
|
362
|
-
},
|
|
363
|
-
};
|
|
364
|
-
|
|
365
|
-
export default config;
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
Bu yapılandırma, geliştirme sunucunuzu Live Sync sunucusuyla sarar, başlangıçta uzak sözlükleri getirir ve CMS'den SSE aracılığıyla güncellemeleri aktarır. Değişiklikleri görmek için sayfayı yenileyin.
|
|
369
|
-
|
|
370
|
-
Notlar ve kısıtlamalar:
|
|
371
|
-
|
|
372
|
-
- Live sync kaynağını site güvenlik politikanıza (CSP) ekleyin. Live sync URL'sinin `connect-src` içinde (ve ilgili ise `frame-ancestors` içinde) izinli olduğundan emin olun.
|
|
373
|
-
- Live Sync statik çıktı ile çalışmaz. Next.js için, sayfa çalışma zamanında güncellemeleri alabilmek için dinamik olmalıdır (örneğin, tam statik kısıtlamalardan kaçınmak için `generateStaticParams`, `generateMetadata`, `getServerSideProps` veya `getStaticProps` uygun şekilde kullanılmalıdır).
|
|
374
|
-
- CMS'de, her sözlüğün bir `live` bayrağı vardır. Yalnızca `live=true` olan sözlükler live sync API'si aracılığıyla alınır; diğerleri dinamik olarak içe aktarılır ve çalışma zamanında değişmeden kalır.
|
|
375
|
-
- `live` bayrağı her sözlük için build zamanında değerlendirilir. Uzaktaki içerik derleme sırasında `live=true` olarak işaretlenmemişse, o sözlük için Live Sync'i etkinleştirmek üzere yeniden derleme yapmanız gerekir.
|
|
376
|
-
- Live sync sunucusunun `.intlayer` dosyasına yazabilmesi gerekir. Konteynerlerde, `/.intlayer` dosyasına yazma erişiminin olduğundan emin olun.
|
|
254
|
+
Tam kurulum kılavuzu (etkinleştirme, Live Sync sunucusunu başlatma, yerel geliştirme iş akışı ve kısıtlamalar) için [Live Sync belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/live-sync.md) bakın.
|
|
377
255
|
|
|
378
256
|
## Kendi Sunucunuzda Barındırma
|
|
379
257
|
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-07-08
|
|
3
|
+
updatedAt: 2026-07-08
|
|
4
|
+
title: Canlı senkronizasyon | CMS içerik değişikliklerini çalışma zamanında yansıtın
|
|
5
|
+
description: Uygulamanızın, yeniden derleme veya yeniden dağıtım gerektirmeden Intlayer CMS içerik değişikliklerini çalışma zamanında yansıtmasını sağlayın.
|
|
6
|
+
keywords:
|
|
7
|
+
- Canlı senkronizasyon
|
|
8
|
+
- Live Sync
|
|
9
|
+
- CMS
|
|
10
|
+
- Görsel Düzenleyici
|
|
11
|
+
- Uluslararasılaştırma
|
|
12
|
+
- Dokümantasyon
|
|
13
|
+
- Intlayer
|
|
14
|
+
- Next.js
|
|
15
|
+
- Vite
|
|
16
|
+
history:
|
|
17
|
+
- version: 9.0.0
|
|
18
|
+
date: 2026-07-08
|
|
19
|
+
changes: "Intlayer CMS belgelerinden ayrılarak kendi sayfasına taşındı"
|
|
20
|
+
- version: 6.0.1
|
|
21
|
+
date: 2025-09-22
|
|
22
|
+
changes: "Canlı senkronizasyon dokümantasyonu eklendi"
|
|
23
|
+
- version: 6.0.0
|
|
24
|
+
date: 2025-09-04
|
|
25
|
+
changes: "`hotReload` alanı `liveSync` ile değiştirildi"
|
|
26
|
+
author: aymericzip
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Canlı senkronizasyon
|
|
30
|
+
|
|
31
|
+
Canlı Senkronizasyon, uygulamanızın CMS içerik değişikliklerini çalışma zamanında yansıtmasını sağlar. Yeniden derleme veya yeniden dağıtım gerekmez. Etkinleştirildiğinde, güncellemeler uygulamanızın okuduğu sözlükleri yenileyen bir Canlı Senkronizasyon sunucusuna aktarılır.
|
|
32
|
+
|
|
33
|
+
## İçindekiler
|
|
34
|
+
|
|
35
|
+
<TOC/>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Canlı senkronizasyonu etkinleştirme
|
|
40
|
+
|
|
41
|
+
> Canlı Senkronizasyon sürekli bir sunucu bağlantısı gerektirir ve yalnızca enterprise planında kullanılabilir.
|
|
42
|
+
|
|
43
|
+
Intlayer yapılandırmanızı güncelleyerek Canlı Senkronizasyonu etkinleştirin:
|
|
44
|
+
|
|
45
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
46
|
+
import type { IntlayerConfig } from "intlayer";
|
|
47
|
+
|
|
48
|
+
const config: IntlayerConfig = {
|
|
49
|
+
// ... diğer yapılandırma ayarları
|
|
50
|
+
editor: {
|
|
51
|
+
/**
|
|
52
|
+
* Değişiklik algılandığında yerel ayar yapılandırmalarının sıcak yeniden yüklemesini etkinleştirir.
|
|
53
|
+
* Örneğin, bir sözlük eklendiğinde veya güncellendiğinde, uygulama sayfada görüntülenen içeriği günceller.
|
|
54
|
+
*
|
|
55
|
+
* Sıcak yeniden yükleme sürekli bir sunucu bağlantısı gerektirdiği için,
|
|
56
|
+
* yalnızca `enterprise` planı müşterileri için kullanılabilir.
|
|
57
|
+
*
|
|
58
|
+
* Varsayılan: false
|
|
59
|
+
*/
|
|
60
|
+
liveSync: true,
|
|
61
|
+
},
|
|
62
|
+
dictionary: {
|
|
63
|
+
/**
|
|
64
|
+
* Sözlüklerin nasıl içe aktarılacağını kontrol eder:
|
|
65
|
+
*
|
|
66
|
+
* - "live": Sözlükler, Live Sync API kullanılarak dinamik olarak getirilir.
|
|
67
|
+
* useIntlayer yerine useDictionaryDynamic kullanılır.
|
|
68
|
+
*
|
|
69
|
+
* Not: Canlı mod, sözlükleri getirmek için Live Sync API'sini kullanır. API çağrısı
|
|
70
|
+
* başarısız olursa, sözlükler dinamik olarak içe aktarılır.
|
|
71
|
+
* Not: Yalnızca uzak içeriğe ve "live" bayraklarına sahip sözlükler canlı modu kullanır.
|
|
72
|
+
* Diğerleri performans için dinamik modu kullanır.
|
|
73
|
+
*/
|
|
74
|
+
importMode: "fetch",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default config;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Uygulamanızı sarmak için Live Sync sunucusunu başlatın:
|
|
82
|
+
|
|
83
|
+
Next.js kullanarak örnek:
|
|
84
|
+
|
|
85
|
+
```json5 fileName="package.json"
|
|
86
|
+
{
|
|
87
|
+
"scripts": {
|
|
88
|
+
// ... diğer komutlar
|
|
89
|
+
"build": "next build",
|
|
90
|
+
"dev": "next dev",
|
|
91
|
+
"start": "npx intlayer live --with 'next start'",
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Vite kullanarak örnek:
|
|
97
|
+
|
|
98
|
+
```json5 fileName="package.json"
|
|
99
|
+
{
|
|
100
|
+
"scripts": {
|
|
101
|
+
// ... diğer komutlar
|
|
102
|
+
"build": "vite build",
|
|
103
|
+
"dev": "vite dev",
|
|
104
|
+
"start": "npx intlayer live --with 'vite start'",
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Live Sync sunucusu uygulamanızı sarar ve güncellenen içeriği geldiği anda otomatik olarak uygular.
|
|
110
|
+
|
|
111
|
+
CMS'den değişiklik bildirimleri almak için, Live Sync sunucusu backend ile bir SSE bağlantısı sürdürür. CMS'de içerik değiştiğinde, backend güncellemeyi Live Sync sunucusuna iletir ve bu sunucu yeni sözlükleri yazar. Uygulamanız, sonraki gezinme veya tarayıcı yenilemesinde güncellemeyi yansıtacaktır, yeniden derleme gerekmez.
|
|
112
|
+
|
|
113
|
+
Akış şeması (CMS/Backend -> Live Sync Sunucusu -> Uygulama Sunucusu -> Ön Yüz):
|
|
114
|
+
|
|
115
|
+

|
|
116
|
+
|
|
117
|
+
Nasıl çalışır:
|
|
118
|
+
|
|
119
|
+

|
|
120
|
+
|
|
121
|
+
## Geliştirme iş akışı (yerel)
|
|
122
|
+
|
|
123
|
+
- Geliştirme aşamasında, uygulama başladığında tüm uzak sözlükler alınır, böylece güncellemeleri hızlıca test edebilirsiniz.
|
|
124
|
+
- Next.js ile Live Sync'i yerel olarak test etmek için geliştirme sunucunuzu şu şekilde sarmalayın:
|
|
125
|
+
|
|
126
|
+
```json5 fileName="package.json"
|
|
127
|
+
{
|
|
128
|
+
"scripts": {
|
|
129
|
+
// ... diğer scriptler
|
|
130
|
+
"dev": "npx intlayer live --with 'next dev'",
|
|
131
|
+
// "dev": "npx intlayer live --with 'vite dev'", // Vite için
|
|
132
|
+
},
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Optimizasyonu etkinleştirin, böylece Intlayer geliştirme sırasında Live import dönüşümlerini uygular:
|
|
137
|
+
|
|
138
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
139
|
+
import type { IntlayerConfig } from "intlayer";
|
|
140
|
+
|
|
141
|
+
const config: IntlayerConfig = {
|
|
142
|
+
editor: {
|
|
143
|
+
applicationURL: "http://localhost:5173",
|
|
144
|
+
liveSyncURL: "http://localhost:4000",
|
|
145
|
+
liveSync: true,
|
|
146
|
+
},
|
|
147
|
+
dictionary: {
|
|
148
|
+
importMode: "fetch",
|
|
149
|
+
},
|
|
150
|
+
build: {
|
|
151
|
+
optimize: true,
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
export default config;
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Bu yapılandırma, geliştirme sunucunuzu Live Sync sunucusuyla sarar, başlangıçta uzak sözlükleri getirir ve CMS'den SSE aracılığıyla güncellemeleri aktarır. Değişiklikleri görmek için sayfayı yenileyin.
|
|
159
|
+
|
|
160
|
+
## Notlar ve kısıtlamalar
|
|
161
|
+
|
|
162
|
+
- Live sync kaynağını site güvenlik politikanıza (CSP) ekleyin. Live sync URL'sinin `connect-src` içinde (ve ilgili ise `frame-ancestors` içinde) izinli olduğundan emin olun.
|
|
163
|
+
- Live Sync statik çıktı ile çalışmaz. Next.js için, sayfa çalışma zamanında güncellemeleri alabilmek için dinamik olmalıdır (örneğin, tam statik kısıtlamalardan kaçınmak için `generateStaticParams`, `generateMetadata`, `getServerSideProps` veya `getStaticProps` uygun şekilde kullanılmalıdır).
|
|
164
|
+
- CMS'de, her sözlüğün bir `live` bayrağı vardır. Yalnızca `live=true` olan sözlükler live sync API'si aracılığıyla alınır; diğerleri dinamik olarak içe aktarılır ve çalışma zamanında değişmeden kalır.
|
|
165
|
+
- `live` bayrağı her sözlük için build zamanında değerlendirilir. Uzaktaki içerik derleme sırasında `live=true` olarak işaretlenmemişse, o sözlük için Live Sync'i etkinleştirmek üzere yeniden derleme yapmanız gerekir.
|
|
166
|
+
- Live sync sunucusunun `.intlayer` dosyasına yazabilmesi gerekir. Konteynerlerde, `/.intlayer` dosyasına yazma erişiminin olduğundan emin olun.
|
|
167
|
+
|
|
168
|
+
## Faydalı bağlantılar
|
|
169
|
+
|
|
170
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md)
|
|
171
|
+
- [Intlayer Görsel Düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_visual_editor.md)
|
|
172
|
+
- [Yapılandırma Referansı](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md)
|
|
173
|
+
- [Kendi Sunucuda Barındırma Kılavuzu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/self_hosting.md)
|