@intlayer/docs 8.3.0-canary.4 → 8.3.1
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/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
package/docs/de/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Konfiguration
|
|
5
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.
|
|
6
6
|
keywords:
|
|
@@ -13,25 +13,33 @@ slugs:
|
|
|
13
13
|
- doc
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
|
-
history:
|
|
17
|
-
|
|
18
|
-
data: 2026-03-11
|
|
16
|
+
history - version: 8.3.0
|
|
17
|
+
date: 2026-03-11
|
|
19
18
|
changes: Verschiebe 'baseDir' von 'content' nach 'system' Konfiguration
|
|
20
19
|
- version: 8.2.0
|
|
21
|
-
date: 2026-03-
|
|
20
|
+
date: 2026-03-09
|
|
22
21
|
changes: Compiler-Optionen aktualisieren, Unterstützung für 'output' und 'noMetadata' hinzufügen
|
|
23
22
|
- version: 8.1.7
|
|
24
23
|
date: 2026-02-25
|
|
25
24
|
changes: Compiler-Optionen aktualisieren
|
|
25
|
+
- version: 8.1.5
|
|
26
|
+
date: 2026-02-23
|
|
27
|
+
changes: Compiler-Option 'build-only' und Wörterbuch-Präfix hinzugefügt
|
|
26
28
|
- version: 8.0.6
|
|
27
29
|
date: 2026-02-12
|
|
28
30
|
changes: Unterstützung für Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face und Together.ai Provider hinzufügen
|
|
29
31
|
- version: 8.0.5
|
|
30
32
|
date: 2026-02-06
|
|
31
33
|
changes: Hinzufügen von `dataSerialization` zur KI-Konfiguration
|
|
34
|
+
- version: 8.0.0
|
|
35
|
+
date: 2026-01-24
|
|
36
|
+
changes: Importmodus `live` in `fetch` umbenannt, um den zugrunde liegenden Mechanismus besser zu beschreiben.
|
|
37
|
+
- version: 8.0.0
|
|
38
|
+
date: 2026-01-22
|
|
39
|
+
changes: Build-Konfiguration für `importMode` in die Wörterbuch-Konfiguration verschoben.
|
|
32
40
|
- version: 8.0.0
|
|
33
41
|
date: 2026-01-22
|
|
34
|
-
changes:
|
|
42
|
+
changes: Option `rewrite` zur Routing-Konfiguration hinzugefügt
|
|
35
43
|
- version: 8.0.0
|
|
36
44
|
date: 2026-01-18
|
|
37
45
|
changes: Systemkonfiguration von der Inhaltskonfiguration trennen. Interne Pfade zur Eigenschaft `system` verschieben. `codeDir` hinzufügen, um Inhaltsdateien von der Codetransformation zu trennen.
|
|
@@ -44,6 +52,24 @@ history:
|
|
|
44
52
|
- version: 7.5.0
|
|
45
53
|
date: 2025-12-17
|
|
46
54
|
changes: Hinzufügen der Option `buildMode`
|
|
55
|
+
- version: 7.0.0
|
|
56
|
+
date: 2025-10-25
|
|
57
|
+
changes: Konfiguration für `dictionary` hinzugefügt
|
|
58
|
+
- version: 7.0.0
|
|
59
|
+
date: 2025-10-21
|
|
60
|
+
changes: `middleware` durch `routing`-Konfiguration ersetzt
|
|
61
|
+
- version: 7.0.0
|
|
62
|
+
date: 2025-10-12
|
|
63
|
+
changes: Option `formatCommand` hinzugefügt
|
|
64
|
+
- version: 6.2.0
|
|
65
|
+
date: 2025-10-12
|
|
66
|
+
changes: Option `excludedPath` aktualisiert
|
|
67
|
+
- version: 6.0.2
|
|
68
|
+
date: 2025-09-23
|
|
69
|
+
changes: Option `outputFormat` hinzugefügt
|
|
70
|
+
- version: 6.0.0
|
|
71
|
+
date: 2025-09-21
|
|
72
|
+
changes: Feld `dictionaryOutput` und Feld `i18nextResourcesDir` entfernt
|
|
47
73
|
- version: 6.0.0
|
|
48
74
|
date: 2025-09-16
|
|
49
75
|
changes: `live` Importmodus hinzugefügt
|
|
@@ -58,7 +84,7 @@ history:
|
|
|
58
84
|
changes: Ändere das Standard-`contentDir` von `['src']` zu `['.']`
|
|
59
85
|
- version: 5.5.11
|
|
60
86
|
date: 2025-06-29
|
|
61
|
-
changes: Füge `docs`-Befehle hinzu
|
|
87
|
+
changes: Füge `docs`-Befehle hinzue `docs`-Befehle hinzu
|
|
62
88
|
---
|
|
63
89
|
|
|
64
90
|
# Intlayer Konfigurationsdokumentation
|
|
@@ -92,7 +118,7 @@ Intlayer akzeptiert JSON-, JS-, MJS- und TS-Konfigurationsdateiformate:
|
|
|
92
118
|
|
|
93
119
|
## Beispiel für eine Konfigurationsdatei
|
|
94
120
|
|
|
95
|
-
|
|
121
|
+
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
96
122
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
97
123
|
import { nextjsRewrite } from "intlayer/routing";
|
|
98
124
|
import { z } from "zod";
|
|
@@ -190,7 +216,7 @@ const config: IntlayerConfig = {
|
|
|
190
216
|
* Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
|
|
191
217
|
* Default: ['cookie', 'header']
|
|
192
218
|
*/
|
|
193
|
-
storage: "cookie",
|
|
219
|
+
storage: ["cookie", "header"],
|
|
194
220
|
|
|
195
221
|
/**
|
|
196
222
|
* Base path for the application URLs.
|
|
@@ -321,12 +347,23 @@ const config: IntlayerConfig = {
|
|
|
321
347
|
/**
|
|
322
348
|
* Global context to guide the AI in generating translations.
|
|
323
349
|
*/
|
|
324
|
-
applicationContext: "
|
|
350
|
+
applicationContext: "Dies ist eine App zur Reisebuchung.",
|
|
325
351
|
|
|
326
352
|
/**
|
|
327
353
|
* Base URL for the AI API.
|
|
328
354
|
*/
|
|
329
355
|
baseURL: "http://localhost:3000",
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Datenserialisierung
|
|
359
|
+
*
|
|
360
|
+
* Optionen:
|
|
361
|
+
* - "json": Standard, zuverlässig; verbraucht mehr Token.
|
|
362
|
+
* - "toon": Weniger Token, weniger konsistent als JSON.
|
|
363
|
+
*
|
|
364
|
+
* Standard: "json"
|
|
365
|
+
*/
|
|
366
|
+
dataSerialization: "json",
|
|
330
367
|
},
|
|
331
368
|
|
|
332
369
|
/**
|
|
@@ -349,9 +386,9 @@ const config: IntlayerConfig = {
|
|
|
349
386
|
|
|
350
387
|
/**
|
|
351
388
|
* Output format for generated dictionary files.
|
|
352
|
-
* Default: ['
|
|
389
|
+
* Default: ['cjs', 'esm']
|
|
353
390
|
*/
|
|
354
|
-
outputFormat: ["esm"],
|
|
391
|
+
outputFormat: ["cjs", "esm"],
|
|
355
392
|
|
|
356
393
|
/**
|
|
357
394
|
* Indicates if the build should check TypeScript types.
|
|
@@ -426,42 +463,70 @@ const config: IntlayerConfig = {
|
|
|
426
463
|
compiler: {
|
|
427
464
|
/**
|
|
428
465
|
* Gibt an, ob der Compiler aktiviert werden soll.
|
|
466
|
+
*
|
|
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.
|
|
470
|
+
*
|
|
471
|
+
* Standardwert : false
|
|
429
472
|
*/
|
|
430
473
|
enabled: true,
|
|
431
474
|
|
|
432
475
|
/**
|
|
433
|
-
*
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
*
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
*
|
|
476
|
+
* Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`.
|
|
477
|
+
*
|
|
478
|
+
* - `./` Pfade werden relativ zum Verzeichnis der Komponente aufgelöst.
|
|
479
|
+
* - `/` Pfade werden relativ zum Projektstamm (`baseDir`) aufgelöst.
|
|
480
|
+
*
|
|
481
|
+
* - Das Einbeziehen der Variable `{{locale}}` im Pfad löst die Generierung separater Wörterbücher pro Sprache aus.
|
|
482
|
+
*
|
|
483
|
+
* Beispiel:
|
|
484
|
+
* ```ts
|
|
485
|
+
* {
|
|
486
|
+
* // Erstelle mehrsprachige .content.ts-Dateien in der Nähe der Komponente
|
|
487
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
488
|
+
*
|
|
489
|
+
* // output: './{{fileName}}{{extension}}', // Äquivalent mit einem Template-String
|
|
490
|
+
* }
|
|
491
|
+
* ```
|
|
492
|
+
*
|
|
493
|
+
* ```ts
|
|
494
|
+
* {
|
|
495
|
+
* // Erstelle zentralisierte JSON-Dateien pro Sprache im Projektstamm
|
|
496
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
497
|
+
*
|
|
498
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // Äquivalent mit einem Template-String
|
|
499
|
+
* }
|
|
500
|
+
* ```
|
|
501
|
+
*
|
|
502
|
+
* 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.
|
|
447
512
|
*/
|
|
448
513
|
output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
|
|
449
514
|
|
|
450
515
|
/**
|
|
451
|
-
*
|
|
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.
|
|
452
518
|
*/
|
|
453
|
-
|
|
519
|
+
saveComponents: false,
|
|
454
520
|
|
|
455
521
|
/**
|
|
456
|
-
*
|
|
522
|
+
* Nur Inhalt in die generierte Datei einfügen. Nützlich für i18next- oder ICU-MessageFormat-JSON-Ausgaben pro Sprache.
|
|
457
523
|
*/
|
|
458
|
-
|
|
524
|
+
noMetadata: false,
|
|
459
525
|
|
|
460
526
|
/**
|
|
461
|
-
*
|
|
462
|
-
* Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
|
|
527
|
+
* Wörterbuch-Schlüssel-Präfix
|
|
463
528
|
*/
|
|
464
|
-
|
|
529
|
+
dictionaryKeyPrefix: "", // Optionales Präfix für extrahierte Wörterbuchschlüssel hinzufügen
|
|
465
530
|
},
|
|
466
531
|
|
|
467
532
|
/**
|
|
@@ -480,7 +545,7 @@ const config: IntlayerConfig = {
|
|
|
480
545
|
};
|
|
481
546
|
|
|
482
547
|
export default config;
|
|
483
|
-
|
|
548
|
+
````
|
|
484
549
|
|
|
485
550
|
## Konfigurationsreferenz
|
|
486
551
|
|
|
@@ -616,95 +681,243 @@ Definiert Einstellungen im Zusammenhang mit dem integrierten Editor, einschließ
|
|
|
616
681
|
- _Beispiel_: `'https://example.com'`
|
|
617
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.
|
|
618
683
|
|
|
619
|
-
###
|
|
684
|
+
### Routing-Konfiguration
|
|
620
685
|
|
|
621
|
-
Einstellungen, die das Verhalten
|
|
686
|
+
Einstellungen, die das Routing-Verhalten steuern, einschließlich URL-Struktur, Locale-Speicherung und Middleware-Handhabung.
|
|
622
687
|
|
|
623
688
|
#### Eigenschaften
|
|
624
689
|
|
|
625
|
-
- **
|
|
626
|
-
- _Typ_: `
|
|
627
|
-
- _Standard_: `'
|
|
628
|
-
- _Beschreibung_:
|
|
629
|
-
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
-
|
|
633
|
-
|
|
634
|
-
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
-
|
|
638
|
-
|
|
639
|
-
-
|
|
640
|
-
|
|
641
|
-
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
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' }`).
|
|
647
728
|
|
|
648
729
|
- **basePath**:
|
|
649
730
|
- _Typ_: `string`
|
|
650
731
|
- _Standard_: `''`
|
|
651
|
-
- _Beschreibung_: Der
|
|
732
|
+
- _Beschreibung_: Der Basispfad für die Anwendungs-URLs.
|
|
652
733
|
- _Beispiel_: `'/my-app'`
|
|
653
734
|
- _Hinweis_:
|
|
654
|
-
- Wenn die Anwendung unter `https://example.com/my-app` gehostet wird
|
|
655
|
-
-
|
|
656
|
-
- Die URL
|
|
657
|
-
- Wenn
|
|
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`.
|
|
658
739
|
|
|
659
740
|
- **rewrite**:
|
|
660
741
|
- _Typ_: `Record<string, StrictModeLocaleMap<string>>`
|
|
661
742
|
- _Standard_: `undefined`
|
|
662
|
-
- _Beschreibung_: Benutzerdefinierte URL-
|
|
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]`.
|
|
663
744
|
- _Beispiel_:
|
|
664
745
|
```typescript
|
|
665
746
|
routing: {
|
|
666
747
|
mode: "prefix-no-default", // Fallback-Strategie
|
|
667
748
|
rewrite: nextjsRewrite({
|
|
668
|
-
"/
|
|
669
|
-
en: "/
|
|
670
|
-
fr: "/
|
|
749
|
+
"/about": {
|
|
750
|
+
en: "/about",
|
|
751
|
+
fr: "/a-propos",
|
|
671
752
|
},
|
|
672
|
-
"/
|
|
673
|
-
en: "/
|
|
674
|
-
fr: "/
|
|
753
|
+
"/product/[slug]": {
|
|
754
|
+
en: "/product/[slug]",
|
|
755
|
+
fr: "/produit/[slug]",
|
|
675
756
|
},
|
|
676
|
-
"/
|
|
677
|
-
en: "/
|
|
678
|
-
fr: "/
|
|
757
|
+
"/blog/[category]/[id]": {
|
|
758
|
+
en: "/blog/[category]/[id]",
|
|
759
|
+
fr: "/journal/[category]/[id]",
|
|
679
760
|
},
|
|
680
761
|
}),
|
|
681
762
|
}
|
|
682
763
|
```
|
|
683
|
-
- _Hinweis_:
|
|
684
|
-
- _Hinweis_: Dynamische Routenparameter werden
|
|
685
|
-
- _Hinweis_: Funktioniert mit Next.js- und Vite-Anwendungen.
|
|
686
|
-
- _Hinweis_: Beim Generieren von URLs mit `getLocalizedUrl()` werden
|
|
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.
|
|
687
768
|
- _Referenz_: Weitere Informationen finden Sie unter [Benutzerdefinierte URL-Umschreibungen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/custom_url_rewrites.md).
|
|
688
769
|
|
|
689
|
-
-
|
|
690
|
-
- _Typ_: `string`
|
|
691
|
-
- _Standard_: `'always'`
|
|
692
|
-
- _Beschreibung_: Regel zum Setzen des Locale-Cookies auf dem Server.
|
|
693
|
-
- _Optionen_: `'always'`, `'never'`
|
|
694
|
-
- _Beispiel_: `'never'`
|
|
695
|
-
- _Hinweis_: Steuert, ob das Locale-Cookie bei jeder Anfrage oder nie gesetzt wird.
|
|
770
|
+
#### Cookie-Attribute
|
|
696
771
|
|
|
697
|
-
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
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
|
|
783
|
+
|
|
784
|
+
Bei Verwendung von localStorage oder sessionStorage:
|
|
785
|
+
|
|
786
|
+
- **type**: Speichertyp (`'localStorage' | 'sessionStorage'`)
|
|
787
|
+
- **name**: Name des Speicherschlüssels (Standard: `'INTLAYER_LOCALE'`)
|
|
788
|
+
|
|
789
|
+
#### Konfigurationsbeispiele
|
|
790
|
+
|
|
791
|
+
Hier sind einige gängige Konfigurationsbeispiele für die neue Routing-Struktur (v8):
|
|
792
|
+
|
|
793
|
+
**Basiskonfiguration (Standard)**:
|
|
794
|
+
|
|
795
|
+
```typescript
|
|
796
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
797
|
+
// intlayer.config.ts
|
|
798
|
+
const config: IntlayerConfig = {
|
|
799
|
+
internationalization: {
|
|
800
|
+
locales: ["en", "fr", "es"],
|
|
801
|
+
defaultLocale: "en",
|
|
802
|
+
},
|
|
803
|
+
routing: {
|
|
804
|
+
mode: "prefix-no-default",
|
|
805
|
+
storage: "localStorage",
|
|
806
|
+
basePath: "",
|
|
807
|
+
},
|
|
808
|
+
};
|
|
809
|
+
|
|
810
|
+
export default config;
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
**DSGVO-konforme Konfiguration**:
|
|
814
|
+
|
|
815
|
+
```typescript
|
|
816
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
817
|
+
// intlayer.config.ts
|
|
818
|
+
const config: IntlayerConfig = {
|
|
819
|
+
internationalization: {
|
|
820
|
+
locales: ["en", "fr", "es"],
|
|
821
|
+
defaultLocale: "en",
|
|
822
|
+
},
|
|
823
|
+
routing: {
|
|
824
|
+
mode: "prefix-no-default",
|
|
825
|
+
storage: [
|
|
826
|
+
{
|
|
827
|
+
type: "localStorage",
|
|
828
|
+
name: "user-locale",
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
type: "cookie",
|
|
832
|
+
name: "user-locale",
|
|
833
|
+
secure: true,
|
|
834
|
+
sameSite: "strict",
|
|
835
|
+
httpOnly: false,
|
|
836
|
+
},
|
|
837
|
+
],
|
|
838
|
+
basePath: "",
|
|
839
|
+
},
|
|
840
|
+
};
|
|
841
|
+
|
|
842
|
+
export default config;
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
**Suchparameter-Modus**:
|
|
846
|
+
|
|
847
|
+
```typescript
|
|
848
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
849
|
+
// intlayer.config.ts
|
|
850
|
+
const config: IntlayerConfig = {
|
|
851
|
+
internationalization: {
|
|
852
|
+
locales: ["en", "fr", "es"],
|
|
853
|
+
defaultLocale: "en",
|
|
854
|
+
},
|
|
855
|
+
routing: {
|
|
856
|
+
mode: "search-params",
|
|
857
|
+
storage: "localStorage",
|
|
858
|
+
basePath: "",
|
|
859
|
+
},
|
|
860
|
+
};
|
|
861
|
+
|
|
862
|
+
export default config;
|
|
863
|
+
```
|
|
864
|
+
|
|
865
|
+
**Präfixfreier Modus mit benutzerdefiniertem Speicher**:
|
|
866
|
+
|
|
867
|
+
```typescript
|
|
868
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
869
|
+
// intlayer.config.ts
|
|
870
|
+
const config: IntlayerConfig = {
|
|
871
|
+
internationalization: {
|
|
872
|
+
locales: ["en", "fr", "es"],
|
|
873
|
+
defaultLocale: "en",
|
|
874
|
+
},
|
|
875
|
+
routing: {
|
|
876
|
+
mode: "no-prefix",
|
|
877
|
+
storage: {
|
|
878
|
+
type: "sessionStorage",
|
|
879
|
+
name: "app-locale",
|
|
880
|
+
},
|
|
881
|
+
basePath: "/my-app",
|
|
882
|
+
},
|
|
883
|
+
};
|
|
884
|
+
|
|
885
|
+
export default config;
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
**Benutzerdefinierte URL-Umschreibung mit dynamischen Routen**:
|
|
889
|
+
|
|
890
|
+
```typescript
|
|
891
|
+
// intlayer.config.ts
|
|
892
|
+
import { nextjsRewrite } from "intlayer/routing";
|
|
893
|
+
|
|
894
|
+
const config: IntlayerConfig = {
|
|
895
|
+
internationalization: {
|
|
896
|
+
locales: ["en", "fr"],
|
|
897
|
+
defaultLocale: "en",
|
|
898
|
+
},
|
|
899
|
+
routing: {
|
|
900
|
+
mode: "prefix-no-default", // Fallback-Strategie für nicht umgeschriebene Pfade
|
|
901
|
+
storage: "cookie",
|
|
902
|
+
rewrite: nextjsRewrite({
|
|
903
|
+
"/about": {
|
|
904
|
+
en: "/about",
|
|
905
|
+
fr: "/a-propos",
|
|
906
|
+
},
|
|
907
|
+
"/product/[slug]": {
|
|
908
|
+
en: "/product/[slug]",
|
|
909
|
+
fr: "/produit/[slug]",
|
|
910
|
+
},
|
|
911
|
+
"/blog/[category]/[id]": {
|
|
912
|
+
en: "/blog/[category]/[id]",
|
|
913
|
+
fr: "/journal/[category]/[id]",
|
|
914
|
+
},
|
|
915
|
+
}),
|
|
916
|
+
},
|
|
917
|
+
};
|
|
918
|
+
|
|
919
|
+
export default config;
|
|
920
|
+
```
|
|
708
921
|
|
|
709
922
|
---
|
|
710
923
|
|
|
@@ -903,125 +1116,130 @@ Intlayer unterstützt mehrere KI-Anbieter für erhöhte Flexibilität und Auswah
|
|
|
903
1116
|
|
|
904
1117
|
#### Eigenschaften
|
|
905
1118
|
|
|
906
|
-
- **provider
|
|
907
|
-
- _Typ_: `string`
|
|
908
|
-
- _Standard_: `'openai'`
|
|
909
|
-
- _Beschreibung_: Der
|
|
910
|
-
- _Optionen_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
|
|
911
|
-
- _Beispiel_: `'anthropic'`
|
|
912
|
-
- _Hinweis_: Verschiedene
|
|
913
|
-
|
|
914
|
-
- **model
|
|
915
|
-
- _Typ_: `string`
|
|
916
|
-
- _Standard_:
|
|
917
|
-
- _Beschreibung_: Das Modell, das für die KI-Funktionen von Intlayer verwendet
|
|
918
|
-
- _Beispiel_: `'gpt-4o-2024-11-20'`
|
|
919
|
-
- _Hinweis_: Das spezifische Modell variiert je nach
|
|
920
|
-
|
|
921
|
-
- **temperature
|
|
922
|
-
- _Typ_: `number`
|
|
923
|
-
- _Standard_: Keine
|
|
924
|
-
- _Beschreibung_: Die Temperatur steuert die Zufälligkeit der Antworten
|
|
925
|
-
- _Beispiel_: `0.1`
|
|
926
|
-
- _Hinweis_: Eine höhere Temperatur macht die KI kreativer und weniger vorhersehbar.
|
|
927
|
-
|
|
928
|
-
- **apiKey
|
|
929
|
-
- _Typ_: `string`
|
|
930
|
-
- _Standard_: Keine
|
|
931
|
-
- _Beschreibung_: Ihr API-Schlüssel für den ausgewählten
|
|
932
|
-
- _Beispiel_: `process.env.OPENAI_API_KEY`
|
|
933
|
-
- _Hinweis_: Wichtig: API-Schlüssel sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort
|
|
934
|
-
|
|
935
|
-
- **applicationContext
|
|
936
|
-
- _Typ_: `string`
|
|
937
|
-
- _Standard_:
|
|
938
|
-
- _Beschreibung_: Bietet dem KI-Modell zusätzlichen Kontext
|
|
939
|
-
|
|
940
|
-
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
-
|
|
944
|
-
-
|
|
945
|
-
-
|
|
1119
|
+
- **provider** :
|
|
1120
|
+
- _Typ_ : `string`
|
|
1121
|
+
- _Standard_ : `'openai'`
|
|
1122
|
+
- _Beschreibung_ : Der Provider, der für die KI-Funktionen von Intlayer verwendet werden soll.
|
|
1123
|
+
- _Optionen_ : `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
|
|
1124
|
+
- _Beispiel_ : `'anthropic'`
|
|
1125
|
+
- _Hinweis_: Verschiedene Provider erfordern möglicherweise unterschiedliche API-Schlüssel und haben unterschiedliche Preismodelle.
|
|
1126
|
+
|
|
1127
|
+
- **model** :
|
|
1128
|
+
- _Typ_ : `string`
|
|
1129
|
+
- _Standard_ : Keiner
|
|
1130
|
+
- _Beschreibung_ : Das Modell, das für die KI-Funktionen von Intlayer verwendet werden soll.
|
|
1131
|
+
- _Beispiel_ : `'gpt-4o-2024-11-20'`
|
|
1132
|
+
- _Hinweis_ : Das spezifische zu verwendende Modell variiert je nach Provider.
|
|
1133
|
+
|
|
1134
|
+
- **temperature** :
|
|
1135
|
+
- _Typ_ : `number`
|
|
1136
|
+
- _Standard_ : Keine
|
|
1137
|
+
- _Beschreibung_ : Die Temperatur steuert die Zufälligkeit der KI-Antworten.
|
|
1138
|
+
- _Beispiel_ : `0.1`
|
|
1139
|
+
- _Hinweis_ : Eine höhere Temperatur macht die KI kreativer und weniger vorhersehbar.
|
|
1140
|
+
|
|
1141
|
+
- **apiKey** :
|
|
1142
|
+
- _Typ_ : `string`
|
|
1143
|
+
- _Standard_ : Keine
|
|
1144
|
+
- _Beschreibung_ : Ihr API-Schlüssel für den ausgewählten Provider.
|
|
1145
|
+
- _Beispiel_ : `process.env.OPENAI_API_KEY`
|
|
1146
|
+
- _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.
|
|
1147
|
+
|
|
1148
|
+
- **applicationContext** :
|
|
1149
|
+
- _Typ_ : `string`
|
|
1150
|
+
- _Standard_ : Keiner
|
|
1151
|
+
- _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.
|
|
1152
|
+
- _Hinweis_: Sie können dies verwenden, um dem KI-Modell weitere Regeln hinzuzufügen (z. B. "Sie dürfen URLs nicht transformieren").
|
|
1153
|
+
- _Beispiel_ : `'Mein Anwendungskontext'`
|
|
1154
|
+
|
|
1155
|
+
- **baseURL** :
|
|
1156
|
+
- _Typ_ : `string`
|
|
1157
|
+
- _Standard_ : Keine
|
|
1158
|
+
- _Beschreibung_ : Die Basis-URL für die KI-API.
|
|
1159
|
+
- _Beispiel_ : `'https://api.openai.com/v1'`
|
|
1160
|
+
- _Beispiel_ : `'http://localhost:5000'`
|
|
1161
|
+
- _Hinweis_ : Kann verwendet werden, um auf einen lokalen oder benutzerdefinierten KI-API-Endpunkt zu verweisen.
|
|
946
1162
|
|
|
947
1163
|
- **dataSerialization**:
|
|
948
1164
|
- _Typ_: `'json' | 'toon'`
|
|
949
1165
|
- _Standard_: `'json'`
|
|
950
|
-
- _Beschreibung_: Das Datenserialisierungsformat für die KI-Funktionen von Intlayer.
|
|
1166
|
+
- _Beschreibung_: Das Datenserialisierungsformat, das für die KI-Funktionen von Intlayer verwendet werden soll.
|
|
951
1167
|
- _Beispiel_: `'toon'`
|
|
952
|
-
- _Hinweis_: `json`: Standard, zuverlässig; verbraucht mehr
|
|
1168
|
+
- _Hinweis_: `json`: Standard, zuverlässig; verbraucht mehr Tokens. `toon`: Weniger Tokens, weniger konsistent als JSON.
|
|
1169
|
+
> 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.
|
|
953
1170
|
|
|
954
1171
|
### Build-Konfiguration
|
|
955
1172
|
|
|
956
1173
|
Einstellungen, die steuern, wie Intlayer die Internationalisierung Ihrer Anwendung optimiert und baut.
|
|
957
1174
|
|
|
958
|
-
Build-Optionen gelten für die Plugins `@intlayer/babel` und `@intlayer/swc`.
|
|
1175
|
+
Die Build-Optionen gelten für die Plugins `@intlayer/babel` und `@intlayer/swc`.
|
|
959
1176
|
|
|
960
|
-
> Im Entwicklungsmodus verwendet Intlayer statische Importe für Wörterbücher, um die Entwicklungserfahrung zu vereinfachen.
|
|
1177
|
+
> Im Entwicklungsmodus verwendet Intlayer statische Importe für die Wörterbücher, um die Entwicklungserfahrung zu vereinfachen.
|
|
961
1178
|
|
|
962
|
-
> Wenn optimiert,
|
|
1179
|
+
> 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.
|
|
963
1180
|
|
|
964
1181
|
#### Eigenschaften
|
|
965
1182
|
|
|
966
|
-
- **mode
|
|
967
|
-
- _Typ_: `'auto' | 'manual'`
|
|
968
|
-
- _Standard_: `'auto'`
|
|
969
|
-
- _Beschreibung_: Steuert den Modus
|
|
970
|
-
- _Beispiel_: `'manual'`
|
|
971
|
-
- _Hinweis_: Wenn 'auto', wird der Build automatisch
|
|
972
|
-
- _Hinweis_: Wenn 'manual', wird der Build
|
|
973
|
-
- _Hinweis_: Kann verwendet werden, um
|
|
974
|
-
|
|
975
|
-
- **
|
|
976
|
-
- _Typ_: `boolean`
|
|
977
|
-
- _Standard_: `
|
|
978
|
-
- _Beschreibung_:
|
|
979
|
-
-
|
|
980
|
-
|
|
981
|
-
-
|
|
982
|
-
-
|
|
983
|
-
-
|
|
984
|
-
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
-
|
|
988
|
-
-
|
|
989
|
-
-
|
|
990
|
-
|
|
991
|
-
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
-
|
|
996
|
-
-
|
|
997
|
-
- _Hinweis_:
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
- "fetch"
|
|
1001
|
-
- _Hinweis_:
|
|
1002
|
-
- _Hinweis_:
|
|
1003
|
-
- _Hinweis_:
|
|
1004
|
-
|
|
1005
|
-
-
|
|
1006
|
-
-
|
|
1007
|
-
-
|
|
1008
|
-
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
-
|
|
1013
|
-
-
|
|
1014
|
-
-
|
|
1015
|
-
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
-
|
|
1020
|
-
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
- _Hinweis_:
|
|
1024
|
-
- _Hinweis_:
|
|
1183
|
+
- **mode** :
|
|
1184
|
+
- _Typ_ : `'auto' | 'manual'`
|
|
1185
|
+
- _Standard_ : `'auto'`
|
|
1186
|
+
- _Beschreibung_ : Steuert den Build-Modus.
|
|
1187
|
+
- _Beispiel_ : `'manual'`
|
|
1188
|
+
- _Hinweis_ : Wenn 'auto', wird der Build automatisch während des App-Builds ausgelöst.
|
|
1189
|
+
- _Hinweis_ : Wenn 'manual', wird der Build erst ausgelöst, wenn der Build-Befehl ausgeführt wird.
|
|
1190
|
+
- _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.
|
|
1191
|
+
|
|
1192
|
+
- **optimize** :
|
|
1193
|
+
- _Typ_ : `boolean`
|
|
1194
|
+
- _Standard_ : `undefined`
|
|
1195
|
+
- _Beschreibung_ : Steuert, ob der Build optimiert werden soll.
|
|
1196
|
+
- _Beispiel_ : `process.env.NODE_ENV === 'production'`
|
|
1197
|
+
- _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.
|
|
1198
|
+
- _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.
|
|
1199
|
+
- _Hinweis_ : Intlayer wird alle Aufrufe von `useIntlayer` durch den über die Option `importMode` definierten Modus ersetzen und `getIntlayer` durch `getDictionary`.
|
|
1200
|
+
- _Hinweis_ : Diese Option ist abhängig von den Plugins `@intlayer/babel` und `@intlayer/swc`.
|
|
1201
|
+
- _Hinweis_ : Stellen Sie sicher, dass alle Schlüssel in `useIntlayer`-Aufrufen statisch deklariert sind. Zum Beispiel `useIntlayer('navbar')`.
|
|
1202
|
+
|
|
1203
|
+
- **importMode** :
|
|
1204
|
+
- _Typ_ : `'static' | 'dynamic' | 'fetch'`
|
|
1205
|
+
- _Standard_ : `'static'`
|
|
1206
|
+
- _Beschreibung_ : Steuert, wie die Wörterbücher importiert werden.
|
|
1207
|
+
- _Beispiel_ : `'dynamic'`
|
|
1208
|
+
- _Hinweis_ : Verfügbare Modi:
|
|
1209
|
+
- "static": Die Wörterbücher werden statisch importiert. Ersetzt `useIntlayer` durch `useDictionary`.
|
|
1210
|
+
- "dynamic": Die Wörterbücher werden dynamisch mit Suspense importiert. Ersetzt `useIntlayer` durch `useDictionaryDynamic`.
|
|
1211
|
+
- "fetch": Die Wörterbücher werden dynamisch über die Live-Sync-API abgerufen. Ersetzt `useIntlayer` durch `useDictionaryDynamic`.
|
|
1212
|
+
- _Hinweis_ : Dynamische Importe sind von Suspense abhängig und können die Rendering-Performance leicht beeinflussen.
|
|
1213
|
+
- _Hinweis_ : Wenn deaktiviert, werden alle Locales auf einmal geladen, auch wenn sie nicht verwendet werden.
|
|
1214
|
+
- _Hinweis_ : Diese Option ist abhängig von den Plugins `@intlayer/babel` und `@intlayer/swc`.
|
|
1215
|
+
- _Hinweis_ : Stellen Sie sicher, dass alle Schlüssel in `useIntlayer`-Aufrufen statisch deklariert sind. Zum Beispiel `useIntlayer('navbar')`.
|
|
1216
|
+
- _Hinweis_ : Diese Option wird ignoriert, wenn `optimize` deaktiviert ist.
|
|
1217
|
+
- _Hinweis_ : Wenn auf "fetch" gesetzt, werden nur jene Wörterbücher, die Remote-Inhalte enthalten und als "fetch" markiert sind, in den Fetch-Modus transformiert. Die anderen werden weiterhin im Modus "dynamic" dynamisch importiert, um die Anzahl der Fetch-Anfragen und die Lade-Performance zu optimieren.
|
|
1218
|
+
- _Hinweis_ : Der Fetch-Modus verwendet die Live-Sync-API, um die Wörterbücher abzurufen. Wenn der API-Aufruf fehlschlägt, werden die Wörterbücher im Modus "dynamic" dynamisch importiert.
|
|
1219
|
+
- _Hinweis_ : Diese Option hat keinen Einfluss auf die Funktionen `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` und `useDictionaryDynamic`.
|
|
1220
|
+
- _Hinweis_: **Veraltet**: Verwenden Sie stattdessen `dictionary.importMode`.
|
|
1221
|
+
|
|
1222
|
+
- **checkTypes** :
|
|
1223
|
+
- _Typ_ : `boolean`
|
|
1224
|
+
- _Standard_ : `false`
|
|
1225
|
+
- _Beschreibung_ : Gibt an, ob der Build die TypeScript-Typen überprüfen und Fehler protokollieren soll.
|
|
1226
|
+
- _Hinweis_ : Dies kann den Build verlangsamen.
|
|
1227
|
+
|
|
1228
|
+
- **outputFormat** :
|
|
1229
|
+
- _Typ_ : `('esm' | 'cjs')[]`
|
|
1230
|
+
- _Standard_ : `['cjs', 'esm']`
|
|
1231
|
+
- _Beschreibung_ : Steuert das Ausgabeformat der Wörterbücher.
|
|
1232
|
+
- _Beispiel_ : `'cjs'`
|
|
1233
|
+
- _Hinweis_ : Das Ausgabeformat der Wörterbücher.
|
|
1234
|
+
|
|
1235
|
+
- **traversePattern** :
|
|
1236
|
+
- _Typ_ : `string[]`
|
|
1237
|
+
- _Standard_ : `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
|
|
1238
|
+
- _Beschreibung_ : Muster, die definieren, welche Dateien während der Optimierung durchlaufen werden sollen.
|
|
1239
|
+
- _Beispiel_ : `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
1240
|
+
- _Hinweis_ : Verwenden Sie dies, um die Optimierung auf relevante Codedateien zu beschränken und die Build-Performance zu verbessern.
|
|
1241
|
+
- _Hinweis_ : Diese Option wird ignoriert, wenn `optimize` deaktiviert ist.
|
|
1242
|
+
- _Hinweis_ : Verwenden Sie ein Glob-Muster.
|
|
1025
1243
|
|
|
1026
1244
|
---
|
|
1027
1245
|
|
|
@@ -1040,7 +1258,7 @@ Einstellungen zur Steuerung des Intlayer-Compilers, der Wörterbücher direkt au
|
|
|
1040
1258
|
|
|
1041
1259
|
- **dictionaryKeyPrefix**:
|
|
1042
1260
|
- _Typ_: `string`
|
|
1043
|
-
- _Standard_: `'
|
|
1261
|
+
- _Standard_: `''`
|
|
1044
1262
|
- _Beschreibung_: Präfix für die extrahierten Wörterbuchschlüssel.
|
|
1045
1263
|
- _Beispiel_: `'my-key-'`
|
|
1046
1264
|
- _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.
|
|
@@ -1064,24 +1282,28 @@ Einstellungen zur Steuerung des Intlayer-Compilers, der Wörterbücher direkt au
|
|
|
1064
1282
|
- _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung ausgeschlossen werden sollen.
|
|
1065
1283
|
- _Beispiel_: `['**/node_modules/**', '!**/node_modules/react/**']`
|
|
1066
1284
|
|
|
1067
|
-
- **outputDir**:
|
|
1068
|
-
- _Typ_: `string`
|
|
1069
|
-
- _Standard_: `'compiler'`
|
|
1070
|
-
- _Beschreibung_: Das Verzeichnis, in dem die extrahierten Wörterbücher gespeichert werden, relativ zum Basispfad Ihres Projekts.
|
|
1071
|
-
|
|
1072
1285
|
- **output**:
|
|
1073
1286
|
- _Typ_: `FilePathPattern`
|
|
1074
|
-
- _Standard_: `
|
|
1075
|
-
- _Beschreibung_: Definiert den Pfad der Ausgabedateien. Ersetzt `outputDir`. Verarbeitet dynamische Variablen
|
|
1076
|
-
- _Hinweis_:
|
|
1077
|
-
-
|
|
1287
|
+
- _Standard_: `undefined`
|
|
1288
|
+
- _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}}`.
|
|
1289
|
+
- _Hinweis_: `./` Pfade werden relativ zum Verzeichnis der Komponente aufgelöst. `/` Pfade werden relativ zum Projektstamm (`baseDir`) aufgelöst.
|
|
1290
|
+
- _Hinweis_: Das Einfügen der Variable `{{locale}}` in den Pfad löst die Generierung separater Wörterbücher pro Locale aus.
|
|
1291
|
+
- _Beispiel_:
|
|
1292
|
+
- **Mehrsprachige Dateien in der Nähe der Komponente** :
|
|
1293
|
+
- String: `'./{{fileName}}{{extension}}'`
|
|
1294
|
+
- Funktion: `({ fileName, extension }) => \`./${fileName}${extension}\``
|
|
1295
|
+
|
|
1296
|
+
- **Zentralisierte JSON-Dateien pro Locale** :
|
|
1297
|
+
- String: `'/locales/{{locale}}/{{key}}.content.json'`
|
|
1298
|
+
- Funktion: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
|
|
1078
1299
|
|
|
1079
1300
|
- **noMetadata**:
|
|
1080
1301
|
- _Typ_: `boolean`
|
|
1081
1302
|
- _Standard_: `false`
|
|
1082
|
-
- _Beschreibung_: Gibt an, ob die Metadaten in der Datei gespeichert werden sollen. Wenn
|
|
1083
|
-
- _Hinweis_: Nützlich bei Verwendung mit dem `loadJSON
|
|
1084
|
-
- _Beispiel_:
|
|
1303
|
+
- _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.
|
|
1304
|
+
- _Hinweis_: Nützlich bei Verwendung mit dem Plugin `loadJSON`.
|
|
1305
|
+
- _Beispiel_:
|
|
1306
|
+
Wenn `true` :
|
|
1085
1307
|
```json
|
|
1086
1308
|
{
|
|
1087
1309
|
"key": "value"
|