@intlayer/docs 8.2.4 → 8.3.0-canary.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/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +1 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1 -1
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +1 -1
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +1 -1
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +1 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts +1 -1
- package/dist/types/frequentQuestions.d.ts +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -1
- package/dist/types/generated/legal.entry.d.ts +1 -1
- package/dist/types/legal.d.ts +1 -1
- package/docs/ar/compiler.md +73 -8
- package/docs/ar/configuration.md +74 -27
- package/docs/ar/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/ar/intlayer_with_tanstack.md +22 -1
- package/docs/ar/intlayer_with_vite+react_compiler.md +13 -5
- package/docs/de/compiler.md +74 -9
- package/docs/de/configuration.md +61 -22
- package/docs/de/intlayer_with_nextjs_compiler.md +12 -4
- package/docs/de/intlayer_with_tanstack.md +22 -1
- package/docs/de/intlayer_with_vite+react_compiler.md +12 -4
- package/docs/en/compiler.md +79 -1
- package/docs/en/configuration.md +50 -9
- package/docs/en/intlayer_with_nextjs_compiler.md +9 -1
- package/docs/en/intlayer_with_tanstack.md +23 -2
- package/docs/en/intlayer_with_vite+react_compiler.md +9 -1
- package/docs/en-GB/compiler.md +72 -6
- package/docs/en-GB/configuration.md +50 -10
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +22 -3
- package/docs/en-GB/intlayer_with_tanstack.md +22 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +22 -3
- package/docs/es/compiler.md +71 -6
- package/docs/es/configuration.md +65 -26
- package/docs/es/intlayer_with_nextjs_compiler.md +9 -1
- package/docs/es/intlayer_with_tanstack.md +22 -1
- package/docs/es/intlayer_with_vite+react_compiler.md +9 -1
- package/docs/fr/compiler.md +69 -4
- package/docs/fr/configuration.md +62 -23
- package/docs/fr/intlayer_with_nextjs_compiler.md +9 -1
- package/docs/fr/intlayer_with_tanstack.md +22 -1
- package/docs/fr/intlayer_with_vite+react_compiler.md +9 -1
- package/docs/hi/compiler.md +74 -9
- package/docs/hi/configuration.md +70 -23
- package/docs/hi/intlayer_with_nextjs_compiler.md +15 -7
- package/docs/hi/intlayer_with_tanstack.md +22 -1
- package/docs/hi/intlayer_with_vite+react_compiler.md +15 -7
- package/docs/id/compiler.md +73 -8
- package/docs/id/configuration.md +67 -20
- package/docs/id/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/id/intlayer_with_tanstack.md +22 -1
- package/docs/id/intlayer_with_vite+react_compiler.md +13 -5
- package/docs/it/compiler.md +73 -8
- package/docs/it/configuration.md +66 -27
- package/docs/it/intlayer_with_nextjs_compiler.md +12 -4
- package/docs/it/intlayer_with_tanstack.md +22 -1
- package/docs/it/intlayer_with_vite+react_compiler.md +12 -4
- package/docs/ja/compiler.md +75 -10
- package/docs/ja/configuration.md +70 -23
- package/docs/ja/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/ja/intlayer_with_tanstack.md +22 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +13 -5
- package/docs/ko/compiler.md +75 -10
- package/docs/ko/configuration.md +70 -23
- package/docs/ko/intlayer_with_nextjs_compiler.md +22 -3
- package/docs/ko/intlayer_with_tanstack.md +22 -1
- package/docs/ko/intlayer_with_vite+react_compiler.md +22 -3
- package/docs/pl/compiler.md +73 -8
- package/docs/pl/configuration.md +71 -29
- package/docs/pl/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/pl/intlayer_with_tanstack.md +22 -1
- package/docs/pl/intlayer_with_vite+react_compiler.md +13 -5
- package/docs/pt/compiler.md +74 -9
- package/docs/pt/configuration.md +62 -23
- package/docs/pt/intlayer_with_nextjs_compiler.md +12 -4
- package/docs/pt/intlayer_with_tanstack.md +22 -1
- package/docs/pt/intlayer_with_vite+react_compiler.md +12 -4
- package/docs/ru/compiler.md +74 -9
- package/docs/ru/configuration.md +61 -22
- package/docs/ru/intlayer_with_nextjs_compiler.md +11 -3
- package/docs/ru/intlayer_with_tanstack.md +22 -1
- package/docs/ru/intlayer_with_vite+react_compiler.md +11 -3
- package/docs/tr/compiler.md +73 -8
- package/docs/tr/configuration.md +77 -42
- package/docs/tr/intlayer_with_nextjs_compiler.md +11 -3
- package/docs/tr/intlayer_with_tanstack.md +22 -1
- package/docs/tr/intlayer_with_vite+react_compiler.md +11 -3
- package/docs/uk/compiler.md +74 -9
- package/docs/uk/configuration.md +207 -165
- package/docs/uk/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/uk/intlayer_with_tanstack.md +22 -1
- package/docs/uk/intlayer_with_vite+react_compiler.md +13 -5
- package/docs/vi/compiler.md +75 -10
- package/docs/vi/configuration.md +97 -21
- package/docs/vi/intlayer_with_nextjs_compiler.md +14 -6
- package/docs/vi/intlayer_with_tanstack.md +22 -1
- package/docs/vi/intlayer_with_vite+react_compiler.md +14 -6
- package/docs/zh/compiler.md +75 -10
- package/docs/zh/configuration.md +77 -42
- package/docs/zh/intlayer_with_nextjs_compiler.md +13 -5
- package/docs/zh/intlayer_with_tanstack.md +22 -1
- package/docs/zh/intlayer_with_vite+react_compiler.md +13 -5
- package/package.json +17 -17
- package/src/blog.ts +1 -1
- package/src/common.ts +2 -1
- package/src/doc.ts +1 -1
- package/src/frequentQuestions.ts +1 -1
- package/src/generated/blog.entry.ts +1 -1
- package/src/generated/docs.entry.ts +1 -1
- package/src/generated/frequentQuestions.entry.ts +1 -1
- package/src/generated/legal.entry.ts +1 -1
- package/src/legal.ts +1 -1
package/docs/uk/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-03-11
|
|
4
4
|
title: Конфігурація
|
|
5
5
|
description: Дізнайтеся, як налаштувати Intlayer для вашого застосунку. Зрозумійте різні параметри та опції, доступні для налаштування Intlayer відповідно до ваших потреб.
|
|
6
6
|
keywords:
|
|
@@ -14,18 +14,24 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.3.0
|
|
18
|
+
data: 2026-03-11
|
|
19
|
+
changes: Перемістити 'baseDir' з конфігурації 'content' до конфігурації 'system'
|
|
20
|
+
- version: 8.2.0
|
|
21
|
+
date: 2026-03-09
|
|
22
|
+
changes: Оновлення опцій компілятора, додавання підтримки 'output' та 'noMetadata'
|
|
17
23
|
- version: 8.1.7
|
|
18
24
|
date: 2026-02-25
|
|
19
25
|
changes: Оновлення опцій компілятора
|
|
20
26
|
- version: 8.0.6
|
|
21
27
|
date: 2026-02-12
|
|
22
|
-
changes:
|
|
28
|
+
changes: Додано підтримку провайдерів Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face та Together.ai
|
|
23
29
|
- version: 8.0.5
|
|
24
30
|
date: 2026-02-06
|
|
25
31
|
changes: Додано `dataSerialization` до конфігурації AI
|
|
26
32
|
- version: 8.0.0
|
|
27
33
|
date: 2026-01-22
|
|
28
|
-
changes:
|
|
34
|
+
changes: Перемістити конфігурацію збірки importMode до конфігурації словника.
|
|
29
35
|
- version: 8.0.0
|
|
30
36
|
date: 2026-01-18
|
|
31
37
|
changes: Розділити конфігурацію системи від конфігурації контенту. Перемістити внутрішні шляхи до властивості `system`. Додати `codeDir` для розділення файлів контенту та перетворення коду.
|
|
@@ -437,7 +443,7 @@ const config: IntlayerConfig = {
|
|
|
437
443
|
*/
|
|
438
444
|
compiler: {
|
|
439
445
|
/**
|
|
440
|
-
*
|
|
446
|
+
* Вказує, чи має бути увімкнено компілятор.
|
|
441
447
|
*/
|
|
442
448
|
enabled: true,
|
|
443
449
|
|
|
@@ -455,18 +461,23 @@ const config: IntlayerConfig = {
|
|
|
455
461
|
excludePattern: ["**/node_modules/**"],
|
|
456
462
|
|
|
457
463
|
/**
|
|
458
|
-
*
|
|
464
|
+
* Вихідний каталог для оптимізованих словників.
|
|
459
465
|
*/
|
|
460
|
-
|
|
466
|
+
output: ({ key }) => `compiler/${key}.content.json`,
|
|
461
467
|
|
|
462
468
|
/**
|
|
463
|
-
*
|
|
469
|
+
* Вставте лише вміст у згенерований файл, без ключа.
|
|
470
|
+
*/
|
|
471
|
+
noMetadata: false,
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* Префікс ключа словника
|
|
464
475
|
*/
|
|
465
476
|
dictionaryKeyPrefix: "", // Remove base prefix
|
|
466
477
|
|
|
467
478
|
/**
|
|
468
|
-
*
|
|
469
|
-
*
|
|
479
|
+
* Вказує, чи мають компоненти зберігатися після трансформації.
|
|
480
|
+
* Таким чином компілятор можна запустити лише один раз для трансформації додатка, а потім видалити.
|
|
470
481
|
*/
|
|
471
482
|
saveComponents: false,
|
|
472
483
|
},
|
|
@@ -510,24 +521,24 @@ export default config;
|
|
|
510
521
|
- **requiredLocales**:
|
|
511
522
|
- _Тип_: `string[]`
|
|
512
523
|
- _За замовчуванням_: `[]`
|
|
513
|
-
-
|
|
514
|
-
-
|
|
515
|
-
-
|
|
516
|
-
-
|
|
524
|
+
- _Опис_: Перелік обов'язкових локалей у застосунку.
|
|
525
|
+
- _Приклад_: `[]`
|
|
526
|
+
- _Примітка_: Якщо порожній, усі локалі є обов'язковими в режимі `strict`.
|
|
527
|
+
- _Примітка_: Переконайтеся, що обов'язкові локалі також визначені в полі `locales`.
|
|
517
528
|
- **strictMode**:
|
|
518
|
-
-
|
|
519
|
-
-
|
|
520
|
-
-
|
|
521
|
-
-
|
|
522
|
-
-
|
|
523
|
-
-
|
|
529
|
+
- _Тип_: `string`
|
|
530
|
+
- _Типово_: `inclusive`
|
|
531
|
+
- _Опис_: Забезпечує суворі реалізації інтернаціоналізованого контенту з використанням TypeScript.
|
|
532
|
+
- _Примітка_: Якщо встановлено "strict", функція перекладу `t` вимагатиме, щоб кожна оголошена локаль була визначена. Якщо якась локаль відсутня або не зазначена в конфігурації, буде викинута помилка.
|
|
533
|
+
- _Примітка_: Якщо встановлено "inclusive", функція перекладу `t` вимагатиме, щоб кожна оголошена locale була визначена. Якщо одна locale відсутня, буде виведено попередження. Проте функція прийме locale, яка не оголошена у вашій конфігурації, але існує.
|
|
534
|
+
- _Примітка_: Якщо встановлено "loose", функція перекладу `t` прийматиме будь-яку наявну locale.
|
|
524
535
|
|
|
525
536
|
- **defaultLocale**:
|
|
526
|
-
-
|
|
527
|
-
-
|
|
528
|
-
-
|
|
529
|
-
-
|
|
530
|
-
-
|
|
537
|
+
- _Тип_: `string`
|
|
538
|
+
- _Типово_: `'en'`
|
|
539
|
+
- _Опис_: Локаль за замовчуванням, яка використовується як fallback, якщо запитувана локаль не знайдена.
|
|
540
|
+
- _Приклад_: `'en'`
|
|
541
|
+
- _Примітка_: Використовується для визначення локалі, коли вона не вказана в URL, cookie або заголовку.
|
|
531
542
|
|
|
532
543
|
---
|
|
533
544
|
|
|
@@ -538,7 +549,7 @@ export default config;
|
|
|
538
549
|
#### Properties
|
|
539
550
|
|
|
540
551
|
- **applicationURL**:
|
|
541
|
-
-
|
|
552
|
+
- _Тип_: `string`
|
|
542
553
|
- _За замовчуванням_: `http://localhost:3000`
|
|
543
554
|
- _Опис_: URL додатка. Використовується для обмеження origin редактора з міркувань безпеки.
|
|
544
555
|
- _Приклад_:
|
|
@@ -559,23 +570,23 @@ export default config;
|
|
|
559
570
|
- `'http://localhost:3000'`
|
|
560
571
|
- `'https://example.com'`
|
|
561
572
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
562
|
-
-
|
|
573
|
+
- _Примітка_: URL сервера редактора, до якого звертається додаток. Використовується для обмеження origins, які можуть взаємодіяти з додатком з міркувань безпеки. Якщо встановлено `'*'`, редактор доступний з будь-якого origin. Має бути вказаний, якщо змінено порт або якщо редактор розміщено на іншому домені.
|
|
563
574
|
|
|
564
575
|
- **cmsURL**:
|
|
565
|
-
-
|
|
566
|
-
-
|
|
567
|
-
-
|
|
568
|
-
-
|
|
569
|
-
-
|
|
576
|
+
- _Тип_: `string`
|
|
577
|
+
- _Типово_: `'https://intlayer.org'`
|
|
578
|
+
- _Опис_: URL Intlayer CMS.
|
|
579
|
+
- _Приклад_: `'https://intlayer.org'`
|
|
580
|
+
- _Примітка_: URL Intlayer CMS.
|
|
570
581
|
|
|
571
582
|
- **backendURL**:
|
|
572
|
-
-
|
|
573
|
-
-
|
|
574
|
-
-
|
|
575
|
-
-
|
|
583
|
+
- _Тип_: `string`
|
|
584
|
+
- _Типово_: `https://back.intlayer.org`
|
|
585
|
+
- _Опис_: URL backend-сервера.
|
|
586
|
+
- _Приклад_: `http://localhost:4000`
|
|
576
587
|
|
|
577
588
|
- **enabled**:
|
|
578
|
-
-
|
|
589
|
+
- _Тип_: `boolean`
|
|
579
590
|
- _За замовчуванням_: `true`
|
|
580
591
|
- _Опис_: Вказує, чи додаток взаємодіє з візуальним редактором.
|
|
581
592
|
- _Приклад_: `process.env.NODE_ENV !== 'production'`
|
|
@@ -584,29 +595,29 @@ export default config;
|
|
|
584
595
|
- **clientId**:
|
|
585
596
|
- _Тип_: `string` | `undefined`
|
|
586
597
|
- _За замовчуванням_: `undefined`
|
|
587
|
-
-
|
|
588
|
-
-
|
|
589
|
-
-
|
|
598
|
+
- _Опис_: clientId і clientSecret дозволяють пакетам intlayer автентифікуватися з бекендом за допомогою автентифікації oAuth2. Access token використовується для автентифікації користувача, пов’язаного з проєктом. Щоб отримати access token, перейдіть на https://app.intlayer.org/project та створіть обліковий запис.
|
|
599
|
+
- _Приклад_: `true`
|
|
600
|
+
- _Примітка_: Важливо: clientId та clientSecret мають зберігатися в секреті і не розголошуватися публічно. Переконайтеся, що вони зберігаються у безпечному місці, наприклад у змінних оточення.
|
|
590
601
|
|
|
591
602
|
- **clientSecret**:
|
|
592
|
-
-
|
|
593
|
-
-
|
|
594
|
-
-
|
|
595
|
-
-
|
|
596
|
-
-
|
|
603
|
+
- _Тип_: `string` | `undefined`
|
|
604
|
+
- _Типово_: `undefined`
|
|
605
|
+
- _Опис_: clientId та clientSecret дозволяють пакетам intlayer автентифікуватися з бекендом за допомогою oAuth2. Токен доступу використовується для автентифікації користувача, пов’язаного з проєктом. Щоб отримати токен доступу, перейдіть на https://app.intlayer.org/project і створіть обліковий запис.
|
|
606
|
+
- _Приклад_: `true`
|
|
607
|
+
- _Примітка_: Важливо: clientId та clientSecret слід зберігати в таємниці й не розголошувати публічно. Переконайтеся, що зберігаєте їх у безпечному місці, наприклад у environment variables.
|
|
597
608
|
|
|
598
609
|
- **dictionaryPriorityStrategy**:
|
|
599
|
-
-
|
|
600
|
-
-
|
|
601
|
-
-
|
|
602
|
-
-
|
|
610
|
+
- _Тип_: `string`
|
|
611
|
+
- _Типово_: `'local_first'`
|
|
612
|
+
- _Опис_: Стратегія пріоритету словників у разі наявності як локальних, так і віддалених словників. Якщо встановлено `'distant_first'`, застосунок віддаватиме пріоритет віддаленим словникам над локальними. Якщо встановлено `'local_first'`, застосунок віддаватиме пріоритет локальним словникам над віддаленими.
|
|
613
|
+
- _Приклад_: `'distant_first'`
|
|
603
614
|
|
|
604
615
|
- **liveSync**:
|
|
605
|
-
-
|
|
606
|
-
-
|
|
607
|
-
-
|
|
608
|
-
-
|
|
609
|
-
-
|
|
616
|
+
- _Тип_: `boolean`
|
|
617
|
+
- _Типово_: `false`
|
|
618
|
+
- _Опис_: Вказує, чи має сервер застосунку виконувати hot reload контенту застосунку при виявленні змін у CMS / Visual Editor / Backend.
|
|
619
|
+
- _Приклад_: `true`
|
|
620
|
+
- _Примітка_: Наприклад, коли додається або оновлюється новий словник, застосунок оновить контент, що відображається на сторінці.
|
|
610
621
|
- _Примітка_: Live sync потребує винесення вмісту застосунку на інший сервер. Це означає, що це може трохи вплинути на продуктивність застосунку. Щоб обмежити цей вплив, рекомендуємо розміщувати застосунок і live sync сервер на одній машині. Також комбінація live sync та `optimize` може спричинити значну кількість запитів до live sync сервера. Залежно від вашої інфраструктури, рекомендуємо протестувати обидві опції та їх комбінацію.
|
|
611
622
|
|
|
612
623
|
- **liveSyncPort**:
|
|
@@ -619,9 +630,9 @@ export default config;
|
|
|
619
630
|
- **liveSyncURL**:
|
|
620
631
|
- _Тип_: `string`
|
|
621
632
|
- _За замовчуванням_: `'http://localhost:{liveSyncPort}'`
|
|
622
|
-
-
|
|
623
|
-
-
|
|
624
|
-
-
|
|
633
|
+
- _Опис_: URL live sync сервера.
|
|
634
|
+
- _Приклад_: `'https://example.com'`
|
|
635
|
+
- _Примітка_: За замовчуванням вказує на localhost, але може бути змінений на будь-який URL у випадку віддаленого live sync сервера.
|
|
625
636
|
|
|
626
637
|
### Конфігурація маршрутизації
|
|
627
638
|
|
|
@@ -630,25 +641,25 @@ export default config;
|
|
|
630
641
|
#### Властивості
|
|
631
642
|
|
|
632
643
|
- **mode**:
|
|
633
|
-
-
|
|
634
|
-
-
|
|
635
|
-
-
|
|
644
|
+
- _Тип_: `'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'`
|
|
645
|
+
- _Типово_: `'prefix-no-default'`
|
|
646
|
+
- _Опис_: Режим маршрутизації URL для обробки locale.
|
|
636
647
|
- _Examples_:
|
|
637
648
|
- `'prefix-no-default'`: `/dashboard` (en) або `/fr/dashboard` (fr)
|
|
638
649
|
- `'prefix-all'`: `/en/dashboard` (en) або `/fr/dashboard` (fr)
|
|
639
650
|
- `'no-prefix'`: `/dashboard` (locale обробляється іншими способами`)
|
|
640
651
|
- `'search-params'`: `/dashboard?locale=fr`
|
|
641
|
-
-
|
|
652
|
+
- _Примітка_: Це налаштування не впливає на керування cookie або зберіганням локалі.
|
|
642
653
|
|
|
643
654
|
- **storage**:
|
|
644
|
-
-
|
|
645
|
-
-
|
|
646
|
-
-
|
|
655
|
+
- _Тип_: `false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array`
|
|
656
|
+
- _Типово_: `'localStorage'`
|
|
657
|
+
- _Опис_: Налаштування для зберігання локалі на клієнті.
|
|
647
658
|
|
|
648
659
|
- **cookie**:
|
|
649
|
-
-
|
|
650
|
-
-
|
|
651
|
-
-
|
|
660
|
+
- _Опис_: Зберігає дані в cookie, невеликі фрагменти даних, що зберігаються в браузері клієнта, доступні як на стороні клієнта, так і на стороні сервера.
|
|
661
|
+
- _Примітка_: Для зберігання, що відповідає вимогам GDPR, перед використанням забезпечте належну згоду користувача.
|
|
662
|
+
- _Примітка_: Параметри cookie можна налаштувати, якщо вказати їх як CookiesAttributes (`{ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }`).
|
|
652
663
|
|
|
653
664
|
- **localStorage**:
|
|
654
665
|
- _Опис_: Зберігає дані в браузері без дат закінчення терміну дії, що дозволяє зберігати дані між сесіями, доступне лише на боці клієнта.
|
|
@@ -658,15 +669,15 @@ export default config;
|
|
|
658
669
|
|
|
659
670
|
- **sessionStorage**:
|
|
660
671
|
- _Опис_: Зберігає дані протягом сеансу сторінки, тобто вони очищуються після закриття вкладки або вікна, доступне лише на боці клієнта.
|
|
661
|
-
-
|
|
662
|
-
-
|
|
663
|
-
-
|
|
672
|
+
- _Примітка_: Підходить для тимчасового збереження даних для кожної сесії.
|
|
673
|
+
- _Примітка_: Сховище локалі доступне лише на стороні клієнта, проксі intlayer не зможе до нього звертатися.
|
|
674
|
+
- _Примітка_: Параметри збереження локалі можна налаштувати, якщо задати їх як StorageAttributes (`{ type: 'sessionStorage', name: 'custom-locale' }`).
|
|
664
675
|
|
|
665
676
|
- **header**:
|
|
666
|
-
-
|
|
667
|
-
-
|
|
668
|
-
-
|
|
669
|
-
-
|
|
677
|
+
- _Опис_: Використовує HTTP-заголовки для збереження або передачі даних локалі, підходить для визначення мови на стороні сервера.
|
|
678
|
+
- _Примітка_: Корисно в API-запитах для підтримки узгоджених налаштувань мови між запитами.
|
|
679
|
+
- _Примітка_: Заголовок доступний лише на стороні сервера, клієнт не зможе отримати до нього доступ.
|
|
680
|
+
- _Примітка_: Назву заголовка можна змінити, якщо вказати її в StorageAttributes (`{ type: 'header', name: 'custom-locale' }`).
|
|
670
681
|
|
|
671
682
|
- **basePath**:
|
|
672
683
|
- _Тип_: `string`
|
|
@@ -842,13 +853,6 @@ export default config;
|
|
|
842
853
|
- _Приклад_: `['.data.ts', '.data.js', '.data.json']`
|
|
843
854
|
- _Примітка_: Налаштування розширень файлів може допомогти уникнути конфліктів.
|
|
844
855
|
|
|
845
|
-
- **baseDir**:
|
|
846
|
-
- _Тип_: `string`
|
|
847
|
-
- _За замовчуванням_: `process.cwd()`
|
|
848
|
-
- _Опис_: Базова директорія проекту.
|
|
849
|
-
- _Приклад_: `'/path/to/project'`
|
|
850
|
-
- _Примітка_: Використовується для визначення всіх директорій, пов'язаних з Intlayer.
|
|
851
|
-
|
|
852
856
|
- **contentDir**:
|
|
853
857
|
- _Тип_: `string[]`
|
|
854
858
|
- _За замовчуванням_: `['.']`
|
|
@@ -863,10 +867,26 @@ export default config;
|
|
|
863
867
|
- _Опис_: Шлях до каталогу, де зберігається код, відносно базового каталогу.
|
|
864
868
|
- _Примітка_: Використовується для відстеження файлів коду для перетворення (обрізання, оптимізація). Тримання цього окремо від `contentDir` може покращити продуктивність збірки, уникаючи непотрібного сканування файлів контенту.
|
|
865
869
|
|
|
870
|
+
---
|
|
871
|
+
|
|
872
|
+
### Конфігурація системи
|
|
873
|
+
|
|
874
|
+
Налаштування, пов'язані з внутрішніми шляхами та вихідними результатами Intlayer. Ці налаштування зазвичай є внутрішніми і не повинні змінюватися користувачем.
|
|
875
|
+
|
|
876
|
+
#### Властивості
|
|
877
|
+
|
|
878
|
+
- **baseDir**:
|
|
879
|
+
- _Тип_: `string`
|
|
880
|
+
- _За замовчуванням_: `process.cwd()`
|
|
881
|
+
- _Опис_: Базова директорія проекту.
|
|
882
|
+
- _Приклад_: `'/path/to/project'`
|
|
883
|
+
- _Примітка_: Використовується для визначення всіх директорій, пов'язаних з Intlayer.
|
|
884
|
+
|
|
866
885
|
- **dictionariesDir**:
|
|
867
886
|
- _Тип_: `string`
|
|
868
|
-
- _За замовчуванням_: `'.intlayer/
|
|
869
|
-
- _Опис_:
|
|
887
|
+
- _За замовчуванням_: `'.intlayer/dictionary'`
|
|
888
|
+
- _Опис_: Каталог для збереження словників локалізації.
|
|
889
|
+
- _Приклад_: `'translations'`
|
|
870
890
|
|
|
871
891
|
- **moduleAugmentationDir**:
|
|
872
892
|
- _Тип_: `string`
|
|
@@ -881,12 +901,6 @@ export default config;
|
|
|
881
901
|
- _Опис_: Каталог для збереження незлитих словників.
|
|
882
902
|
- _Приклад_: `'translations'`
|
|
883
903
|
|
|
884
|
-
- **dictionariesDir**:
|
|
885
|
-
- _Тип_: `string`
|
|
886
|
-
- _За замовчуванням_: `'.intlayer/dictionary'`
|
|
887
|
-
- _Опис_: Каталог для збереження словників локалізації.
|
|
888
|
-
- _Приклад_: `'translations'`
|
|
889
|
-
|
|
890
904
|
- **typesDir**:
|
|
891
905
|
- _Тип_: `string`
|
|
892
906
|
- _За замовчуванням_: `'types'`
|
|
@@ -902,18 +916,18 @@ export default config;
|
|
|
902
916
|
- **excludedPath**:
|
|
903
917
|
- _Тип_: `string[]`
|
|
904
918
|
- _За замовчуванням_: `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']`
|
|
905
|
-
-
|
|
906
|
-
-
|
|
919
|
+
- _Опис_: Каталоги, виключені з пошуку вмісту.
|
|
920
|
+
- _Примітка_: Ця налаштування ще не використовується, але планується для майбутньої реалізації.
|
|
907
921
|
|
|
908
922
|
- **formatCommand**:
|
|
909
|
-
-
|
|
910
|
-
-
|
|
911
|
-
-
|
|
912
|
-
-
|
|
913
|
-
-
|
|
914
|
-
-
|
|
915
|
-
-
|
|
916
|
-
-
|
|
923
|
+
- _Тип_: `string`
|
|
924
|
+
- _Типово_: `undefined`
|
|
925
|
+
- _Опис_: Команда для форматування вмісту. Коли Intlayer записуватиме ваші .content файли локально, ця команда буде використана для форматування вмісту.
|
|
926
|
+
- _Приклад_: `'npx prettier --write "{{file}}" --log-level silent'` За допомогою Prettier
|
|
927
|
+
- _Приклад_: `'npx biome format "{{file}}" --write --log-level none'` За допомогою Biome
|
|
928
|
+
- _Приклад_: `'npx eslint --fix "{{file}}" --quiet'` За допомогою ESLint
|
|
929
|
+
- _Примітка_: Intlayer замінить {{file}} на шлях до файлу, який потрібно форматувати.
|
|
930
|
+
- _Примітка_: Якщо не вказано, Intlayer спробує визначити команду форматування автоматично. Він буде намагатися знайти такі команди: prettier, biome, eslint.
|
|
917
931
|
|
|
918
932
|
### Конфігурація словника
|
|
919
933
|
|
|
@@ -933,11 +947,11 @@ export default config;
|
|
|
933
947
|
- **locale**
|
|
934
948
|
- **location**
|
|
935
949
|
- **importMode**:
|
|
936
|
-
-
|
|
937
|
-
-
|
|
938
|
-
-
|
|
939
|
-
-
|
|
940
|
-
-
|
|
950
|
+
- _Примітка_: **Deprecated**: Use `dictionary.importMode` instead.
|
|
951
|
+
- _Тип_: `'static' | 'dynamic' | 'fetch'`
|
|
952
|
+
- _Типово_: `'static'`
|
|
953
|
+
- _Опис_: Controls how dictionaries are imported.
|
|
954
|
+
- _Приклад_: `'dynamic'`
|
|
941
955
|
- **priority**
|
|
942
956
|
- **live**
|
|
943
957
|
- **schema**
|
|
@@ -962,11 +976,11 @@ export default config;
|
|
|
962
976
|
- _Примітка_: Режим роботи логера. Режим `verbose` записуватиме більше інформації й підходить для налагодження. Режим `disabled` вимкне логер.
|
|
963
977
|
|
|
964
978
|
- **prefix**:
|
|
965
|
-
-
|
|
966
|
-
-
|
|
967
|
-
-
|
|
968
|
-
-
|
|
969
|
-
-
|
|
979
|
+
- _Тип_: `string`
|
|
980
|
+
- _Типово_: `'[intlayer] '`
|
|
981
|
+
- _Опис_: Префікс logger'а.
|
|
982
|
+
- _Приклад_: `'[my custom prefix] '`
|
|
983
|
+
- _Примітка_: Префікс logger'а.
|
|
970
984
|
|
|
971
985
|
### Конфігурація AI
|
|
972
986
|
|
|
@@ -1000,48 +1014,48 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1000
1014
|
#### Властивості
|
|
1001
1015
|
|
|
1002
1016
|
- **provider**:
|
|
1003
|
-
-
|
|
1004
|
-
-
|
|
1005
|
-
-
|
|
1017
|
+
- _Тип_: `string`
|
|
1018
|
+
- _Типово_: `'openai'`
|
|
1019
|
+
- _Опис_: Постачальник, який використовуватиметься для функцій ШІ Intlayer.
|
|
1006
1020
|
- _Options_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
|
|
1007
|
-
-
|
|
1008
|
-
-
|
|
1021
|
+
- _Приклад_: `'anthropic'`
|
|
1022
|
+
- _Примітка_: Різні провайдери можуть вимагати різні API-ключі та мати різні моделі ціноутворення.
|
|
1009
1023
|
|
|
1010
1024
|
- **model**:
|
|
1011
|
-
-
|
|
1012
|
-
-
|
|
1013
|
-
-
|
|
1014
|
-
-
|
|
1015
|
-
-
|
|
1025
|
+
- _Тип_: `string`
|
|
1026
|
+
- _Типово_: None
|
|
1027
|
+
- _Опис_: Модель, яку слід використовувати для функцій ШІ в Intlayer.
|
|
1028
|
+
- _Приклад_: `'gpt-4o-2024-11-20'`
|
|
1029
|
+
- _Примітка_: Конкретна модель для використання залежить від провайдера.
|
|
1016
1030
|
|
|
1017
1031
|
- **temperature**:
|
|
1018
|
-
-
|
|
1019
|
-
-
|
|
1020
|
-
-
|
|
1021
|
-
-
|
|
1022
|
-
-
|
|
1032
|
+
- _Тип_: `number`
|
|
1033
|
+
- _Типово_: None
|
|
1034
|
+
- _Опис_: Параметр temperature контролює випадковість відповідей ШІ.
|
|
1035
|
+
- _Приклад_: `0.1`
|
|
1036
|
+
- _Примітка_: Вища температура зробить ШІ більш креативним та менш передбачуваним.
|
|
1023
1037
|
|
|
1024
1038
|
- **apiKey**:
|
|
1025
|
-
-
|
|
1026
|
-
-
|
|
1027
|
-
-
|
|
1028
|
-
-
|
|
1029
|
-
-
|
|
1039
|
+
- _Тип_: `string`
|
|
1040
|
+
- _Типово_: None
|
|
1041
|
+
- _Опис_: Ваш API-ключ для вибраного провайдера.
|
|
1042
|
+
- _Приклад_: `process.env.OPENAI_API_KEY`
|
|
1043
|
+
- _Примітка_: Важливо: API-ключі слід зберігати в таємниці та не поширювати публічно. Будь ласка, зберігайте їх у безпечному місці, наприклад у змінних середовища.
|
|
1030
1044
|
|
|
1031
1045
|
- **applicationContext**:
|
|
1032
|
-
-
|
|
1033
|
-
-
|
|
1034
|
-
-
|
|
1035
|
-
-
|
|
1036
|
-
-
|
|
1046
|
+
- _Тип_: `string`
|
|
1047
|
+
- _Типово_: None
|
|
1048
|
+
- _Опис_: Надає додатковий контекст про ваш застосунок для AI-моделі, допомагаючи їй генерувати точніші та контекстуально доречні переклади. Це може включати інформацію про домен вашого додатку, цільову аудиторію, тон або специфічну термінологію.
|
|
1049
|
+
- _Примітка_: Ви можете використовувати його, щоб додати більше правил для AI-моделі (e.g. "You should not transform urls").
|
|
1050
|
+
- _Приклад_: `'My application context'`
|
|
1037
1051
|
|
|
1038
1052
|
- **baseURL**:
|
|
1039
|
-
-
|
|
1040
|
-
-
|
|
1041
|
-
-
|
|
1042
|
-
-
|
|
1043
|
-
-
|
|
1044
|
-
-
|
|
1053
|
+
- _Тип_: `string`
|
|
1054
|
+
- _Типово_: None
|
|
1055
|
+
- _Опис_: Базовий URL для AI API.
|
|
1056
|
+
- _Приклад_: `'https://api.openai.com/v1'`
|
|
1057
|
+
- _Приклад_: `'http://localhost:5000'`
|
|
1058
|
+
- _Примітка_: Може використовуватися для вказівки локального або кастомного AI API endpoint.
|
|
1045
1059
|
|
|
1046
1060
|
- **dataSerialization**:
|
|
1047
1061
|
- _Тип_: `'json' | 'toon'`
|
|
@@ -1065,7 +1079,7 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1065
1079
|
#### Властивості
|
|
1066
1080
|
|
|
1067
1081
|
- **mode**:
|
|
1068
|
-
-
|
|
1082
|
+
- _Тип_: `'auto' | 'manual'`
|
|
1069
1083
|
- _За замовчуванням_: `'auto'`
|
|
1070
1084
|
- _Опис_: Керує режимом збірки.
|
|
1071
1085
|
- _Приклад_: `'manual'`
|
|
@@ -1085,7 +1099,7 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1085
1099
|
- _Примітка_: Переконайтесь, що всі ключі оголошені статично у викликах `useIntlayer`. Наприклад `useIntlayer('navbar')`.
|
|
1086
1100
|
|
|
1087
1101
|
- **importMode**:
|
|
1088
|
-
-
|
|
1102
|
+
- _Примітка_: **Deprecated**: Use `dictionary.importMode` instead.
|
|
1089
1103
|
- _Тип_: `'static' | 'dynamic' | 'fetch'`
|
|
1090
1104
|
- _За замовчуванням_: `'static'`
|
|
1091
1105
|
- _Опис_: Керує тим, як імпортуються словники.
|
|
@@ -1094,35 +1108,35 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1094
1108
|
- "static": Словники імпортуються статично. Замінює `useIntlayer` на `useDictionary`.
|
|
1095
1109
|
- "dynamic": Словники імпортуються динамічно з використанням Suspense. Замінює `useIntlayer` на `useDictionaryDynamic`.
|
|
1096
1110
|
- "fetch": Словники отримуються динамічно з використанням live sync API. Замінює `useIntlayer` на `useDictionaryDynamic`.
|
|
1097
|
-
-
|
|
1098
|
-
-
|
|
1099
|
-
-
|
|
1100
|
-
-
|
|
1101
|
-
-
|
|
1102
|
-
-
|
|
1103
|
-
-
|
|
1104
|
-
-
|
|
1111
|
+
- _Примітка_: Динамічні імпорти залежать від Suspense і можуть дещо вплинути на продуктивність рендерингу.
|
|
1112
|
+
- _Примітка_: Якщо вимкнено, усі локалі будуть завантажені одночасно, навіть якщо вони не використовуються.
|
|
1113
|
+
- _Примітка_: Ця опція покладається на плагіни `@intlayer/babel` та `@intlayer/swc`.
|
|
1114
|
+
- _Примітка_: Переконайтеся, що всі ключі оголошені статично у викликах `useIntlayer`. Наприклад `useIntlayer('navbar')`.
|
|
1115
|
+
- _Примітка_: Ця опція буде ігноруватися, якщо `optimize` вимкнено.
|
|
1116
|
+
- _Примітка_: Якщо встановлено в "live", лише ті словники, які містять віддалений контент і позначені прапорцем "live", будуть перетворені у live-режим. Інші будуть імпортовані динамічно як режим "dynamic" для оптимізації кількості запитів і швидкості завантаження.
|
|
1117
|
+
- _Примітка_: У режимі live буде використовуватися Live Sync API для отримання словників. Якщо виклик API завершиться невдачею, словники будуть імпортовані динамічно в режимі "dynamic".
|
|
1118
|
+
- _Примітка_: Ця опція не вплине на функції `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` та `useDictionaryDynamic`.
|
|
1105
1119
|
- **checkTypes**:
|
|
1106
|
-
-
|
|
1107
|
-
-
|
|
1108
|
-
-
|
|
1109
|
-
-
|
|
1120
|
+
- _Тип_: `boolean`
|
|
1121
|
+
- _Типово_: `false`
|
|
1122
|
+
- _Опис_: Вказує, чи повинна збірка перевіряти типи TypeScript та реєструвати помилки.
|
|
1123
|
+
- _Примітка_: Це може уповільнити процес збірки.
|
|
1110
1124
|
|
|
1111
1125
|
- **outputFormat**:
|
|
1112
|
-
-
|
|
1113
|
-
-
|
|
1114
|
-
-
|
|
1115
|
-
-
|
|
1116
|
-
-
|
|
1126
|
+
- _Тип_: `'esm' | 'cjs'`
|
|
1127
|
+
- _Типово_: `'esm'`
|
|
1128
|
+
- _Опис_: Керує форматом виводу словників.
|
|
1129
|
+
- _Приклад_: `'cjs'`
|
|
1130
|
+
- _Примітка_: Формат виводу словників.
|
|
1117
1131
|
|
|
1118
1132
|
- **traversePattern**:
|
|
1119
|
-
-
|
|
1120
|
-
-
|
|
1121
|
-
-
|
|
1122
|
-
-
|
|
1123
|
-
-
|
|
1124
|
-
-
|
|
1125
|
-
-
|
|
1133
|
+
- _Тип_: `string[]`
|
|
1134
|
+
- _Типово_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
|
|
1135
|
+
- _Опис_: Шаблони, що визначають, які файли слід обходити під час оптимізації.
|
|
1136
|
+
- _Приклад_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
1137
|
+
- _Примітка_: Використовуйте це, щоб обмежити оптимізацію релевантними файлами коду та покращити продуктивність збірки.
|
|
1138
|
+
- _Примітка_: Ця опція буде ігнорована, якщо `optimize` вимкнено.
|
|
1139
|
+
- _Примітка_: Використовуйте glob-шаблон.
|
|
1126
1140
|
|
|
1127
1141
|
---
|
|
1128
1142
|
|
|
@@ -1169,3 +1183,31 @@ Intlayer підтримує кількох постачальників ШІ д
|
|
|
1169
1183
|
- _Тип_: `string`
|
|
1170
1184
|
- _За замовчуванням_: `'compiler'`
|
|
1171
1185
|
- _Опис_: Каталог, у якому будуть зберігатися витягнуті словники, відносно базового шляху вашого проекту.
|
|
1186
|
+
|
|
1187
|
+
- **output**:
|
|
1188
|
+
- _Тип_: `FilePathPattern`
|
|
1189
|
+
- _Типово_: `({ key }) => 'compiler/${key}.content.json'`
|
|
1190
|
+
- _Опис_: Визначає шлях до вихідних файлів. Замінює `outputDir`. Обробляє динамічні змінні, такі як `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}` та `{{componentFormat}}`. Можна встановити як рядок у форматі `'my/{{var}}/path'` або як функцію.
|
|
1191
|
+
- _Примітка_: Шляхи `./**/*` розв'язуються відносно компонента. Шляхи `/**/*` розв'язуються відносно `baseDir` Intlayer.
|
|
1192
|
+
- _Приклад_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
|
|
1193
|
+
|
|
1194
|
+
- **noMetadata**:
|
|
1195
|
+
- _Тип_: `boolean`
|
|
1196
|
+
- _Типово_: `false`
|
|
1197
|
+
- _Опис_: Вказує, чи мають метадані зберігатися у файлі. Якщо true, компілятор не зберігатиме метадані словників (ключ, оболонка вмісту).
|
|
1198
|
+
- _Примітка_: Корисно при використанні з плагіном `loadJSON`.
|
|
1199
|
+
- _Приклад_: Якщо `true`:
|
|
1200
|
+
```json
|
|
1201
|
+
{
|
|
1202
|
+
"key": "value"
|
|
1203
|
+
}
|
|
1204
|
+
```
|
|
1205
|
+
Якщо `false`:
|
|
1206
|
+
```json
|
|
1207
|
+
{
|
|
1208
|
+
"key": "value",
|
|
1209
|
+
"content": {
|
|
1210
|
+
"key": "value"
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
```
|