@intlayer/docs 8.4.5 → 8.4.6

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 (48) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +20 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +20 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +1 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/configuration.md +520 -722
  8. package/docs/ar/intlayer_with_storybook.md +521 -0
  9. package/docs/bn/configuration.md +922 -0
  10. package/docs/bn/intlayer_with_hono.md +428 -0
  11. package/docs/de/configuration.md +369 -743
  12. package/docs/de/intlayer_with_storybook.md +521 -0
  13. package/docs/en/configuration.md +181 -507
  14. package/docs/en/intlayer_with_storybook.md +521 -0
  15. package/docs/en-GB/configuration.md +456 -657
  16. package/docs/en-GB/intlayer_with_storybook.md +521 -0
  17. package/docs/es/configuration.md +379 -754
  18. package/docs/es/intlayer_with_storybook.md +521 -0
  19. package/docs/fr/configuration.md +376 -757
  20. package/docs/fr/intlayer_with_storybook.md +521 -0
  21. package/docs/hi/configuration.md +532 -728
  22. package/docs/hi/intlayer_with_storybook.md +521 -0
  23. package/docs/id/configuration.md +371 -684
  24. package/docs/id/intlayer_with_storybook.md +521 -0
  25. package/docs/it/configuration.md +397 -775
  26. package/docs/it/intlayer_with_storybook.md +521 -0
  27. package/docs/ja/configuration.md +525 -724
  28. package/docs/ja/intlayer_with_storybook.md +521 -0
  29. package/docs/ko/configuration.md +525 -724
  30. package/docs/ko/intlayer_with_storybook.md +521 -0
  31. package/docs/pl/configuration.md +430 -734
  32. package/docs/pl/intlayer_with_storybook.md +521 -0
  33. package/docs/pt/configuration.md +375 -746
  34. package/docs/pt/intlayer_with_storybook.md +521 -0
  35. package/docs/ru/configuration.md +532 -701
  36. package/docs/ru/intlayer_with_storybook.md +521 -0
  37. package/docs/tr/configuration.md +527 -719
  38. package/docs/tr/intlayer_with_storybook.md +521 -0
  39. package/docs/uk/configuration.md +425 -744
  40. package/docs/uk/intlayer_with_storybook.md +521 -0
  41. package/docs/ur/configuration.md +922 -0
  42. package/docs/ur/intlayer_with_hono.md +428 -0
  43. package/docs/vi/configuration.md +412 -753
  44. package/docs/vi/intlayer_with_storybook.md +521 -0
  45. package/docs/zh/configuration.md +521 -714
  46. package/docs/zh/intlayer_with_storybook.md +521 -0
  47. package/package.json +6 -6
  48. package/src/generated/docs.entry.ts +20 -0
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-12
4
- title: Konfiguration
5
- description: Erfahren Sie, wie Sie Intlayer für Ihre Anwendung konfigurieren. Verstehen Sie die verschiedenen Einstellungen und Optionen, um Intlayer an Ihre Bedürfnisse anzupassen.
3
+ updatedAt: 2026-03-20
4
+ title: Konfiguration (Configuration)
5
+ description: Erfahren Sie, wie Sie Intlayer für Ihre Anwendung konfigurieren. Verstehen Sie die verschiedenen Einstellungen und Optionen, die zur Anpassung von Intlayer an Ihre Bedürfnisse zur Verfügung stehen.
6
6
  keywords:
7
7
  - Konfiguration
8
8
  - Einstellungen
@@ -13,51 +13,55 @@ slugs:
13
13
  - doc
14
14
  - concept
15
15
  - configuration
16
- history - version: 8.3.0
16
+ history:
17
+ - version: 8.4.0
18
+ date: 2026-03-20
19
+ changes: Pro-Locale Objektnotation für 'compiler.output' und 'dictionary.fill' hinzugefügt
20
+ - version: 8.3.0
17
21
  date: 2026-03-11
18
- changes: Verschiebe 'baseDir' von 'content' nach 'system' Konfiguration
22
+ changes: 'baseDir' von Content-Konfiguration in System-Konfiguration verschoben
19
23
  - version: 8.2.0
20
24
  date: 2026-03-09
21
- changes: Compiler-Optionen aktualisieren, Unterstützung für 'output' und 'noMetadata' hinzufügen
25
+ changes: Compiler-Optionen aktualisiert, Unterstützung für 'output' und 'noMetadata' hinzugefügt
22
26
  - version: 8.1.7
23
27
  date: 2026-02-25
24
- changes: Compiler-Optionen aktualisieren
28
+ changes: Compiler-Optionen aktualisiert
25
29
  - version: 8.1.5
26
30
  date: 2026-02-23
27
31
  changes: Compiler-Option 'build-only' und Wörterbuch-Präfix hinzugefügt
28
32
  - version: 8.0.6
29
33
  date: 2026-02-12
30
- changes: Unterstützung für Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face und Together.ai Provider hinzufügen
34
+ changes: Unterstützung für Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face und Together.ai Anbieter hinzugefügt
31
35
  - version: 8.0.5
32
36
  date: 2026-02-06
33
- changes: Hinzufügen von `dataSerialization` zur KI-Konfiguration
37
+ changes: `dataSerialization` zur AI-Konfiguration hinzugefügt
34
38
  - version: 8.0.0
35
39
  date: 2026-01-24
36
- changes: Importmodus `live` in `fetch` umbenannt, um den zugrunde liegenden Mechanismus besser zu beschreiben.
40
+ changes: Import-Modus `live` in `fetch` umbenannt, um den zugrunde liegenden Mechanismus besser zu beschreiben.
37
41
  - version: 8.0.0
38
42
  date: 2026-01-22
39
- changes: Build-Konfiguration für `importMode` in die Wörterbuch-Konfiguration verschoben.
43
+ changes: Build-Konfiguration `importMode` in die Dictionary-Konfiguration verschoben.
40
44
  - version: 8.0.0
41
45
  date: 2026-01-22
42
46
  changes: Option `rewrite` zur Routing-Konfiguration hinzugefügt
43
47
  - version: 8.0.0
44
48
  date: 2026-01-18
45
- changes: Systemkonfiguration von der Inhaltskonfiguration trennen. Interne Pfade zur Eigenschaft `system` verschieben. `codeDir` hinzufügen, um Inhaltsdateien von der Codetransformation zu trennen.
49
+ changes: Systemkonfiguration von Content-Konfiguration getrennt. Interne Pfade in die Eigenschaft `system` verschoben. `codeDir` hinzugefügt, um Content-Dateien und Code-Transformation zu trennen.
46
50
  - version: 8.0.0
47
51
  date: 2026-01-18
48
- changes: Wörterbuchoptionen `location` und `schema` hinzugefügt
52
+ changes: Dictionary-Optionen `location` und `schema` hinzugefügt
49
53
  - version: 7.5.1
50
54
  date: 2026-01-10
51
55
  changes: Unterstützung für JSON5- und JSONC-Dateiformate hinzugefügt
52
56
  - version: 7.5.0
53
57
  date: 2025-12-17
54
- changes: Hinzufügen der Option `buildMode`
58
+ changes: Option `buildMode` hinzugefügt
55
59
  - version: 7.0.0
56
60
  date: 2025-10-25
57
- changes: Konfiguration für `dictionary` hinzugefügt
61
+ changes: Konfiguration `dictionary` hinzugefügt
58
62
  - version: 7.0.0
59
63
  date: 2025-10-21
60
- changes: `middleware` durch `routing`-Konfiguration ersetzt
64
+ changes: `middleware` durch Routing-Konfiguration `routing` ersetzt
61
65
  - version: 7.0.0
62
66
  date: 2025-10-12
63
67
  changes: Option `formatCommand` hinzugefügt
@@ -72,26 +76,26 @@ history - version: 8.3.0
72
76
  changes: Feld `dictionaryOutput` und Feld `i18nextResourcesDir` entfernt
73
77
  - version: 6.0.0
74
78
  date: 2025-09-16
75
- changes: `live` Importmodus hinzugefügt
79
+ changes: Import-Modus `live` hinzugefügt
76
80
  - version: 6.0.0
77
81
  date: 2025-09-04
78
- changes: Ersetze das Feld `hotReload` durch `liveSync` und füge die Felder `liveSyncPort` und `liveSyncURL` hinzu
82
+ changes: Feld `hotReload` durch `liveSync` ersetzt, und Felder `liveSyncPort` und `liveSyncURL` hinzugefügt
79
83
  - version: 5.6.1
80
84
  date: 2025-07-25
81
- changes: Ersetze `activateDynamicImport` durch die Option `importMode`
85
+ changes: `activateDynamicImport` durch die Option `importMode` ersetzt
82
86
  - version: 5.6.0
83
87
  date: 2025-07-13
84
- changes: Ändere das Standard-`contentDir` von `['src']` zu `['.']`
88
+ changes: Standardmäßiges Verbzeichnis `contentDir` von `['src']` auf `['.']` geändert
85
89
  - version: 5.5.11
86
90
  date: 2025-06-29
87
- changes: Füge `docs`-Befehle hinzue `docs`-Befehle hinzu
91
+ changes: `docs` Befehle hinzugefügt
88
92
  ---
89
93
 
90
- # Intlayer Konfigurationsdokumentation
94
+ # Intlayer Konfigurations-Dokumentation
91
95
 
92
96
  ## Überblick
93
97
 
94
- Intlayer-Konfigurationsdateien ermöglichen die Anpassung verschiedener Aspekte des Plugins, wie Internationalisierung, Middleware und Inhaltsverwaltung. Dieses Dokument bietet eine detaillierte Beschreibung jeder Eigenschaft in der Konfiguration.
98
+ Die Intlayer-Konfigurationsdateien ermöglichen es Ihnen, verschiedene Aspekte des Plugins anzupassen, wie z. B. die Internationalisierung (internationalization), die Middleware und die Inhaltsverarbeitung. Diese Dokumentation enthält eine detaillierte Beschreibung jeder Eigenschaft in der Konfiguration.
95
99
 
96
100
  ---
97
101
 
@@ -101,9 +105,9 @@ Intlayer-Konfigurationsdateien ermöglichen die Anpassung verschiedener Aspekte
101
105
 
102
106
  ---
103
107
 
104
- ## Unterstützte Konfigurationsdateiformate
108
+ ## Unterstützte Dateiformate für die Konfiguration
105
109
 
106
- Intlayer akzeptiert JSON-, JS-, MJS- und TS-Konfigurationsdateiformate:
110
+ Intlayer akzeptiert die Konfigurations-Dateiformate JSON, JS, MJS und TS:
107
111
 
108
112
  - `intlayer.config.ts`
109
113
  - `intlayer.config.js`
@@ -116,7 +120,7 @@ Intlayer akzeptiert JSON-, JS-, MJS- und TS-Konfigurationsdateiformate:
116
120
 
117
121
  ---
118
122
 
119
- ## Beispiel für eine Konfigurationsdatei
123
+ ## Beispiel einer Konfigurationsdatei
120
124
 
121
125
  ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
122
126
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -124,108 +128,108 @@ import { nextjsRewrite } from "intlayer/routing";
124
128
  import { z } from "zod";
125
129
 
126
130
  /**
127
- * Example Intlayer configuration file showing all available options.
131
+ * Beispiel für eine Intlayer-Konfigurationsdatei mit allen verfügbaren Optionen.
128
132
  */
129
133
  const config: IntlayerConfig = {
130
134
  /**
131
- * Configuration for internationalization settings.
135
+ * Konfiguration für Internationalisierungseinstellungen.
132
136
  */
133
137
  internationalization: {
134
138
  /**
135
- * List of supported locales in the application.
136
- * Default: [Locales.ENGLISH]
139
+ * Liste der in der Anwendung unterstützten Gebietsschemata (locales).
140
+ * Standard: [Locales.ENGLISH]
137
141
  */
138
142
  locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
139
143
 
140
144
  /**
141
- * List of required locales that must be defined in every dictionary.
142
- * If empty, all locales are required in `strict` mode.
143
- * Default: []
145
+ * Liste der obligatorischen Gebietsschemata, die in jedem Wörterbuch definiert sein müssen.
146
+ * Wenn leer, sind im `strict`-Modus alle Gebietsschemata obligatorisch.
147
+ * Standard: []
144
148
  */
145
149
  requiredLocales: [Locales.ENGLISH],
146
150
 
147
151
  /**
148
- * Strictness level for internationalized content.
149
- * - "strict": Errors if any declared locale is missing or undeclared.
150
- * - "inclusive": Warnings if a declared locale is missing.
151
- * - "loose": Accepts any existing locale.
152
- * Default: "inclusive"
152
+ * Die Strenge-Ebene für internationalisierte Inhalte.
153
+ * - "strict": Fehler, wenn ein deklariertes Gebietsschema fehlt oder nicht deklariert ist.
154
+ * - "inclusive": Warnung, wenn ein deklariertes Gebietsschema fehlt.
155
+ * - "loose": Akzeptiert jedes vorhandene Gebietsschema.
156
+ * Standard: "inclusive"
153
157
  */
154
158
  strictMode: "inclusive",
155
159
 
156
160
  /**
157
- * Default locale used as a fallback if the requested locale is not found.
158
- * Default: Locales.ENGLISH
161
+ * Das Standard-Gebietsschema, das als Fallback verwendet wird, wenn das angeforderte Gebietsschema nicht gefunden wird.
162
+ * Standard: Locales.ENGLISH
159
163
  */
160
164
  defaultLocale: Locales.ENGLISH,
161
165
  },
162
166
 
163
167
  /**
164
- * Settings that control dictionary operations and fallback behavior.
168
+ * Einstellungen zur Steuerung der Wörterbuchoperationen und des Fallback-Verhaltens.
165
169
  */
166
170
  dictionary: {
167
171
  /**
168
- * Controls how dictionaries are imported.
169
- * - "static": Statically imported at build time.
170
- * - "dynamic": Dynamically imported using Suspense.
171
- * - "fetch": Fetched dynamically via the live sync API.
172
- * Default: "static"
172
+ * Steuert, wie Wörterbücher importiert werden.
173
+ * - "static": Statisch zur Build-Zeit importiert.
174
+ * - "dynamic": Dynamisch importiert unter Verwendung von Suspense.
175
+ * - "fetch": Dynamisch abgerufen über die Live Sync API.
176
+ * Standard: "static"
173
177
  */
174
178
  importMode: "static",
175
179
 
176
180
  /**
177
- * Strategy for auto-filling missing translations using AI.
178
- * Can be a boolean or a path pattern to store filled content.
179
- * Default: true
181
+ * Strategie zum automatischen Ausfüllen fehlender Übersetzungen mittels KI.
182
+ * Kann ein boolescher Wert oder ein Pfadmuster zum Speichern der ausgefüllten Inhalte sein.
183
+ * Standard: true
180
184
  */
181
185
  fill: true,
182
186
 
183
187
  /**
184
- * Physical location of the dictionary files.
185
- * - "local": Stored in the local filesystem.
186
- * - "remote": Stored in the Intlayer CMS.
187
- * - "hybrid": Stored in the local filesystem and the Intlayer CMS.
188
- * - "plugin" (or any custom string): Provided by a plugin or a custom source.
189
- * Default: "local"
188
+ * Der physische Speicherort der Wörterbuchdateien.
189
+ * - "local": Im lokalen Dateisystem gespeichert.
190
+ * - "remote": Im Intlayer CMS gespeichert.
191
+ * - "hybrid": Sowohl lokal als auch im Intlayer CMS gespeichert.
192
+ * - "plugin" (oder ein beliebiger benutzerdefinierter String): Von einem Plugin oder einer benutzerdefinierten Quelle bereitgestellt.
193
+ * Standard: "local"
190
194
  */
191
195
  location: "local",
192
196
 
193
197
  /**
194
- * Whether to automatically transform content (e.g., Markdown to HTML).
195
- * Default: false
198
+ * Ob Inhalte automatisch transformiert werden sollen (z. B. Markdown zu HTML).
199
+ * Standard: false
196
200
  */
197
201
  contentAutoTransformation: false,
198
202
  },
199
203
 
200
204
  /**
201
- * Routing and middleware configuration.
205
+ * Routing- und Middleware-Konfiguration.
202
206
  */
203
207
  routing: {
204
208
  /**
205
- * Locale routing strategy.
206
- * - "prefix-no-default": Prefix all except the default locale (e.g., /dashboard, /fr/dashboard).
207
- * - "prefix-all": Prefix all locales (e.g., /en/dashboard, /fr/dashboard).
208
- * - "no-prefix": No locale in the URL.
209
- * - "search-params": Use ?locale=...
210
- * Default: "prefix-no-default"
209
+ * Strategie für das Locale-Routing.
210
+ * - "prefix-no-default": Stellt allen Locales außer der Standard-Locale ein Präfix voran (z. B. /dashboard, /fr/dashboard).
211
+ * - "prefix-all": Stellt allen Locales ein Präfix voran (z. B. /en/dashboard, /fr/dashboard).
212
+ * - "no-prefix": Keine Locale in der URL.
213
+ * - "search-params": Verwendet ?locale=...
214
+ * Standard: "prefix-no-default"
211
215
  */
212
216
  mode: "prefix-no-default",
213
217
 
214
218
  /**
215
- * Where to store the user's selected locale.
216
- * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
217
- * Default: ['cookie', 'header']
219
+ * Wo die vom Benutzer gewählte Locale gespeichert werden soll.
220
+ * Optionen: 'cookie', 'localStorage', 'sessionStorage', 'header' oder ein Array davon.
221
+ * Standard: ['cookie', 'header']
218
222
  */
219
223
  storage: ["cookie", "header"],
220
224
 
221
225
  /**
222
- * Base path for the application URLs.
223
- * Default: ""
226
+ * Der Basispfad für die URLs der Anwendung.
227
+ * Standard: ""
224
228
  */
225
229
  basePath: "",
226
230
 
227
231
  /**
228
- * Custom URL rewriting rules for locale-specific paths.
232
+ * Benutzerdefinierte URL-Rewrite-Regeln für bestimmte Pfade pro Gebietsschema.
229
233
  */
230
234
  rewrite: nextjsRewrite({
231
235
  "/[locale]/about": {
@@ -236,130 +240,130 @@ const config: IntlayerConfig = {
236
240
  },
237
241
 
238
242
  /**
239
- * Settings for finding and processing content files.
243
+ * Einstellungen in Bezug auf die Suche und Verarbeitung von Inhaltsdateien.
240
244
  */
241
245
  content: {
242
246
  /**
243
- * File extensions to scan for dictionaries.
244
- * Default: ['.content.ts', '.content.js', '.content.json', etc.]
247
+ * Dateierweiterungen zum Scannen von Wörterbüchern.
248
+ * Standard: ['.content.ts', '.content.js', '.content.json', usw.]
245
249
  */
246
250
  fileExtensions: [".content.ts", ".content.js", ".content.json"],
247
251
 
248
252
  /**
249
- * Directories where .content files are located.
250
- * Default: ["."]
253
+ * Verzeichnisse, in denen sich die .content-Dateien befinden.
254
+ * Standard: ["."]
251
255
  */
252
256
  contentDir: ["src"],
253
257
 
254
258
  /**
255
- * Directories where source code is located.
256
- * Used for build optimization and code transformation.
257
- * Default: ["."]
259
+ * Wo sich der Quellcode befindet.
260
+ * Wird für die Build-Optimierung und Code-Transformation verwendet.
261
+ * Standard: ["."]
258
262
  */
259
263
  codeDir: ["src"],
260
264
 
261
265
  /**
262
- * Patterns to exclude from scanning.
263
- * Default: ['node_modules', '.intlayer', etc.]
266
+ * Muster, die vom Scan ausgeschlossen sind.
267
+ * Standard: ['node_modules', '.intlayer', usw.]
264
268
  */
265
269
  excludedPath: ["node_modules"],
266
270
 
267
271
  /**
268
- * Whether to watch for changes and rebuild dictionaries in development.
269
- * Default: true in development
272
+ * Ob Änderungen überwacht und Wörterbücher während der Entwicklung neu erstellt werden sollen.
273
+ * Standard: true im Entwicklungsmodus
270
274
  */
271
275
  watch: true,
272
276
 
273
277
  /**
274
- * Command to format newly created / updated .content files.
278
+ * Befehl zum Formatieren neu erstellter / aktualisierter .content-Dateien.
275
279
  */
276
280
  formatCommand: 'npx prettier --write "{{file}}"',
277
281
  },
278
282
 
279
283
  /**
280
- * Visual Editor configuration.
284
+ * Konfiguration für den Visuellen Editor (Visual Editor).
281
285
  */
282
286
  editor: {
283
287
  /**
284
- * Whether the visual editor is enabled.
285
- * Default: false
288
+ * Ob der visuelle Editor aktiviert ist.
289
+ * Standard: false
286
290
  */
287
291
  enabled: true,
288
292
 
289
293
  /**
290
- * URL of your application for origin validation.
291
- * Default: ""
294
+ * Die URL Ihrer Anwendung für die Origin-Validierung.
295
+ * Standard: ""
292
296
  */
293
297
  applicationURL: "http://localhost:3000",
294
298
 
295
299
  /**
296
- * Port for the local editor server.
297
- * Default: 8000
300
+ * Port für den lokalen Editor-Server.
301
+ * Standard: 8000
298
302
  */
299
303
  port: 8000,
300
304
 
301
305
  /**
302
- * Public URL for the editor.
303
- * Default: "http://localhost:8000"
306
+ * Die öffentliche URL für den Editor.
307
+ * Standard: "http://localhost:8000"
304
308
  */
305
309
  editorURL: "http://localhost:8000",
306
310
 
307
311
  /**
308
- * Intlayer CMS URL.
309
- * Default: "https://app.intlayer.org"
312
+ * URL des Intlayer CMS.
313
+ * Standard: "https://app.intlayer.org"
310
314
  */
311
315
  cmsURL: "https://app.intlayer.org",
312
316
 
313
317
  /**
314
- * Backend API URL.
315
- * Default: "https://back.intlayer.org"
318
+ * Backend-API-URL.
319
+ * Standard: "https://back.intlayer.org"
316
320
  */
317
321
  backendURL: "https://back.intlayer.org",
318
322
 
319
323
  /**
320
- * Whether to enable real-time content synchronization.
321
- * Default: false
324
+ * Ob die Inhalts-Synchronisierung in Echtzeit aktiviert werden soll.
325
+ * Standard: false
322
326
  */
323
327
  liveSync: true,
324
328
  },
325
329
 
326
330
  /**
327
- * AI-powered translation and generation settings.
331
+ * AI-basierte Einstellungen für Übersetzung und Erstellung.
328
332
  */
329
333
  ai: {
330
334
  /**
331
- * AI provider to use.
332
- * Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
333
- * Default: 'openai'
335
+ * Der zu verwendende AI-Anbieter.
336
+ * Optionen: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
337
+ * Standard: 'openai'
334
338
  */
335
339
  provider: "openai",
336
340
 
337
341
  /**
338
- * Model to use from the selected provider.
342
+ * Modell des gewählten Anbieters zur Verwendung.
339
343
  */
340
344
  model: "gpt-4o",
341
345
 
342
346
  /**
343
- * Provider API key.
347
+ * API-Key des Anbieters.
344
348
  */
345
349
  apiKey: process.env.OPENAI_API_KEY,
346
350
 
347
351
  /**
348
- * Global context to guide the AI in generating translations.
352
+ * Globaler Kontext zur Anleitung der KI beim Erstellen von Übersetzungen.
349
353
  */
350
- applicationContext: "Dies ist eine App zur Reisebuchung.",
354
+ applicationContext: "Dies ist eine Reisebuchungsanwendung.",
351
355
 
352
356
  /**
353
- * Base URL for the AI API.
357
+ * Basis-URL für die AI-API.
354
358
  */
355
359
  baseURL: "http://localhost:3000",
356
360
 
357
361
  /**
358
- * Datenserialisierung
362
+ * Datenserialisierung (Data Serialization)
359
363
  *
360
364
  * Optionen:
361
- * - "json": Standard, zuverlässig; verbraucht mehr Token.
362
- * - "toon": Weniger Token, weniger konsistent als JSON.
365
+ * - "json": Standard, robust; verbraucht mehr Token.
366
+ * - "toon": Verbraucht weniger Token, ist möglicherweise nicht so konsistent wie JSON.
363
367
  *
364
368
  * Standard: "json"
365
369
  */
@@ -367,126 +371,126 @@ const config: IntlayerConfig = {
367
371
  },
368
372
 
369
373
  /**
370
- * Build and optimization settings.
374
+ * Build- und Optimierungseinstellungen.
371
375
  */
372
376
  build: {
373
377
  /**
374
- * Build execution mode.
375
- * - "auto": Automatic build during app build.
376
- * - "manual": Requires explicit build command.
377
- * Default: "auto"
378
+ * Modus für die Build-Ausführung.
379
+ * - "auto": Wird automatisch während des Builds der Anwendung erstellt.
380
+ * - "manual": Erfordert einen expliziten Build-Befehl.
381
+ * Standard: "auto"
378
382
  */
379
383
  mode: "auto",
380
384
 
381
385
  /**
382
- * Whether to optimize the final bundle by pruning unused dictionaries.
383
- * Default: true in production
386
+ * Ob das finale Bundle durch Entfernen ungenutzter Wörterbücher optimiert werden soll.
387
+ * Standard: true in Produktion
384
388
  */
385
389
  optimize: true,
386
390
 
387
391
  /**
388
- * Output format for generated dictionary files.
389
- * Default: ['cjs', 'esm']
392
+ * Ausgabeformat für die generierten Wörterbuchdateien.
393
+ * Standard: ['cjs', 'esm']
390
394
  */
391
395
  outputFormat: ["cjs", "esm"],
392
396
 
393
397
  /**
394
- * Indicates if the build should check TypeScript types.
395
- * Default: false
398
+ * Gibt an, ob der Build TypeScript-Typen prüfen soll.
399
+ * Standard: false
396
400
  */
397
401
  checkTypes: false,
398
402
  },
399
403
 
400
404
  /**
401
- * Logger configuration.
405
+ * Logger-Konfiguration.
402
406
  */
403
407
  log: {
404
408
  /**
405
- * Logging level.
406
- * - "default": Standard logging.
407
- * - "verbose": Detailed debug logging.
408
- * - "disabled": No logging.
409
- * Default: "default"
409
+ * Logging-Ebene.
410
+ * - "default": Standardmäßiges Logging.
411
+ * - "verbose": Detailliertes Debug-Logging.
412
+ * - "disabled": Deaktiviert das Logging.
413
+ * Standard: "default"
410
414
  */
411
415
  mode: "default",
412
416
 
413
417
  /**
414
- * Prefix for all log messages.
415
- * Default: "[intlayer]"
418
+ * Präfix für alle Log-Nachrichten.
419
+ * Standard: "[intlayer]"
416
420
  */
417
421
  prefix: "[intlayer]",
418
422
  },
419
423
 
420
424
  /**
421
- * System configuration (Advanced use cases)
425
+ * Systemkonfiguration (Für fortgeschrittene Nutzung)
422
426
  */
423
427
  system: {
424
428
  /**
425
- * Directory for storing localization dictionaries.
429
+ * Verzeichnis zum Speichern lokalisierter Wörterbücher.
426
430
  */
427
431
  dictionariesDir: ".intlayer/dictionary",
428
432
 
429
433
  /**
430
- * Directory for module augmentation.
434
+ * Verzeichnis für TypeScript Module Augmentation.
431
435
  */
432
436
  moduleAugmentationDir: ".intlayer/types",
433
437
 
434
438
  /**
435
- * Directory for storing unmerged dictionaries.
439
+ * Verzeichnis zum Speichern nicht zusammengeführter (unmerged) Wörterbücher.
436
440
  */
437
441
  unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
438
442
 
439
443
  /**
440
- * Directory for storing dictionary types.
444
+ * Verzeichnis zum Speichern von Wörterbuchtypen.
441
445
  */
442
446
  typesDir: ".intlayer/types",
443
447
 
444
448
  /**
445
- * Directory where main application files are stored.
449
+ * Verzeichnis, in dem die Hauptanwendungsdateien gespeichert sind.
446
450
  */
447
451
  mainDir: ".intlayer/main",
448
452
 
449
453
  /**
450
- * Directory where the configuration files are stored.
454
+ * Verzeichnis, in dem die Konfigurationsdateien gespeichert sind.
451
455
  */
452
456
  configDir: ".intlayer/config",
453
457
 
454
458
  /**
455
- * Directory where the cache files are stored.
459
+ * Verzeichnis, in dem Cache-Dateien gespeichert sind.
456
460
  */
457
461
  cacheDir: ".intlayer/cache",
458
462
  },
459
463
 
460
464
  /**
461
- * Compiler configuration (Advanced use cases)
465
+ * Compiler-Konfiguration (Für fortgeschrittene Nutzung)
462
466
  */
463
467
  compiler: {
464
468
  /**
465
- * Gibt an, ob der Compiler aktiviert werden soll.
469
+ * Gibt an, ob der Compiler aktiviert sein soll.
466
470
  *
467
- * - false : Deaktiviert den Compiler.
468
- * - true : Aktiviert den Compiler.
469
- * - "build-only" : Überspringt den Compiler während der Entwicklung, um die Startzeiten zu beschleunigen.
471
+ * - false: Deaktiviert den Compiler.
472
+ * - true: Aktiviert den Compiler.
473
+ * - "build-only": Überspringt den Compiler während der Entwicklung und beschleunigt die Startzeit.
470
474
  *
471
- * Standardwert : false
475
+ * Standard: false
472
476
  */
473
477
  enabled: true,
474
478
 
475
479
  /**
476
- * Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`.
480
+ * Definiert den Pfad für Ausgabedateien. Ersetzt `outputDir`.
477
481
  *
478
- * - `./` Pfade werden relativ zum Verzeichnis der Komponente aufgelöst.
479
- * - `/` Pfade werden relativ zum Projektstamm (`baseDir`) aufgelöst.
482
+ * - Pfade mit `./` werden relativ zum Komponentenverzeichnis aufgelöst.
483
+ * - Pfade mit `/` werden relativ zum Projektstamm (`baseDir`) aufgelöst.
480
484
  *
481
- * - Das Einbeziehen der Variable `{{locale}}` im Pfad löst die Generierung separater Wörterbücher pro Sprache aus.
485
+ * - Die Einbeziehung der Variable `{{locale}}` im Pfad löst die Erstellung separater Wörterbücher pro Sprache aus.
482
486
  *
483
487
  * Beispiel:
484
488
  * ```ts
485
489
  * {
486
- * // Erstelle mehrsprachige .content.ts-Dateien in der Nähe der Komponente
490
+ * // Erstelle mehrsprachige .content.ts-Dateien neben der Komponente
487
491
  * output: ({ fileName, extension }) => `./${fileName}${extension}`,
488
492
  *
489
- * // output: './{{fileName}}{{extension}}', // Äquivalent mit einem Template-String
493
+ * // output: './{{fileName}}{{extension}}', // Entspricht der Verwendung eines Template-Strings
490
494
  * }
491
495
  * ```
492
496
  *
@@ -495,42 +499,42 @@ const config: IntlayerConfig = {
495
499
  * // Erstelle zentralisierte JSON-Dateien pro Sprache im Projektstamm
496
500
  * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
497
501
  *
498
- * // output: '/locales/{{locale}}/{{key}}.content.json', // Äquivalent mit einem Template-String
502
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Entspricht der Verwendung eines Template-Strings
499
503
  * }
500
504
  * ```
501
505
  *
502
506
  * Liste der Variablen:
503
- * - `fileName`: Der Name der Datei.
504
- * - `key`: Der Schlüssel des Inhalts.
505
- * - `locale`: Die Sprache des Inhalts.
506
- * - `extension`: Die Dateierweiterung.
507
- * - `componentFileName`: Der Dateiname der Komponente.
508
- * - `componentExtension`: Die Dateierweiterung der Komponente.
509
- * - `format`: Das Wörterbuchformat.
510
- * - `componentFormat`: Das Wörterbuchformat der Komponente.
511
- * - `componentDirPath`: Der Verzeichnispfad der Komponente.
507
+ * - `fileName`: Dateiname.
508
+ * - `key`: Content-Key.
509
+ * - `locale`: Content-Locale.
510
+ * - `extension`: Dateierweiterung.
511
+ * - `componentFileName`: Dateiname der Komponente.
512
+ * - `componentExtension`: Dateierweiterung der Komponente.
513
+ * - `format`: Wörterbuchformat.
514
+ * - `componentFormat`: Wörterbuchformat der Komponente.
515
+ * - `componentDirPath`: Pfad zum Komponentenverzeichnis.
512
516
  */
513
517
  output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
514
518
 
515
519
  /**
516
- * Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
517
- * Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
520
+ * Gibt an, ob Komponenten nach der Transformation gespeichert werden sollen.
521
+ * Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die Anwendung zu transformieren, und kann dann entfernt werden.
518
522
  */
519
523
  saveComponents: false,
520
524
 
521
525
  /**
522
- * Nur Inhalt in die generierte Datei einfügen. Nützlich für i18next- oder ICU-MessageFormat-JSON-Ausgaben pro Sprache.
526
+ * Fügt nur den Inhalt in die generierte Datei ein. Nützlich für die JSON-Ausgabe pro Sprache für i18next oder ICU MessageFormat.
523
527
  */
524
528
  noMetadata: false,
525
529
 
526
530
  /**
527
- * Wörterbuch-Schlüssel-Präfix
531
+ * Dictionary-Key-Präfix
528
532
  */
529
- dictionaryKeyPrefix: "", // Optionales Präfix für extrahierte Wörterbuchschlüssel hinzufügen
533
+ dictionaryKeyPrefix: "", // Fügen Sie den extrahierten Dictionary-Keys ein optionales Präfix hinzu
530
534
  },
531
535
 
532
536
  /**
533
- * Custom schemas to validate the dictionaries content.
537
+ * Benutzerdefinierte Schemas (Schemas) zur Validierung der Wörterbuchinhalte.
534
538
  */
535
539
  schemas: {
536
540
  "my-schema": z.object({
@@ -539,7 +543,7 @@ const config: IntlayerConfig = {
539
543
  },
540
544
 
541
545
  /**
542
- * Plugins configuration.
546
+ * Plugin-Konfiguration (Plugins).
543
547
  */
544
548
  plugins: [],
545
549
  };
@@ -547,248 +551,114 @@ const config: IntlayerConfig = {
547
551
  export default config;
548
552
  ````
549
553
 
550
- ## Konfigurationsreferenz
554
+ ---
555
+
556
+ ## Referenz zur Konfiguration (Configuration Reference)
551
557
 
552
- Die folgenden Abschnitte beschreiben die verschiedenen Konfigurationseinstellungen, die für Intlayer verfügbar sind.
558
+ In den folgenden Abschnitten werden die verschiedenen in Intlayer verfügbaren Konfigurationsoptionen beschrieben.
553
559
 
554
560
  ---
555
561
 
556
- ### Internationalisierungs-Konfiguration
557
-
558
- Definiert Einstellungen im Zusammenhang mit der Internationalisierung, einschließlich verfügbarer Sprachen und der Standardsprache für die Anwendung.
559
-
560
- #### Eigenschaften
561
-
562
- - **locales**:
563
- - _Typ_: `string[]`
564
- - _Standard_: `['en']`
565
- - _Beschreibung_: Die Liste der unterstützten Sprachen in der Anwendung.
566
- - _Beispiel_: `['en', 'fr', 'es']`
567
-
568
- - **requiredLocales**:
569
- - _Typ_: `string[]`
570
- - _Standard_: `[]`
571
- - _Beschreibung_: Die Liste der erforderlichen Sprachen in der Anwendung.
572
- - _Beispiel_: `[]`
573
- - _Hinweis_: Wenn leer, sind alle Sprachen im `strict`-Modus erforderlich.
574
- - _Hinweis_: Stellen Sie sicher, dass die erforderlichen Sprachen auch im Feld `locales` definiert sind.
575
- - **strictMode**:
576
- - _Typ_: `string`
577
- - _Standard_: `inclusive`
578
- - _Beschreibung_: Gewährleistet eine strenge Umsetzung internationalisierter Inhalte mit TypeScript.
579
- - _Hinweis_: Wenn auf "strict" gesetzt, verlangt die Übersetzungsfunktion `t`, dass jede deklarierte Sprache definiert ist. Wenn eine Sprache fehlt oder nicht in Ihrer Konfiguration deklariert ist, wird ein Fehler ausgelöst.
580
- - _Hinweis_: Wenn auf "inclusive" gesetzt, verlangt die Übersetzungsfunktion `t`, dass jede deklarierte Sprache definiert ist. Wenn eine Sprache fehlt, wird eine Warnung ausgegeben. Es wird jedoch akzeptiert, wenn eine Sprache nicht in Ihrer Konfiguration deklariert, aber vorhanden ist.
581
- - _Hinweis_: Wenn auf "loose" gesetzt, akzeptiert die Übersetzungsfunktion `t` jede vorhandene Locale.
582
-
583
- - **defaultLocale**:
584
- - _Typ_: `string`
585
- - _Standard_: `'en'`
586
- - _Beschreibung_: Die Standard-Locale, die als Fallback verwendet wird, wenn die angeforderte Locale nicht gefunden wird.
587
- - _Beispiel_: `'en'`
588
- - _Hinweis_: Dies wird verwendet, um die Locale zu bestimmen, wenn keine in der URL, im Cookie oder im Header angegeben ist.
562
+ ### Konfiguration für Internationalisierung (Internationalization Configuration)
563
+
564
+ Definiert Einstellungen in Bezug auf die Internationalisierung, einschließlich der verfügbaren Locales und der Standard-Locale für die Anwendung.
565
+
566
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
567
+ | ----------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
568
+ | `locales` | `string[]` | Liste der in der Anwendung unterstützten Locales. Standard: `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
569
+ | `requiredLocales` | `string[]` | Liste der obligatorischen Locales in der Anwendung. Standard: `[]` | `[]` | Wenn leer, sind im `strict`-Modus alle Locales obligatorisch. Stellen Sie sicher, dass obligatorische Locales auch im Feld `locales` definiert sind. |
570
+ | `strictMode` | `string` | Gewährleistet eine robuste Implementierung internationalisierter Inhalte unter Verwendung von TypeScript. Standard: `inclusive` | | Wenn `"strict"`: Die `t`-Funktion erfordert, dass jede deklarierte Locale definiert ist — gibt einen Fehler aus, wenn eine fehlt oder nicht deklariert ist. Wenn `"inclusive"`: Warnt bei fehlenden Locales, akzeptiert aber vorhandene nicht deklarierte. Wenn `"loose"`: Akzeptiert jede vorhandene Locale. |
571
+ | `defaultLocale` | `string` | Standard-Locale, die als Fallback verwendet wird, wenn die angeforderte Locale nicht gefunden wird. Standard: `Locales.ENGLISH` | `'en'` | Wird verwendet, um die Locale zu bestimmen, wenn keine in der URL, im Cookie oder im Header angegeben ist. |
589
572
 
590
573
  ---
591
574
 
592
- ### Editor-Konfiguration
593
-
594
- Definiert Einstellungen im Zusammenhang mit dem integrierten Editor, einschließlich Server-Port und Aktivstatus.
595
-
596
- #### Eigenschaften
597
-
598
- - **applicationURL**:
599
- - _Typ_: `string`
600
- - _Standard_: `http://localhost:3000`
601
- - _Beschreibung_: Die URL der Anwendung. Wird verwendet, um den Ursprung des Editors aus Sicherheitsgründen einzuschränken.
602
- - _Beispiel_:
603
- - `'http://localhost:3000'`
604
- - `'https://example.com'`
605
- - `process.env.INTLAYER_EDITOR_URL`
606
- - _Hinweis_: Die URL der Anwendung. Wird verwendet, um die Herkunft des Editors aus Sicherheitsgründen einzuschränken. Wenn auf `'*'` gesetzt, ist der Editor von jeder Herkunft aus zugänglich.
607
-
608
- - **port**:
609
- - _Typ_: `number`
610
- - _Standard_: `8000`
611
- - _Beschreibung_: Der Port, der vom visuellen Editor-Server verwendet wird.
612
-
613
- - **editorURL**:
614
- - _Typ_: `string`
615
- - _Standard_: `'http://localhost:8000'`
616
- - _Beschreibung_: Die URL des Editor-Servers. Wird verwendet, um die Herkunft des Editors aus Sicherheitsgründen einzuschränken.
617
- - `'http://localhost:3000'`
618
- - `'https://example.com'`
619
- - `process.env.INTLAYER_EDITOR_URL`
620
- - _Hinweis_: Die URL des Editor-Servers, die von der Anwendung aus erreichbar sein soll. Wird verwendet, um die Ursprünge einzuschränken, die mit der Anwendung aus Sicherheitsgründen interagieren können. Wenn auf `'*'` gesetzt, ist der Editor von jedem Ursprung aus zugänglich. Sollte gesetzt werden, wenn der Port geändert wird oder wenn der Editor auf einer anderen Domain gehostet wird.
621
-
622
- - **cmsURL**:
623
- - _Typ_: `string`
624
- - _Standard_: `'https://intlayer.org'`
625
- - _Beschreibung_: Die URL des Intlayer CMS.
626
- - _Beispiel_: `'https://intlayer.org'`
627
- - _Hinweis_: Die URL des Intlayer CMS.
628
-
629
- - **backendURL**:
630
- - _Typ_: `string`
631
- - _Standard_: `https://back.intlayer.org`
632
- - _Beschreibung_: Die URL des Backend-Servers.
633
- - _Beispiel_: `http://localhost:4000`
634
-
635
- - **enabled**:
636
- - _Typ_: `boolean`
637
- - _Standard_: `true`
638
- - _Beschreibung_: Gibt an, ob die Anwendung mit dem visuellen Editor interagiert.
639
- - _Beispiel_: `process.env.NODE_ENV !== 'production'`
640
- - _Hinweis_: Wenn true, kann der Editor mit der Anwendung interagieren. Wenn false, kann der Editor nicht mit der Anwendung interagieren. In jedem Fall kann der Editor nur durch den visuellen Editor aktiviert werden. Das Deaktivieren des Editors für bestimmte Umgebungen ist eine Möglichkeit, die Sicherheit zu erhöhen.
641
-
642
- - **clientId**:
643
- - _Typ_: `string` | `undefined`
644
- - _Standard_: `undefined`
645
- - _Beschreibung_: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über die oAuth2-Authentifizierung zu authentifizieren. Ein Zugriffstoken wird verwendet, um den Benutzer zu authentifizieren, der mit dem Projekt verbunden ist. Um ein Zugriffstoken zu erhalten, gehen Sie zu https://app.intlayer.org/project und erstellen Sie ein Konto.
646
- - _Beispiel_: `true`
647
- - _Hinweis_: Wichtig: Die clientId und clientSecret sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort, wie z.B. Umgebungsvariablen, aufbewahrt werden.
648
-
649
- - **clientSecret**:
650
- - _Typ_: `string` | `undefined`
651
- - _Standard_: `undefined`
652
- - _Beschreibung_: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über die oAuth2-Authentifizierung zu authentifizieren. Ein Zugriffstoken wird verwendet, um den Benutzer zu authentifizieren, der mit dem Projekt verbunden ist. Um ein Zugriffstoken zu erhalten, gehen Sie zu https://app.intlayer.org/project und erstellen Sie ein Konto.
653
- - _Beispiel_: `true`
654
- - _Hinweis_: Wichtig: Die clientId und clientSecret sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort aufbewahrt werden, z. B. in Umgebungsvariablen.
655
-
656
- - **dictionaryPriorityStrategy**:
657
- - _Typ_: `string`
658
- - _Standard_: `'local_first'`
659
- - _Beschreibung_: Die Strategie zur Priorisierung von Wörterbüchern, wenn sowohl lokale als auch entfernte Wörterbücher vorhanden sind. Wenn auf `'distant_first'` gesetzt, priorisiert die Anwendung entfernte Wörterbücher gegenüber lokalen Wörterbüchern. Wenn auf `'local_first'` gesetzt, priorisiert die Anwendung lokale Wörterbücher gegenüber entfernten Wörterbüchern.
660
- - _Beispiel_: `'distant_first'`
661
-
662
- - **liveSync**:
663
- - _Typ_: `boolean`
664
- - _Standard_: `false`
665
- - _Beschreibung_: Gibt an, ob der Anwendungsserver den Inhalt der Anwendung automatisch neu laden soll, wenn eine Änderung im CMS / Visual Editor / Backend erkannt wird.
666
- - _Beispiel_: `true`
667
- - _Hinweis_: Zum Beispiel, wenn ein neues Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung den anzuzeigenden Inhalt auf der Seite.
668
- - _Hinweis_: Live-Sync erfordert die Externalisierung des Inhalts der Anwendung auf einen anderen Server. Das bedeutet, dass dies die Leistung der Anwendung leicht beeinträchtigen kann. Um dies zu begrenzen, empfehlen wir, die Anwendung und den Live-Sync-Server auf derselben Maschine zu hosten. Außerdem kann die Kombination von Live-Sync und `optimize` eine beträchtliche Anzahl von Anfragen an den Live-Sync-Server stellen. Abhängig von Ihrer Infrastruktur empfehlen wir, beide Optionen und deren Kombination zu testen.
669
-
670
- - **liveSyncPort**:
671
- - _Typ_: `number`
672
- - _Standard_: `4000`
673
- - _Beschreibung_: Der Port des Live-Sync-Servers.
674
- - _Beispiel_: `4000`
675
- - _Hinweis_: Der Port des Live-Sync-Servers.
676
-
677
- - **liveSyncURL**:
678
- - _Typ_: `string`
679
- - _Standard_: `'http://localhost:{liveSyncPort}'`
680
- - _Beschreibung_: Die URL des Live-Sync-Servers.
681
- - _Beispiel_: `'https://example.com'`
682
- - _Hinweis_: Standardmäßig zeigt es auf localhost, kann aber auf jede beliebige URL geändert werden, falls ein entfernter Live-Sync-Server verwendet wird.
683
-
684
- ### Routing-Konfiguration
575
+ ### Konfiguration für den Editor (Editor Configuration)
576
+
577
+ Definiert Einstellungen im Zusammenhang mit dem integrierten Editor, einschließlich Serverport und Aktivitätsstatus.
578
+
579
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
580
+ | ---------------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
581
+ | `applicationURL` | `string` | Die URL Ihrer Anwendung. Standard: `''` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Wird verwendet, um die Ursprünge (Origins) des Editors aus Sicherheitsgründen einzuschränken. Wenn auf `'*'` gesetzt, kann von jedem Origin aus auf den Editor zugegriffen werden. |
582
+ | `port` | `number` | Port, der vom Visual Editor-Server verwendet wird. Standard: `8000` | | |
583
+ | `editorURL` | `string` | URL des Editor-Servers. Standard: `'http://localhost:8000'` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Wird verwendet, um die Origins einzuschränken, die mit der Anwendung interagieren können. Wenn auf `'*'` gesetzt, von jedem Origin aus zugänglich. Muss gesetzt werden, wenn der Port geändert wird oder der Editor auf einer anderen Domain gehostet wird. |
584
+ | `cmsURL` | `string` | URL des Intlayer CMS. Standard: `'https://intlayer.org'` | `'https://intlayer.org'` | |
585
+ | `backendURL` | `string` | Backend-Server-URL. Standard: `https://back.intlayer.org` | `http://localhost:4000` | |
586
+ | `enabled` | `boolean` | Gibt an, ob die App mit dem visuellen Editor interagiert. Standard: `true` | `process.env.NODE_ENV !== 'production'` | Wenn `false`, kann der Editor nicht mit der App interagieren. Die Deaktivierung für bestimmte Umgebungen erhöht die Sicherheit. |
587
+ | `clientId` | `string | undefined` | Ermöglicht es Intlayer-Paketen, sich über oAuth2 am Backend zu authentifizieren. Um einen Zugriffstoken zu erhalten, gehen Sie zu [intlayer.org/project](https://app.intlayer.org/project). Standard: `undefined` | | Geheim halten; in Umgebungsvariablen speichern. |
588
+ | `clientSecret` | `string | undefined` | Ermöglicht es Intlayer-Paketen, sich über oAuth2 am Backend zu authentifizieren. Um einen Zugriffstoken zu erhalten, gehen Sie zu [intlayer.org/project](https://app.intlayer.org/project). Standard: `undefined` | | Geheim halten; in Umgebungsvariablen speichern. |
589
+ | `dictionaryPriorityStrategy` | `string` | Strategie zur Priorisierung von Wörterbüchern, wenn sowohl lokale als auch entfernte Wörterbücher vorhanden sind. Standard: `'local_first'` | `'distant_first'` | `'distant_first'`: Priorisiert entfernte (Remote) vor lokalen. `'local_first'`: Priorisiert lokale vor entfernten. |
590
+ | `liveSync` | `boolean` | Gibt an, ob der Anwendungsserver Inhalte neu laden soll, wenn eine Änderung im CMS / Visual Editor / Backend erkannt wird. Standard: `true` | `true` | Wenn ein Wörterbuch hinzugefügt/aktualisiert wird, aktualisiert die App den Seiteninhalt. Live Sync lagert den Inhalt auf einen anderen Server aus, was die Leistung geringfügig beeinträchtigen kann. Es wird empfohlen, beides auf derselben Maschine zu hosten. |
591
+ | `liveSyncPort` | `number` | Port des Live Sync Servers. Standard: `4000` | `4000` | |
592
+ | `liveSyncURL` | `string` | URL des Live Sync Servers. Standard: `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Zeigt standardmäßig auf localhost; kann auf einen entfernten Live Sync Server geändert werden. |
593
+
594
+ ### Konfiguration für Routing (Routing Configuration)
685
595
 
686
596
  Einstellungen, die das Routing-Verhalten steuern, einschließlich URL-Struktur, Locale-Speicherung und Middleware-Handhabung.
687
597
 
688
- #### Eigenschaften
689
-
690
- - **mode**:
691
- - _Typ_: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
692
- - _Standard_: `'prefix-no-default'`
693
- - _Beschreibung_: URL-Routing-Modus zur Handhabung von Locales.
694
- - _Beispiele_:
695
- - `'prefix-no-default'`: `/dashboard` (en) oder `/fr/dashboard` (fr)
696
- - `'prefix-all'`: `/en/dashboard` (en) oder `/fr/dashboard` (fr)
697
- - `'no-prefix'`: `/dashboard` (Ländererkennung durch andere Mittel)
698
- - `'search-params'`: `/dashboard?locale=fr`
699
- - _Hinweis_: Diese Einstellung hat keinen Einfluss auf die Cookie-Verwaltung oder die Locale-Speicherung.
700
-
701
- - **storage**:
702
- - _Typ_: `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array`
703
- - _Standard_: `['cookie', 'header']`
704
- - _Beschreibung_: Konfiguration zur Speicherung der Locale beim Client.
705
-
706
- - **cookie**:
707
- - _Beschreibung_: Speichert Daten in Cookies, kleinen im Browser des Clients gespeicherten Datenfragmenten, die sowohl client- als auch serverseitig zugänglich sind.
708
- - _Hinweis_: Stellen Sie für eine DSGVO-konforme Speicherung sicher, dass die Zustimmung des Nutzers vor der Verwendung eingeholt wird.
709
- - _Hinweis_: Cookie-Parameter sind anpassbar, wenn sie als CookiesAttributes definiert sind (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`).
710
-
711
- - **localStorage**:
712
- - _Beschreibung_: Speichert Daten im Browser ohne Ablaufdatum, was eine Datenpersistenz über Sitzungen hinweg ermöglicht; nur clientseitig zugänglich.
713
- - _Hinweis_: Ideal für die langfristige Datenspeicherung, beachten Sie jedoch Datenschutz- und Sicherheitsimplikationen.
714
- - _Hinweis_: Local Storage ist nur clientseitig zugänglich; der Intlayer-Proxy kann darauf nicht zugreifen.
715
- - _Hinweis_: Local Storage-Parameter sind anpassbar, wenn sie als StorageAttributes definiert sind (`{ type: 'localStorage', name: 'custom-locale' }`).
716
-
717
- - **sessionStorage**:
718
- - _Beschreibung_: Speichert Daten für die Dauer einer Seitensitzung, d.h. sie werden gelöscht, sobald der Tab oder das Fenster geschlossen wird; nur clientseitig zugänglich.
719
- - _Hinweis_: Geeignet für die temporäre Datenspeicherung pro Sitzung.
720
- - _Hinweis_: Local Storage ist nur clientseitig zugänglich; der Intlayer-Proxy kann darauf nicht zugreifen.
721
- - _Hinweis_: Local Storage-Parameter sind anpassbar, wenn sie als StorageAttributes definiert sind (`{ type: 'sessionStorage', name: 'custom-locale' }`).
722
-
723
- - **header**:
724
- - _Beschreibung_: Verwendet HTTP-Header zum Speichern oder Übertragen von Locale-Daten, geeignet für die serverseitige Sprachbestimmung.
725
- - _Hinweis_: Nützlich bei API-Aufrufen, um konsistente Spracheinstellungen über Anfragen hinweg beizubehalten.
726
- - _Hinweis_: Der Header ist nur serverseitig zugänglich; die Clientseite kann darauf nicht zugreifen.
727
- - _Hinweis_: Der Header-Name ist anpassbar, wenn er als StorageAttributes definiert ist (`{ type: 'header', name: 'custom-locale' }`).
728
-
729
- - **basePath**:
730
- - _Typ_: `string`
731
- - _Standard_: `''`
732
- - _Beschreibung_: Der Basispfad für die Anwendungs-URLs.
733
- - _Beispiel_: `'/my-app'`
734
- - _Hinweis_:
735
- - Wenn die Anwendung unter `https://example.com/my-app` gehostet wird,
736
- - ist der Basispfad `'/my-app'`.
737
- - Die URL lautet dann `https://example.com/my-app/en`.
738
- - Wenn kein Basispfad gesetzt ist, lautet die URL `https://example.com/en`.
739
-
740
- - **rewrite**:
741
- - _Typ_: `Record<string, StrictModeLocaleMap<string>>`
742
- - _Standard_: `undefined`
743
- - _Beschreibung_: Benutzerdefinierte URL-Umschreibungsregeln, die den Standard-Routing-Modus für bestimmte Pfade außer Kraft setzen. Ermöglicht die Definition sprachspezifischer Pfade, die vom Standard-Routing-Verhalten abweichen. Unterstützt dynamische Routenparameter mit der Syntax `[param]`.
744
- - _Beispiel_:
745
- ```typescript
746
- routing: {
747
- mode: "prefix-no-default", // Fallback-Strategie
748
- rewrite: nextjsRewrite({
749
- "/about": {
750
- en: "/about",
751
- fr: "/a-propos",
752
- },
753
- "/product/[slug]": {
754
- en: "/product/[slug]",
755
- fr: "/produit/[slug]",
756
- },
757
- "/blog/[category]/[id]": {
758
- en: "/blog/[category]/[id]",
759
- fr: "/journal/[category]/[id]",
760
- },
761
- }),
762
- }
763
- ```
764
- - _Hinweis_: Umschreibungsregeln haben Vorrang vor dem Standard-`mode`-Verhalten. Wenn ein Pfad mit einer Umschreibungsregel übereinstimmt, wird der lokalisierte Pfad aus der Umschreibungskonfiguration anstelle des Standard-Sprachpräfixes verwendet.
765
- - _Hinweis_: Dynamische Routenparameter werden über die Klammernotation unterstützt (z. B. `[slug]`, `[id]`). Parameterwerte werden automatisch aus der URL extrahiert und in den umgeschriebenen Pfad interpoliert.
766
- - _Hinweis_: Funktioniert mit Next.js- und Vite-Anwendungen. Die Middleware/der Proxy schreibt eingehende Anfragen automatisch um, damit sie der internen Routenstruktur entsprechen.
767
- - _Hinweis_: Beim Generieren von URLs mit `getLocalizedUrl()` werden Umschreibungsregeln automatisch angewendet, wenn sie mit dem angegebenen Pfad übereinstimmen.
768
- - _Referenz_: Weitere Informationen finden Sie unter [Benutzerdefinierte URL-Umschreibungen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/custom_url_rewrites.md).
769
-
770
- #### Cookie-Attribute
771
-
772
- Bei Verwendung der Cookie-Speicherung können Sie zusätzliche Cookie-Attribute konfigurieren:
773
-
774
- - **name**: Cookie-Name (Standard: `'INTLAYER_LOCALE'`)
775
- - **domain**: Cookie-Domain (Standard: undefined)
776
- - **path**: Cookie-Pfad (Standard: undefined)
777
- - **secure**: Erfordert HTTPS (Standard: undefined)
778
- - **httpOnly**: HTTP-only Flag (Standard: undefined)
779
- - **sameSite**: SameSite-Richtlinie (`'strict' | 'lax' | 'none'`)
780
- - **expires**: Ablaufdatum oder Tage (Standard: undefined)
781
-
782
- #### Locale-SpeicherAttribute
598
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
599
+ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
600
+ | `mode` | `'prefix-no-default' &#124; 'prefix-all' &#124; 'no-prefix' &#124; 'search-params'` | URL-Routing-Modus für die Behandlung von Locales. Standard: `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) oder `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: Locale wird auf andere Weise behandelt. `'search-params'`: Verwendet `/dashboard?locale=fr` | Beeinflusst nicht die Verwaltung von Cookies oder Locale Storage. |
601
+ | `storage` | `false &#124; 'cookie' &#124; 'localStorage' &#124; 'sessionStorage' &#124; 'header' &#124; CookiesAttributes &#124; StorageAttributes &#124; Array` | Konfiguration zum Speichern der Locale auf dem Client. Standard: `['cookie', 'header']` | `'localStorage'`, `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Siehe die Tabelle Speicheroptionen unten. |
602
+ | `basePath` | `string` | Der Basispfad für die URLs der Anwendung. Standard: `''` | `'/my-app'` | Wenn sich die Anwendung unter `https://example.com/my-app` befindet, ist basePath `'/my-app'` und URLs werden zu `https://example.com/my-app/en`. |
603
+ | `rewrite` | `Record<string, StrictModeLocaleMap<string>>` | Benutzerdefinierte URL-Rewrite-Regeln, die den Standard-Routing-Modus für bestimmte Pfade überschreiben. Unterstützt dynamische Parameter `[param]`. Standard: `undefined` | Beispiel siehe unten | Rewrite-Regeln haben Priorität über `mode`. Funktioniert mit Next.js und Vite. `getLocalizedUrl()` wendet passende Regeln automatisch an. Siehe [Benutzerdefinierte URL-Rewrites](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/custom_url_rewrites.md). |
604
+
605
+ **Beispiel für `rewrite`**:
606
+
607
+ ```typescript
608
+ routing: {
609
+ mode: "prefix-no-default", // Fallback-Strategie
610
+ rewrite: nextjsRewrite({
611
+ "/about": {
612
+ en: "/about",
613
+ fr: "/a-propos",
614
+ },
615
+ "/product/[slug]": {
616
+ en: "/product/[slug]",
617
+ fr: "/produit/[slug]",
618
+ },
619
+ "/blog/[category]/[id]": {
620
+ en: "/blog/[category]/[id]",
621
+ fr: "/journal/[category]/[id]",
622
+ },
623
+ }),
624
+ }
625
+ ```
626
+
627
+ #### Speicheroptionen (Storage Options)
628
+
629
+ | Wert | Beschreibung | Hinweis |
630
+ | ------------------ | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
631
+ | `'cookie'` | Speichert die Locale in Cookies — sowohl client- als auch serverseitig zugänglich. | Stellen Sie für die DSGVO-Konformität sicher, dass die entsprechende Zustimmung des Benutzers eingeholt wurde. Anpassbar über `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
632
+ | `'localStorage'` | Speichert die Locale im Browser ohne Ablaufdatum — nur clientseitig. | Läuft erst ab, wenn explizit gelöscht. Der Intlayer-Proxy kann darauf nicht zugreifen. Anpassbar über `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). |
633
+ | `'sessionStorage'` | Speichert die Locale für die Dauer der Seitensitzung — nur clientseitig. | Wird beim Schließen des Tabs/Fensters gelöscht. Der Intlayer-Proxy kann darauf nicht zugreifen. Anpassbar über `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
634
+ | `'header'` | Speichert oder überträgt die Locale über HTTP-Header nur serverseitig. | Nützlich für API-Aufrufe. Die Clientseite kann darauf nicht zugreifen. Anpassbar über `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). |
635
+
636
+ #### Cookie-Attribute (Cookie Attributes)
637
+
638
+ Bei der Speicherung über Cookies können Sie zusätzliche Cookie-Attribute konfigurieren:
639
+
640
+ | Feld | Typ | Beschreibung |
641
+ | ---------- | ------------------------------------- | ------------------------------------------------------- |
642
+ | `name` | `string` | Cookie-Name. Standard: `'INTLAYER_LOCALE'` |
643
+ | `domain` | `string` | Cookie-Domain. Standard: `undefined` |
644
+ | `path` | `string` | Cookie-Pfad. Standard: `undefined` |
645
+ | `secure` | `boolean` | Benötigt HTTPS. Standard: `undefined` |
646
+ | `httpOnly` | `boolean` | HTTP-only Flag. Standard: `undefined` |
647
+ | `sameSite` | `'strict' &#124; 'lax' &#124; 'none'` | SameSite-Richtlinie. |
648
+ | `expires` | `Date &#124; number` | Ablaufdatum oder Anzahl der Tage. Standard: `undefined` |
649
+
650
+ #### Locale Storage-Attribute (Locale Storage Attributes)
783
651
 
784
652
  Bei Verwendung von localStorage oder sessionStorage:
785
653
 
786
- - **type**: Speichertyp (`'localStorage' | 'sessionStorage'`)
787
- - **name**: Name des Speicherschlüssels (Standard: `'INTLAYER_LOCALE'`)
654
+ | Feld | Typ | Beschreibung |
655
+ | ------ | ---------------------------------------- | ---------------------------------------------------------- |
656
+ | `type` | `'localStorage' &#124; 'sessionStorage'` | Speichertyp. |
657
+ | `name` | `string` | Name des Speicherschlüssels. Standard: `'INTLAYER_LOCALE'` |
788
658
 
789
659
  #### Konfigurationsbeispiele
790
660
 
791
- Hier sind einige gängige Konfigurationsbeispiele für die neue Routing-Struktur (v8):
661
+ Hier sind einige gängige Konfigurationsbeispiele für die neue v7-Routing-Struktur:
792
662
 
793
663
  **Basiskonfiguration (Standard)**:
794
664
 
@@ -842,7 +712,7 @@ const config: IntlayerConfig = {
842
712
  export default config;
843
713
  ```
844
714
 
845
- **Suchparameter-Modus**:
715
+ **Suchparameter-Modus (Search Parameters Mode)**:
846
716
 
847
717
  ```typescript
848
718
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -862,7 +732,7 @@ const config: IntlayerConfig = {
862
732
  export default config;
863
733
  ```
864
734
 
865
- **Präfixfreier Modus mit benutzerdefiniertem Speicher**:
735
+ **Präfixfreier Modus (No Prefix Mode) mit benutzerdefiniertem Speicher**:
866
736
 
867
737
  ```typescript
868
738
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -885,7 +755,7 @@ const config: IntlayerConfig = {
885
755
  export default config;
886
756
  ```
887
757
 
888
- **Benutzerdefinierte URL-Umschreibung mit dynamischen Routen**:
758
+ **Benutzerdefinierter URL-Rewrite mit dynamischen Pfaden**:
889
759
 
890
760
  ```typescript
891
761
  // intlayer.config.ts
@@ -897,7 +767,7 @@ const config: IntlayerConfig = {
897
767
  defaultLocale: "en",
898
768
  },
899
769
  routing: {
900
- mode: "prefix-no-default", // Fallback-Strategie für nicht umgeschriebene Pfade
770
+ mode: "prefix-no-default", // Fallback für Pfade ohne Rewrite
901
771
  storage: "cookie",
902
772
  rewrite: nextjsRewrite({
903
773
  "/about": {
@@ -921,376 +791,132 @@ export default config;
921
791
 
922
792
  ---
923
793
 
924
- ### Inhaltskonfiguration
925
-
926
- Einstellungen im Zusammenhang mit der Inhaltsverwaltung innerhalb der Anwendung, einschließlich Verzeichnisnamen, Dateierweiterungen und abgeleiteter Konfigurationen.
927
-
928
- #### Eigenschaften
929
-
930
- - **autoFill**:
931
- - _Typ_: `boolean | string | FilePathPattern | { [key in Locales]?: string }`
932
- - _Standard_: `undefined`
933
- - _Beschreibung_: Gibt an, wie der Inhalt automatisch mit KI ausgefüllt werden soll. Kann global in der Datei `intlayer.config.ts` deklariert werden.
934
- - _Beispiel_: true
935
- - _Beispiel_: `'./{{fileName}}.content.json'`
936
- - _Beispiel_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
937
- - _Hinweis_: Die Auto-Fill-Konfiguration kann sein:
938
- - boolean: Auto-Fill für alle Sprachen aktivieren
939
- - string: Pfad zu einer einzelnen Datei oder Vorlage mit Variablen
940
- - object: Pro-Sprache Dateipfade
941
-
942
- - **watch**:
943
- - _Typ_: `boolean`
944
- - _Standard_: `process.env.NODE_ENV === 'development'`
945
- - _Beschreibung_: Gibt an, ob Intlayer Änderungen an den Inhaltsdeklarationsdateien in der App überwachen soll, um die zugehörigen Wörterbücher neu zu erstellen.
946
-
947
- - **fileExtensions**:
948
- - _Typ_: `string[]`
949
- - _Standard_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
950
- - _Beschreibung_: Dateierweiterungen, nach denen beim Erstellen von Wörterbüchern gesucht wird.
951
- - _Beispiel_: `['.data.ts', '.data.js', '.data.json']`
952
- - _Hinweis_: Die Anpassung der Dateierweiterungen kann helfen, Konflikte zu vermeiden.
953
-
954
- - **contentDir**:
955
- - _Typ_: `string[]`
956
- - _Standard_: `['.']`
957
- - _Beispiel_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
958
- - _Beschreibung_: Der Verzeichnispfad, in dem Inhaltsdefinitionsdateien (`.content.*`) gespeichert sind.
959
- - _Hinweis_: Dies wird verwendet, um Inhaltsdateien zu überwachen, um Wörterbücher neu zu erstellen.
960
-
961
- - **codeDir**:
962
- - _Typ_: `string[]`
963
- - _Standard_: `['.']`
964
- - _Beispiel_: `['src', '../../ui-library']`
965
- - _Beschreibung_: Der Verzeichnispfad, in dem der Code gespeichert ist, relativ zum Basisverzeichnis.
966
- - _Hinweis_: Dies wird verwendet, um Codedateien zu überwachen, die transformiert werden sollen (beschneiden, optimieren). Die Trennung von `contentDir` kann die Build-Leistung verbessern, indem unnötige Scans von Inhaltsdateien vermieden werden.
967
-
968
- - **excludedPath**:
969
- - _Typ_: `string[]`
970
- - _Standard_: `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']`
971
- - _Beschreibung_: Verzeichnisse, die von der Inhaltssuche ausgeschlossen sind.
972
- - _Hinweis_: Diese Einstellung wird derzeit noch nicht verwendet, ist aber für zukünftige Implementierungen geplant.
973
-
974
- - **formatCommand**:
975
- - _Typ_: `string`
976
- - _Standard_: `undefined`
977
- - _Beschreibung_: Der Befehl zum Formatieren des Inhalts. Wenn Intlayer Ihre .content-Dateien lokal schreibt, wird dieser Befehl zum Formatieren des Inhalts verwendet.
978
- - _Beispiel_: `'npx prettier --write "{{file}}" --log-level silent'` Mit Prettier
979
- - _Beispiel_: `'npx biome format "{{file}}" --write --log-level none'` Mit Biome
980
- - _Beispiel_: `'npx eslint --fix "{{file}}" --quiet'` Mit ESLint
981
- - _Hinweis_: Intlayer ersetzt {{file}} durch den Pfad der zu formatierenden Datei.
982
- - _Hinweis_: Wenn nicht gesetzt, versucht Intlayer, den Formatierungsbefehl automatisch zu erkennen. Durch Versuch, die folgenden Befehle aufzulösen: prettier, biome, eslint.
794
+ ### Konfiguration für Content (Content Configuration)
795
+
796
+ Einstellungen in Bezug auf die Verarbeitung von Inhalten innerhalb der Anwendung (Verzeichnisnamen, Dateierweiterungen und abgeleitete Konfigurationen).
797
+
798
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
799
+ | ---------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
800
+ | `watch` | `boolean` | Gibt an, ob Intlayer Änderungen an Inhaltsdeklarationsdateien überwachen soll, um Wörterbücher neu zu erstellen. Standard: `process.env.NODE_ENV === 'development'` | | |
801
+ | `fileExtensions` | `string[]` | Dateierweiterungen, die zum Scannen von Inhaltsdeklarationsdateien verwendet werden. Standard: `['.content.ts', '.content.js', '.content.mjs', '.content.cjs', '.content.json', '.content.json5', '.content.jsonc']` | `['.content.ts', '.content.js']` | |
802
+ | `contentDir` | `string[]` | Pfade zu Verzeichnissen, in denen sich die Inhaltsdeklarationsdateien befinden. Standard: `['.']` | `['src/content']` | |
803
+ | `codeDir` | `string[]` | Pfade zu Verzeichnissen, in denen sich die Quellcodedateien Ihrer Anwendung befinden. Standard: `['.']` | `['src']` | Wird zur Optimierung des Builds verwendet und stellt sicher, dass Code-Transformation und Hot Reload nur auf die erforderlichen Dateien angewendet werden. |
804
+ | `excludedPath` | `string[]` | Pfade, die vom Inhalts-Scan ausgeschlossen sind. Standard: `['node_modules', '.intlayer', '.next', 'dist', 'build']` | `['src/styles']` | |
805
+ | `formatCommand` | `string` | Befehl, der ausgeführt wird, um neu erstellte oder aktualisierte Inhaltsdateien zu formatieren. Standard: `undefined` | `'npx prettier --write "{{file}}"'` | Wird während der Inhalts-Extraktion oder über den visuellen Editor verwendet. |
806
+
807
+ ---
808
+
809
+ ### Konfiguration für Wörterbücher (Dictionary Configuration)
810
+
811
+ Einstellungen, die den Betrieb von Wörterbüchern steuern, einschließlich des Verhaltens beim automatischen Ausfüllen und der Inhaltsgenerierung.
812
+
813
+ Diese Wörterbuchkonfiguration hat zwei Hauptzwecke:
814
+
815
+ 1. **Standardwerte**: Definieren von Standardwerten beim Erstellen von Inhaltsdeklarationsdateien.
816
+ 2. **Fallback-Verhalten**: Bereitstellung von Fallback-Werten, wenn bestimmte Felder nicht definiert sind, sodass Sie das Verhalten von Wörterbuchoperationen global definieren können.
817
+
818
+ Weitere Informationen zu Inhaltsdeklarationsdateien und zur Anwendung von Konfigurationswerten finden Sie in der [Dokumentation zu Inhaltsdateien](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md).
819
+
820
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
821
+ | --------------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
822
+ | `fill` | `boolean &#124; FilePathPattern &#124; Partial<Record<Locale, boolean &#124; FilePathPattern>>` | Steuert, wie die Ausgabedateien für das automatische Ausfüllen (KI-Übersetzung) generiert werden. Standard: `true` | Siehe Beispiel unten | `true`: Standardpfad (gleiche Datei wie die Quelle). `false`: Deaktiviert. String-/Funktions-Templates generieren Dateien pro Locale. Pro-Locale-Objekt: Jedes Locale wird einem eigenen Muster zugeordnet; `false` überspringt dieses Locale. Die Einbeziehung von `{{locale}}` löst die Generierung pro Locale aus. Das `fill` auf Wörterbuchebene hat immer Vorrang vor dieser globalen Konfiguration. |
823
+ | `importMode` | `'static' &#124; 'dynamic' &#124; 'fetch'` | Steuert, wie Wörterbücher importiert werden. Standard: `'static'` | `'dynamic'` | `'static'`: Statisch importiert. `'dynamic'`: Dynamisch über Suspense importiert. `'fetch'`: Dynamisch über die Live Sync API abgerufen. Beeinflusst nicht `getIntlayer`, `getDictionary`, `useDictionary` usw. |
824
+ | `location` | `'local' &#124; 'remote' &#124; 'hybrid' &#124; string` | Wo die Wörterbücher gespeichert werden. Standard: `'local'` | `'remote'` | `'local'`: Dateisystem. `'remote'`: Intlayer CMS. `'hybrid'`: Beides. |
825
+ | `contentAutoTransformation` | `boolean` | Ob Inhaltsdateien automatisch transformiert werden sollen (z. B. von Markdown zu HTML). Standard: `false` | `true` | Nützlich für die Verarbeitung von Markdown-Feldern über @intlayer/markdown. |
826
+
827
+ **Beispiel für `fill`**:
828
+
829
+ ```ts
830
+ dictionary: {
831
+ fill: {
832
+ en: '/locales/en/{{key}}.content.json',
833
+ fr: ({ key }) => `/locales/fr/${key}.content.json`,
834
+ es: false,
835
+ }
836
+ }
837
+ ```
983
838
 
984
839
  ---
985
840
 
986
- ### Systemkonfiguration
841
+ ### AI-Konfiguration (AI Configuration)
987
842
 
988
- Einstellungen im Zusammenhang mit internen Pfaden und Ausgabeergebnissen von Intlayer. Diese Einstellungen sind typischerweise intern und sollten nicht vom Benutzer geändert werden müssen.
843
+ Definiert Einstellungen für die KI-gestützten Funktionen von Intlayer, wie z. B. die Erstellung von Übersetzungen.
989
844
 
990
- #### Eigenschaften
845
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
846
+ | -------------------- | ---------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------- |
847
+ | `provider` | `string` | Der zu verwendende AI-Anbieter. | `'openai'`, `'anthropic'`, `'googlevertex'` | |
848
+ | `model` | `string` | Das zu verwendende AI-Modell. | `'gpt-4o'`, `'claude-3-5-sonnet-20240620'` | |
849
+ | `apiKey` | `string` | API-Key für den gewählten Anbieter. | `process.env.OPENAI_API_KEY` | |
850
+ | `applicationContext` | `string` | Zusätzlicher Kontext über Ihre App zur Verbesserung der Genauigkeit der KI-Übersetzung. | `'Lernplattform für Kinder.'` | |
851
+ | `baseURL` | `string` | Optionale Basis-URL für API-Aufrufe. | | Nützlich, wenn Sie einen Proxy oder ein lokales KI-Deployment verwenden. |
852
+ | `dataSerialization` | `'json' &#124; 'toon'` | Definiert, wie Daten an die KI gesendet werden. Standard: `'json'` | `'json'` | `'json'`: Robuster und präziser. `'toon'`: Verbraucht weniger Token, kann aber weniger stabil sein. |
853
+
854
+ ---
991
855
 
992
- - **baseDir**:
993
- - _Typ_: `string`
994
- - _Standard_: `process.cwd()`
995
- - _Beschreibung_: Das Basisverzeichnis für das Projekt.
996
- - _Beispiel_: `'/path/to/project'`
997
- - _Hinweis_: Dies wird verwendet, um alle Intlayer-bezogenen Verzeichnisse aufzulösen.
856
+ ### Konfiguration für Build (Build Configuration)
998
857
 
999
- - **dictionariesDir**:
1000
- - _Typ_: `string`
1001
- - _Standard_: `'.intlayer/dictionary'`
1002
- - _Beschreibung_: Der Verzeichnispfad zur Speicherung von Lokalisierungswörterbüchern.
858
+ Einstellungen für den Build-Prozess und die Optimierung von Intlayer.
1003
859
 
1004
- - **moduleAugmentationDir**:
1005
- - _Typ_: `string`
1006
- - _Standard_: `'.intlayer/types'`
1007
- - _Beschreibung_: Verzeichnis für Module-Augmentation, um bessere IDE-Vorschläge und Typüberprüfung zu ermöglichen.
1008
- - _Beispiel_: `'intlayer-types'`
1009
- - _Hinweis_: Stellen Sie sicher, dass dies in der `tsconfig.json` enthalten ist.
860
+ | Feld | Typ | Beschreibung | Beispiel | Hinweis |
861
+ | -------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
862
+ | `mode` | `'auto' &#124; 'manual'` | Gibt an, ob Intlayer während der Pre-Build-Schritte der App automatisch ausgeführt werden soll. Standard: `'auto'` | | |
863
+ | `optimize` | `boolean` | Gibt an, ob kompilierte Wörterbücher für die Laufzeit optimiert werden sollen. Standard: `true` in Produktion | | |
864
+ | `outputFormat` | `('cjs' &#124; 'esm')[]` | Ausgabeformat für die generierten Wörterbuchdateien. Standard: `['cjs', 'esm']` | | |
865
+ | `checkTypes` | `boolean` | Gibt an, ob Intlayer die Typen in den generierten Dateien prüfen soll. Standard: `false` | | |
1010
866
 
1011
- - **unmergedDictionariesDir**:
1012
- - _Typ_: `string`
1013
- - _Standard_: `'.intlayer/unmerged_dictionary'`
1014
- - _Beschreibung_: Das Verzeichnis zur Speicherung von nicht zusammengeführten Wörterbüchern.
867
+ ---
1015
868
 
1016
- - **typesDir**:
1017
- - _Typ_: `string`
1018
- - _Standard_: `'.intlayer/types'`
1019
- - _Beschreibung_: Das Verzeichnis zur Speicherung von Wörterbuchtypen.
869
+ ### Systemkonfiguration (System Configuration)
1020
870
 
1021
- - **mainDir**:
1022
- - _Typ_: `string`
1023
- - _Standard_: `'.intlayer/main'`
1024
- - _Beschreibung_: Das Verzeichnis, in dem die Hauptanwendungsdateien gespeichert sind.
871
+ Diese Einstellungen sind für fortgeschrittene Anwendungsfälle und die interne Konfiguration von Intlayer gedacht.
1025
872
 
1026
- - **configDir**:
1027
- - _Typ_: `string`
1028
- - _Standard_: `'.intlayer/config'`
1029
- - _Beschreibung_: Das Verzeichnis, in dem die Konfigurationsdateien gespeichert sind.
873
+ | Feld | Typ | Beschreibung | Standard |
874
+ | ------------------------- | -------- | ----------------------------------------------------- | --------------------------------- |
875
+ | `dictionariesDir` | `string` | Verzeichnis der kompilierten Wörterbücher. | `'.intlayer/dictionary'` |
876
+ | `moduleAugmentationDir` | `string` | Verzeichnis für TypeScript Module Augmentation. | `'.intlayer/types'` |
877
+ | `unmergedDictionariesDir` | `string` | Verzeichnis der nicht zusammengeführten Wörterbücher. | `'.intlayer/unmerged_dictionary'` |
878
+ | `typesDir` | `string` | Verzeichnis der generierten Typen. | `'.intlayer/types'` |
879
+ | `mainDir` | `string` | Hauptverzeichnis der Intlayer-Dateien. | `'.intlayer/main'` |
880
+ | `configDir` | `string` | Verzeichnis der kompilierten Konfigurationsdateien. | `'.intlayer/config'` |
881
+ | `cacheDir` | `string` | Verzeichnis der Cache-Dateien. | `'.intlayer/cache'` |
1030
882
 
1031
- - **cacheDir**:
1032
- - _Typ_: `string`
1033
- - _Standard_: `'.intlayer/cache'`
1034
- - _Beschreibung_: Das Verzeichnis, in dem die Cache-Dateien gespeichert sind.
883
+ ---
1035
884
 
1036
- ### Wörterbuch-Konfiguration
885
+ ### Compiler-Konfiguration (Compiler Configuration)
1037
886
 
1038
- Einstellungen, die Wörterbuchoperationen steuern, einschließlich des Auto-Fill-Verhaltens und der Inhaltsgenerierung.
887
+ Einstellungen für den Intlayer Compiler (`intlayer compiler`).
1039
888
 
1040
- Diese Wörterbuchkonfiguration dient zwei Hauptzwecken:
889
+ | Feld | Typ | Beschreibung | Standard |
890
+ | --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------- | -------- |
891
+ | `enabled` | `boolean` | Gibt an, ob der Compiler aktiv ist. | `false` |
892
+ | `output` | `string &#124; Function` | Ausgabepfad für extrahierte Wörterbücher. | |
893
+ | `saveComponents` | `boolean` | Gibt an, ob die Original-Quelldateien mit den transformierten Versionen überschrieben werden sollen. | `false` |
894
+ | `noMetadata` | `boolean` | Wenn `true`, fügt der Compiler keine Metadaten in die generierten Dateien ein. | `false` |
895
+ | `dictionaryKeyPrefix` | `string` | Optionales Dictionary-Key-Präfix. | `''` |
1041
896
 
1042
- 1. **Standardwerte**: Definieren Sie Standardwerte beim Erstellen von Inhaltsdeklarationsdateien
1043
- 2. **Fallback-Verhalten**: Stellen Sie Fallback-Werte bereit, wenn bestimmte Felder nicht definiert sind, sodass Sie das Verhalten von Wörterbuchoperationen global definieren können
897
+ ---
1044
898
 
1045
- Weitere Informationen zu Inhaltsdeklarationsdateien und zur Anwendung von Konfigurationswerten finden Sie in der [Inhaltsdatei-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md).
899
+ ### Logger-Konfiguration (Logger Configuration)
1046
900
 
1047
- #### Eigenschaften
901
+ Einstellungen zur Anpassung der Log-Ausgabe von Intlayer.
1048
902
 
1049
- - **fill**
1050
- - **description**
1051
- - **locale**
1052
- - **location**
1053
- - **priority**
1054
- - **live**
1055
- - **schema**
1056
- - **title**
1057
- - **tags**
1058
- - **version**
903
+ | Feld | Typ | Beschreibung | Standard |
904
+ | -------- | ---------------------------------------------- | --------------------------- | -------------- |
905
+ | `mode` | `'default' &#124; 'verbose' &#124; 'disabled'` | Logging-Modus. | `'default'` |
906
+ | `prefix` | `string` | Präfix für Log-Nachrichten. | `'[intlayer]'` |
1059
907
 
1060
908
  ---
1061
909
 
1062
- ### Logger-Konfiguration
1063
-
1064
- Einstellungen, die den Logger steuern, einschließlich des zu verwendenden Präfixes.
1065
-
1066
- #### Eigenschaften
1067
-
1068
- - **mode**:
1069
- - _Typ_: `string`
1070
- - _Standard_: `default`
1071
- - _Beschreibung_: Gibt den Modus des Loggers an.
1072
- - _Optionen_: `default`, `verbose`, `disabled`
1073
- - _Beispiel_: `default`
1074
- - _Hinweis_: Der Modus des Loggers. Der verbose-Modus protokolliert mehr Informationen und kann für Debugging-Zwecke verwendet werden. Der deaktivierte Modus schaltet den Logger aus.
1075
-
1076
- - **prefix**:
1077
- - _Typ_: `string`
1078
- - _Standard_: `'[intlayer] '`
1079
- - _Beschreibung_: Das Präfix des Loggers.
1080
- - _Beispiel_: `'[my custom prefix] '`
1081
- - _Hinweis_: Das Präfix des Loggers.
1082
-
1083
- ### KI-Konfiguration
1084
-
1085
- Einstellungen, die die KI-Funktionen von Intlayer steuern, einschließlich des Anbieters, Modells und API-Schlüssels.
1086
-
1087
- Diese Konfiguration ist optional, wenn Sie mit einem Zugriffsschlüssel im [Intlayer Dashboard](https://app.intlayer.org/project) registriert sind. Intlayer verwaltet automatisch die effizienteste und kostengünstigste KI-Lösung für Ihre Bedürfnisse. Die Verwendung der Standardoptionen gewährleistet eine bessere langfristige Wartbarkeit, da Intlayer kontinuierlich aktualisiert wird, um die relevantesten Modelle zu verwenden.
1088
-
1089
- Wenn Sie Ihren eigenen API-Schlüssel oder ein bestimmtes Modell verwenden möchten, können Sie Ihre eigene KI-Konfiguration definieren.
1090
- Diese KI-Konfiguration wird global in Ihrer Intlayer-Umgebung verwendet. CLI-Befehle verwenden diese Einstellungen als Standardwerte für die Befehle (z. B. `fill`), ebenso wie das SDK, der Visual Editor und das CMS. Sie können diese Standardwerte für spezifische Anwendungsfälle mit Befehlsparametern überschreiben.
1091
-
1092
- Intlayer unterstützt mehrere KI-Anbieter für erhöhte Flexibilität und Auswahlmöglichkeiten. Derzeit unterstützte Anbieter sind:
1093
-
1094
- - **OpenAI** (Standard)
1095
- - **Anthropic Claude**
1096
- - **Mistral AI**
1097
- - **DeepSeek**
1098
- - **Google Gemini**
1099
- - **Meta Llama**
1100
- - **Ollama**
1101
- - **OpenRouter**
1102
- - **Alibaba Cloud**
1103
- - **Fireworks**
1104
- - **Hugging Face**
1105
- - **Groq**
1106
- - **Amazon Bedrock**
1107
- - **Google AI Studio**
1108
- - **Google Vertex**
1109
- - **Together.ai**
1110
- - **ollama**
1111
-
1112
- #### Eigenschaften
1113
-
1114
- - **provider** :
1115
- - _Typ_ : `string`
1116
- - _Standard_ : `'openai'`
1117
- - _Beschreibung_ : Der Provider, der für die KI-Funktionen von Intlayer verwendet werden soll.
1118
- - _Optionen_ : `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
1119
- - _Beispiel_ : `'anthropic'`
1120
- - _Hinweis_: Verschiedene Provider erfordern möglicherweise unterschiedliche API-Schlüssel und haben unterschiedliche Preismodelle.
1121
-
1122
- - **model** :
1123
- - _Typ_ : `string`
1124
- - _Standard_ : Keiner
1125
- - _Beschreibung_ : Das Modell, das für die KI-Funktionen von Intlayer verwendet werden soll.
1126
- - _Beispiel_ : `'gpt-4o-2024-11-20'`
1127
- - _Hinweis_ : Das spezifische zu verwendende Modell variiert je nach Provider.
1128
-
1129
- - **temperature** :
1130
- - _Typ_ : `number`
1131
- - _Standard_ : Keine
1132
- - _Beschreibung_ : Die Temperatur steuert die Zufälligkeit der KI-Antworten.
1133
- - _Beispiel_ : `0.1`
1134
- - _Hinweis_ : Eine höhere Temperatur macht die KI kreativer und weniger vorhersehbar.
1135
-
1136
- - **apiKey** :
1137
- - _Typ_ : `string`
1138
- - _Standard_ : Keine
1139
- - _Beschreibung_ : Ihr API-Schlüssel für den ausgewählten Provider.
1140
- - _Beispiel_ : `process.env.OPENAI_API_KEY`
1141
- - _Hinweis_ : Wichtig: API-Schlüssel sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort, wie z.B. Umgebungsvariablen, aufbewahrt werden.
1142
-
1143
- - **applicationContext** :
1144
- - _Typ_ : `string`
1145
- - _Standard_ : Keiner
1146
- - _Beschreibung_ : Bietet dem KI-Modell zusätzlichen Kontext über Ihre Anwendung, um genauere und kontextbezogenere Übersetzungen zu generieren. Dies kann Informationen über das Anwendungsgebiet Ihrer App, die Zielgruppe, den Tonfall oder spezifische Terminologie enthalten.
1147
- - _Hinweis_: Sie können dies verwenden, um dem KI-Modell weitere Regeln hinzuzufügen (z. B. "Sie dürfen URLs nicht transformieren").
1148
- - _Beispiel_ : `'Mein Anwendungskontext'`
1149
-
1150
- - **baseURL** :
1151
- - _Typ_ : `string`
1152
- - _Standard_ : Keine
1153
- - _Beschreibung_ : Die Basis-URL für die KI-API.
1154
- - _Beispiel_ : `'https://api.openai.com/v1'`
1155
- - _Beispiel_ : `'http://localhost:5000'`
1156
- - _Hinweis_ : Kann verwendet werden, um auf einen lokalen oder benutzerdefinierten KI-API-Endpunkt zu verweisen.
1157
-
1158
- - **dataSerialization**:
1159
- - _Typ_: `'json' | 'toon'`
1160
- - _Standard_: `'json'`
1161
- - _Beschreibung_: Das Datenserialisierungsformat, das für die KI-Funktionen von Intlayer verwendet werden soll.
1162
- - _Beispiel_: `'toon'`
1163
- - _Hinweis_: `json`: Standard, zuverlässig; verbraucht mehr Tokens. `toon`: Weniger Tokens, weniger konsistent als JSON.
1164
- > Wenn Sie zusätzliche Parameter angeben, wird Intlayer diese als Kontext an das KI-Modell übergeben. Dies kann verwendet werden, um den Reasoning-Aufwand, die Text-Ausführlichkeit usw. anzupassen.
1165
-
1166
- ### Build-Konfiguration
1167
-
1168
- Einstellungen, die steuern, wie Intlayer die Internationalisierung Ihrer Anwendung optimiert und baut.
1169
-
1170
- Die Build-Optionen gelten für die Plugins `@intlayer/babel` und `@intlayer/swc`.
1171
-
1172
- > Im Entwicklungsmodus verwendet Intlayer statische Importe für die Wörterbücher, um die Entwicklungserfahrung zu vereinfachen.
1173
-
1174
- > Wenn optimiert, wird Intlayer die Aufrufe an die Wörterbücher ersetzen, um das Splitting zu optimieren, so dass das finale Paket nur die tatsächlich verwendeten Wörterbücher importiert.
1175
-
1176
- #### Eigenschaften
1177
-
1178
- - **mode** :
1179
- - _Typ_ : `'auto' | 'manual'`
1180
- - _Standard_ : `'auto'`
1181
- - _Beschreibung_ : Steuert den Build-Modus.
1182
- - _Beispiel_ : `'manual'`
1183
- - _Hinweis_ : Wenn 'auto', wird der Build automatisch während des App-Builds ausgelöst.
1184
- - _Hinweis_ : Wenn 'manual', wird der Build erst ausgelöst, wenn der Build-Befehl ausgeführt wird.
1185
- - _Hinweis_ : Kann verwendet werden, um den Bau von Wörterbüchern zu deaktivieren, z.B. wenn die Ausführung in einer Node.js-Umgebung vermieden werden soll.
1186
-
1187
- - **optimize** :
1188
- - _Typ_ : `boolean`
1189
- - _Standard_ : `undefined`
1190
- - _Beschreibung_ : Steuert, ob der Build optimiert werden soll.
1191
- - _Beispiel_ : `process.env.NODE_ENV === 'production'`
1192
- - _Hinweis_ : Standardmäßig ist die Build-Optimierung nicht festgelegt. Wenn sie nicht definiert ist, wird Intlayer die Build-Optimierung während des Baus Ihrer Anwendung (vite / nextjs / etc) aktivieren. Das Setzen auf `true` erzwingt die Build-Optimierung, auch im Entwicklungsmodus. Das Setzen auf `false` deaktiviert die Build-Optimierung.
1193
- - _Hinweis_ : Wenn aktiviert, wird Intlayer alle Aufrufe an die Wörterbücher ersetzen, um das Splitting zu optimieren. Das finale Paket wird daher nur die verwendeten Wörterbücher importieren. Alle Importe bleiben statische Importe, um asynchrone Verarbeitung beim Laden der Wörterbücher zu vermeiden.
1194
- - _Hinweis_ : Intlayer wird alle Aufrufe von `useIntlayer` durch den über die Option `importMode` definierten Modus ersetzen und `getIntlayer` durch `getDictionary`.
1195
- - _Hinweis_ : Diese Option ist abhängig von den Plugins `@intlayer/babel` und `@intlayer/swc`.
1196
- - _Hinweis_ : Stellen Sie sicher, dass alle Schlüssel in `useIntlayer`-Aufrufen statisch deklariert sind. Zum Beispiel `useIntlayer('navbar')`.
1197
-
1198
- - **checkTypes** :
1199
- - _Typ_ : `boolean`
1200
- - _Standard_ : `false`
1201
- - _Beschreibung_ : Gibt an, ob der Build die TypeScript-Typen überprüfen und Fehler protokollieren soll.
1202
- - _Hinweis_ : Dies kann den Build verlangsamen.
1203
-
1204
- - **outputFormat** :
1205
- - _Typ_ : `('esm' | 'cjs')[]`
1206
- - _Standard_ : `['cjs', 'esm']`
1207
- - _Beschreibung_ : Steuert das Ausgabeformat der Wörterbücher.
1208
- - _Beispiel_ : `'cjs'`
1209
- - _Hinweis_ : Das Ausgabeformat der Wörterbücher.
1210
-
1211
- - **traversePattern** :
1212
- - _Typ_ : `string[]`
1213
- - _Standard_ : `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
1214
- - _Beschreibung_ : Muster, die definieren, welche Dateien während der Optimierung durchlaufen werden sollen.
1215
- - _Beispiel_ : `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
1216
- - _Hinweis_ : Verwenden Sie dies, um die Optimierung auf relevante Codedateien zu beschränken und die Build-Performance zu verbessern.
1217
- - _Hinweis_ : Diese Option wird ignoriert, wenn `optimize` deaktiviert ist.
1218
- - _Hinweis_ : Verwenden Sie ein Glob-Muster.
910
+ ### Benutzerdefinierte Schemas (Custom Schemas)
911
+
912
+ | Feld | Typ | Beschreibung |
913
+ | --------- | --------------------------- | -------------------------------------------------------------------------------------------- |
914
+ | `schemas` | `Record<string, ZodSchema>` | Erlaubt es Ihnen, Zod-Schemas zur Validierung der Struktur Ihrer Wörterbücher zu definieren. |
1219
915
 
1220
916
  ---
1221
917
 
1222
- ### Compiler-Konfiguration
1223
-
1224
- Einstellungen zur Steuerung des Intlayer-Compilers, der Wörterbücher direkt aus Ihren Komponenten extrahiert.
1225
-
1226
- #### Eigenschaften
1227
-
1228
- - **enabled**:
1229
- - _Typ_: `boolean | 'build-only'`
1230
- - _Standard_: `true`
1231
- - _Beschreibung_: Gibt an, ob der Compiler aktiviert sein soll, um die Wörterbücher zu extrahieren.
1232
- - _Beispiel_: `'build-only'`
1233
- - _Hinweis_: Wenn Sie dies auf `'build-only'` setzen, wird der Compiler im Entwicklungsmodus übersprungen, um die Startzeiten zu beschleunigen. Er wird nur bei Build-Befehlen ausgeführt.
1234
-
1235
- - **dictionaryKeyPrefix**:
1236
- - _Typ_: `string`
1237
- - _Standard_: `''`
1238
- - _Beschreibung_: Präfix für die extrahierten Wörterbuchschlüssel.
1239
- - _Beispiel_: `'my-key-'`
1240
- - _Hinweis_: Wenn Wörterbücher extrahiert werden, wird der Schlüssel basierend auf dem Dateinamen generiert. Dieses Präfix wird dem generierten Schlüssel hinzugefügt, um Konflikte zu vermeiden.
1241
-
1242
- - **saveComponents**:
1243
- - _Typ_: `boolean`
1244
- - _Standard_: `false`
1245
- - _Beschreibung_: Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
1246
- - _Hinweis_: Wenn auf true gesetzt, ersetzt der Compiler die Originaldateien durch die transformierten Dateien. Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
1247
-
1248
- - **transformPattern**:
1249
- - _Typ_: `string | string[]`
1250
- - _Standard_: `['**/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**/node_modules/**']`
1251
- - _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung durchlaufen werden sollen.
1252
- - _Beispiel_: `['src/**/*.{ts,tsx}', '!**/node_modules/**']`
1253
- - _Hinweis_: Verwenden Sie dies, um die Optimierung auf relevante Code-Dateien zu beschränken und die Build-Leistung zu verbessern.
1254
-
1255
- - **excludePattern**:
1256
- - _Typ_: `string | string[]`
1257
- - _Standard_: `['**/node_modules/**']`
1258
- - _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung ausgeschlossen werden sollen.
1259
- - _Beispiel_: `['**/node_modules/**', '!**/node_modules/react/**']`
1260
-
1261
- - **output**:
1262
- - _Typ_: `FilePathPattern`
1263
- - _Standard_: `undefined`
1264
- - _Beschreibung_: Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`. Verarbeitet dynamische Variablen über Template-Strings oder eine Funktion. Unterstützte Variablen: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}` und `{{componentDirPath}}`.
1265
- - _Hinweis_: `./` Pfade werden relativ zum Verzeichnis der Komponente aufgelöst. `/` Pfade werden relativ zum Projektstamm (`baseDir`) aufgelöst.
1266
- - _Hinweis_: Das Einfügen der Variable `{{locale}}` in den Pfad löst die Generierung separater Wörterbücher pro Locale aus.
1267
- - _Beispiel_:
1268
- - **Mehrsprachige Dateien in der Nähe der Komponente** :
1269
- - String: `'./{{fileName}}{{extension}}'`
1270
- - Funktion: `({ fileName, extension }) => \`./${fileName}${extension}\``
1271
-
1272
- - **Zentralisierte JSON-Dateien pro Locale** :
1273
- - String: `'/locales/{{locale}}/{{key}}.content.json'`
1274
- - Funktion: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
1275
-
1276
- - **noMetadata**:
1277
- - _Typ_: `boolean`
1278
- - _Standard_: `false`
1279
- - _Beschreibung_: Gibt an, ob die Metadaten in der Datei gespeichert werden sollen. Wenn wahr, speichert der Compiler nicht die Metadaten der Wörterbücher (Schlüssel, Inhaltscontainer). Nützlich für i18next- oder ICU-MessageFormat-JSON-Ausgaben pro Sprache.
1280
- - _Hinweis_: Nützlich bei Verwendung mit dem Plugin `loadJSON`.
1281
- - _Beispiel_:
1282
- Wenn `true` :
1283
- ```json
1284
- {
1285
- "key": "value"
1286
- }
1287
- ```
1288
- Wenn `false`:
1289
- ```json
1290
- {
1291
- "key": "value",
1292
- "content": {
1293
- "key": "value"
1294
- }
1295
- }
1296
- ```
918
+ ### Plugins
919
+
920
+ | Feld | Typ | Beschreibung |
921
+ | --------- | ------------------ | -------------------------------------------- |
922
+ | `plugins` | `IntlayerPlugin[]` | Liste der zu aktivierenden Intlayer-Plugins. |