@intlayer/docs 8.4.4 → 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.
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/cjs/blog.cjs +21 -1
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +81 -1
- package/dist/cjs/common.cjs.map +1 -0
- package/dist/cjs/doc.cjs +21 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +21 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +572 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +3032 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +352 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +72 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/index.cjs +34 -1
- package/dist/cjs/legal.cjs +21 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs +14 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +67 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs +14 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs +14 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +570 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +3030 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +350 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +70 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/index.mjs +6 -1
- package/dist/esm/legal.mjs +14 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts +2 -2
- package/dist/types/common.d.ts +37 -2
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/doc.d.ts +2 -2
- package/dist/types/frequentQuestions.d.ts +2 -2
- package/dist/types/generated/blog.entry.d.ts +35 -2
- package/dist/types/generated/blog.entry.d.ts.map +1 -0
- package/dist/types/generated/docs.entry.d.ts +158 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts +24 -2
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -0
- package/dist/types/generated/legal.entry.d.ts +10 -2
- package/dist/types/generated/legal.entry.d.ts.map +1 -0
- package/dist/types/legal.d.ts +2 -2
- package/docs/ar/configuration.md +520 -722
- package/docs/ar/intlayer_with_storybook.md +521 -0
- package/docs/bn/configuration.md +922 -0
- package/docs/bn/intlayer_with_hono.md +428 -0
- package/docs/de/configuration.md +369 -743
- package/docs/de/intlayer_with_storybook.md +521 -0
- package/docs/en/configuration.md +181 -507
- package/docs/en/intlayer_with_storybook.md +521 -0
- package/docs/en-GB/configuration.md +456 -657
- package/docs/en-GB/intlayer_with_storybook.md +521 -0
- package/docs/es/configuration.md +379 -754
- package/docs/es/intlayer_with_storybook.md +521 -0
- package/docs/fr/configuration.md +376 -757
- package/docs/fr/intlayer_with_storybook.md +521 -0
- package/docs/hi/configuration.md +532 -728
- package/docs/hi/intlayer_with_storybook.md +521 -0
- package/docs/id/configuration.md +371 -684
- package/docs/id/intlayer_with_storybook.md +521 -0
- package/docs/it/configuration.md +397 -775
- package/docs/it/intlayer_with_storybook.md +521 -0
- package/docs/ja/configuration.md +525 -724
- package/docs/ja/intlayer_with_storybook.md +521 -0
- package/docs/ko/configuration.md +525 -724
- package/docs/ko/intlayer_with_storybook.md +521 -0
- package/docs/pl/configuration.md +430 -734
- package/docs/pl/intlayer_with_storybook.md +521 -0
- package/docs/pt/configuration.md +375 -746
- package/docs/pt/intlayer_with_storybook.md +521 -0
- package/docs/ru/configuration.md +532 -701
- package/docs/ru/intlayer_with_storybook.md +521 -0
- package/docs/tr/configuration.md +527 -719
- package/docs/tr/intlayer_with_storybook.md +521 -0
- package/docs/uk/configuration.md +425 -744
- package/docs/uk/intlayer_with_storybook.md +521 -0
- package/docs/ur/configuration.md +922 -0
- package/docs/ur/intlayer_with_hono.md +428 -0
- package/docs/vi/configuration.md +412 -753
- package/docs/vi/intlayer_with_storybook.md +521 -0
- package/docs/zh/configuration.md +521 -714
- package/docs/zh/intlayer_with_storybook.md +521 -0
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +20 -0
- package/dist/cjs/common-a-l0ULP6.cjs +0 -2
- package/dist/cjs/common-a-l0ULP6.cjs.map +0 -1
- package/dist/types/blog.entry-D5IgxPXY.d.ts +0 -35
- package/dist/types/blog.entry-D5IgxPXY.d.ts.map +0 -1
- package/dist/types/common-B45TZvLQ.d.ts +0 -37
- package/dist/types/common-B45TZvLQ.d.ts.map +0 -1
- package/dist/types/docs.entry-CergjAYt.d.ts +0 -157
- package/dist/types/docs.entry-CergjAYt.d.ts.map +0 -1
- package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts +0 -24
- package/dist/types/frequentQuestions.entry-BHglVS-U.d.ts.map +0 -1
- package/dist/types/legal.entry-B5Lg5eeH.d.ts +0 -10
- package/dist/types/legal.entry-B5Lg5eeH.d.ts.map +0 -1
package/docs/de/configuration.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-03-
|
|
4
|
-
title: Konfiguration
|
|
5
|
-
description: Erfahren Sie, wie Sie Intlayer für Ihre Anwendung konfigurieren. Verstehen Sie die verschiedenen Einstellungen und Optionen,
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
37
|
+
changes: `dataSerialization` zur AI-Konfiguration hinzugefügt
|
|
34
38
|
- version: 8.0.0
|
|
35
39
|
date: 2026-01-24
|
|
36
|
-
changes:
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
58
|
+
changes: Option `buildMode` hinzugefügt
|
|
55
59
|
- version: 7.0.0
|
|
56
60
|
date: 2025-10-25
|
|
57
|
-
changes: Konfiguration
|
|
61
|
+
changes: Konfiguration `dictionary` hinzugefügt
|
|
58
62
|
- version: 7.0.0
|
|
59
63
|
date: 2025-10-21
|
|
60
|
-
changes: `middleware` durch `routing
|
|
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`
|
|
79
|
+
changes: Import-Modus `live` hinzugefügt
|
|
76
80
|
- version: 6.0.0
|
|
77
81
|
date: 2025-09-04
|
|
78
|
-
changes:
|
|
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:
|
|
85
|
+
changes: `activateDynamicImport` durch die Option `importMode` ersetzt
|
|
82
86
|
- version: 5.6.0
|
|
83
87
|
date: 2025-07-13
|
|
84
|
-
changes:
|
|
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:
|
|
91
|
+
changes: `docs` Befehle hinzugefügt
|
|
88
92
|
---
|
|
89
93
|
|
|
90
|
-
# Intlayer
|
|
94
|
+
# Intlayer Konfigurations-Dokumentation
|
|
91
95
|
|
|
92
96
|
## Überblick
|
|
93
97
|
|
|
94
|
-
Intlayer-Konfigurationsdateien ermöglichen
|
|
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
|
|
108
|
+
## Unterstützte Dateiformate für die Konfiguration
|
|
105
109
|
|
|
106
|
-
Intlayer akzeptiert JSON
|
|
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
|
|
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
|
-
*
|
|
131
|
+
* Beispiel für eine Intlayer-Konfigurationsdatei mit allen verfügbaren Optionen.
|
|
128
132
|
*/
|
|
129
133
|
const config: IntlayerConfig = {
|
|
130
134
|
/**
|
|
131
|
-
*
|
|
135
|
+
* Konfiguration für Internationalisierungseinstellungen.
|
|
132
136
|
*/
|
|
133
137
|
internationalization: {
|
|
134
138
|
/**
|
|
135
|
-
*
|
|
136
|
-
*
|
|
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
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
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
|
-
*
|
|
149
|
-
* - "strict":
|
|
150
|
-
* - "inclusive":
|
|
151
|
-
* - "loose":
|
|
152
|
-
*
|
|
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
|
-
*
|
|
158
|
-
*
|
|
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
|
-
*
|
|
168
|
+
* Einstellungen zur Steuerung der Wörterbuchoperationen und des Fallback-Verhaltens.
|
|
165
169
|
*/
|
|
166
170
|
dictionary: {
|
|
167
171
|
/**
|
|
168
|
-
*
|
|
169
|
-
* - "static":
|
|
170
|
-
* - "dynamic":
|
|
171
|
-
* - "fetch":
|
|
172
|
-
*
|
|
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
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
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
|
-
*
|
|
185
|
-
* - "local":
|
|
186
|
-
* - "remote":
|
|
187
|
-
* - "hybrid":
|
|
188
|
-
* - "plugin" (
|
|
189
|
-
*
|
|
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
|
-
*
|
|
195
|
-
*
|
|
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
|
|
205
|
+
* Routing- und Middleware-Konfiguration.
|
|
202
206
|
*/
|
|
203
207
|
routing: {
|
|
204
208
|
/**
|
|
205
|
-
*
|
|
206
|
-
* - "prefix-no-default":
|
|
207
|
-
* - "prefix-all":
|
|
208
|
-
* - "no-prefix":
|
|
209
|
-
* - "search-params":
|
|
210
|
-
*
|
|
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
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
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
|
-
*
|
|
223
|
-
*
|
|
226
|
+
* Der Basispfad für die URLs der Anwendung.
|
|
227
|
+
* Standard: ""
|
|
224
228
|
*/
|
|
225
229
|
basePath: "",
|
|
226
230
|
|
|
227
231
|
/**
|
|
228
|
-
*
|
|
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
|
-
*
|
|
243
|
+
* Einstellungen in Bezug auf die Suche und Verarbeitung von Inhaltsdateien.
|
|
240
244
|
*/
|
|
241
245
|
content: {
|
|
242
246
|
/**
|
|
243
|
-
*
|
|
244
|
-
*
|
|
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
|
-
*
|
|
250
|
-
*
|
|
253
|
+
* Verzeichnisse, in denen sich die .content-Dateien befinden.
|
|
254
|
+
* Standard: ["."]
|
|
251
255
|
*/
|
|
252
256
|
contentDir: ["src"],
|
|
253
257
|
|
|
254
258
|
/**
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
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
|
-
*
|
|
263
|
-
*
|
|
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
|
-
*
|
|
269
|
-
*
|
|
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
|
-
*
|
|
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
|
|
284
|
+
* Konfiguration für den Visuellen Editor (Visual Editor).
|
|
281
285
|
*/
|
|
282
286
|
editor: {
|
|
283
287
|
/**
|
|
284
|
-
*
|
|
285
|
-
*
|
|
288
|
+
* Ob der visuelle Editor aktiviert ist.
|
|
289
|
+
* Standard: false
|
|
286
290
|
*/
|
|
287
291
|
enabled: true,
|
|
288
292
|
|
|
289
293
|
/**
|
|
290
|
-
* URL
|
|
291
|
-
*
|
|
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
|
|
297
|
-
*
|
|
300
|
+
* Port für den lokalen Editor-Server.
|
|
301
|
+
* Standard: 8000
|
|
298
302
|
*/
|
|
299
303
|
port: 8000,
|
|
300
304
|
|
|
301
305
|
/**
|
|
302
|
-
*
|
|
303
|
-
*
|
|
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
|
|
309
|
-
*
|
|
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
|
|
315
|
-
*
|
|
318
|
+
* Backend-API-URL.
|
|
319
|
+
* Standard: "https://back.intlayer.org"
|
|
316
320
|
*/
|
|
317
321
|
backendURL: "https://back.intlayer.org",
|
|
318
322
|
|
|
319
323
|
/**
|
|
320
|
-
*
|
|
321
|
-
*
|
|
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-
|
|
331
|
+
* AI-basierte Einstellungen für Übersetzung und Erstellung.
|
|
328
332
|
*/
|
|
329
333
|
ai: {
|
|
330
334
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
*
|
|
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
|
-
*
|
|
342
|
+
* Modell des gewählten Anbieters zur Verwendung.
|
|
339
343
|
*/
|
|
340
344
|
model: "gpt-4o",
|
|
341
345
|
|
|
342
346
|
/**
|
|
343
|
-
*
|
|
347
|
+
* API-Key des Anbieters.
|
|
344
348
|
*/
|
|
345
349
|
apiKey: process.env.OPENAI_API_KEY,
|
|
346
350
|
|
|
347
351
|
/**
|
|
348
|
-
*
|
|
352
|
+
* Globaler Kontext zur Anleitung der KI beim Erstellen von Übersetzungen.
|
|
349
353
|
*/
|
|
350
|
-
applicationContext: "Dies ist eine
|
|
354
|
+
applicationContext: "Dies ist eine Reisebuchungsanwendung.",
|
|
351
355
|
|
|
352
356
|
/**
|
|
353
|
-
*
|
|
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,
|
|
362
|
-
* - "toon":
|
|
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
|
|
374
|
+
* Build- und Optimierungseinstellungen.
|
|
371
375
|
*/
|
|
372
376
|
build: {
|
|
373
377
|
/**
|
|
374
|
-
*
|
|
375
|
-
* - "auto":
|
|
376
|
-
* - "manual":
|
|
377
|
-
*
|
|
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
|
-
*
|
|
383
|
-
*
|
|
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
|
-
*
|
|
389
|
-
*
|
|
392
|
+
* Ausgabeformat für die generierten Wörterbuchdateien.
|
|
393
|
+
* Standard: ['cjs', 'esm']
|
|
390
394
|
*/
|
|
391
395
|
outputFormat: ["cjs", "esm"],
|
|
392
396
|
|
|
393
397
|
/**
|
|
394
|
-
*
|
|
395
|
-
*
|
|
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
|
|
405
|
+
* Logger-Konfiguration.
|
|
402
406
|
*/
|
|
403
407
|
log: {
|
|
404
408
|
/**
|
|
405
|
-
* Logging
|
|
406
|
-
* - "default":
|
|
407
|
-
* - "verbose":
|
|
408
|
-
* - "disabled":
|
|
409
|
-
*
|
|
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
|
-
*
|
|
415
|
-
*
|
|
418
|
+
* Präfix für alle Log-Nachrichten.
|
|
419
|
+
* Standard: "[intlayer]"
|
|
416
420
|
*/
|
|
417
421
|
prefix: "[intlayer]",
|
|
418
422
|
},
|
|
419
423
|
|
|
420
424
|
/**
|
|
421
|
-
*
|
|
425
|
+
* Systemkonfiguration (Für fortgeschrittene Nutzung)
|
|
422
426
|
*/
|
|
423
427
|
system: {
|
|
424
428
|
/**
|
|
425
|
-
*
|
|
429
|
+
* Verzeichnis zum Speichern lokalisierter Wörterbücher.
|
|
426
430
|
*/
|
|
427
431
|
dictionariesDir: ".intlayer/dictionary",
|
|
428
432
|
|
|
429
433
|
/**
|
|
430
|
-
*
|
|
434
|
+
* Verzeichnis für TypeScript Module Augmentation.
|
|
431
435
|
*/
|
|
432
436
|
moduleAugmentationDir: ".intlayer/types",
|
|
433
437
|
|
|
434
438
|
/**
|
|
435
|
-
*
|
|
439
|
+
* Verzeichnis zum Speichern nicht zusammengeführter (unmerged) Wörterbücher.
|
|
436
440
|
*/
|
|
437
441
|
unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
|
|
438
442
|
|
|
439
443
|
/**
|
|
440
|
-
*
|
|
444
|
+
* Verzeichnis zum Speichern von Wörterbuchtypen.
|
|
441
445
|
*/
|
|
442
446
|
typesDir: ".intlayer/types",
|
|
443
447
|
|
|
444
448
|
/**
|
|
445
|
-
*
|
|
449
|
+
* Verzeichnis, in dem die Hauptanwendungsdateien gespeichert sind.
|
|
446
450
|
*/
|
|
447
451
|
mainDir: ".intlayer/main",
|
|
448
452
|
|
|
449
453
|
/**
|
|
450
|
-
*
|
|
454
|
+
* Verzeichnis, in dem die Konfigurationsdateien gespeichert sind.
|
|
451
455
|
*/
|
|
452
456
|
configDir: ".intlayer/config",
|
|
453
457
|
|
|
454
458
|
/**
|
|
455
|
-
*
|
|
459
|
+
* Verzeichnis, in dem Cache-Dateien gespeichert sind.
|
|
456
460
|
*/
|
|
457
461
|
cacheDir: ".intlayer/cache",
|
|
458
462
|
},
|
|
459
463
|
|
|
460
464
|
/**
|
|
461
|
-
* Compiler
|
|
465
|
+
* Compiler-Konfiguration (Für fortgeschrittene Nutzung)
|
|
462
466
|
*/
|
|
463
467
|
compiler: {
|
|
464
468
|
/**
|
|
465
|
-
* Gibt an, ob der Compiler aktiviert
|
|
469
|
+
* Gibt an, ob der Compiler aktiviert sein soll.
|
|
466
470
|
*
|
|
467
|
-
* - false
|
|
468
|
-
* - true
|
|
469
|
-
* - "build-only"
|
|
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
|
-
*
|
|
475
|
+
* Standard: false
|
|
472
476
|
*/
|
|
473
477
|
enabled: true,
|
|
474
478
|
|
|
475
479
|
/**
|
|
476
|
-
* Definiert den Pfad
|
|
480
|
+
* Definiert den Pfad für Ausgabedateien. Ersetzt `outputDir`.
|
|
477
481
|
*
|
|
478
|
-
* - `./`
|
|
479
|
-
* - `/`
|
|
482
|
+
* - Pfade mit `./` werden relativ zum Komponentenverzeichnis aufgelöst.
|
|
483
|
+
* - Pfade mit `/` werden relativ zum Projektstamm (`baseDir`) aufgelöst.
|
|
480
484
|
*
|
|
481
|
-
* -
|
|
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
|
|
490
|
+
* // Erstelle mehrsprachige .content.ts-Dateien neben der Komponente
|
|
487
491
|
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
488
492
|
*
|
|
489
|
-
* // output: './{{fileName}}{{extension}}', //
|
|
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', //
|
|
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`:
|
|
504
|
-
* - `key`:
|
|
505
|
-
* - `locale`:
|
|
506
|
-
* - `extension`:
|
|
507
|
-
* - `componentFileName`:
|
|
508
|
-
* - `componentExtension`:
|
|
509
|
-
* - `format`:
|
|
510
|
-
* - `componentFormat`:
|
|
511
|
-
* - `componentDirPath`:
|
|
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
|
|
517
|
-
* Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die
|
|
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
|
-
*
|
|
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
|
-
*
|
|
531
|
+
* Dictionary-Key-Präfix
|
|
528
532
|
*/
|
|
529
|
-
dictionaryKeyPrefix: "", //
|
|
533
|
+
dictionaryKeyPrefix: "", // Fügen Sie den extrahierten Dictionary-Keys ein optionales Präfix hinzu
|
|
530
534
|
},
|
|
531
535
|
|
|
532
536
|
/**
|
|
533
|
-
*
|
|
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
|
|
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
|
-
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Referenz zur Konfiguration (Configuration Reference)
|
|
551
557
|
|
|
552
|
-
|
|
558
|
+
In den folgenden Abschnitten werden die verschiedenen in Intlayer verfügbaren Konfigurationsoptionen beschrieben.
|
|
553
559
|
|
|
554
560
|
---
|
|
555
561
|
|
|
556
|
-
###
|
|
557
|
-
|
|
558
|
-
Definiert Einstellungen
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
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
|
|
593
|
-
|
|
594
|
-
Definiert Einstellungen im Zusammenhang mit dem integrierten Editor, einschließlich
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
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
|
-
|
|
689
|
-
|
|
690
|
-
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
-
|
|
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' | 'prefix-all' | 'no-prefix' | '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 | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | 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' | 'lax' | 'none'` | SameSite-Richtlinie. |
|
|
648
|
+
| `expires` | `Date | 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
|
-
|
|
787
|
-
|
|
654
|
+
| Feld | Typ | Beschreibung |
|
|
655
|
+
| ------ | ---------------------------------------- | ---------------------------------------------------------- |
|
|
656
|
+
| `type` | `'localStorage' | '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
|
|
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
|
-
**
|
|
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
|
|
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
|
-
###
|
|
925
|
-
|
|
926
|
-
Einstellungen
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
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 | FilePathPattern | Partial<Record<Locale, boolean | 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' | 'dynamic' | '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' | 'remote' | 'hybrid' | 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
|
-
###
|
|
841
|
+
### AI-Konfiguration (AI Configuration)
|
|
987
842
|
|
|
988
|
-
Einstellungen
|
|
843
|
+
Definiert Einstellungen für die KI-gestützten Funktionen von Intlayer, wie z. B. die Erstellung von Übersetzungen.
|
|
989
844
|
|
|
990
|
-
|
|
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' | '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
|
-
|
|
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
|
-
-
|
|
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
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
860
|
+
| Feld | Typ | Beschreibung | Beispiel | Hinweis |
|
|
861
|
+
| -------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
|
|
862
|
+
| `mode` | `'auto' | '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' | '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
|
-
|
|
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
|
-
|
|
1017
|
-
- _Typ_: `string`
|
|
1018
|
-
- _Standard_: `'.intlayer/types'`
|
|
1019
|
-
- _Beschreibung_: Das Verzeichnis zur Speicherung von Wörterbuchtypen.
|
|
869
|
+
### Systemkonfiguration (System Configuration)
|
|
1020
870
|
|
|
1021
|
-
|
|
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
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
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
|
-
|
|
1032
|
-
- _Typ_: `string`
|
|
1033
|
-
- _Standard_: `'.intlayer/cache'`
|
|
1034
|
-
- _Beschreibung_: Das Verzeichnis, in dem die Cache-Dateien gespeichert sind.
|
|
883
|
+
---
|
|
1035
884
|
|
|
1036
|
-
###
|
|
885
|
+
### Compiler-Konfiguration (Compiler Configuration)
|
|
1037
886
|
|
|
1038
|
-
Einstellungen
|
|
887
|
+
Einstellungen für den Intlayer Compiler (`intlayer compiler`).
|
|
1039
888
|
|
|
1040
|
-
|
|
889
|
+
| Feld | Typ | Beschreibung | Standard |
|
|
890
|
+
| --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------- | -------- |
|
|
891
|
+
| `enabled` | `boolean` | Gibt an, ob der Compiler aktiv ist. | `false` |
|
|
892
|
+
| `output` | `string | 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
|
-
|
|
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
|
-
|
|
899
|
+
### Logger-Konfiguration (Logger Configuration)
|
|
1046
900
|
|
|
1047
|
-
|
|
901
|
+
Einstellungen zur Anpassung der Log-Ausgabe von Intlayer.
|
|
1048
902
|
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
-
|
|
1052
|
-
-
|
|
1053
|
-
- **priority**
|
|
1054
|
-
- **live**
|
|
1055
|
-
- **schema**
|
|
1056
|
-
- **title**
|
|
1057
|
-
- **tags**
|
|
1058
|
-
- **version**
|
|
903
|
+
| Feld | Typ | Beschreibung | Standard |
|
|
904
|
+
| -------- | ---------------------------------------------- | --------------------------- | -------------- |
|
|
905
|
+
| `mode` | `'default' | 'verbose' | 'disabled'` | Logging-Modus. | `'default'` |
|
|
906
|
+
| `prefix` | `string` | Präfix für Log-Nachrichten. | `'[intlayer]'` |
|
|
1059
907
|
|
|
1060
908
|
---
|
|
1061
909
|
|
|
1062
|
-
###
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
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
|
-
###
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
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. |
|