@intlayer/docs 8.0.0-canary.6 → 8.0.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 (73) hide show
  1. package/docs/ar/dictionary/content_file.md +30 -1
  2. package/docs/ar/dictionary/html.md +45 -56
  3. package/docs/ar/dictionary/markdown.md +21 -57
  4. package/docs/ar/releases/v8.md +11 -2
  5. package/docs/de/dictionary/content_file.md +30 -1
  6. package/docs/de/dictionary/html.md +45 -56
  7. package/docs/de/dictionary/markdown.md +21 -57
  8. package/docs/de/releases/v8.md +11 -2
  9. package/docs/en/dictionary/content_file.md +35 -1
  10. package/docs/en/dictionary/html.md +45 -56
  11. package/docs/en/dictionary/markdown.md +22 -58
  12. package/docs/en/releases/v8.md +11 -2
  13. package/docs/en-GB/dictionary/content_file.md +31 -2
  14. package/docs/en-GB/dictionary/html.md +45 -56
  15. package/docs/en-GB/dictionary/markdown.md +17 -53
  16. package/docs/en-GB/releases/v8.md +11 -2
  17. package/docs/es/dictionary/content_file.md +30 -2
  18. package/docs/es/dictionary/html.md +45 -56
  19. package/docs/es/dictionary/markdown.md +21 -57
  20. package/docs/es/releases/v8.md +11 -2
  21. package/docs/fr/dictionary/content_file.md +30 -1
  22. package/docs/fr/dictionary/html.md +45 -56
  23. package/docs/fr/dictionary/markdown.md +21 -57
  24. package/docs/fr/releases/v8.md +11 -2
  25. package/docs/hi/dictionary/content_file.md +33 -3
  26. package/docs/hi/dictionary/html.md +45 -56
  27. package/docs/hi/dictionary/markdown.md +21 -57
  28. package/docs/hi/releases/v8.md +10 -1
  29. package/docs/id/dictionary/content_file.md +30 -1
  30. package/docs/id/dictionary/html.md +45 -56
  31. package/docs/id/dictionary/markdown.md +21 -57
  32. package/docs/id/releases/v8.md +11 -2
  33. package/docs/it/dictionary/content_file.md +30 -1
  34. package/docs/it/dictionary/html.md +45 -56
  35. package/docs/it/dictionary/markdown.md +21 -57
  36. package/docs/it/releases/v8.md +11 -2
  37. package/docs/ja/dictionary/content_file.md +30 -1
  38. package/docs/ja/dictionary/html.md +45 -56
  39. package/docs/ja/dictionary/markdown.md +21 -57
  40. package/docs/ja/releases/v8.md +11 -2
  41. package/docs/ko/dictionary/content_file.md +30 -1
  42. package/docs/ko/dictionary/html.md +45 -56
  43. package/docs/ko/dictionary/markdown.md +21 -57
  44. package/docs/ko/releases/v8.md +11 -2
  45. package/docs/pl/dictionary/content_file.md +30 -1
  46. package/docs/pl/dictionary/html.md +45 -56
  47. package/docs/pl/dictionary/markdown.md +18 -54
  48. package/docs/pl/releases/v8.md +11 -2
  49. package/docs/pt/dictionary/content_file.md +30 -1
  50. package/docs/pt/dictionary/html.md +45 -56
  51. package/docs/pt/dictionary/markdown.md +21 -57
  52. package/docs/pt/releases/v8.md +11 -2
  53. package/docs/ru/dictionary/content_file.md +30 -1
  54. package/docs/ru/dictionary/html.md +45 -56
  55. package/docs/ru/dictionary/markdown.md +21 -57
  56. package/docs/ru/releases/v8.md +11 -2
  57. package/docs/tr/dictionary/content_file.md +30 -1
  58. package/docs/tr/dictionary/html.md +45 -56
  59. package/docs/tr/dictionary/markdown.md +17 -53
  60. package/docs/tr/releases/v8.md +11 -2
  61. package/docs/uk/dictionary/content_file.md +32 -3
  62. package/docs/uk/dictionary/html.md +45 -56
  63. package/docs/uk/dictionary/markdown.md +14 -50
  64. package/docs/uk/releases/v8.md +11 -2
  65. package/docs/vi/dictionary/content_file.md +30 -1
  66. package/docs/vi/dictionary/html.md +45 -56
  67. package/docs/vi/dictionary/markdown.md +19 -55
  68. package/docs/vi/releases/v8.md +11 -2
  69. package/docs/zh/dictionary/content_file.md +28 -2
  70. package/docs/zh/dictionary/html.md +45 -56
  71. package/docs/zh/dictionary/markdown.md +20 -56
  72. package/docs/zh/releases/v8.md +11 -2
  73. package/package.json +7 -7
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
- updatedAt: 2026-01-24
3
+ updatedAt: 2026-01-28
4
4
  title: Inhaltsdatei
5
5
  description: Erfahren Sie, wie Sie die Erweiterungen für Ihre Inhaltsdeklarationsdateien anpassen können. Folgen Sie dieser Dokumentation, um Bedingungen effizient in Ihrem Projekt umzusetzen.
6
6
  keywords:
@@ -12,6 +12,9 @@ slugs:
12
12
  - concept
13
13
  - content
14
14
  history:
15
+ - version: 8.0.0
16
+ date: 2026-01-28
17
+ changes: Inhaltstyp-Knoten `html` hinzugefügt
15
18
  - version: 8.0.0
16
19
  date: 2026-01-24
17
20
  changes: Rename `live` import mode to `fetch` to better describe the underlying mechanism.
@@ -84,6 +87,7 @@ interface Content {
84
87
  quantityContent: string; // Mengeninhalt
85
88
  conditionalContent: string; // Bedingter Inhalt
86
89
  markdownContent: never; // Markdown-Inhalt
90
+ htmlContent: never; // HTML-Inhalt
87
91
  externalContent: string; // Externer Inhalt
88
92
  insertionContent: string; // Einfügeinhalt
89
93
  nestedContent: string; // Verschachtelter Inhalt
@@ -129,6 +133,7 @@ export default {
129
133
  fileContent: file("./path/to/file.txt"),
130
134
  externalContent: fetch("https://example.com").then((res) => res.json()),
131
135
  markdownContent: md("# Markdown-Beispiel"),
136
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
132
137
 
133
138
  /*
134
139
  * Nur verfügbar mit `react-intlayer` oder `next-intlayer`
@@ -178,6 +183,7 @@ export default {
178
183
  "login.button" // [Optional] Der Pfad zum einzufügenden Inhalt
179
184
  ),
180
185
  markdownContent: md("# Markdown-Beispiel"),
186
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
181
187
  fileContent: file("./path/to/file.txt"),
182
188
  externalContent: fetch("https://example.com").then((res) => res.json())
183
189
 
@@ -228,6 +234,7 @@ module.exports = {
228
234
  "login.button" // [Optional] Der Pfad zum einzubettenden Inhalt
229
235
  ),
230
236
  markdownContent: md("# Markdown-Beispiel"),
237
+ htmlContent: html("<p>Hello <strong>World</strong></p>"),
231
238
  fileContent: file("./path/to/file.txt"),
232
239
  externalContent: fetch("https://example.com").then((res) => res.json())
233
240
 
@@ -289,6 +296,10 @@ module.exports = {
289
296
  "nodeType": "markdown",
290
297
  "markdown": "# Markdown-Beispiel",
291
298
  },
299
+ "htmlContent": {
300
+ "nodeType": "html",
301
+ "html": "<p>Hello <strong>World</strong></p>",
302
+ },
292
303
  "fileContent": {
293
304
  "nodeType": "file",
294
305
  "file": "./path/to/file.txt",
@@ -323,6 +334,7 @@ Intlayer unterstützt verschiedene Inhaltstypen durch typisierte Knoten:
323
334
  - **Enumerationsinhalt**: Inhalt, der sich basierend auf aufzählbaren Werten ändert [siehe Enumerationsinhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/enumeration_content.md)
324
335
  - **Einfügeinhalt**: Inhalt, der in anderen Inhalt eingefügt werden kann [siehe Einfügeinhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/insertion_content.md)
325
336
  - **Markdown-Inhalt**: Rich-Text-Inhalt im Markdown-Format [siehe Markdown-Inhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/markdown_content.md)
337
+ - **HTML-Inhalt**: Rich-HTML-Inhalt mit optionalen benutzerdefinierten Komponenten [siehe HTML-Inhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/html.md)
326
338
  - **Verschachtelter Inhalt**: Verweise auf andere Wörterbücher [siehe Verschachtelter Inhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/nested_content.md)
327
339
  - **Geschlechtsabhängiger Inhalt**: Inhalt, der sich je nach Geschlecht unterscheidet [siehe Geschlechtsabhängiger Inhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/gender_content.md)
328
340
  - **Dateiinhalt**: Verweise auf externe Dateien [siehe Dateiinhalt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/file_content.md)
@@ -688,6 +700,23 @@ markdownContent: md(
688
700
  );
689
701
  ```
690
702
 
703
+ ### HTML-Inhalt (`html`)
704
+
705
+ Rich-HTML-Inhalt, der Standard-Tags oder benutzerdefinierte Komponenten verwenden kann:
706
+
707
+ ```typescript
708
+ import { html, file, t } from "intlayer";
709
+
710
+ // Inline-HTML
711
+ htmlContent: html("<p>Hello <strong>World</strong></p>");
712
+
713
+ // Pro-Locale-HTML aus externen Dateien
714
+ localizedHtmlContent: t({
715
+ en: html(file("./content.en.html")),
716
+ de: html(file("./content.de.html")),
717
+ });
718
+ ```
719
+
691
720
  ### Geschlechtsabhängiger Inhalt (`gender`)
692
721
 
693
722
  Inhalt, der sich je nach Geschlecht unterscheidet:
@@ -31,47 +31,12 @@ history:
31
31
 
32
32
  Intlayer unterstützt HTML-Inhalte, sodass Sie reichhaltige, strukturierte Inhalte in Ihre Dictionaries einbetten können. Diese Inhalte können mit Standard-HTML-Tags gerendert oder zur Laufzeit durch benutzerdefinierte Komponenten ersetzt werden.
33
33
 
34
- ## Wie HTML funktioniert
35
-
36
- Intlayer v8 erkennt HTML-Tags in Ihren Inhaltsstrings intelligent. Wenn ein String als HTML identifiziert wird (Tags enthält), wird er automatisch in einen HTML-Knoten umgewandelt.
37
-
38
- <Columns>
39
- <Column title="v7 Verhalten (Manuelles Wrapping)">
40
-
41
- ```typescript fileName="htmlDictionary.content.ts"
42
- import { html } from "intlayer";
43
-
44
- export default {
45
- key: "app",
46
- content: {
47
- text: html("<p>Hello <strong>World</strong></p>"),
48
- },
49
- };
50
- ```
51
-
52
- </Column>
53
- <Column title="v8 Verhalten (Automatische Erkennung)">
54
-
55
- ```typescript fileName="htmlDictionary.content.ts"
56
- export default {
57
- key: "app",
58
- content: {
59
- text: "<p>Hello <strong>World</strong></p>",
60
- },
61
- };
62
- ```
63
-
64
- </Column>
65
- </Columns>
66
-
67
- ---
68
-
69
34
  ## HTML-Inhalte deklarieren
70
35
 
71
36
  Sie können HTML-Inhalte mit der `html`-Funktion oder einfach als String deklarieren.
72
37
 
73
38
  <Tabs>
74
- <Tab label="Manuelles Wrapping">
39
+ <Tab label="Manuelles Wrapping" value="manual-wrapping">
75
40
  Verwenden Sie die `html`-Funktion, um HTML-Inhalte explizit zu deklarieren. Dies stellt sicher, dass Standard-Tags korrekt zugeordnet werden, selbst wenn die automatische Erkennung deaktiviert ist.
76
41
 
77
42
  ```typescript fileName="htmlDictionary.content.ts"
@@ -88,7 +53,7 @@ Sie können HTML-Inhalte mit der `html`-Funktion oder einfach als String deklari
88
53
  ```
89
54
 
90
55
  </Tab>
91
- <Tab label="Automatische Erkennung">
56
+ <Tab label="Automatische Erkennung" value="automatic-detection">
92
57
  Wenn der String gängige HTML-Tags enthält (z. B. `<p>`, `<div>`, `<strong>` usw.), wird Intlayer ihn automatisch umwandeln.
93
58
 
94
59
  ```typescript fileName="htmlDictionary.content.ts"
@@ -101,7 +66,7 @@ Sie können HTML-Inhalte mit der `html`-Funktion oder einfach als String deklari
101
66
  ```
102
67
 
103
68
  </Tab>
104
- <Tab label="Externe Dateien">
69
+ <Tab label="Externe Dateien" value="external-files">
105
70
  Importieren Sie HTML-Inhalte aus Dateien. Beachten Sie, dass die Funktion `file()` derzeit einen String zurückgibt, der automatisch als HTML erkannt wird, wenn er Tags enthält.
106
71
 
107
72
  ```typescript fileName="htmlDictionary.content.ts"
@@ -121,6 +86,30 @@ Sie können HTML-Inhalte mit der `html`-Funktion oder einfach als String deklari
121
86
  </Tab>
122
87
  </Tabs>
123
88
 
89
+ ### Der `html()`-Knoten
90
+
91
+ Die `html()`-Funktion ist ein neues Feature in Intlayer v8, mit dem Sie HTML-Inhalte in Ihren Wörterbüchern explizit definieren können. Während Intlayer HTML-Inhalte oft automatisch erkennt, bietet die Verwendung der `html()`-Funktion mehrere Vorteile:
92
+
93
+ - **Typsicherheit**: Mit der `html()`-Funktion können Sie die erwarteten Props für benutzerdefinierte Komponenten definieren, was eine bessere Autovervollständigung und Typprüfung in Ihrem Editor ermöglicht.
94
+ - **Explizite Deklaration**: Sie stellt sicher, dass eine Zeichenfolge immer als HTML behandelt wird, auch wenn sie keine Standard-HTML-Tags enthält, die die automatische Erkennung auslösen würden.
95
+ - **Definition benutzerdefinierter Komponenten**: Sie können ein zweites Argument an `html()` übergeben, um die benutzerdefinierten Komponenten und deren erwartete Prop-Typen zu definieren.
96
+
97
+ ```typescript
98
+ import { html } from "intlayer";
99
+
100
+ const myContent = html(
101
+ "<MyCustomComponent title='Hallo'>Welt</MyCustomComponent>",
102
+ {
103
+ MyCustomComponent: {
104
+ title: "string",
105
+ children: "node",
106
+ },
107
+ }
108
+ );
109
+ ```
110
+
111
+ Wenn Sie die Methode `.use()` auf einem HTML-Knoten verwenden, werden die von Ihnen bereitgestellten Komponenten gegen die in der `html()`-Funktion bereitgestellte Definition (falls verfügbar) geprüft.
112
+
124
113
  ---
125
114
 
126
115
  ## HTML rendern
@@ -132,7 +121,7 @@ Das Rendern kann automatisch durch das Inhaltssystem von Intlayer oder manuell m
132
121
  Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits für das Rendering vorbereitet.
133
122
 
134
123
  <Tabs group="framework">
135
- <Tab label="React / Next.js">
124
+ <Tab label="React / Next.js" value="react">
136
125
  HTML-Knoten können direkt als JSX gerendert werden. Standard-Tags funktionieren automatisch.
137
126
 
138
127
  ```tsx fileName="App.tsx"
@@ -154,7 +143,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
154
143
  ```
155
144
 
156
145
  </Tab>
157
- <Tab label="Vue">
146
+ <Tab label="Vue" value="vue">
158
147
  In Vue können HTML-Inhalte mit der integrierten `component`-Komponente gerendert werden.
159
148
 
160
149
  ```vue fileName="App.vue"
@@ -174,7 +163,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
174
163
  ```
175
164
 
176
165
  </Tab>
177
- <Tab label="Svelte">
166
+ <Tab label="Svelte" value="svelte">
178
167
  Svelte rendert HTML-Knoten als Strings. Verwenden Sie `{@html}`, um sie zu rendern.
179
168
 
180
169
  ```svelte
@@ -187,7 +176,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
187
176
  ```
188
177
 
189
178
  </Tab>
190
- <Tab label="Preact">
179
+ <Tab label="Preact" value="preact">
191
180
  Preact unterstützt HTML-Knoten direkt im JSX.
192
181
 
193
182
  ```tsx fileName="App.tsx"
@@ -200,7 +189,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
200
189
  ```
201
190
 
202
191
  </Tab>
203
- <Tab label="Solid">
192
+ <Tab label="Solid" value="solid">
204
193
  Solid unterstützt HTML-Knoten direkt im JSX.
205
194
 
206
195
  ```tsx fileName="App.tsx"
@@ -213,7 +202,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
213
202
  ```
214
203
 
215
204
  </Tab>
216
- <Tab label="Angular">
205
+ <Tab label="Angular" value="angular">
217
206
  Angular verwendet die `[innerHTML]`-Direktive, um HTML-Inhalte zu rendern.
218
207
 
219
208
  ```typescript fileName="app.component.ts"
@@ -246,7 +235,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind HTML-Knoten bereits fü
246
235
  Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren. Dies ist ideal, um benutzerdefinierte Komponenten zu definieren, die in allen HTML-Inhalten verfügbar sein sollen.
247
236
 
248
237
  <Tabs group="framework">
249
- <Tab label="React / Next.js">
238
+ <Tab label="React / Next.js" value="react">
250
239
 
251
240
  ```tsx fileName="AppProvider.tsx"
252
241
  import { HTMLProvider } from "react-intlayer";
@@ -264,7 +253,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
264
253
  ```
265
254
 
266
255
  </Tab>
267
- <Tab label="Vue">
256
+ <Tab label="Vue" value="vue">
268
257
 
269
258
  ```typescript fileName="main.ts"
270
259
  import { createApp, h } from "vue";
@@ -285,7 +274,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
285
274
  ```
286
275
 
287
276
  </Tab>
288
- <Tab label="Svelte">
277
+ <Tab label="Svelte" value="svelte">
289
278
 
290
279
  ```svelte fileName="App.svelte"
291
280
  <script lang="ts">
@@ -303,7 +292,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
303
292
  ```
304
293
 
305
294
  </Tab>
306
- <Tab label="Preact">
295
+ <Tab label="Preact" value="preact">
307
296
 
308
297
  ```tsx fileName="AppProvider.tsx"
309
298
  import { HTMLProvider } from "preact-intlayer";
@@ -320,7 +309,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
320
309
  ```
321
310
 
322
311
  </Tab>
323
- <Tab label="Solid">
312
+ <Tab label="Solid" value="solid">
324
313
 
325
314
  ```tsx fileName="AppProvider.tsx"
326
315
  import { HTMLProvider } from "solid-intlayer";
@@ -337,7 +326,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
337
326
  ```
338
327
 
339
328
  </Tab>
340
- <Tab label="Angular">
329
+ <Tab label="Angular" value="angular">
341
330
 
342
331
  ```typescript fileName="app.config.ts"
343
332
  import { createIntlayerMarkdownProvider } from "angular-intlayer";
@@ -364,7 +353,7 @@ Sie können das HTML-Rendering global für Ihre gesamte Anwendung konfigurieren.
364
353
  Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Komponentenzuordnung benötigen, verwenden Sie die folgenden Tools.
365
354
 
366
355
  <Tabs group="framework">
367
- <Tab label="React / Next.js">
356
+ <Tab label="React / Next.js" value="react">
368
357
  #### `<HTMLRenderer />` Komponente
369
358
  Rendern Sie einen HTML-String mit spezifischen Komponenten.
370
359
 
@@ -401,7 +390,7 @@ Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Kompone
401
390
  ```
402
391
 
403
392
  </Tab>
404
- <Tab label="Vue">
393
+ <Tab label="Vue" value="vue">
405
394
 
406
395
  #### `<HTMLRenderer />` Komponente
407
396
 
@@ -416,7 +405,7 @@ Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Kompone
416
405
  ```
417
406
 
418
407
  </Tab>
419
- <Tab label="Svelte">
408
+ <Tab label="Svelte" value="svelte">
420
409
 
421
410
  #### `<HTMLRenderer />` Komponente
422
411
 
@@ -450,7 +439,7 @@ Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Kompone
450
439
  ```
451
440
 
452
441
  </Tab>
453
- <Tab label="Preact">
442
+ <Tab label="Preact" value="preact">
454
443
 
455
444
  #### `<HTMLRenderer />` Komponente
456
445
 
@@ -481,7 +470,7 @@ Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Kompone
481
470
  ```
482
471
 
483
472
  </Tab>
484
- <Tab label="Solid">
473
+ <Tab label="Solid" value="solid">
485
474
 
486
475
  #### `<HTMLRenderer />` Komponente
487
476
 
@@ -512,7 +501,7 @@ Wenn Sie rohe HTML-Strings rendern müssen oder mehr Kontrolle über die Kompone
512
501
  ```
513
502
 
514
503
  </Tab>
515
- <Tab label="Angular">
504
+ <Tab label="Angular" value="angular">
516
505
  #### `IntlayerMarkdownService` Service
517
506
  Rendern Sie einen HTML-String mit dem Service.
518
507
 
@@ -32,48 +32,12 @@ history:
32
32
 
33
33
  Intlayer unterstützt Rich-Text-Inhalte, die mittels Markdown-Syntax definiert sind. Dies ermöglicht es Ihnen, Inhalte mit reichhaltiger Formatierung, wie Blogs, Artikel und mehr, einfach zu schreiben und zu pflegen.
34
34
 
35
- ## Wie Markdown funktioniert
36
-
37
- Intlayer v8 erkennt Markdown-Syntax in Ihren Inhaltsstrings intelligent. Wenn ein String als Markdown identifiziert wird, wird er automatisch in einen Markdown-Knoten umgewandelt.
38
-
39
- <Columns>
40
- <Column title="v7 Verhalten (Manuelles Wrapping)">
41
-
42
- ```typescript fileName="markdownDictionary.content.ts"
43
- import { md } from "intlayer";
44
-
45
- export default {
46
- key: "app",
47
- content: {
48
- text: md("## Mein Titel \n\nLorem Ipsum"),
49
- },
50
- };
51
- ```
52
-
53
- </Column>
54
- <Column title="v8 Verhalten (Automatische Erkennung)">
55
-
56
- ```typescript fileName="markdownDictionary.content.ts"
57
- export default {
58
- key: "app",
59
- contentAutoTransformation: true, // Automatische Erkennung von Markdown-Inhalten aktivieren - Kann global in intlayer.config.ts eingestellt werden
60
- content: {
61
- text: "## Mein Titel \n\nLorem Ipsum",
62
- },
63
- };
64
- ```
65
-
66
- </Column>
67
- </Columns>
68
-
69
- ---
70
-
71
35
  ## Teil 1: Markdown-Inhalte deklarieren
72
36
 
73
37
  Sie können Markdown-Inhalte mit der `md`-Funktion oder einfach als String deklarieren (sofern er Markdown-Syntax enthält).
74
38
 
75
39
  <Tabs>
76
- <Tab label="Manuelles Wrapping">
40
+ <Tab label="Manuelles Wrapping" value="manual-wrapping">
77
41
  Verwenden Sie die `md`-Funktion, um Markdown-Inhalte explizit zu deklarieren. Dies ist nützlich, wenn Sie sicherstellen möchten, dass ein String als Markdown behandelt wird, auch wenn er keine offensichtliche Syntax enthält.
78
42
 
79
43
  ```typescript fileName="markdownDictionary.content.ts"
@@ -90,7 +54,7 @@ Sie können Markdown-Inhalte mit der `md`-Funktion oder einfach als String dekla
90
54
  ```
91
55
 
92
56
  </Tab>
93
- <Tab label="Automatische Erkennung">
57
+ <Tab label="Automatische Erkennung" value="automatic-detection">
94
58
  Wenn der String gängige Markdown-Indikatoren enthält (wie Überschriften, Listen, Links usw.), wird Intlayer ihn automatisch umwandeln.
95
59
 
96
60
  ```typescript fileName="markdownDictionary.content.ts"
@@ -104,7 +68,7 @@ Sie können Markdown-Inhalte mit der `md`-Funktion oder einfach als String dekla
104
68
  ```
105
69
 
106
70
  </Tab>
107
- <Tab label="Externe Dateien">
71
+ <Tab label="Externe Dateien" value="external-files">
108
72
  Importieren Sie `.md`-Dateien direkt mit der `file`-Funktion.
109
73
 
110
74
  ```typescript fileName="markdownDictionary.content.ts"
@@ -135,7 +99,7 @@ Das Rendering kann automatisch durch das Inhaltssystem von Intlayer oder manuell
135
99
  Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits für das Rendering vorbereitet.
136
100
 
137
101
  <Tabs group="framework">
138
- <Tab label="React / Next.js">
102
+ <Tab label="React / Next.js" value="react">
139
103
  Markdown-Knoten können direkt als JSX gerendert werden.
140
104
 
141
105
  ```tsx fileName="App.tsx"
@@ -156,7 +120,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
156
120
  ```
157
121
 
158
122
  </Tab>
159
- <Tab label="Vue">
123
+ <Tab label="Vue" value="vue">
160
124
  In Vue können Markdown-Inhalte mit der integrierten `component`-Komponente oder direkt als Knoten gerendert werden.
161
125
 
162
126
  ```vue fileName="App.vue"
@@ -171,7 +135,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
171
135
  ```
172
136
 
173
137
  </Tab>
174
- <Tab label="Svelte">
138
+ <Tab label="Svelte" value="svelte">
175
139
  Svelte rendert Markdown standardmäßig als HTML-String. Verwenden Sie `{@html}`, um es zu rendern.
176
140
 
177
141
  ```svelte
@@ -184,7 +148,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
184
148
  ```
185
149
 
186
150
  </Tab>
187
- <Tab label="Preact">
151
+ <Tab label="Preact" value="preact">
188
152
  Preact unterstützt Markdown-Knoten direkt im JSX.
189
153
 
190
154
  ```tsx fileName="App.tsx"
@@ -197,7 +161,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
197
161
  ```
198
162
 
199
163
  </Tab>
200
- <Tab label="Solid">
164
+ <Tab label="Solid" value="solid">
201
165
  Solid unterstützt Markdown-Knoten direkt im JSX.
202
166
 
203
167
  ```tsx fileName="App.tsx"
@@ -210,7 +174,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
210
174
  ```
211
175
 
212
176
  </Tab>
213
- <Tab label="Angular">
177
+ <Tab label="Angular" value="angular">
214
178
  Angular verwendet die `[innerHTML]`-Direktive, um Markdown-Inhalte zu rendern.
215
179
 
216
180
  ```typescript fileName="app.component.ts"
@@ -242,7 +206,7 @@ Wenn Sie auf Inhalte über `useIntlayer` zugreifen, sind Markdown-Knoten bereits
242
206
  Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Rendering-Prozess wünschen, verwenden Sie die folgenden Tools.
243
207
 
244
208
  <Tabs group="framework">
245
- <Tab label="React / Next.js">
209
+ <Tab label="React / Next.js" value="react">
246
210
 
247
211
  #### `<MarkdownRenderer />` Komponente
248
212
 
@@ -281,7 +245,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
281
245
  ```
282
246
 
283
247
  </Tab>
284
- <Tab label="Vue">
248
+ <Tab label="Vue" value="vue">
285
249
 
286
250
  #### `<MarkdownRenderer />` Komponente
287
251
 
@@ -296,7 +260,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
296
260
  ```
297
261
 
298
262
  </Tab>
299
- <Tab label="Svelte">
263
+ <Tab label="Svelte" value="svelte">
300
264
 
301
265
  #### `<MarkdownRenderer />` Komponente
302
266
 
@@ -330,7 +294,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
330
294
  ```
331
295
 
332
296
  </Tab>
333
- <Tab label="Preact">
297
+ <Tab label="Preact" value="preact">
334
298
  #### `<MarkdownRenderer />` Komponente
335
299
 
336
300
  ```tsx
@@ -360,7 +324,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
360
324
  ```
361
325
 
362
326
  </Tab>
363
- <Tab label="Solid">
327
+ <Tab label="Solid" value="solid">
364
328
  #### `<MarkdownRenderer />` Komponente
365
329
 
366
330
  ```tsx
@@ -390,7 +354,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
390
354
  ```
391
355
 
392
356
  </Tab>
393
- <Tab label="Angular">
357
+ <Tab label="Angular" value="angular">
394
358
  #### `IntlayerMarkdownService` Service
395
359
  Rendern Sie einen Markdown-String mit dem Service.
396
360
 
@@ -416,7 +380,7 @@ Wenn Sie rohe Markdown-Strings rendern müssen oder mehr Kontrolle über den Ren
416
380
  Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurieren. Dies vermeidet die Übergabe der gleichen Props an jeden Renderer.
417
381
 
418
382
  <Tabs group="framework">
419
- <Tab label="React / Next.js">
383
+ <Tab label="React / Next.js" value="react">
420
384
 
421
385
  ```tsx fileName="AppProvider.tsx"
422
386
  import { MarkdownProvider } from "react-intlayer";
@@ -436,7 +400,7 @@ Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurie
436
400
  ```
437
401
 
438
402
  </Tab>
439
- <Tab label="Vue">
403
+ <Tab label="Vue" value="vue">
440
404
 
441
405
  ```typescript fileName="main.ts"
442
406
  import { createApp } from "vue";
@@ -461,7 +425,7 @@ Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurie
461
425
  ```
462
426
 
463
427
  </Tab>
464
- <Tab label="Svelte">
428
+ <Tab label="Svelte" value="svelte">
465
429
 
466
430
  ```svelte fileName="App.svelte"
467
431
  <script lang="ts">
@@ -481,7 +445,7 @@ Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurie
481
445
  ```
482
446
 
483
447
  </Tab>
484
- <Tab label="Preact">
448
+ <Tab label="Preact" value="preact">
485
449
 
486
450
  ```tsx fileName="AppProvider.tsx"
487
451
  import { MarkdownProvider } from "preact-intlayer";
@@ -500,7 +464,7 @@ Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurie
500
464
  ```
501
465
 
502
466
  </Tab>
503
- <Tab label="Solid">
467
+ <Tab label="Solid" value="solid">
504
468
 
505
469
  ```tsx fileName="AppProvider.tsx"
506
470
  import { MarkdownProvider } from "solid-intlayer";
@@ -519,7 +483,7 @@ Sie können das Markdown-Rendering global für Ihre gesamte Anwendung konfigurie
519
483
  ```
520
484
 
521
485
  </Tab>
522
- <Tab label="Angular">
486
+ <Tab label="Angular" value="angular">
523
487
 
524
488
  ```typescript fileName="app.config.ts"
525
489
  import { createIntlayerMarkdownProvider } from "angular-intlayer";
@@ -12,6 +12,7 @@ keywords:
12
12
  - Next.js
13
13
  - JavaScript
14
14
  - TypeScript
15
+ youtubeVideo: https://www.youtube.com/watch?v=ia6JmVf-kkU
15
16
  slugs:
16
17
  - doc
17
18
  - releases
@@ -22,6 +23,14 @@ slugs:
22
23
 
23
24
  Willkommen bei Intlayer v8! Diese Version konzentriert sich darauf, die Developer Experience durch automatische Inhaltserkennung zu verbessern, die Datenintegrität mittels Schema-Validierung sicherzustellen und mehr Kontrolle über die Verwaltung von Dictionaries zu bieten.
24
25
 
26
+ <iframe
27
+ src="https://www.youtube.com/embed/ia6JmVf-kkU"
28
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
29
+ title="Demo Video - New Intlayer v8 - What's new?"
30
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
31
+ loading="lazy"
32
+ />
33
+
25
34
  ## Inhaltsverzeichnis
26
35
 
27
36
  <TOC levels={[2]} maxDepth={1} />
@@ -1199,8 +1208,8 @@ Markdown- und HTML-Inhalte in Svelte werden nun automatisch in HTML geparst, wen
1199
1208
 
1200
1209
  ### Konfigurationsänderungen
1201
1210
 
1202
- - **`live`-Eigenschaft**: Die `live`-Eigenschaft in Dictionaries ist veraltet. Verwenden Sie stattdessen `importMode: 'fetch'`.
1203
- - **Vereinheitlichte Rich-Content-API**: Die neue Methode `.use()` wird nun sowohl für Markdown- als auch für HTML-Overrides verwendet und bietet eine konsistente API über alle Rich-Content-Typen hinweg.
1211
+ - **`live`-Eigenschaft**: Die `live`-Eigenschaft in Dictionaries wurde entfernt. Verwenden Sie stattdessen `importMode: 'fetch'`.
1212
+ - **importMode**: Die Eigenschaft `build.importMode` in der Konfiguration ist veraltet. Verwenden Sie stattdessen `dictionary.importMode`.
1204
1213
  - **`contentDir` und `codeDir`**: `contentDir` ist jetzt speziell für Inhaltsdateien. Eine neue Eigenschaft `codeDir` wurde für die Code-Transformation hinzugefügt. Wenn `codeDir` nicht gesetzt ist, fällt Intlayer auf `contentDir` zurück und protokolliert eine Warnung.
1205
1214
  - **Schema-Validierung**: Um die neue `schema`-Funktion zu nutzen, stellen Sie sicher, dass `zod` in Ihrem Projekt installiert ist.
1206
1215