@intlayer/docs 6.0.1 → 6.0.2-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/cjs/blog.cjs.map +1 -1
  2. package/dist/cjs/common.cjs +6 -5
  3. package/dist/cjs/common.cjs.map +1 -1
  4. package/dist/cjs/generated/blog.entry.cjs +318 -1863
  5. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  6. package/dist/cjs/generated/docs.entry.cjs +1317 -6282
  7. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  8. package/dist/cjs/generated/frequentQuestions.entry.cjs +197 -1182
  9. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  10. package/dist/cjs/generated/legal.entry.cjs +43 -84
  11. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  12. package/dist/esm/blog.mjs.map +1 -1
  13. package/dist/esm/common.mjs +2 -5
  14. package/dist/esm/common.mjs.map +1 -1
  15. package/dist/esm/generated/blog.entry.mjs +318 -1863
  16. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  17. package/dist/esm/generated/docs.entry.mjs +1317 -6282
  18. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  19. package/dist/esm/generated/frequentQuestions.entry.mjs +197 -1182
  20. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  21. package/dist/esm/generated/legal.entry.mjs +43 -84
  22. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  23. package/dist/types/blog.d.ts +1 -1
  24. package/dist/types/blog.d.ts.map +1 -1
  25. package/dist/types/common.d.ts +1 -1
  26. package/dist/types/common.d.ts.map +1 -1
  27. package/dist/types/generated/blog.entry.d.ts +1 -1
  28. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  29. package/dist/types/generated/docs.entry.d.ts +2 -1
  30. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  31. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
  32. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  33. package/dist/types/generated/legal.entry.d.ts +1 -1
  34. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  35. package/docs/ar/intlayer_CMS.md +261 -85
  36. package/docs/ar/releases/v6.md +273 -0
  37. package/docs/ar/roadmap.md +1 -3
  38. package/docs/ar/vs_code_extension.md +94 -63
  39. package/docs/de/intlayer_CMS.md +247 -65
  40. package/docs/de/releases/v6.md +298 -0
  41. package/docs/de/roadmap.md +1 -3
  42. package/docs/de/vs_code_extension.md +89 -58
  43. package/docs/en/configuration.md +9 -2
  44. package/docs/en/intlayer_CMS.md +205 -23
  45. package/docs/en/intlayer_cli.md +4 -4
  46. package/docs/en/intlayer_visual_editor.md +7 -6
  47. package/docs/en/intlayer_with_nextjs_14.md +17 -1
  48. package/docs/en/intlayer_with_nextjs_15.md +17 -1
  49. package/docs/en/releases/v6.md +268 -0
  50. package/docs/en/roadmap.md +1 -3
  51. package/docs/en/vs_code_extension.md +79 -49
  52. package/docs/en-GB/intlayer_CMS.md +216 -52
  53. package/docs/en-GB/releases/v6.md +297 -0
  54. package/docs/en-GB/roadmap.md +1 -3
  55. package/docs/en-GB/vs_code_extension.md +79 -48
  56. package/docs/es/intlayer_CMS.md +257 -84
  57. package/docs/es/releases/v6.md +274 -0
  58. package/docs/es/roadmap.md +1 -3
  59. package/docs/es/vs_code_extension.md +90 -60
  60. package/docs/fr/intlayer_CMS.md +250 -68
  61. package/docs/fr/releases/v6.md +274 -0
  62. package/docs/fr/roadmap.md +1 -3
  63. package/docs/fr/vs_code_extension.md +94 -63
  64. package/docs/hi/intlayer_CMS.md +253 -77
  65. package/docs/hi/releases/v6.md +273 -0
  66. package/docs/hi/roadmap.md +1 -3
  67. package/docs/hi/vs_code_extension.md +92 -61
  68. package/docs/it/intlayer_CMS.md +251 -73
  69. package/docs/it/releases/v6.md +273 -0
  70. package/docs/it/roadmap.md +1 -3
  71. package/docs/it/vs_code_extension.md +94 -63
  72. package/docs/ja/intlayer_CMS.md +282 -97
  73. package/docs/ja/releases/v6.md +273 -0
  74. package/docs/ja/roadmap.md +1 -3
  75. package/docs/ja/vs_code_extension.md +99 -68
  76. package/docs/ko/intlayer_CMS.md +267 -93
  77. package/docs/ko/releases/v6.md +273 -0
  78. package/docs/ko/roadmap.md +1 -3
  79. package/docs/ko/vs_code_extension.md +88 -57
  80. package/docs/pt/intlayer_CMS.md +261 -83
  81. package/docs/pt/releases/v6.md +273 -0
  82. package/docs/pt/roadmap.md +1 -3
  83. package/docs/pt/vs_code_extension.md +89 -58
  84. package/docs/ru/intlayer_CMS.md +240 -65
  85. package/docs/ru/releases/v6.md +274 -0
  86. package/docs/ru/roadmap.md +1 -1
  87. package/docs/ru/vs_code_extension.md +83 -52
  88. package/docs/tr/intlayer_CMS.md +278 -96
  89. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  90. package/docs/tr/intlayer_with_tanstack.md +3 -0
  91. package/docs/tr/releases/v6.md +273 -0
  92. package/docs/tr/roadmap.md +1 -1
  93. package/docs/tr/vs_code_extension.md +100 -71
  94. package/docs/zh/intlayer_CMS.md +257 -76
  95. package/docs/zh/releases/v6.md +273 -0
  96. package/docs/zh/roadmap.md +1 -3
  97. package/docs/zh/vs_code_extension.md +99 -68
  98. package/package.json +9 -8
  99. package/src/blog.ts +1 -1
  100. package/src/common.ts +2 -6
  101. package/src/generated/blog.entry.ts +323 -1864
  102. package/src/generated/docs.entry.ts +1317 -6278
  103. package/src/generated/frequentQuestions.entry.ts +202 -1183
  104. package/src/generated/legal.entry.ts +48 -85
@@ -1,11 +1,11 @@
1
1
  ---
2
- createdAt: 2024-08-11
3
- updatedAt: 2025-06-29
4
- title: Intlayer CMS | Externalisieren Sie Ihren Inhalt im Intlayer CMS
5
- description: Externalisieren Sie Ihren Inhalt im Intlayer CMS, um die Verwaltung Ihres Inhalts an Ihr Team zu delegieren.
2
+ createdAt: 2025-08-23
3
+ updatedAt: 2025-08-23
4
+ title: Intlayer CMS | Externalisieren Sie Ihre Inhalte in das Intlayer CMS
5
+ description: Externalisieren Sie Ihre Inhalte in das Intlayer CMS, um die Verwaltung Ihrer Inhalte an Ihr Team zu delegieren.
6
6
  keywords:
7
7
  - CMS
8
- - Visual Editor
8
+ - Visueller Editor
9
9
  - Internationalisierung
10
10
  - Dokumentation
11
11
  - Intlayer
@@ -21,27 +21,27 @@ youtubeVideo: https://www.youtube.com/watch?v=UDDTnirwi_4
21
21
 
22
22
  # Intlayer Content Management System (CMS) Dokumentation
23
23
 
24
- <iframe title="Visual Editor + CMS for Your Web App: Intlayer Explained" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
24
+ <iframe title="Visueller Editor + CMS für Ihre Webanwendung: Intlayer erklärt" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/UDDTnirwi_4?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
25
25
 
26
- Das Intlayer CMS ist eine Anwendung, die es Ihnen ermöglicht, den Inhalt eines Intlayer-Projekts auszulagern.
26
+ Das Intlayer CMS ist eine Anwendung, die es Ihnen ermöglicht, die Inhalte eines Intlayer-Projekts auszulagern.
27
27
 
28
- Dafür führt Intlayer das Konzept der 'entfernten Wörterbücher' ein.
28
+ Dafür führt Intlayer das Konzept der „fernen Wörterbücher ein.
29
29
 
30
30
  ![Intlayer CMS Oberfläche](https://github.com/aymericzip/intlayer/blob/main/docs/assets/CMS.png)
31
31
 
32
- ## Verständnis von entfernten Wörterbüchern
32
+ ## Verständnis von fernen Wörterbüchern
33
33
 
34
- Intlayer unterscheidet zwischen 'lokalen' und 'entfernten' Wörterbüchern.
34
+ Intlayer unterscheidet zwischen lokalen und „fernen“ Wörterbüchern.
35
35
 
36
- - Ein 'lokales' Wörterbuch ist ein Wörterbuch, das in Ihrem Intlayer-Projekt deklariert ist. Zum Beispiel die Deklarationsdatei eines Buttons oder Ihrer Navigationsleiste. Die Auslagerung Ihres Inhalts macht in diesem Fall keinen Sinn, da dieser Inhalt nicht häufig geändert werden soll.
36
+ - Ein lokales Wörterbuch ist ein Wörterbuch, das in Ihrem Intlayer-Projekt deklariert ist. Zum Beispiel die Deklarationsdatei eines Buttons oder Ihrer Navigationsleiste. In diesem Fall macht es keinen Sinn, Ihre Inhalte auszulagern, da sich diese Inhalte nicht häufig ändern sollen.
37
37
 
38
- - Ein 'entferntes' Wörterbuch ist ein Wörterbuch, das über das Intlayer CMS verwaltet wird. Es kann nützlich sein, Ihrem Team zu ermöglichen, Inhalte direkt auf Ihrer Website zu verwalten, und zielt auch darauf ab, A/B-Testfunktionen und automatische SEO-Optimierung zu nutzen.
38
+ - Ein „fernes“ Wörterbuch ist ein Wörterbuch, das über das Intlayer CMS verwaltet wird. Dies kann nützlich sein, um Ihrem Team zu ermöglichen, Ihre Inhalte direkt auf Ihrer Website zu verwalten, und zielt außerdem darauf ab, A/B-Testfunktionen und automatische SEO-Optimierung zu nutzen.
39
39
 
40
- ## Visueller Editor vs CMS
40
+ ## Visueller Editor vs. CMS
41
41
 
42
- Der [Intlayer Visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_visual_editor.md) Editor ist ein Tool, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für lokale Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wird der Inhalt in der Code-Basis ersetzt. Das bedeutet, dass die Anwendung neu gebaut wird und die Seite neu geladen wird, um den neuen Inhalt anzuzeigen.
42
+ Der [Intlayer Visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_visual_editor.md) Editor ist ein Werkzeug, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für lokale Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wird der Inhalt im Code-Basis ersetzt. Das bedeutet, dass die Anwendung neu gebaut wird und die Seite neu geladen wird, um den neuen Inhalt anzuzeigen.
43
43
 
44
- Im Gegensatz dazu ist das Intlayer CMS ein Tool, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für entfernte Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wirkt sich der Inhalt **nicht** auf Ihre Code-Basis aus. Und die Website zeigt automatisch den geänderten Inhalt an.
44
+ Im Gegensatz dazu ist das Intlayer CMS ein Werkzeug, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für ferne Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wirkt sich der Inhalt **nicht** auf Ihre Code-Basis aus. Und die Website zeigt automatisch den geänderten Inhalt an.
45
45
 
46
46
  ## Integration
47
47
 
@@ -49,15 +49,15 @@ Für weitere Details zur Installation des Pakets siehe den entsprechenden Abschn
49
49
 
50
50
  ### Integration mit Next.js
51
51
 
52
- Für die Integration mit Next.js siehe die [Einrichtungsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_nextjs_15.md).
52
+ Für die Integration mit Next.js siehe die [Installationsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_nextjs_15.md).
53
53
 
54
54
  ### Integration mit Create React App
55
55
 
56
- Für die Integration mit Create React App siehe die [Einrichtungsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_create_react_app.md).
56
+ Für die Integration mit Create React App siehe die [Installationsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_create_react_app.md).
57
57
 
58
58
  ### Integration mit Vite + React
59
59
 
60
- Für die Integration mit Vite + React siehe die [Einrichtungsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_vite+react.md).
60
+ Für die Integration mit Vite + React siehe die [Installationsanleitung](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_vite+react.md).
61
61
 
62
62
  ## Konfiguration
63
63
 
@@ -73,7 +73,7 @@ const config: IntlayerConfig = {
73
73
  * Erforderlich
74
74
  *
75
75
  * Die URL der Anwendung.
76
- * Dies ist die URL, die vom visuellen Editor angesteuert wird.
76
+ * Dies ist die URL, auf die der visuelle Editor abzielt.
77
77
  */
78
78
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
79
79
 
@@ -123,7 +123,7 @@ const config = {
123
123
  * Erforderlich
124
124
  *
125
125
  * Die URL der Anwendung.
126
- * Dies ist die URL, die vom visuellen Editor angesteuert wird.
126
+ * Dies ist die URL, auf die der visuelle Editor abzielt.
127
127
  */
128
128
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
129
129
 
@@ -132,7 +132,7 @@ const config = {
132
132
  *
133
133
  * Client-ID und Client-Secret sind erforderlich, um den Editor zu aktivieren.
134
134
  * Sie ermöglichen die Identifizierung des Benutzers, der den Inhalt bearbeitet.
135
- * Sie können durch das Erstellen eines neuen Clients im Intlayer Dashboard - Projekte (https://intlayer.org/dashboard/projects) erhalten werden.
135
+ * Diese können durch das Erstellen eines neuen Clients im Intlayer Dashboard - Projekte (https://intlayer.org/dashboard/projects) erhalten werden.
136
136
  * clientId: process.env.INTLAYER_CLIENT_ID,
137
137
  * clientSecret: process.env.INTLAYER_CLIENT_SECRET,
138
138
  */
@@ -145,7 +145,7 @@ const config = {
145
145
  * Falls Sie das Intlayer CMS selbst hosten, können Sie die URL des CMS festlegen.
146
146
  *
147
147
  * Die URL des Intlayer CMS.
148
- * Standardmäßig ist sie auf https://intlayer.org gesetzt.
148
+ * Standardmäßig ist sie auf https://intlayer.org gesetzt
149
149
  */
150
150
  cmsURL: process.env.INTLAYER_CMS_URL,
151
151
 
@@ -154,8 +154,8 @@ const config = {
154
154
  *
155
155
  * Falls Sie das Intlayer CMS selbst hosten, können Sie die URL des Backends festlegen.
156
156
  *
157
- * Die URL des Intlayer Backends.
158
- * Standardmäßig ist sie auf https://back.intlayer.org gesetzt.
157
+ * Die URL des Intlayer CMS.
158
+ * Standardmäßig ist sie auf https://back.intlayer.org gesetzt
159
159
  */
160
160
  backendURL: process.env.INTLAYER_BACKEND_URL,
161
161
  },
@@ -173,7 +173,7 @@ const config = {
173
173
  * Erforderlich
174
174
  *
175
175
  * Die URL der Anwendung.
176
- * Dies ist die URL, die vom visuellen Editor anvisiert wird.
176
+ * Dies ist die URL, auf die der visuelle Editor abzielt.
177
177
  */
178
178
  applicationURL: process.env.INTLAYER_APPLICATION_URL,
179
179
 
@@ -195,7 +195,7 @@ const config = {
195
195
  * Falls Sie das Intlayer CMS selbst hosten, können Sie die URL des CMS festlegen.
196
196
  *
197
197
  * Die URL des Intlayer CMS.
198
- * Standardmäßig ist sie auf https://intlayer.org gesetzt.
198
+ * Standardmäßig ist sie auf https://intlayer.org gesetzt
199
199
  cmsURL: process.env.INTLAYER_CMS_URL,
200
200
 
201
201
  /**
@@ -215,19 +215,19 @@ module.exports = config;
215
215
 
216
216
  > Wenn Sie keine Client-ID und kein Client-Secret haben, können Sie diese durch das Erstellen eines neuen Clients im [Intlayer Dashboard - Projekte](https://intlayer.org/dashboard/projects) erhalten.
217
217
 
218
- > Um alle verfügbaren Parameter zu sehen, siehe die [Konfigurationsdokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md).
218
+ > Um alle verfügbaren Parameter zu sehen, konsultieren Sie die [Konfigurationsdokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md).
219
219
 
220
220
  ## Verwendung des CMS
221
221
 
222
- ### Konfiguration hochladen
222
+ ### Konfiguraton hochladen
223
223
 
224
- Um das Intlayer CMS zu konfigurieren, können Sie die [intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/de/intlayer_cli.md) Befehle verwenden.
224
+ Um das Intlayer CMS zu konfigurieren, können Sie die [intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/docs/de/intlayer_cli.md) Befehle verwenden.
225
225
 
226
226
  ```bash
227
227
  npx intlayer config push
228
228
  ```
229
229
 
230
- > Wenn Sie Umgebungsvariablen in Ihrer `intlayer.config.ts` Konfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem `--env` Argument angeben:
230
+ > Wenn Sie Umgebungsvariablen in Ihrer `intlayer.config.ts` Konfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem Argument `--env` angeben:
231
231
 
232
232
  ```bash
233
233
  npx intlayer config push --env production
@@ -235,32 +235,33 @@ npx intlayer config push --env production
235
235
 
236
236
  Dieser Befehl lädt Ihre Konfiguration in das Intlayer CMS hoch.
237
237
 
238
- ### Wörterbuch hochladen
238
+ ### Ein Wörterbuch hochladen
239
239
 
240
- Um Ihre lokalen Wörterbücher in ein entferntes Wörterbuch zu transformieren, können Sie die [intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/de/intlayer_cli.md) Befehle verwenden.
240
+ Um Ihre Lokalisierungswörterbücher in ein entferntes Wörterbuch zu transformieren, können Sie die [intlayer CLI](https://github.com/aymericzip/intlayer/tree/main/docs/docs/de/intlayer_cli.md) Befehle verwenden.
241
241
 
242
242
  ```bash
243
243
  npx intlayer dictionary push -d my-first-dictionary-key
244
244
  ```
245
245
 
246
- > Wenn Sie Umgebungsvariablen in Ihrer `intlayer.config.ts` Konfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem `--env` Argument angeben:
246
+ > Wenn Sie Umgebungsvariablen in Ihrer `intlayer.config.ts` Konfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem Argument `--env` angeben:
247
247
 
248
248
  ```bash
249
249
  npx intlayer dictionary push -d my-first-dictionary-key --env production
250
250
  ```
251
251
 
252
- Dieser Befehl lädt Ihre initialen Inhaltswörterbücher hoch, sodass sie für asynchrones Abrufen und Bearbeiten über die Intlayer-Plattform verfügbar sind.
252
+ Dieser Befehl lädt Ihre anfänglichen Inhaltswörterbücher hoch und macht sie für asynchrones Abrufen und Bearbeiten über die Intlayer-Plattform verfügbar.
253
253
 
254
254
  ### Wörterbuch bearbeiten
255
255
 
256
- Dann können Sie Ihr Wörterbuch im [Intlayer CMS](https://intlayer.org/dashboard/content) anzeigen und verwalten.
256
+ Anschließend können Sie Ihr Wörterbuch im [Intlayer CMS](https://intlayer.org/dashboard/content) anzeigen und verwalten.
257
+
258
+ ## Live-Synchronisation
257
259
 
258
- ## Hot Reloading
260
+ Live Sync ermöglicht es Ihrer App, CMS-Inhaltsänderungen zur Laufzeit widerzuspiegeln. Kein Neuaufbau oder erneutes Bereitstellen erforderlich. Wenn aktiviert, werden Updates an einen Live-Sync-Server gestreamt, der die Wörterbücher aktualisiert, die Ihre Anwendung liest.
259
261
 
260
- Das Intlayer CMS kann die Wörterbücher automatisch neu laden, wenn eine Änderung erkannt wird.
262
+ > Live Sync erfordert eine kontinuierliche Serververbindung und ist im Enterprise-Plan verfügbar.
261
263
 
262
- Ohne das Hot Reloading wird ein neuer Build der Anwendung benötigt, um den neuen Inhalt anzuzeigen.
263
- Durch Aktivieren der [`liveSync`](https://intlayer.org/doc/concept/configuration#editor-configuration) Konfiguration wird die Anwendung den aktualisierten Inhalt automatisch ersetzen, sobald er erkannt wird.
264
+ Aktivieren Sie Live Sync, indem Sie Ihre Intlayer-Konfiguration aktualisieren:
264
265
 
265
266
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
266
267
  import type { IntlayerConfig } from "intlayer";
@@ -268,18 +269,32 @@ import type { IntlayerConfig } from "intlayer";
268
269
  const config: IntlayerConfig = {
269
270
  // ... andere Konfigurationseinstellungen
270
271
  editor: {
271
- // ... andere Konfigurationseinstellungen
272
-
273
272
  /**
274
- * Gibt an, ob die Anwendung die lokalen Konfigurationen automatisch neu laden soll, wenn eine Änderung erkannt wird.
275
- * Zum Beispiel, wenn ein neues Wörterbuch hinzugefügt oder aktualisiert wird, wird die Anwendung den Inhalt aktualisieren, der auf der Seite angezeigt wird.
273
+ * Aktiviert das Hot-Reloading der Lokalisierungskonfigurationen, wenn Änderungen erkannt werden.
274
+ * Zum Beispiel, wenn ein Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung
275
+ * den auf der Seite angezeigten Inhalt.
276
276
  *
277
- * Da das Hot Reloading eine kontinuierliche Verbindung zum Server benötigt, ist es nur für Kunden des `Enterprise`-Plans verfügbar.
277
+ * Da Hot-Reloading eine kontinuierliche Verbindung zum Server erfordert, ist es
278
+ * nur für Kunden des `enterprise`-Plans verfügbar.
278
279
  *
279
280
  * Standard: false
280
281
  */
281
282
  liveSync: true,
282
283
  },
284
+ build: {
285
+ /**
286
+ * Steuert, wie Wörterbücher importiert werden:
287
+ *
288
+ * - "live": Wörterbücher werden dynamisch über die Live Sync API abgerufen.
289
+ * Ersetzt useIntlayer durch useDictionaryDynamic.
290
+ *
291
+ * Hinweis: Der Live-Modus verwendet die Live Sync API, um Wörterbücher abzurufen. Wenn der API-Aufruf
292
+ * fehlschlägt, werden die Wörterbücher dynamisch importiert.
293
+ * Hinweis: Nur Wörterbücher mit entfernten Inhalten und dem "live"-Flag verwenden den Live-Modus.
294
+ * Andere verwenden den dynamischen Modus für bessere Leistung.
295
+ */
296
+ importMode: "live",
297
+ },
283
298
  };
284
299
 
285
300
  export default config;
@@ -290,18 +305,32 @@ export default config;
290
305
  const config = {
291
306
  // ... andere Konfigurationseinstellungen
292
307
  editor: {
293
- // ... andere Konfigurationseinstellungen
294
-
295
308
  /**
296
- * Gibt an, ob die Anwendung die lokalen Konfigurationen automatisch neu laden soll, wenn eine Änderung erkannt wird.
297
- * Zum Beispiel, wenn ein neues Wörterbuch hinzugefügt oder aktualisiert wird, wird die Anwendung den Inhalt aktualisieren, der auf der Seite angezeigt wird.
309
+ * Ermöglicht das Hot-Reloading von Sprachkonfigurationen, wenn Änderungen erkannt werden.
310
+ * Zum Beispiel, wenn ein Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung
311
+ * den auf der Seite angezeigten Inhalt.
298
312
  *
299
- * Da das Hot Reloading eine kontinuierliche Verbindung zum Server benötigt, ist es nur für Kunden des `Enterprise`-Plans verfügbar.
313
+ * Da Hot-Reloading eine kontinuierliche Verbindung zum Server erfordert, ist es
314
+ * nur für Kunden des `enterprise`-Plans verfügbar.
300
315
  *
301
316
  * Standard: false
302
317
  */
303
318
  liveSync: true,
304
319
  },
320
+ build: {
321
+ /**
322
+ * Steuert, wie Wörterbücher importiert werden:
323
+ *
324
+ * - "live": Wörterbücher werden dynamisch über die Live Sync API abgerufen.
325
+ * Ersetzt useIntlayer durch useDictionaryDynamic.
326
+ *
327
+ * Hinweis: Der Live-Modus verwendet die Live Sync API, um Wörterbücher abzurufen. Wenn der API-Aufruf
328
+ * fehlschlägt, werden die Wörterbücher dynamisch importiert.
329
+ * Hinweis: Nur Wörterbücher mit Remote-Inhalten und dem "live"-Flag verwenden den Live-Modus.
330
+ * Andere verwenden den dynamischen Modus zur Leistungssteigerung.
331
+ */
332
+ importMode: "live",
333
+ },
305
334
  };
306
335
 
307
336
  export default config;
@@ -312,43 +341,196 @@ export default config;
312
341
  const config = {
313
342
  // ... andere Konfigurationseinstellungen
314
343
  editor: {
315
- // ... andere Konfigurationseinstellungen
316
-
317
344
  /**
318
- * Gibt an, ob die Anwendung die lokalen Konfigurationen automatisch neu laden soll, wenn eine Änderung erkannt wird.
319
- * Zum Beispiel, wenn ein neues Wörterbuch hinzugefügt oder aktualisiert wird, wird die Anwendung den Inhalt aktualisieren, der auf der Seite angezeigt wird.
345
+ * Aktiviert das Hot-Reloading der Lokalisierungskonfigurationen, wenn Änderungen erkannt werden.
346
+ * Zum Beispiel, wenn ein Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung
347
+ * den auf der Seite angezeigten Inhalt.
320
348
  *
321
- * Da das Hot Reloading eine kontinuierliche Verbindung zum Server benötigt, ist es nur für Kunden des `Enterprise`-Plans verfügbar.
349
+ * Da Hot-Reloading eine kontinuierliche Verbindung zum Server erfordert, ist es
350
+ * nur für Kunden des `enterprise`-Plans verfügbar.
322
351
  *
323
352
  * Standard: false
324
353
  */
325
354
  liveSync: true,
355
+
356
+ /**
357
+ * Der Port des Live Sync Servers.
358
+ *
359
+ * Standard: 4000
360
+ */
361
+ liveSyncPort: 4000,
362
+
363
+ /**
364
+ * Die URL des Live Sync Servers.
365
+ *
366
+ * Standard: http://localhost:{liveSyncPort}
367
+ */
368
+ liveSyncURL: "https://live.example.com",
369
+ },
370
+ build: {
371
+ /**
372
+ * Steuert, wie Wörterbücher importiert werden:
373
+ *
374
+ * - "live": Wörterbücher werden dynamisch über die Live Sync API abgerufen.
375
+ * Ersetzt useIntlayer durch useDictionaryDynamic.
376
+ *
377
+ * Hinweis: Der Live-Modus verwendet die Live Sync API, um Wörterbücher abzurufen. Wenn der API-Aufruf
378
+ * fehlschlägt, werden Wörterbücher dynamisch importiert.
379
+ * Hinweis: Nur Wörterbücher mit entfernten Inhalten und "live"-Flags verwenden den Live-Modus.
380
+ * Andere verwenden aus Leistungsgründen den dynamischen Modus.
381
+ */
382
+ importMode: "live",
326
383
  },
327
384
  };
328
385
 
329
386
  module.exports = config;
330
387
  ```
331
388
 
332
- Das Hot Reloading ersetzt den Inhalt sowohl auf der Server- als auch auf der Client-Seite.
389
+ Starten Sie den Live Sync Server, um Ihre Anwendung einzubinden:
390
+
391
+ Beispiel mit Next.js:
392
+
393
+ ```json5 fileName="package.json"
394
+ {
395
+ "scripts": {
396
+ // ... andere Skripte
397
+ "build": "next build",
398
+ "dev": "next dev",
399
+ "start": "npx intlayer live --process 'next start'",
400
+ },
401
+ }
402
+ ```
403
+
404
+ Beispiel mit Vite:
405
+
406
+ ```json5 fileName="package.json"
407
+ {
408
+ "scripts": {
409
+ // ... andere Skripte
410
+ "build": "vite build",
411
+ "dev": "vite dev",
412
+ "start": "npx intlayer live --process 'vite start'",
413
+ },
414
+ }
415
+ ```
416
+
417
+ Der Live Sync Server umschließt Ihre Anwendung und wendet automatisch aktualisierte Inhalte an, sobald diese eintreffen.
418
+
419
+ Um Änderungsbenachrichtigungen vom CMS zu erhalten, hält der Live-Sync-Server eine SSE-Verbindung zum Backend aufrecht. Wenn sich Inhalte im CMS ändern, leitet das Backend die Aktualisierung an den Live-Sync-Server weiter, der die neuen Wörterbücher schreibt. Ihre Anwendung spiegelt die Aktualisierung bei der nächsten Navigation oder beim Neuladen des Browsers wider – ein Neubau ist nicht erforderlich.
333
420
 
334
- - Auf der Server-Seite sollten Sie sicherstellen, dass der Anwendungsprozess Schreibzugriff auf das Verzeichnis `.intlayer/dictionaries` hat.
335
- - Auf der Client-Seite ermöglicht das Hot Reloading der Anwendung, den Inhalt im Browser automatisch neu zu laden, ohne die Seite neu laden zu müssen. Diese Funktion ist jedoch nur für Client-Komponenten verfügbar.
336
- > Da das Hot Reloading eine kontinuierliche Verbindung zum Server über einen `EventListener` benötigt, ist es nur für Kunden des `Enterprise`-Plans verfügbar.
421
+ Flussdiagramm (CMS/Backend -> Live Sync Server -> Application Server -> Frontend):
422
+
423
+ ![Live Sync Logik Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_logic_schema.svg)
424
+
425
+ So funktioniert es:
426
+
427
+ ![Live Sync Ablauf CMS/Backend/Live Sync Server/Application Server/Frontend Schema](https://github.com/aymericzip/intlayer/blob/main/docs/assets/live_sync_flow_scema.svg)
428
+
429
+ ### Entwicklungs-Workflow (lokal)
430
+
431
+ - In der Entwicklung werden alle entfernten Wörterbücher beim Start der Anwendung abgerufen, sodass Sie Updates schnell testen können.
432
+ - Um Live Sync lokal mit Next.js zu testen, umschließen Sie Ihren Dev-Server:
433
+
434
+ ```json5 fileName="package.json"
435
+ {
436
+ "scripts": {
437
+ // ... andere Skripte
438
+ "dev": "npx intlayer live --process 'next dev'",
439
+ // "dev": "npx intlayer live --process 'vite dev'", // Für Vite
440
+ },
441
+ }
442
+ ```
443
+
444
+ Aktivieren Sie die Optimierung, damit Intlayer während der Entwicklung die Live-Import-Transformationen anwendet:
445
+
446
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
447
+ import type { IntlayerConfig } from "intlayer";
448
+
449
+ const config: IntlayerConfig = {
450
+ editor: {
451
+ applicationURL: "http://localhost:5173",
452
+ liveSyncURL: "http://localhost:4000",
453
+ liveSync: true,
454
+ },
455
+ build: {
456
+ optimize: true,
457
+ importMode: "live",
458
+ },
459
+ };
460
+
461
+ export default config;
462
+ ```
463
+
464
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
465
+ /** @type {import('intlayer').IntlayerConfig} */
466
+ const config = {
467
+ editor: {
468
+ applicationURL: "http://localhost:5173",
469
+ liveSyncURL: "http://localhost:4000",
470
+ liveSync: true,
471
+ },
472
+ build: {
473
+ optimize: true,
474
+ importMode: "live",
475
+ },
476
+ };
477
+
478
+ export default config;
479
+ ```
480
+
481
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
482
+ /** @type {import('intlayer').IntlayerConfig} */
483
+ const config = {
484
+ editor: {
485
+ applicationURL: "http://localhost:5173",
486
+ liveSyncURL: "http://localhost:4000",
487
+ liveSync: true,
488
+ },
489
+ build: {
490
+ optimize: true,
491
+ importMode: "live",
492
+ },
493
+ };
494
+
495
+ module.exports = config;
496
+ ```
497
+
498
+ Diese Konfiguration umschließt Ihren Dev-Server mit dem Live Sync Server, lädt entfernte Wörterbücher beim Start und streamt Updates vom CMS über SSE. Aktualisieren Sie die Seite, um Änderungen zu sehen.
499
+
500
+ Hinweise und Einschränkungen:
501
+
502
+ - Fügen Sie die Live Sync-Quelle zu Ihrer Site-Sicherheitsrichtlinie (CSP) hinzu. Stellen Sie sicher, dass die Live Sync-URL in `connect-src` (und `frame-ancestors`, falls relevant) erlaubt ist.
503
+ - Live Sync funktioniert nicht mit statischem Output. Für Next.js muss die Seite dynamisch sein, um zur Laufzeit Updates zu erhalten (z. B. verwenden Sie `generateStaticParams`, `generateMetadata`, `getServerSideProps` oder `getStaticProps` entsprechend, um vollständige statische Einschränkungen zu vermeiden).
504
+
505
+ Diese Einrichtung bindet Ihren Entwicklungsserver mit dem Live-Sync-Server, lädt beim Start entfernte Wörterbücher und streamt Aktualisierungen vom CMS über SSE. Aktualisieren Sie die Seite, um Änderungen zu sehen.
506
+
507
+ Hinweise und Einschränkungen:
508
+
509
+ - Fügen Sie die Live-Sync-Quelle zu Ihrer Sicherheitsrichtlinie der Website (CSP) hinzu. Stellen Sie sicher, dass die Live-Sync-URL in `connect-src` (und `frame-ancestors`, falls relevant) erlaubt ist.
510
+ - Live Sync funktioniert nicht mit statischer Ausgabe. Für Next.js muss die Seite dynamisch sein, um zur Laufzeit Updates zu erhalten (z. B. verwenden Sie `generateStaticParams`, `generateMetadata`, `getServerSideProps` oder `getStaticProps` entsprechend, um vollständige statische Einschränkungen zu vermeiden).
511
+ - Im CMS hat jedes Wörterbuch ein `live`-Flag. Nur Wörterbücher mit `live=true` werden über die Live-Sync-API abgerufen; andere werden dynamisch importiert und bleiben zur Laufzeit unverändert.
512
+ - Das `live`-Flag wird für jedes Wörterbuch zur Build-Zeit ausgewertet. Wenn der entfernte Inhalt während des Builds nicht mit `live=true` gekennzeichnet war, müssen Sie neu bauen, um Live Sync für dieses Wörterbuch zu aktivieren.
513
+ - Der Live-Sync-Server muss in der Lage sein, in `.intlayer` zu schreiben. In Containern stellen Sie sicher, dass Schreibzugriff auf `/.intlayer` besteht.
337
514
 
338
515
  ## Debug
339
516
 
340
- Falls Sie Probleme mit dem CMS haben, überprüfen Sie Folgendes:
517
+ Wenn Sie Probleme mit dem CMS haben, überprüfen Sie Folgendes:
341
518
 
342
519
  - Die Anwendung läuft.
343
520
 
344
- - Die [`editor`](https://intlayer.org/doc/concept/configuration#editor-configuration) Konfiguration ist korrekt in Ihrer Intlayer-Konfigurationsdatei eingestellt.
521
+ - Die [`editor`](https://intlayer.org/doc/concept/configuration#editor-configuration)-Konfiguration ist in Ihrer Intlayer-Konfigurationsdatei korrekt gesetzt.
345
522
  - Erforderliche Felder:
346
- - Die Anwendungs-URL sollte mit der übereinstimmen, die Sie in der Editor-Konfiguration (`applicationURL`) eingestellt haben.
347
- - Die CMS-URL
523
+ - Die Anwendungs-URL sollte mit der in der Editor-Konfiguration (`applicationURL`) eingestellten URL übereinstimmen.
524
+ - Die CMS-URL
525
+
526
+ - Stellen Sie sicher, dass die Projektkonfiguration in das Intlayer CMS übertragen wurde.
348
527
 
349
- - Stellen Sie sicher, dass die Projektkonfiguration in das Intlayer CMS hochgeladen wurde.
350
- - Der visuelle Editor verwendet ein iframe, um Ihre Website anzuzeigen. Stellen Sie sicher, dass die Content Security Policy (CSP) Ihrer Website die CMS-URL als `frame-ancestors` erlaubt ('https://intlayer.org' standardmäßig). Überprüfen Sie die Editor-Konsole auf Fehler.
528
+ - Der visuelle Editor verwendet ein iframe, um Ihre Website anzuzeigen. Stellen Sie sicher, dass die Content Security Policy (CSP) Ihrer Website die CMS-URL als `frame-ancestors` erlaubt (standardmäßig 'https://intlayer.org'). Überprüfen Sie die Editor-Konsole auf Fehler.
351
529
 
352
530
  ## Dokumentationshistorie
353
531
 
354
- - 5.5.10 - 2025-06-29: Initiale Historie
532
+ | Version | Datum | Änderungen |
533
+ | ------- | ---------- | ---------------------------------------------- |
534
+ | 6.0.1 | 2025-09-22 | Live-Sync-Dokumentation hinzugefügt |
535
+ | 6.0.0 | 2025-09-04 | Ersetzte das Feld `hotReload` durch `liveSync` |
536
+ | 5.5.10 | 2025-06-29 | Historie initialisiert |