@intlayer/docs 5.7.2 → 5.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +82 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +82 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +2 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/dictionary/gender.md +275 -0
  8. package/docs/ar/how_works_intlayer.md +1 -1
  9. package/docs/ar/locale_mapper.md +246 -0
  10. package/docs/de/dictionary/gender.md +316 -0
  11. package/docs/de/how_works_intlayer.md +1 -1
  12. package/docs/de/locale_mapper.md +244 -0
  13. package/docs/en/dictionary/gender.md +275 -0
  14. package/docs/en/how_works_intlayer.md +1 -1
  15. package/docs/en/index.md +3 -0
  16. package/docs/en/locale_mapper.md +244 -0
  17. package/docs/en-GB/dictionary/gender.md +275 -0
  18. package/docs/en-GB/how_works_intlayer.md +1 -1
  19. package/docs/en-GB/locale_mapper.md +244 -0
  20. package/docs/es/dictionary/gender.md +275 -0
  21. package/docs/es/how_works_intlayer.md +1 -1
  22. package/docs/es/locale_mapper.md +244 -0
  23. package/docs/fr/dictionary/gender.md +276 -0
  24. package/docs/fr/how_works_intlayer.md +1 -1
  25. package/docs/fr/locale_mapper.md +244 -0
  26. package/docs/hi/dictionary/gender.md +276 -0
  27. package/docs/hi/how_works_intlayer.md +1 -1
  28. package/docs/hi/locale_mapper.md +244 -0
  29. package/docs/it/dictionary/gender.md +275 -0
  30. package/docs/it/how_works_intlayer.md +1 -1
  31. package/docs/it/locale_mapper.md +244 -0
  32. package/docs/ja/dictionary/gender.md +275 -0
  33. package/docs/ja/how_works_intlayer.md +1 -1
  34. package/docs/ja/locale_mapper.md +244 -0
  35. package/docs/ko/dictionary/gender.md +275 -0
  36. package/docs/ko/how_works_intlayer.md +1 -1
  37. package/docs/ko/locale_mapper.md +244 -0
  38. package/docs/pt/dictionary/gender.md +275 -0
  39. package/docs/pt/how_works_intlayer.md +1 -1
  40. package/docs/pt/locale_mapper.md +244 -0
  41. package/docs/ru/dictionary/gender.md +275 -0
  42. package/docs/ru/how_works_intlayer.md +1 -1
  43. package/docs/ru/locale_mapper.md +244 -0
  44. package/docs/zh/dictionary/gender.md +275 -0
  45. package/docs/zh/how_works_intlayer.md +1 -1
  46. package/docs/zh/locale_mapper.md +244 -0
  47. package/package.json +11 -11
  48. package/src/generated/docs.entry.ts +82 -0
@@ -0,0 +1,316 @@
1
+ ---
2
+ createdAt: 2025-07-27
3
+ updatedAt: 2025-07-27
4
+ title: Geschlechtsspezifische Inhalte
5
+ description: Erfahren Sie, wie Sie geschlechtsspezifische Inhalte in Intlayer verwenden, um Inhalte dynamisch basierend auf dem Geschlecht anzuzeigen. Folgen Sie dieser Dokumentation, um geschlechtsspezifische Inhalte effizient in Ihrem Projekt zu implementieren.
6
+ keywords:
7
+ - Geschlechtsspezifische Inhalte
8
+ - Dynamische Darstellung
9
+ - Dokumentation
10
+ - Intlayer
11
+ - Next.js
12
+ - JavaScript
13
+ - React
14
+ slugs:
15
+ - doc
16
+ - konzept
17
+ - inhalte
18
+ - geschlecht
19
+ ---
20
+
21
+ # Geschlechtsspezifische Inhalte / Geschlecht in Intlayer
22
+
23
+ ## Wie Geschlecht funktioniert
24
+
25
+ In Intlayer wird geschlechtsspezifischer Inhalt durch die Funktion `gender` realisiert, die bestimmte Geschlechtswerte ('male', 'female') ihren entsprechenden Inhalten zuordnet. Dieser Ansatz ermöglicht es Ihnen, Inhalte dynamisch basierend auf einem gegebenen Geschlecht auszuwählen. In Kombination mit React Intlayer oder Next Intlayer wird der passende Inhalt automatisch entsprechend dem zur Laufzeit angegebenen Geschlecht ausgewählt.
26
+
27
+ ## Einrichtung geschlechtsspezifischer Inhalte
28
+
29
+ Um geschlechtsspezifische Inhalte in Ihrem Intlayer-Projekt einzurichten, erstellen Sie ein Inhaltsmodul, das Ihre geschlechtsspezifischen Definitionen enthält. Nachfolgend finden Sie Beispiele in verschiedenen Formaten.
30
+
31
+ ```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
32
+ import { gender, type Dictionary } from "intlayer";
33
+
34
+ const myGenderContent = {
35
+ key: "my_key",
36
+ content: {
37
+ myGender: gender({
38
+ male: "mein Inhalt für männliche Nutzer",
39
+ female: "mein Inhalt für weibliche Nutzer",
40
+ fallback: "mein Inhalt, wenn das Geschlecht nicht angegeben ist", // Optional
41
+ }),
42
+ },
43
+ } satisfies Dictionary;
44
+
45
+ export default myGenderContent;
46
+ ```
47
+
48
+ ```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
49
+ import { gender } from "intlayer";
50
+
51
+ /** @type {import('intlayer').Dictionary} */
52
+ const myGenderContent = {
53
+ key: "my_key",
54
+ content: {
55
+ myGender: gender({
56
+ male: "mein Inhalt für männliche Nutzer",
57
+ female: "mein Inhalt für weibliche Nutzer",
58
+ fallback: "mein Inhalt, wenn das Geschlecht nicht angegeben ist", // Optional
59
+ }),
60
+ },
61
+ };
62
+
63
+ export default myGenderContent;
64
+ ```
65
+
66
+ ```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
67
+ const { gender } = require("intlayer");
68
+
69
+ /** @type {import('intlayer').Dictionary} */
70
+ const myGenderContent = {
71
+ key: "my_key",
72
+ content: {
73
+ myGender: gender({
74
+ male: "mein Inhalt für männliche Nutzer",
75
+ female: "mein Inhalt für weibliche Nutzer",
76
+ fallback: "mein Inhalt, wenn das Geschlecht nicht angegeben ist", // Optional
77
+ }),
78
+ },
79
+ };
80
+
81
+ module.exports = myGenderContent;
82
+ ```
83
+
84
+ ```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
85
+ {
86
+ "$schema": "https://intlayer.org/schema.json",
87
+ "key": "my_key",
88
+ "content": {
89
+ "myGender": {
90
+ "nodeType": "gender",
91
+ "gender": {
92
+ "male": "mein Inhalt für männliche Nutzer",
93
+ "female": "mein Inhalt für weibliche Nutzer",
94
+ "fallback": "mein Inhalt, wenn das Geschlecht nicht angegeben ist", // Optional
95
+ },
96
+ },
97
+ },
98
+ }
99
+ ```
100
+
101
+ > Wenn kein Fallback angegeben ist, wird der zuletzt deklarierte Schlüssel als Fallback verwendet, falls das Geschlecht nicht angegeben ist oder keinem definierten Geschlecht entspricht.
102
+
103
+ ## Verwendung von geschlechtsspezifischen Inhalten mit React Intlayer
104
+
105
+ Um geschlechtsspezifische Inhalte innerhalb einer React-Komponente zu nutzen, importieren Sie den `useIntlayer` Hook aus dem `react-intlayer` Paket. Dieser Hook ruft die Inhalte für den angegebenen Schlüssel ab und ermöglicht es, ein Geschlecht zu übergeben, um die passende Ausgabe auszuwählen.
106
+
107
+ ```tsx fileName="**/*.tsx" codeFormat="typescript"
108
+ import type { FC } from "react";
109
+ import { useIntlayer } from "react-intlayer";
110
+
111
+ const GenderComponent: FC = () => {
112
+ const { myGender } = useIntlayer("my_key");
113
+
114
+ return (
115
+ <div>
116
+ <p>
117
+ {
118
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
119
+ myGender("male")
120
+ }
121
+ </p>
122
+ <p>
123
+ {
124
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
125
+ myGender("female")
126
+ }
127
+ </p>
128
+ <p>
129
+ {
130
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
131
+ myGender("m")
132
+ }
133
+ </p>
134
+ <p>
135
+ {
136
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
137
+ myGender("f")
138
+ }
139
+ </p>
140
+ <p>
141
+ {
142
+ /* Ausgabe: mein Inhalt, wenn kein Geschlecht angegeben ist */
143
+ myGender("")
144
+ }
145
+ </p>
146
+ <p>
147
+ {
148
+ /* Ausgabe: mein Inhalt, wenn kein Geschlecht angegeben ist */
149
+ myGender(undefined)
150
+ }
151
+ </p>
152
+ </div>
153
+ );
154
+ };
155
+
156
+ export default GenderComponent;
157
+ ```
158
+
159
+ ```javascript fileName="**/*.mjx" codeFormat="esm"
160
+ import { useIntlayer } from "react-intlayer";
161
+
162
+ const GenderComponent = () => {
163
+ const { myGender } = useIntlayer("my_key");
164
+
165
+ return (
166
+ <div>
167
+ <p>
168
+ {
169
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
170
+ myGender("male")
171
+ }
172
+ </p>
173
+ <p>
174
+ {
175
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
176
+ myGender("female")
177
+ }
178
+ </p>
179
+ <p>
180
+ {
181
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
182
+ myGender("m")
183
+ }
184
+ </p>
185
+ <p>
186
+ {
187
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
188
+ myGender("f")
189
+ }
190
+ </p>
191
+ <p>
192
+ {
193
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
194
+ myGender("")
195
+ }
196
+ </p>
197
+ <p>
198
+ {
199
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
200
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
201
+ myGender("female")
202
+ }
203
+ </p>
204
+ <p>
205
+ {
206
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
207
+ myGender("m")
208
+ }
209
+ </p>
210
+ <p>
211
+ {
212
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
213
+ myGender("f")
214
+ }
215
+ </p>
216
+ <p>
217
+ {
218
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
219
+ myGender("")
220
+ }
221
+ </p>
222
+ <p>
223
+ {
224
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
225
+ myGender(undefined)
226
+ }
227
+ </p>
228
+ </div>
229
+ );
230
+ };
231
+
232
+ export default GenderComponent;
233
+ ```
234
+
235
+ ```javascript fileName="**/*.cjs" codeFormat="commonjs"
236
+ const { useIntlayer } = require("react-intlayer");
237
+
238
+ const GenderComponent = () => {
239
+ const { myGender } = useIntlayer("my_key");
240
+
241
+ return (
242
+ <div>
243
+ <p>
244
+ {
245
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
246
+ myGender("male")
247
+ }
248
+ </p>
249
+ <p>
250
+ {
251
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
252
+ myGender("female")
253
+ }
254
+ </p>
255
+ <p>
256
+ {
257
+ /* Ausgabe: mein Inhalt für männliche Nutzer */
258
+ myGender("m")
259
+ }
260
+ </p>
261
+ <p>
262
+ {
263
+ /* Ausgabe: mein Inhalt für weibliche Nutzer */
264
+ myGender("f")
265
+ }
266
+ </p>
267
+ <p>
268
+ {
269
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
270
+ myGender("")
271
+ }
272
+ </p>
273
+ <p>
274
+ {
275
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
276
+ myGender(undefined)
277
+ }
278
+ </p>
279
+ </div>
280
+ );
281
+ };
282
+
283
+ module.exports = GenderComponent;
284
+ {
285
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
286
+ myGender("")
287
+ }
288
+ </p>
289
+ <p>
290
+ {
291
+ /* Ausgabe: mein Inhalt, wenn das Geschlecht nicht angegeben ist */
292
+ myGender(undefined)
293
+ }
294
+ </p>
295
+ </div>
296
+ );
297
+ };
298
+
299
+ module.exports = GenderComponent;
300
+ ```
301
+
302
+ ## Zusätzliche Ressourcen
303
+
304
+ Für detailliertere Informationen zur Konfiguration und Nutzung verweisen wir auf die folgenden Ressourcen:
305
+
306
+ - [Intlayer CLI Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_cli.md)
307
+ - [React Intlayer Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_create_react_app.md)
308
+ - [Next Intlayer Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/intlayer_with_nextjs_15.md)
309
+
310
+ Diese Ressourcen bieten weitere Einblicke in die Einrichtung und Nutzung von Intlayer in verschiedenen Umgebungen und Frameworks.
311
+
312
+ ## Dokumentationshistorie
313
+
314
+ | Version | Datum | Änderungen |
315
+ | ------- | ---------- | ------------------------------------------ |
316
+ | 5.7.2 | 2025-07-27 | Einführung geschlechtsspezifischer Inhalte |
@@ -93,7 +93,7 @@ Intlayer bietet auch einen visuellen Editor, mit dem Sie Ihre Inhalte visuell be
93
93
 
94
94
  - Der Server ist eine einfache Express-Anwendung, die Anfragen vom Client entgegennimmt und den Inhalt Ihrer Anwendung, wie die `dictionaries` und die Konfiguration, abruft, um sie auf der Client-Seite zugänglich zu machen.
95
95
  - Der Client hingegen ist eine React-Anwendung, die verwendet wird, um mit Ihren Inhalten über eine visuelle Oberfläche zu interagieren.
96
- Wenn Sie Ihre Inhalte mit `useIntlayer` aufrufen und der Editor aktiviert ist, werden Ihre Strings automatisch mit einem Proxy-Objekt namens `IntlayerNode` umschlossen. Dieses Node verwendet `window.sendMessage`, um mit einem eingebetteten iframe zu kommunizieren, das die Oberfläche des visuellen Editors enthält.
96
+ Wenn Sie Ihre Inhalte mit `useIntlayer` aufrufen und der Editor aktiviert ist, werden Ihre Strings automatisch mit einem Proxy-Objekt namens `IntlayerNode` umschlossen. Dieses Node verwendet `window.postMessage`, um mit einem eingebetteten iframe zu kommunizieren, das die Oberfläche des visuellen Editors enthält.
97
97
  Auf der Editor-Seite hört der Editor auf diese Nachrichten und simuliert eine echte Interaktion mit Ihren Inhalten, sodass Sie den Text direkt im Kontext Ihrer Anwendung bearbeiten können.
98
98
 
99
99
  ## Optimierung des App-Builds
@@ -0,0 +1,244 @@
1
+ ---
2
+ createdAt: 2025-07-27
3
+ updatedAt: 2025-07-27
4
+ title: Locale Mapper
5
+ description: Entdecken Sie, wie der Locale Mapper funktioniert. Sehen Sie die Schritte, die der Locale Mapper in Ihrer Anwendung verwendet. Erfahren Sie, was die verschiedenen Pakete tun.
6
+ keywords:
7
+ - Locale Mapper
8
+ - Erste Schritte
9
+ - Intlayer
10
+ - Anwendung
11
+ - Pakete
12
+ slugs:
13
+ - doc
14
+ - locale-mapper
15
+ ---
16
+
17
+ # Locale Mapper
18
+
19
+ Der Locale Mapper ist ein leistungsstarkes Werkzeug, das Ihnen hilft, mit Internationalisierungsdaten in Ihrer Intlayer-Anwendung zu arbeiten. Er bietet drei Hauptfunktionen, um locale-spezifische Daten zu transformieren und zu organisieren: `localeMap`, `localeFlatMap` und `localeRecord`.
20
+
21
+ ## Wie der Locale Mapper funktioniert
22
+
23
+ Der Locale Mapper arbeitet mit einem `LocaleData`-Objekt, das alle notwendigen Informationen über eine Locale enthält:
24
+
25
+ ```typescript
26
+ type LocaleData = {
27
+ locale: LocalesValues; // Aktueller Locale-Code (z.B. 'en', 'fr')
28
+ defaultLocale: LocalesValues; // Standard-Locale-Code
29
+ isDefault: boolean; // Ob dies die Standard-Locale ist
30
+ locales: LocalesValues[]; // Array aller verfügbaren Locales
31
+ urlPrefix: string; // URL-Präfix für diese Locale (z.B. '/fr' oder '')
32
+ };
33
+ ```
34
+
35
+ Die Mapper-Funktionen generieren diese Daten automatisch für jede Locale in Ihrer Konfiguration unter Berücksichtigung von:
36
+
37
+ - Ihrer konfigurierten Locales-Liste
38
+ - Der Einstellung der Standard-Locale
39
+ - Ob die Standard-Locale in URLs mit einem Präfix versehen werden soll
40
+
41
+ ## Kernfunktionen
42
+
43
+ ### `localeMap`
44
+
45
+ Transformiert jede Locale in ein einzelnes Objekt mithilfe einer Mapper-Funktion.
46
+
47
+ ```typescript
48
+ localeMap<T>(
49
+ mapper: (locale: LocaleData) => T,
50
+ locales?: LocalesValues[],
51
+ defaultLocale?: LocalesValues,
52
+ prefixDefault?: boolean
53
+ ): T[]
54
+ ```
55
+
56
+ **Beispiel: Erstellen von Routenobjekten**
57
+
58
+ ```typescript
59
+ import { localeMap } from "intlayer";
60
+
61
+ const routes = localeMap((localizedData) => ({
62
+ path: localizedData.urlPrefix,
63
+ name: localizedData.locale,
64
+ isDefault: localizedData.isDefault,
65
+ locales: localizedData.locales,
66
+ defaultLocale: localizedData.defaultLocale,
67
+ }));
68
+
69
+ // Ergebnis:
70
+ // [
71
+ // { path: '/', name: 'en', isDefault: true, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
72
+ // { path: '/fr', name: 'fr', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
73
+ // { path: '/es', name: 'es', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' }
74
+ // ]
75
+ ```
76
+
77
+ ### `localeFlatMap`
78
+
79
+ Ähnlich wie `localeMap`, aber die Mapper-Funktion gibt ein Array von Objekten zurück, das zu einem einzigen Array zusammengeführt wird.
80
+
81
+ ```typescript
82
+ localeFlatMap<T>(
83
+ mapper: (locale: LocaleData) => T[],
84
+ locales?: LocalesValues[],
85
+ defaultLocale?: LocalesValues,
86
+ prefixDefault?: boolean
87
+ ): T[]
88
+ ```
89
+
90
+ **Beispiel: Erstellen mehrerer Routen pro Locale**
91
+
92
+ ```typescript
93
+ import { localeFlatMap } from "intlayer";
94
+
95
+ const routes = localeFlatMap((localizedData) => [
96
+ {
97
+ path: localizedData.urlPrefix,
98
+ name: localizedData.locale,
99
+ isDefault: localizedData.isDefault,
100
+ },
101
+ {
102
+ path: `${localizedData.urlPrefix}/about`,
103
+ name: `${localizedData.locale}-about`,
104
+ isDefault: localizedData.isDefault,
105
+ },
106
+ ]);
107
+
108
+ // Ergebnis:
109
+ // [
110
+ // { path: '/', name: 'en', isDefault: true },
111
+ // { path: '/about', name: 'en-about', isDefault: true },
112
+ // { path: '/fr', name: 'fr', isDefault: false },
113
+ // { path: '/fr/about', name: 'fr-about', isDefault: false },
114
+ // { path: '/es', name: 'es', isDefault: false },
115
+ // { path: '/es/about', name: 'es-about', isDefault: false }
116
+ // ]
117
+ ```
118
+
119
+ ### `localeRecord`
120
+
121
+ Erstellt ein Record-Objekt, bei dem jede Locale ein Schlüssel ist, der auf einen durch die Mapper-Funktion transformierten Wert abbildet.
122
+
123
+ ```typescript
124
+ localeRecord<T>(
125
+ mapper: (locale: LocaleData) => T,
126
+ locales?: Locales[],
127
+ defaultLocale?: Locales,
128
+ prefixDefault?: boolean
129
+ ): Record<Locales, T>
130
+ ```
131
+
132
+ **Beispiel: Laden von Übersetzungsdateien**
133
+
134
+ ```typescript
135
+ import { localeRecord } from "intlayer";
136
+
137
+ const translations = localeRecord(({ locale }) =>
138
+ require(`./translations/${locale}.json`)
139
+ );
140
+
141
+ // Ergebnis:
142
+ // {
143
+ // en: { welcome: 'Welcome', hello: 'Hello' },
144
+ // fr: { welcome: 'Bienvenue', hello: 'Bonjour' },
145
+ // es: { welcome: 'Bienvenido', hello: 'Hola' }
146
+ // }
147
+ ```
148
+
149
+ ## Einrichtung des Locale Mappers
150
+
151
+ Der Locale Mapper verwendet automatisch Ihre Intlayer-Konfiguration, aber Sie können die Standardwerte durch Übergabe von Parametern überschreiben:
152
+
153
+ ### Verwendung der Standardkonfiguration
154
+
155
+ ```typescript
156
+ import { localeMap } from "intlayer";
157
+
158
+ // Verwendet die Konfiguration aus intlayer.config.ts
159
+ const routes = localeMap((data) => ({
160
+ path: data.urlPrefix,
161
+ locale: data.locale,
162
+ }));
163
+ ```
164
+
165
+ ### Überschreiben der Konfiguration
166
+
167
+ ```typescript
168
+ import { localeMap } from "intlayer";
169
+
170
+ // Überschreibt Locales und Standard-Locale
171
+ const customRoutes = localeMap(
172
+ (data) => ({ path: data.urlPrefix, locale: data.locale }),
173
+ ["en", "fr", "de"], // Benutzerdefinierte Sprachen
174
+ "en", // Benutzerdefinierte Standardsprache
175
+ true // Standard-Sprache in URLs voranstellen
176
+ );
177
+ ```
178
+
179
+ ## Erweiterte Anwendungsbeispiele
180
+
181
+ ### Erstellen von Navigationsmenüs
182
+
183
+ ```typescript
184
+ import { localeMap } from "intlayer";
185
+
186
+ const navigationItems = localeMap((data) => ({
187
+ label: data.locale.toUpperCase(),
188
+ href: data.urlPrefix || "/",
189
+ isActive: data.isDefault,
190
+ flag: `/flags/${data.locale}.svg`,
191
+ }));
192
+ ```
193
+
194
+ ### Generieren von Sitemap-Daten
195
+
196
+ ```typescript
197
+ import { localeFlatMap } from "intlayer";
198
+
199
+ const sitemapUrls = localeFlatMap((data) => [
200
+ {
201
+ url: `${data.urlPrefix}/`,
202
+ lastmod: new Date().toISOString(),
203
+ changefreq: "daily",
204
+ priority: data.isDefault ? 1.0 : 0.8,
205
+ },
206
+ {
207
+ url: `${data.urlPrefix}/about`,
208
+ lastmod: new Date().toISOString(),
209
+ changefreq: "monatlich",
210
+ priority: data.isDefault ? 0.8 : 0.6,
211
+ },
212
+ ]);
213
+ ```
214
+
215
+ ### Dynamisches Laden von Übersetzungen
216
+
217
+ ```typescript
218
+ import { localeRecord } from "intlayer";
219
+
220
+ const translationModules = localeRecord(({ locale }) => ({
221
+ messages: import(`./locales/${locale}/messages.json`),
222
+ validation: import(`./locales/${locale}/validation.json`),
223
+ metadata: {
224
+ locale,
225
+ direction: ["ar", "he", "fa"].includes(locale) ? "rtl" : "ltr", // Schreibrichtung: rechts-nach-links für bestimmte Sprachen
226
+ },
227
+ }));
228
+ ```
229
+
230
+ ## Konfigurationsintegration
231
+
232
+ Der Locale Mapper integriert sich nahtlos in Ihre Intlayer-Konfiguration:
233
+
234
+ - **Locales**: Verwendet automatisch `configuration.internationalization.locales`
235
+ - **Standard-Sprache**: Verwendet `configuration.internationalization.defaultLocale`
236
+ - **URL-Präfixierung**: Berücksichtigt `configuration.middleware.prefixDefault`
237
+
238
+ Dies gewährleistet Konsistenz in Ihrer Anwendung und reduziert die Duplizierung von Konfigurationen.
239
+
240
+ ## Dokumentationshistorie
241
+
242
+ | Version | Datum | Änderungen |
243
+ | ------- | ---------- | ---------------------------------------------- |
244
+ | 5.7.2 | 2025-07-27 | Hinzufügen der Dokumentation zum Locale Mapper |