@intlayer/docs 8.4.6 → 8.4.7

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 (31) hide show
  1. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  2. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  3. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  4. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  5. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  6. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  7. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  8. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  9. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  10. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -3
  11. package/docs/en/configuration.md +115 -137
  12. package/docs/es/configuration.md +14 -6
  13. package/docs/fr/configuration.md +14 -6
  14. package/package.json +6 -6
  15. package/docs/ar/configuration.md +0 -922
  16. package/docs/bn/configuration.md +0 -922
  17. package/docs/de/configuration.md +0 -922
  18. package/docs/en-GB/configuration.md +0 -922
  19. package/docs/hi/configuration.md +0 -922
  20. package/docs/id/configuration.md +0 -922
  21. package/docs/it/configuration.md +0 -923
  22. package/docs/ja/configuration.md +0 -922
  23. package/docs/ko/configuration.md +0 -922
  24. package/docs/pl/configuration.md +0 -922
  25. package/docs/pt/configuration.md +0 -922
  26. package/docs/ru/configuration.md +0 -943
  27. package/docs/tr/configuration.md +0 -922
  28. package/docs/uk/configuration.md +0 -922
  29. package/docs/ur/configuration.md +0 -922
  30. package/docs/vi/configuration.md +0 -922
  31. package/docs/zh/configuration.md +0 -922
@@ -1,922 +0,0 @@
1
- ---
2
- createdAt: 2024-08-13
3
- updatedAt: 2026-03-20
4
- title: Konfiguracja (Configuration)
5
- description: Dowiedz się, jak skonfigurować Intlayer dla swojej aplikacji. Zrozum różne ustawienia i opcje dostępne do dostosowania Intlayera do swoich potrzeb.
6
- keywords:
7
- - Konfiguracja
8
- - Ustawienia
9
- - Dostosowanie
10
- - Intlayer
11
- - Opcje
12
- slugs:
13
- - doc
14
- - concept
15
- - configuration
16
- history:
17
- - version: 8.4.0
18
- date: 2026-03-20
19
- changes: Dodano notację obiektową dla poszczególnych wersji językowych dla 'compiler.output' i 'dictionary.fill'
20
- - version: 8.3.0
21
- date: 2026-03-11
22
- changes: Przeniesiono 'baseDir' z konfiguracji 'content' do konfiguracji 'system'
23
- - version: 8.2.0
24
- date: 2026-03-09
25
- changes: Zaktualizowano opcje kompilatora (compiler), dodano wsparcie dla 'output' i 'noMetadata'
26
- - version: 8.1.7
27
- date: 2026-02-25
28
- changes: Zaktualizowano opcje kompilatora
29
- - version: 8.1.5
30
- date: 2026-02-23
31
- changes: Dodano opcję kompilatora 'build-only' i prefiks słownika
32
- - version: 8.0.6
33
- date: 2026-02-12
34
- changes: Dodano wsparcie dla dostawców Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face i Together.ai
35
- - version: 8.0.5
36
- date: 2026-02-06
37
- changes: Dodano `dataSerialization` do konfiguracji AI
38
- - version: 8.0.0
39
- date: 2026-01-24
40
- changes: Zmieniono nazwę trybu importu `live` na `fetch`, aby lepiej opisać mechanizm bazowy.
41
- - version: 8.0.0
42
- date: 2026-01-22
43
- changes: Przeniesiono konfigurację budowania `importMode` do konfiguracji słownika `dictionary`.
44
- - version: 8.0.0
45
- date: 2026-01-22
46
- changes: Dodano opcję `rewrite` do konfiguracji routingu
47
- - version: 8.0.0
48
- date: 2026-01-18
49
- changes: Oddzielono konfigurację systemu od konfiguracji treści. Przeniesiono ścieżki wewnętrzne do właściwości `system`. Dodano `codeDir`, aby oddzielić pliki treści i transformację kodu.
50
- - version: 8.0.0
51
- date: 2026-01-18
52
- changes: Dodano opcje słownika `location` i `schema`
53
- - version: 7.5.1
54
- date: 2026-01-10
55
- changes: Dodano wsparcie dla formatów plików JSON5 i JSONC
56
- - version: 7.5.0
57
- date: 2025-12-17
58
- changes: Dodano opcję `buildMode`
59
- - version: 7.0.0
60
- date: 2025-10-25
61
- changes: Dodano konfigurację `dictionary`
62
- - version: 7.0.0
63
- date: 2025-10-21
64
- changes: Zastąpiono `middleware` konfiguracją routingu `routing`
65
- - version: 7.0.0
66
- date: 2025-10-12
67
- changes: Dodano opcję `formatCommand`
68
- - version: 6.2.0
69
- date: 2025-10-12
70
- changes: Zaktualizowano opcję `excludedPath`
71
- - version: 6.0.2
72
- date: 2025-09-23
73
- changes: Dodano opcję `outputFormat`
74
- - version: 6.0.0
75
- date: 2025-09-21
76
- changes: Usunięto pola `dictionaryOutput` i `i18nextResourcesDir`
77
- - version: 6.0.0
78
- date: 2025-09-16
79
- changes: Dodano tryb importu `live`
80
- - version: 6.0.0
81
- date: 2025-09-04
82
- changes: Zastąpiono pole `hotReload` przez `liveSync` oraz dodano pola `liveSyncPort` i `liveSyncURL`
83
- - version: 5.6.1
84
- date: 2025-07-25
85
- changes: Zastąpiono `activateDynamicImport` opcją `importMode`
86
- - version: 5.6.0
87
- date: 2025-07-13
88
- changes: Zmieniono domyślny contentDir z `['src']` na `['.']`
89
- - version: 5.5.11
90
- date: 2025-06-29
91
- changes: Dodano polecenia `docs`
92
- ---
93
-
94
- # Dokumentacja Konfiguracji Intlayer
95
-
96
- ## Przegląd
97
-
98
- Pliki konfiguracyjne Intlayer pozwalają na dostosowanie różnych aspektów wtyczki, takich jak internacjonalizacja (internationalization), middleware oraz obsługa treści. Niniejsza dokumentacja zawiera szczegółowy opis każdej właściwości w konfiguracji.
99
-
100
- ---
101
-
102
- ## Spis Treści
103
-
104
- <TOC/>
105
-
106
- ---
107
-
108
- ## Obsługiwane Formaty Plików Konfiguracyjnych
109
-
110
- Intlayer akceptuje formaty plików konfiguracyjnych JSON, JS, MJS oraz TS:
111
-
112
- - `intlayer.config.ts`
113
- - `intlayer.config.js`
114
- - `intlayer.config.json`
115
- - `intlayer.config.json5`
116
- - `intlayer.config.jsonc`
117
- - `intlayer.config.cjs`
118
- - `intlayer.config.mjs`
119
- - `.intlayerrc`
120
-
121
- ---
122
-
123
- ## Przykładowy Plik Konfiguracyjny
124
-
125
- ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
126
- import { Locales, type IntlayerConfig } from "intlayer";
127
- import { nextjsRewrite } from "intlayer/routing";
128
- import { z } from "zod";
129
-
130
- /**
131
- * Przykładowy plik konfiguracyjny Intlayer wyświetlający wszystkie dostępne opcje.
132
- */
133
- const config: IntlayerConfig = {
134
- /**
135
- * Konfiguracja ustawień internacjonalizacji.
136
- */
137
- internationalization: {
138
- /**
139
- * Lista obsługiwanych wersji językowych (locales) w aplikacji.
140
- * Domyślnie: [Locales.ENGLISH]
141
- */
142
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
143
-
144
- /**
145
- * Lista obowiązkowych wersji językowych, które muszą być zdefiniowane w każdym słowniku.
146
- * Jeśli puste, wszystkie wersje językowe są obowiązkowe w trybie `strict`.
147
- * Domyślnie: []
148
- */
149
- requiredLocales: [Locales.ENGLISH],
150
-
151
- /**
152
- * Poziom rygoru dla treści internacjonalizowanych.
153
- * - "strict": Błąd, jeśli brakuje jakiejkolwiek zadeklarowanej wersji językowej lub jeśli nie jest zadeklarowana.
154
- * - "inclusive": Ostrzeżenie, jeśli brakuje zadeklarowanej wersji językowej.
155
- * - "loose": Akceptuje dowolną istniejącą wersję językową.
156
- * Domyślnie: "inclusive"
157
- */
158
- strictMode: "inclusive",
159
-
160
- /**
161
- * Domyślna wersja językowa używana jako rezerwowa (fallback) w przypadku nieznalezienia żądanej.
162
- * Domyślnie: Locales.ENGLISH
163
- */
164
- defaultLocale: Locales.ENGLISH,
165
- },
166
-
167
- /**
168
- * Ustawienia kontrolujące operacje na słownikach i zachowanie rezerwowe (fallback).
169
- */
170
- dictionary: {
171
- /**
172
- * Kontroluje sposób importowania słowników.
173
- * - "static": Importowane statycznie w czasie budowania (build time).
174
- * - "dynamic": Importowane dynamicznie przy użyciu Suspense.
175
- * - "fetch": Pobierane dynamicznie za pośrednictwem Live Sync API.
176
- * Domyślnie: "static"
177
- */
178
- importMode: "static",
179
-
180
- /**
181
- * Strategia automatycznego uzupełniania brakujących tłumaczeń przy użyciu AI.
182
- * Może być wartością logiczną (boolean) lub wzorcem ścieżki do zapisywania uzupełnionej treści.
183
- * Domyślnie: true
184
- */
185
- fill: true,
186
-
187
- /**
188
- * Fizyczna lokalizacja plików słownika.
189
- * - "local": Przechowywane w lokalnym systemie plików.
190
- * - "remote": Przechowywane w Intlayer CMS.
191
- * - "hybrid": Przechowywane lokalnie i w Intlayer CMS.
192
- * - "plugin" (lub dowolny niestandardowy ciąg znaków): Dostarczane przez wtyczkę lub niestandardowe źródło.
193
- * Domyślnie: "local"
194
- */
195
- location: "local",
196
-
197
- /**
198
- * Czy treść powinna być automatycznie przekształcana (np. Markdown na HTML).
199
- * Domyślnie: false
200
- */
201
- contentAutoTransformation: false,
202
- },
203
-
204
- /**
205
- * Konfiguracja routingu i middleware.
206
- */
207
- routing: {
208
- /**
209
- * Strategia routingu wersji językowych.
210
- * - "prefix-no-default": Dodaje prefiks do wszystkich oprócz domyślnej (np. /dashboard, /fr/dashboard).
211
- * - "prefix-all": Dodaje prefiks do wszystkich wersji językowych (np. /en/dashboard, /fr/dashboard).
212
- * - "no-prefix": Brak wersji językowej w URL.
213
- * - "search-params": Używa ?locale=...
214
- * Domyślnie: "prefix-no-default"
215
- */
216
- mode: "prefix-no-default",
217
-
218
- /**
219
- * Miejsce przechowywania wersji językowej wybranej przez użytkownika.
220
- * Opcje: 'cookie', 'localStorage', 'sessionStorage', 'header' lub ich tablica.
221
- * Domyślnie: ['cookie', 'header']
222
- */
223
- storage: ["cookie", "header"],
224
-
225
- /**
226
- * Ścieżka bazowa dla adresów URL aplikacji.
227
- * Domyślnie: ""
228
- */
229
- basePath: "",
230
-
231
- /**
232
- * Niestandardowe reguły przepisywania (rewrite) URL dla poszczególnych ścieżek wersji językowych.
233
- */
234
- rewrite: nextjsRewrite({
235
- "/[locale]/about": {
236
- en: "/[locale]/about",
237
- fr: "/[locale]/a-propos",
238
- },
239
- }),
240
- },
241
-
242
- /**
243
- * Ustawienia dotyczące wyszukiwania i przetwarzania plików treści.
244
- */
245
- content: {
246
- /**
247
- * Rozszerzenia plików do skanowania słowników.
248
- * Domyślnie: ['.content.ts', '.content.js', '.content.json', itp.]
249
- */
250
- fileExtensions: [".content.ts", ".content.js", ".content.json"],
251
-
252
- /**
253
- * Katalogi, w których znajdują się pliki .content.
254
- * Domyślnie: ["."]
255
- */
256
- contentDir: ["src"],
257
-
258
- /**
259
- * Miejsce, w którym znajduje się kod źródłowy.
260
- * Używane do optymalizacji budowania i transformacji kodu.
261
- * Domyślnie: ["."]
262
- */
263
- codeDir: ["src"],
264
-
265
- /**
266
- * Wzorce wykluczone ze skanowania.
267
- * Domyślnie: ['node_modules', '.intlayer', itp.]
268
- */
269
- excludedPath: ["node_modules"],
270
-
271
- /**
272
- * Czy monitorować zmiany i przebudowywać słowniki podczas programowania.
273
- * Domyślnie: true w trybie programistycznym (development)
274
- */
275
- watch: true,
276
-
277
- /**
278
- * Polecenie używane do formatowania nowo utworzonych / zaktualizowanych plików .content.
279
- */
280
- formatCommand: 'npx prettier --write "{{file}}"',
281
- },
282
-
283
- /**
284
- * Konfiguracja Edytora Wizualnego (Visual Editor).
285
- */
286
- editor: {
287
- /**
288
- * Czy edytor wizualny jest włączony.
289
- * Domyślnie: false
290
- */
291
- enabled: true,
292
-
293
- /**
294
- * Adres URL Twojej aplikacji do walidacji pochodzenia (origin validation).
295
- * Domyślnie: ""
296
- */
297
- applicationURL: "http://localhost:3000",
298
-
299
- /**
300
- * Port dla lokalnego serwera edytora.
301
- * Domyślnie: 8000
302
- */
303
- port: 8000,
304
-
305
- /**
306
- * Publiczny adres URL edytora.
307
- * Domyślnie: "http://localhost:8000"
308
- */
309
- editorURL: "http://localhost:8000",
310
-
311
- /**
312
- * Adres URL Intlayer CMS.
313
- * Domyślnie: "https://app.intlayer.org"
314
- */
315
- cmsURL: "https://app.intlayer.org",
316
-
317
- /**
318
- * Adres URL Backend API.
319
- * Domyślnie: "https://back.intlayer.org"
320
- */
321
- backendURL: "https://back.intlayer.org",
322
-
323
- /**
324
- * Czy włączyć synchronizację treści w czasie rzeczywistym.
325
- * Domyślnie: false
326
- */
327
- liveSync: true,
328
- },
329
-
330
- /**
331
- * Ustawienia tłumaczenia i budowania opartego na AI.
332
- */
333
- ai: {
334
- /**
335
- * Dostawca AI do użycia.
336
- * Opcje: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
337
- * Domyślnie: 'openai'
338
- */
339
- provider: "openai",
340
-
341
- /**
342
- * Model wybranego dostawcy do użycia.
343
- */
344
- model: "gpt-4o",
345
-
346
- /**
347
- * Klucz API dostawcy.
348
- */
349
- apiKey: process.env.OPENAI_API_KEY,
350
-
351
- /**
352
- * Kontekst globalny dla AI podczas budowania tłumaczeń.
353
- */
354
- applicationContext: "To jest aplikacja do rezerwacji podróży.",
355
-
356
- /**
357
- * Bazowy adres URL ścieżki (base path URL) dla AI API.
358
- */
359
- baseURL: "http://localhost:3000",
360
-
361
- /**
362
- * Serializacja danych (Data Serialization)
363
- *
364
- * Opcje:
365
- * - "json": Domyślna, solidna; zużywa więcej tokenów.
366
- * - "toon": Zużywa mniej tokenów, może nie być tak spójna jak JSON.
367
- *
368
- * Domyślnie: "json"
369
- */
370
- dataSerialization: "json",
371
- },
372
-
373
- /**
374
- * Ustawienia budowania i optymalizacji.
375
- */
376
- build: {
377
- /**
378
- * Tryb wykonywania budowania.
379
- * - "auto": Będzie budowane automatycznie podczas budowania aplikacji.
380
- * - "manual": Wymaga wyraźnego polecenia budowania.
381
- * Domyślnie: "auto"
382
- */
383
- mode: "auto",
384
-
385
- /**
386
- * Czy optymalizować ostateczny pakiet (bundle) poprzez usuwanie nieużywanych słowników.
387
- * Domyślnie: true w środowisku produkcyjnym (production)
388
- */
389
- optimize: true,
390
-
391
- /**
392
- * Format wyjściowy dla wygenerowanych plików słownika.
393
- * Domyślnie: ['cjs', 'esm']
394
- */
395
- outputFormat: ["cjs", "esm"],
396
-
397
- /**
398
- * Określa, czy podczas budowania należy sprawdzać typy TypeScript.
399
- * Domyślnie: false
400
- */
401
- checkTypes: false,
402
- },
403
-
404
- /**
405
- * Konfiguracja rejestratora (Logger).
406
- */
407
- log: {
408
- /**
409
- * Poziom rejestrowania.
410
- * - "default": Standardowe rejestrowanie.
411
- * - "verbose": Szczegółowe rejestrowanie debugowania.
412
- * - "disabled": Wyłącza rejestrowanie.
413
- * Domyślnie: "default"
414
- */
415
- mode: "default",
416
-
417
- /**
418
- * Prefiks wszystkich komunikatów dziennika.
419
- * Domyślnie: "[intlayer]"
420
- */
421
- prefix: "[intlayer]",
422
- },
423
-
424
- /**
425
- * Konfiguracja systemu (do użytku zaawansowanego)
426
- */
427
- system: {
428
- /**
429
- * Katalog do przechowywania zlokalizowanych słowników.
430
- */
431
- dictionariesDir: ".intlayer/dictionary",
432
-
433
- /**
434
- * Katalog dla TypeScript module augmentation.
435
- */
436
- moduleAugmentationDir: ".intlayer/types",
437
-
438
- /**
439
- * Katalog do przechowywania niepołączonych (unmerged) słowników.
440
- */
441
- unmergedDictionariesDir: ".intlayer/unmerged_dictionary",
442
-
443
- /**
444
- * Katalog do przechowywania typów słowników.
445
- */
446
- typesDir: ".intlayer/types",
447
-
448
- /**
449
- * Katalog, w którym przechowywane są główne pliki aplikacji.
450
- */
451
- mainDir: ".intlayer/main",
452
-
453
- /**
454
- * Katalog, w którym przechowywane są pliki konfiguracyjne.
455
- */
456
- configDir: ".intlayer/config",
457
-
458
- /**
459
- * Katalog, w którym przechowywane są pliki pamięci podręcznej (cache).
460
- */
461
- cacheDir: ".intlayer/cache",
462
- },
463
-
464
- /**
465
- * Konfiguracja Kompilatora (dla użytku zaawansowanego)
466
- */
467
- compiler: {
468
- /**
469
- * Określa, czy kompilator powinien być włączony.
470
- *
471
- * - false: Wyłącza kompilator.
472
- * - true: Włącza kompilator.
473
- * - "build-only": Pomija kompilator podczas programowania i przyspiesza czas uruchamiania.
474
- *
475
- * Domyślnie: false
476
- */
477
- enabled: true,
478
-
479
- /**
480
- * Definiuje ścieżkę dla plików wyjściowych. Zastępuje `outputDir`.
481
- *
482
- * - Ścieżki z `./` są rozwiązywane względem katalogu komponentów.
483
- * - Ścieżki z `/` są rozwiązywane względem katalogu głównego projektu (`baseDir`).
484
- *
485
- * - Uwzględnienie zmiennej `{{locale}}` w ścieżce spowoduje tworzenie oddzielnych słowników dla każdego języka.
486
- *
487
- * Przykład:
488
- * ```ts
489
- * {
490
- * // Twórz wielojęzyczne pliki .content.ts obok komponentu
491
- * output: ({ fileName, extension }) => `./${fileName}${extension}`,
492
- *
493
- * // output: './{{fileName}}{{extension}}', // Równoważne przy użyciu ciągu szablonowego
494
- * }
495
- * ```
496
- *
497
- * ```ts
498
- * {
499
- * // Twórz scentralizowane JSONy dla każdego języka w katalogu głównym projektu
500
- * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
501
- *
502
- * // output: '/locales/{{locale}}/{{key}}.content.json', // Równoważne przy użyciu ciągu szablonowego
503
- * }
504
- * ```
505
- *
506
- * Lista zmiennych:
507
- * - `fileName`: Nazwa pliku.
508
- * - `key`: Klucz treści (key).
509
- * - `locale`: Wersja językowa treści.
510
- * - `extension`: Rozszerzenie pliku.
511
- * - `componentFileName`: Nazwa pliku komponentu.
512
- * - `componentExtension`: Rozszerzenie pliku komponentu.
513
- * - `format`: Format słownika.
514
- * - `componentFormat`: Format słownika komponentu.
515
- * - `componentDirPath`: Ścieżka katalogu komponentu.
516
- */
517
- output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
518
-
519
- /**
520
- * Określa, czy komponenty powinny być zapisywane po transformacji.
521
- * W ten sposób kompilator może zostać uruchomiony tylko raz, aby przekształcić aplikację, a następnie usunięty.
522
- */
523
- saveComponents: false,
524
-
525
- /**
526
- * Wstawia tylko treść do wygenerowanego pliku. Przydatne dla wyjścia JSON dla każdego języka dla i18next lub ICU MessageFormat.
527
- */
528
- noMetadata: false,
529
-
530
- /**
531
- * Prefiks klucza słownika
532
- */
533
- dictionaryKeyPrefix: "", // Dodaj opcjonalny prefiks do wyodrębnionych kluczy słownika
534
- },
535
-
536
- /**
537
- * Niestandardowe schematy (Schemas) do walidacji zawartości słownika.
538
- */
539
- schemas: {
540
- "my-schema": z.object({
541
- title: z.string(),
542
- }),
543
- },
544
-
545
- /**
546
- * Konfiguracja wtyczek (Plugins).
547
- */
548
- plugins: [],
549
- };
550
-
551
- export default config;
552
- ````
553
-
554
- ---
555
-
556
- ## Odniesienie do Konfiguracji (Configuration Reference)
557
-
558
- Poniższe sekcje opisują różne opcje konfiguracyjne dostępne w Intlayer.
559
-
560
- ---
561
-
562
- ### Konfiguracja Internacjonalizacji (Internationalization Configuration)
563
-
564
- Definiuje ustawienia związane z internacjonalizacją, w tym dostępne wersje językowe i domyślną wersję językową aplikacji.
565
-
566
- | Pole | Typ | Opis | Przykład | Uwaga |
567
- | ----------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
568
- | `locales` | `string[]` | Lista obsługiwanych wersji językowych w aplikacji. Domyślnie: `[Locales.ENGLISH]` | `['en', 'fr', 'es']` | |
569
- | `requiredLocales` | `string[]` | Lista obowiązkowych wersji językowych w aplikacji. Domyślnie: `[]` | `[]` | Jeśli puste, wszystkie wersje językowe są obowiązkowe w trybie `strict`. Upewnij się, że obowiązkowe wersje językowe są również zdefiniowane w polu `locales`. |
570
- | `strictMode` | `string` | Zapewnia solidną implementację internacjonalizowanej treści dzięki użyciu TypeScript. Domyślnie: `inclusive` | | Jeśli `"strict"`: funkcja `t` wymaga zdefiniowania każdej zadeklarowanej wersji językowej — zgłasza błąd, jeśli jakiejkolwiek brakuje lub nie jest zadeklarowana. Jeśli `"inclusive"`: ostrzega o brakujących wersjach językowych, ale akceptuje istniejące niezadeklarowane wersje językowe. Jeśli `"loose"`: akceptuje każdą istniejącą wersję językową. |
571
- | `defaultLocale` | `string` | Domyślna wersja językowa używana jako rezerwowa (fallback), jeśli nie znaleziono żądanej. Domyślnie: `Locales.ENGLISH` | `'en'` | Używane do określenia wersji językowej, gdy żadna nie jest określona w URL, pliku cookie lub nagłówku (header). |
572
-
573
- ---
574
-
575
- ### Konfiguracja Edytora (Editor Configuration)
576
-
577
- Definiuje ustawienia związane ze zintegrowanym edytorem, w tym port serwera i status aktywności.
578
-
579
- | Pole | Typ | Opis | Przykład | Uwaga |
580
- | ---------------------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
581
- | `applicationURL` | `string` | Adres URL Twojej aplikacji. Domyślnie: `''` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Używane do ograniczania pochodzenia (origins) edytora ze względów bezpieczeństwa. Jeśli ustawione na `'*'`, edytor jest dostępny z dowolnego pochodzenia. |
582
- | `port` | `number` | Port używany przez serwer Edytora Wizualnego. Domyślnie: `8000` | | |
583
- | `editorURL` | `string` | Adres URL serwera edytora. Domyślnie: `'http://localhost:8000'` | `'http://localhost:3000'`, `'https://example.com'`, `process.env.INTLAYER_EDITOR_URL` | Używane do ograniczania pochodzenia, które może wchodzić w interakcję z aplikacją. Jeśli ustawione na `'*'`, dostępne z dowolnego pochodzenia. Musi być ustawione przy zmianie portu lub jeśli edytor jest hostowany w innej domenie. |
584
- | `cmsURL` | `string` | Adres URL Intlayer CMS. Domyślnie: `'https://intlayer.org'` | `'https://intlayer.org'` | |
585
- | `backendURL` | `string` | Adres URL serwera backendu. Domyślnie: `https://back.intlayer.org` | `http://localhost:4000` | |
586
- | `enabled` | `boolean` | Określa, czy aplikacja będzie współpracować z edytorem wizualnym. Domyślnie: `true` | `process.env.NODE_ENV !== 'production'` | Jeśli `false`, edytor nie może wchodzić w interakcję z aplikacją. Wyłączenie go dla określonych środowisk zwiększa bezpieczeństwo. |
587
- | `clientId` | `string &#124; undefined` | Umożliwia pakietom intlayer uwierzytelnianie w backendzie przy użyciu oAuth2. Aby otrzymać token dostępu, wejdź na [intlayer.org/project](https://app.intlayer.org/project). Domyślnie: `undefined` | | Zachowaj go w tajemnicy; przechowuj w zmiennych środowiskowych. |
588
- | `clientSecret` | `string &#124; undefined` | Umożliwia pakietom intlayer uwierzytelnianie w backendzie przy użyciu oAuth2. Aby otrzymać token dostępu, wejdź na [intlayer.org/project](https://app.intlayer.org/project). Domyślnie: `undefined` | | Zachowaj go w tajemnicy; przechowuj w zmiennych środowiskowych. |
589
- | `dictionaryPriorityStrategy` | `string` | Strategia ustalania priorytetów słowników, gdy istnieją zarówno słowniki lokalne, jak i zdalne. Domyślnie: `'local_first'` | `'distant_first'` | `'distant_first'`: Priorytetyzuje zdalne nad lokalnymi. `'local_first'`: Priorytetyzuje lokalne nad zdalnymi. |
590
- | `liveSync` | `boolean` | Określa, czy serwer aplikacji powinien przeładowywać treści na gorąco (hot reload), gdy wykryta zostanie zmiana w CMS / Edytorze Wizualnym / Backendzie. Domyślnie: `true` | `true` | Gdy słownik zostanie dodany/zaktualizowany, aplikacja aktualizuje zawartość strony. Live sync zleca treść innemu serwerowi, co może nieznacznie wpłynąć na wydajność. Zaleca się hostowanie obu na tej samej maszynie. |
591
- | `liveSyncPort` | `number` | Port serwera Live Sync. Domyślnie: `4000` | `4000` | |
592
- | `liveSyncURL` | `string` | Adres URL serwera Live Sync. Domyślnie: `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Domyślnie wskazuje na localhost; można zmienić na zdalny serwer synchroniczny na żywo (live sync server). |
593
-
594
- ### Konfiguracja Routingu (Routing Configuration)
595
-
596
- Ustawienia kontrolujące zachowanie routingu, w tym strukturę adresów URL, przechowywanie wersji językowej i obsługę middleware.
597
-
598
- | Pole | Typ | Opis | Przykład | Uwaga |
599
- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
600
- | `mode` | `'prefix-no-default' &#124; 'prefix-all' &#124; 'no-prefix' &#124; 'search-params'` | Tryb routingu URL dla obsługi wersji językowych. Domyślnie: `'prefix-no-default'` | `'prefix-no-default'`: `/dashboard` (en) lub `/fr/dashboard` (fr). `'prefix-all'`: `/en/dashboard`. `'no-prefix'`: wersja językowa obsługiwana innymi środkami. `'search-params'`: używa `/dashboard?locale=fr` | Nie wpływa na zarządzanie plikami cookie ani na przechowywanie wersji językowej (locale storage). |
601
- | `storage` | `false &#124; 'cookie' &#124; 'localStorage' &#124; 'sessionStorage' &#124; 'header' &#124; CookiesAttributes &#124; StorageAttributes &#124; Array` | Konfiguracja przechowywania wersji językowej na kliencie. Domyślnie: `['cookie', 'header']` | `'localStorage'`, `[{ type: 'cookie', name: 'custom-locale', secure: true }]` | Zobacz poniższą tabelę Opcji Przechowywania (Storage Options). |
602
- | `basePath` | `string` | Ścieżka bazowa dla adresów URL aplikacji. Domyślnie: `''` | `'/my-app'` | Jeśli aplikacja znajduje się pod adresem `https://example.com/my-app`, basePath to `'/my-app'`, a adresy URL stają się takie jak `https://example.com/my-app/en`. |
603
- | `rewrite` | `Record<string, StrictModeLocaleMap<string>>` | Niestandardowe reguły przepisywania (rewrite) URL, które zastępują domyślny tryb routingu dla określonych ścieżek. Obsługuje parametry dynamiczne `[param]`. Domyślnie: `undefined` | Zobacz przykład poniżej | Reguły przepisywania mają pierwszeństwo przed `mode`. Działa z Next.js i Vite. `getLocalizedUrl()` automatycznie stosuje pasujące reguły. Zobacz [Niestandardowe Przepisywanie URL](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/custom_url_rewrites.md). |
604
-
605
- **Przykład `rewrite`**:
606
-
607
- ```typescript
608
- routing: {
609
- mode: "prefix-no-default", // Strategia rezerwowa (fallback)
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
- #### Opcje Przechowywania (Storage Options)
628
-
629
- | Wartość | Opis | Uwaga |
630
- | ------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
631
- | `'cookie'` | Zapisuje wersję językową w plikach cookie — dostępnych zarówno po stronie klienta, jak i serwera. | Aby zachować zgodność z RODO (GDPR), upewnij się, że uzyskano odpowiednią zgodę użytkownika. Możliwość dostosowania za pomocą `CookiesAttributes` (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`). |
632
- | `'localStorage'` | Zapisuje wersję językową w przeglądarce bez daty wygaśnięcia — tylko po stronie klienta. | Nie wygasa, dopóki nie zostanie wyraźnie wyczyszczone. Proxy Intlayer nie może uzyskać do tego dostępu. Możliwość dostosowania za pomocą `StorageAttributes` (`{ type: 'localStorage', name: 'custom-locale' }`). |
633
- | `'sessionStorage'` | Zapisuje wersję językową na czas trwania sesji strony — tylko po stronie klienta. | Wyczyszczone po zamknięciu karty/okna. Proxy Intlayer nie może uzyskać do tego dostępu. Możliwość dostosowania za pomocą `StorageAttributes` (`{ type: 'sessionStorage', name: 'custom-locale' }`). |
634
- | `'header'` | Zapisuje lub przesyła wersję językową za pośrednictwem nagłówków HTTP — tylko po stronie serwera. | Przydatne przy wywołaniach API. Strona klienta nie może uzyskać dostępu. Możliwość dostosowania za pomocą `StorageAttributes` (`{ type: 'header', name: 'custom-locale' }`). |
635
-
636
- #### Atrybuty Plików Cookie (Cookie Attributes)
637
-
638
- Przy korzystaniu z przechowywania w plikach cookie można skonfigurować dodatkowe atrybuty:
639
-
640
- | Pole | Typ | Opis |
641
- | ---------- | ------------------------------------- | ------------------------------------------------------- |
642
- | `name` | `string` | Nazwa pliku cookie. Domyślnie: `'INTLAYER_LOCALE'` |
643
- | `domain` | `string` | Domena pliku cookie. Domyślnie: `undefined` |
644
- | `path` | `string` | Ścieżka pliku cookie. Domyślnie: `undefined` |
645
- | `secure` | `boolean` | Wymaga HTTPS. Domyślnie: `undefined` |
646
- | `httpOnly` | `boolean` | Flaga HTTP-only. Domyślnie: `undefined` |
647
- | `sameSite` | `'strict' &#124; 'lax' &#124; 'none'` | Polityka SameSite. |
648
- | `expires` | `Date &#124; number` | Data wygaśnięcia lub liczba dni. Domyślnie: `undefined` |
649
-
650
- #### Atrybuty Przechowywania Wersji Językowej (Locale Storage Attributes)
651
-
652
- Przy korzystaniu z localStorage lub sessionStorage:
653
-
654
- | Pole | Typ | Opis |
655
- | ------ | ---------------------------------------- | ----------------------------------------------------------- |
656
- | `type` | `'localStorage' &#124; 'sessionStorage'` | Typ przechowywania. |
657
- | `name` | `string` | Nazwa klucza przechowywania. Domyślnie: `'INTLAYER_LOCALE'` |
658
-
659
- #### Przykłady Konfiguracji
660
-
661
- Oto kilka typowych przykładów konfiguracji dla nowej struktury routingu v7:
662
-
663
- **Podstawowa Konfiguracja (Domyślna)**:
664
-
665
- ```typescript
666
- import { Locales, type IntlayerConfig } from "intlayer";
667
- // intlayer.config.ts
668
- const config: IntlayerConfig = {
669
- internationalization: {
670
- locales: ["en", "fr", "es"],
671
- defaultLocale: "en",
672
- },
673
- routing: {
674
- mode: "prefix-no-default",
675
- storage: "localStorage",
676
- basePath: "",
677
- },
678
- };
679
-
680
- export default config;
681
- ```
682
-
683
- **Konfiguracja Zgodna z RODO**:
684
-
685
- ```typescript
686
- import { Locales, type IntlayerConfig } from "intlayer";
687
- // intlayer.config.ts
688
- const config: IntlayerConfig = {
689
- internationalization: {
690
- locales: ["en", "fr", "es"],
691
- defaultLocale: "en",
692
- },
693
- routing: {
694
- mode: "prefix-no-default",
695
- storage: [
696
- {
697
- type: "localStorage",
698
- name: "user-locale",
699
- },
700
- {
701
- type: "cookie",
702
- name: "user-locale",
703
- secure: true,
704
- sameSite: "strict",
705
- httpOnly: false,
706
- },
707
- ],
708
- basePath: "",
709
- },
710
- };
711
-
712
- export default config;
713
- ```
714
-
715
- **Tryb Parametrów Wyszukiwania (Search Parameters Mode)**:
716
-
717
- ```typescript
718
- import { Locales, type IntlayerConfig } from "intlayer";
719
- // intlayer.config.ts
720
- const config: IntlayerConfig = {
721
- internationalization: {
722
- locales: ["en", "fr", "es"],
723
- defaultLocale: "en",
724
- },
725
- routing: {
726
- mode: "search-params",
727
- storage: "localStorage",
728
- basePath: "",
729
- },
730
- };
731
-
732
- export default config;
733
- ```
734
-
735
- **Tryb Bez Prefiksu (No Prefix Mode) z niestandardowym przechowywaniem**:
736
-
737
- ```typescript
738
- import { Locales, type IntlayerConfig } from "intlayer";
739
- // intlayer.config.ts
740
- const config: IntlayerConfig = {
741
- internationalization: {
742
- locales: ["en", "fr", "es"],
743
- defaultLocale: "en",
744
- },
745
- routing: {
746
- mode: "no-prefix",
747
- storage: {
748
- type: "sessionStorage",
749
- name: "app-locale",
750
- },
751
- basePath: "/my-app",
752
- },
753
- };
754
-
755
- export default config;
756
- ```
757
-
758
- **Niestandardowe Przepisywanie URL z ścieżkami dynamicznymi**:
759
-
760
- ```typescript
761
- // intlayer.config.ts
762
- import { nextjsRewrite } from "intlayer/routing";
763
-
764
- const config: IntlayerConfig = {
765
- internationalization: {
766
- locales: ["en", "fr"],
767
- defaultLocale: "en",
768
- },
769
- routing: {
770
- mode: "prefix-no-default", // Strategia rezerwowa dla nieprzepisanych ścieżek
771
- storage: "cookie",
772
- rewrite: nextjsRewrite({
773
- "/about": {
774
- en: "/about",
775
- fr: "/a-propos",
776
- },
777
- "/product/[slug]": {
778
- en: "/product/[slug]",
779
- fr: "/produit/[slug]",
780
- },
781
- "/blog/[category]/[id]": {
782
- en: "/blog/[category]/[id]",
783
- fr: "/journal/[category]/[id]",
784
- },
785
- }),
786
- },
787
- };
788
-
789
- export default config;
790
- ```
791
-
792
- ---
793
-
794
- ### Konfiguracja Treści (Content Configuration)
795
-
796
- Ustawienia związane z przetwarzaniem treści w aplikacji (nazwy katalogów, rozszerzenia plików i konfiguracje pochodne).
797
-
798
- | Pole | Typ | Opis | Przykład | Uwaga |
799
- | ---------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
800
- | `watch` | `boolean` | Określa, czy Intlayer powinien monitorować zmiany w plikach deklaracji treści w celu przebudowy słowników. Domyślnie: `process.env.NODE_ENV === 'development'` | | |
801
- | `fileExtensions` | `string[]` | Rozszerzenia plików używane do skanowania plików deklaracji treści. Domyślnie: `['.content.ts', '.content.js', '.content.mjs', '.content.cjs', '.content.json', '.content.json5', '.content.jsonc']` | `['.content.ts', '.content.js']` | |
802
- | `contentDir` | `string[]` | Ścieżki do katalogów, w których znajdują się pliki deklaracji treści. Domyślnie: `['.']` | `['src/content']` | |
803
- | `codeDir` | `string[]` | Ścieżki do katalogów, w których znajdują się pliki kodu źródłowego Twojej aplikacji. Domyślnie: `['.']` | `['src']` | Używane do optymalizacji budowania i zapewnienia, że transformacja kodu oraz przeładowanie na gorąco są stosowane tylko do niezbędnych plików. |
804
- | `excludedPath` | `string[]` | Ścieżki wykluczone ze skanowania treści. Domyślnie: `['node_modules', '.intlayer', '.next', 'dist', 'build']` | `['src/styles']` | |
805
- | `formatCommand` | `string` | Polecenie, które zostanie wykonane w celu sformatowania nowo utworzonych lub zaktualizowanych plików treści. Domyślnie: `undefined` | `'npx prettier --write "{{file}}"'` | Używane podczas wyodrębniania treści lub za pośrednictwem edytora wizualnego. |
806
-
807
- ---
808
-
809
- ### Konfiguracja Słownika (Dictionary Configuration)
810
-
811
- Ustawienia kontrolujące operacje na słownikach, w tym zachowanie automatycznego uzupełniania i tworzenie treści.
812
-
813
- Ta konfiguracja słownika ma dwa główne cele:
814
-
815
- 1. **Wartości domyślne**: Definiowanie wartości domyślnych podczas tworzenia plików deklaracji treści.
816
- 2. **Zachowanie rezerwowe (fallback)**: Pozwala na globalne ustawienie zachowania operacji na słownikach, zapewniając wartości rezerwowe, gdy określone pola nie są zdefiniowane.
817
-
818
- Aby uzyskać więcej informacji na temat sposobu stosowania plików deklaracji treści i wartości konfiguracyjnych, zobacz [dokumentację plików treści](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md).
819
-
820
- | Pole | Typ | Opis | Przykład | Uwaga |
821
- | --------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
822
- | `fill` | `boolean &#124; FilePathPattern &#124; Partial<Record<Locale, boolean &#124; FilePathPattern>>` | Kontroluje sposób generowania plików wyjściowych automatycznego uzupełniania (tłumaczenie AI). Domyślnie: `true` | Zobacz przykład poniżej | `true`: domyślna ścieżka (ten sam plik co źródło). `false`: wyłączone. Wzorce ciągów/funkcji generują pliki dla poszczególnych języków. Obiekt dla poszczególnych języków: każdy język mapuje się na własny wzorzec; `false` pomija ten język. Uwzględnienie zmiennej `{{locale}}` aktywuje generowanie dla poszczególnych języków. `fill` na poziomie słownika zawsze ma pierwszeństwo przed tą globalną konfiguracją. |
823
- | `importMode` | `'static' &#124; 'dynamic' &#124; 'fetch'` | Kontroluje sposób importowania słowników. Domyślnie: `'static'` | `'dynamic'` | `'static'`: Importowane statycznie. `'dynamic'`: Importowane dynamicznie przez 'Suspense'. `'fetch'`: Pobierane dynamicznie przez 'Live Sync API'. Nie ma wpływu na `getIntlayer`, `getDictionary`, `useDictionary` itp. |
824
- | `location` | `'local' &#124; 'remote' &#124; 'hybrid' &#124; string` | Gdzie przechowywane są słowniki. Domyślnie: `'local'` | `'remote'` | `'local'`: system plików. `'remote'`: Intlayer CMS. `'hybrid'`: oba. |
825
- | `contentAutoTransformation` | `boolean` | Czy pliki treści mają być automatycznie przekształcane (np. z Markdown na HTML). Domyślnie: `false` | `true` | Przydatne do przetwarzania pól Markdown za pośrednictwem @intlayer/markdown. |
826
-
827
- **Przykład `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
- ```
838
-
839
- ---
840
-
841
- ### Konfiguracja AI (AI Configuration)
842
-
843
- Definiuje ustawienia dla funkcji Intlayer opartych na AI, takich jak tłumaczenie podczas budowania (build translation).
844
-
845
- | Pole | Typ | Opis | Przykład | Uwaga |
846
- | -------------------- | ---------------------- | ------------------------------------------------------------------------------ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
847
- | `provider` | `string` | Dostawca AI do użycia. | `'openai'`, `'anthropic'`, `'googlevertex'` | |
848
- | `model` | `string` | Model AI do użycia. | `'gpt-4o'`, `'claude-3-5-sonnet-20240620'` | |
849
- | `apiKey` | `string` | Klucz API dla wybranego dostawcy. | `process.env.OPENAI_API_KEY` | |
850
- | `applicationContext` | `string` | Dodatkowy kontekst Twojej aplikacji w celu poprawy dokładności tłumaczenia AI. | `'Platforma edukacyjna dla dzieci.'` | |
851
- | `baseURL` | `string` | Opcjonalny bazowy adres URL dla wywołań API. | | Przydatne, jeśli używasz proxy lub lokalnego wdrożenia AI. |
852
- | `dataSerialization` | `'json' &#124; 'toon'` | Definiuje sposób wysyłania danych do AI. Domyślnie: `'json'` | `'json'` | `'json'`: bardziej stabilny i precyzyjny. `'toon'`: zużywa mniej tokenów, ale może być mniej stabilny. |
853
-
854
- ---
855
-
856
- ### Konfiguracja Budowania (Build Configuration)
857
-
858
- Ustawienia procesu budowania i optymalizacji Intlayer.
859
-
860
- | Pole | Typ | Opis | Przykład | Uwaga |
861
- | -------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -------- | ----- |
862
- | `mode` | `'auto' &#124; 'manual'` | Określa, czy Intlayer ma być uruchamiany automatycznie podczas etapów pre-build aplikacji. Domyślnie: `'auto'` | | |
863
- | `optimize` | `boolean` | Określa, czy skompilowane słowniki powinny być optymalizowane pod kątem czasu wykonywania. Domyślnie: `true` w produkcji | | |
864
- | `outputFormat` | `('cjs' &#124; 'esm')[]` | Format wyjściowy generowanych plików słownika. Domyślnie: `['cjs', 'esm']` | | |
865
- | `checkTypes` | `boolean` | Określa, czy Intlayer powinien sprawdzać typy w wygenerowanych plikach. Domyślnie: `false` | | |
866
-
867
- ---
868
-
869
- ### Konfiguracja Systemu (System Configuration)
870
-
871
- Te ustawienia są przeznaczone dla zaawansowanych przypadków użycia i wewnętrznej konfiguracji Intlayer.
872
-
873
- | Pole | Typ | Opis | Domyślnie |
874
- | ------------------------- | -------- | ----------------------------------------------- | --------------------------------- |
875
- | `dictionariesDir` | `string` | Katalog skompilowanych słowników. | `'.intlayer/dictionary'` |
876
- | `moduleAugmentationDir` | `string` | Katalog dla TypeScript module augmentation. | `'.intlayer/types'` |
877
- | `unmergedDictionariesDir` | `string` | Katalog niepołączonych słowników. | `'.intlayer/unmerged_dictionary'` |
878
- | `typesDir` | `string` | Katalog wygenerowanych typów. | `'.intlayer/types'` |
879
- | `mainDir` | `string` | Główny katalog plików Intlayer. | `'.intlayer/main'` |
880
- | `configDir` | `string` | Katalog skompilowanych plików konfiguracyjnych. | `'.intlayer/config'` |
881
- | `cacheDir` | `string` | Katalog plików pamięci podręcznej. | `'.intlayer/cache'` |
882
-
883
- ---
884
-
885
- ### Konfiguracja Kompilatora (Compiler Configuration)
886
-
887
- Ustawienia kompilatora Intlayer (`intlayer compiler`).
888
-
889
- | Pole | Typ | Opis | Domyślnie |
890
- | --------------------- | ------------------------ | ------------------------------------------------------------------------------------------ | --------- |
891
- | `enabled` | `boolean` | Określa, czy kompilator jest aktywny. | `false` |
892
- | `output` | `string &#124; Function` | Ścieżka wyjściowa dla wyodrębnionych słowników. | |
893
- | `saveComponents` | `boolean` | Określa, czy oryginalne pliki źródłowe powinny zostać nadpisane wersjami przekształconymi. | `false` |
894
- | `noMetadata` | `boolean` | Jeśli `true`, kompilator nie będzie dołączać metadanych w wygenerowanych plikach. | `false` |
895
- | `dictionaryKeyPrefix` | `string` | Opcjonalny prefiks klucza słownika. | `''` |
896
-
897
- ---
898
-
899
- ### Konfiguracja Rejestratora (Logger Configuration)
900
-
901
- Ustawienia dostosowywania wyjścia logów Intlayer.
902
-
903
- | Pole | Typ | Opis | Domyślnie |
904
- | -------- | ---------------------------------------------- | -------------------------- | -------------- |
905
- | `mode` | `'default' &#124; 'verbose' &#124; 'disabled'` | Tryb rejestrowania. | `'default'` |
906
- | `prefix` | `string` | Prefiks komunikatów logów. | `'[intlayer]'` |
907
-
908
- ---
909
-
910
- ### Niestandardowe Schematy (Custom Schemas)
911
-
912
- | Pole | Typ | Opis |
913
- | --------- | --------------------------- | --------------------------------------------------------------------- |
914
- | `schemas` | `Record<string, ZodSchema>` | Pozwala definiować schematy Zod w celu walidacji struktury słowników. |
915
-
916
- ---
917
-
918
- ### Wtyczki (Plugins)
919
-
920
- | Pole | Typ | Opis |
921
- | --------- | ------------------ | ------------------------------------ |
922
- | `plugins` | `IntlayerPlugin[]` | Lista wtyczek Intlayer do aktywacji. |