Отримуйте сповіщення про майбутні випуски Intlayer
    Дата створення:2024-08-13Останнє оновлення:2026-01-10

    Документація конфігурації Intlayer

    Огляд

    Файли конфігурації Intlayer дозволяють налаштовувати різні аспекти плагіна, такі як інтернаціоналізація, middleware та обробка контенту. У цьому документі наведено детальний опис кожної властивості конфігурації.


    Зміст


    Підтримувані формати файлів конфігурації

    Intlayer підтримує формати файлів конфігурації JSON, JS, MJS та TS:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.json5
    • intlayer.config.jsonc
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    Приклад файлу конфігурації

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH],  },  content: {    contentDir: ["src", "../ui-library"],  },  dictionary: {    fill: "./{{fileName}}.content.json",  },  routing: {    mode: "prefix-no-default",    storage: "cookie",  },  editor: {    applicationURL: "https://example.com",  },  ai: {    apiKey: process.env.OPENAI_API_KEY,    applicationContext: "Це тестовий додаток",  },  build: {    mode: "auto",    importMode: "dynamic",  },};export default config;

    Довідник конфігурації

    Нижченаведені розділи описують різні параметри конфігурації, доступні в Intlayer.


    Налаштування інтернаціоналізації

    Визначає параметри, пов'язані з інтернаціоналізацією, включно з доступними локалями та локаллю за замовчуванням для застосунку.

    Властивості

    • locales:

      • Тип: string[]
      • За замовчуванням: ['en']
      • Опис: Список локалей, які підтримуються в застосунку.
      • Приклад: ['en', 'fr', 'es']
    • requiredLocales:
      • Тип: string[]
      • За замовчуванням: []
      • Description: Перелік обов'язкових локалей у застосунку.
      • Example: []
      • Note: Якщо порожній, усі локалі є обов'язковими в режимі strict.
      • Note: Переконайтеся, що обов'язкові локалі також визначені в полі locales.
    • strictMode:

      • Type: string
      • Default: inclusive
      • Description: Забезпечує суворі реалізації інтернаціоналізованого контенту з використанням TypeScript.
      • Note: Якщо встановлено "strict", функція перекладу t вимагатиме, щоб кожна оголошена локаль була визначена. Якщо якась локаль відсутня або не зазначена в конфігурації, буде викинута помилка.
      • Note: Якщо встановлено "inclusive", функція перекладу t вимагатиме, щоб кожна оголошена locale була визначена. Якщо одна locale відсутня, буде виведено попередження. Проте функція прийме locale, яка не оголошена у вашій конфігурації, але існує.
      • Note: Якщо встановлено "loose", функція перекладу t прийматиме будь-яку наявну locale.
    • defaultLocale:

      • Type: string
      • Default: 'en'
      • Description: Локаль за замовчуванням, яка використовується як fallback, якщо запитувана локаль не знайдена.
      • Example: 'en'
      • Note: Використовується для визначення локалі, коли вона не вказана в URL, cookie або заголовку.

    Editor Configuration

    Визначає налаштування, пов'язані з інтегрованим редактором, включно з портом сервера та статусом активності.

    Properties

    • applicationURL:

      • Type: string
      • За замовчуванням: http://localhost:3000
      • Опис: URL додатка. Використовується для обмеження origin редактора з міркувань безпеки.
      • Приклад:
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • Примітка: URL додатка. Використовується для обмеження origin редактора з міркувань безпеки. Якщо встановлено в '*', редактор доступний з будь-якого origin.
    • port:

      • Тип: number
      • За замовчуванням: 8000
      • Опис: Порт, який використовується сервером візуального редактора.
    • editorURL:

      • Тип: string
      • За замовчуванням: 'http://localhost:8000'
      • Опис: URL сервера редактора. Використовується для обмеження origin редактора з міркувань безпеки.
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • Note: URL сервера редактора, до якого звертається додаток. Використовується для обмеження origins, які можуть взаємодіяти з додатком з міркувань безпеки. Якщо встановлено '*', редактор доступний з будь-якого origin. Має бути вказаний, якщо змінено порт або якщо редактор розміщено на іншому домені.
    • cmsURL:

      • Type: string
      • Default: 'https://intlayer.org'
      • Description: URL Intlayer CMS.
      • Example: 'https://intlayer.org'
      • Note: URL Intlayer CMS.
    • backendURL:

      • Type: string
      • Default: https://back.intlayer.org
      • Description: URL backend-сервера.
      • Example: http://localhost:4000
    • enabled:

      • Type: boolean
      • За замовчуванням: true
      • Опис: Вказує, чи додаток взаємодіє з візуальним редактором.
      • Приклад: process.env.NODE_ENV !== 'production'
      • Примітка: Якщо true, редактор зможе взаємодіяти з додатком. Якщо false, редактор не зможе взаємодіяти з додатком. У будь-якому випадку редактор може бути ввімкнений лише візуальним редактором. Вимкнення редактора для окремих середовищ — спосіб підвищити безпеку.
    • clientId:

      • Тип: string | undefined
      • За замовчуванням: undefined
      • Description: clientId і clientSecret дозволяють пакетам intlayer автентифікуватися з бекендом за допомогою автентифікації oAuth2. Access token використовується для автентифікації користувача, пов’язаного з проєктом. Щоб отримати access token, перейдіть на https://app.intlayer.org/project та створіть обліковий запис.
      • Example: true
      • Note: Важливо: clientId та clientSecret мають зберігатися в секреті і не розголошуватися публічно. Переконайтеся, що вони зберігаються у безпечному місці, наприклад у змінних оточення.
    • clientSecret:

      • Type: string | undefined
      • Default: undefined
      • Description: clientId та clientSecret дозволяють пакетам intlayer автентифікуватися з бекендом за допомогою oAuth2. Токен доступу використовується для автентифікації користувача, пов’язаного з проєктом. Щоб отримати токен доступу, перейдіть на https://app.intlayer.org/project і створіть обліковий запис.
      • Example: true
      • Note: Важливо: clientId та clientSecret слід зберігати в таємниці й не розголошувати публічно. Переконайтеся, що зберігаєте їх у безпечному місці, наприклад у environment variables.
    • dictionaryPriorityStrategy:

      • Type: string
      • Default: 'local_first'
      • Description: Стратегія пріоритету словників у разі наявності як локальних, так і віддалених словників. Якщо встановлено 'distant_first', застосунок віддаватиме пріоритет віддаленим словникам над локальними. Якщо встановлено 'local_first', застосунок віддаватиме пріоритет локальним словникам над віддаленими.
      • Example: 'distant_first'
    • liveSync:

      • Type: boolean
      • Default: false
      • Description: Вказує, чи має сервер застосунку виконувати hot reload контенту застосунку при виявленні змін у CMS / Visual Editor / Backend.
      • Example: true
      • Note: Наприклад, коли додається або оновлюється новий словник, застосунок оновить контент, що відображається на сторінці.
      • Примітка: Live sync потребує винесення вмісту застосунку на інший сервер. Це означає, що це може трохи вплинути на продуктивність застосунку. Щоб обмежити цей вплив, рекомендуємо розміщувати застосунок і live sync сервер на одній машині. Також комбінація live sync та optimize може спричинити значну кількість запитів до live sync сервера. Залежно від вашої інфраструктури, рекомендуємо протестувати обидві опції та їх комбінацію.
    • liveSyncPort:

      • Тип: number
      • За замовчуванням: 4000
      • Опис: Порт live sync сервера.
      • Приклад: 4000
      • Примітка: Порт live sync сервера.
    • liveSyncURL:

      • Тип: string
      • За замовчуванням: 'http://localhost:{liveSyncPort}'
      • Description: URL live sync сервера.
      • Example: 'https://example.com'
      • Note: За замовчуванням вказує на localhost, але може бути змінений на будь-який URL у випадку віддаленого live sync сервера.

    Конфігурація маршрутизації

    Налаштування, що контролюють поведінку маршрутизації, включно зі структурою URL, зберіганням locale та обробкою middleware.

    Властивості

    • mode:

      • Type: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
      • Default: 'prefix-no-default'
      • Description: Режим маршрутизації URL для обробки locale.
      • Examples:
        • 'prefix-no-default': /dashboard (en) або /fr/dashboard (fr)
        • 'prefix-all': /en/dashboard (en) або /fr/dashboard (fr)
        • 'no-prefix': /dashboard (locale обробляється іншими способами`)
        • 'search-params': /dashboard?locale=fr
      • Note: Це налаштування не впливає на керування cookie або зберіганням локалі.
    • storage:

      • Type: false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array
      • Default: 'localStorage'
      • Description: Налаштування для зберігання локалі на клієнті.

      • cookie:

        • Description: Зберігає дані в cookie — невеликі фрагменти даних, що зберігаються в браузері клієнта, доступні як на стороні клієнта, так і на стороні сервера.
        • Note: Для зберігання, що відповідає вимогам GDPR, перед використанням забезпечте належну згоду користувача.
        • Note: Параметри cookie можна налаштувати, якщо вказати їх як CookiesAttributes ({ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }).
      • localStorage:

        • Опис: Зберігає дані в браузері без дат закінчення терміну дії, що дозволяє зберігати дані між сесіями, доступне лише на боці клієнта.
        • Примітка: Ідеально підходить для зберігання довгострокових даних, проте слід враховувати питання приватності та безпеки через відсутність строку дії, якщо їх не видалити явно.
        • Примітка: Сховище локалі доступне лише на боці клієнта, проксі intlayer не зможе до нього отримати доступ.
        • Примітка: Параметри сховища локалі можна налаштувати, якщо вказати їх як StorageAttributes ({ type: 'localStorage', name: 'custom-locale' }).
      • sessionStorage:

        • Опис: Зберігає дані протягом сеансу сторінки, тобто вони очищуються після закриття вкладки або вікна, доступне лише на боці клієнта.
        • Note: Підходить для тимчасового збереження даних для кожної сесії.
        • Note: Сховище локалі доступне лише на стороні клієнта, проксі intlayer не зможе до нього звертатися.
        • Note: Параметри збереження локалі можна налаштувати, якщо задати їх як StorageAttributes ({ type: 'sessionStorage', name: 'custom-locale' }).
      • header:

        • Description: Використовує HTTP-заголовки для збереження або передачі даних локалі, підходить для визначення мови на стороні сервера.
        • Note: Корисно в API-запитах для підтримки узгоджених налаштувань мови між запитами.
        • Note: Заголовок доступний лише на стороні сервера, клієнт не зможе отримати до нього доступ.
        • Note: Назву заголовка можна змінити, якщо вказати її в StorageAttributes ({ type: 'header', name: 'custom-locale' }).
    • basePath:

      • Тип: string
      • За замовчуванням: ''
      • Опис: Базовий шлях для URL-адрес застосунку.
      • Приклад: '/my-app'
      • Примітка:
        • Якщо застосунок розміщений за адресою https://example.com/my-app
        • Базовий шлях — '/my-app'
        • URL буде https://example.com/my-app/en
        • Якщо базовий шлях не встановлено, URL буде https://example.com/en

    При використанні зберігання в cookie ви можете налаштувати додаткові атрибути cookie:

    • name: Ім'я cookie (за замовчуванням: 'INTLAYER_LOCALE')
    • domain: Домен cookie (за замовчуванням: undefined)
    • path: Шлях cookie (за замовчуванням: undefined)
    • secure: Вимагати HTTPS (за замовчуванням: undefined)
    • httpOnly: Прапорець лише для HTTP (httpOnly) (за замовчуванням: undefined)
    • sameSite: Політика SameSite ('strict' | 'lax' | 'none')
    • expires: Дата закінчення строку дії або кількість днів (значення за замовчуванням: undefined)

    Атрибути збереження локалі

    Коли використовується localStorage або sessionStorage:

    • type: Тип сховища ('localStorage' | 'sessionStorage')
    • name: Ім'я ключа в сховищі (за замовчуванням: 'INTLAYER_LOCALE')

    Приклади конфігурації

    Нижче наведені поширені приклади конфігурації для нової структури маршрутизації v7:

    Базова конфігурація (за замовчуванням):

    // intlayer.config.tsexport default defineConfig({  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: "localStorage",    headerName: "x-intlayer-locale",    basePath: "",  },});

    Конфігурація, сумісна з GDPR:

    // intlayer.config.tsexport default defineConfig({  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "prefix-no-default",    storage: [      {        type: "localStorage",        name: "user-locale",      },      {        type: "cookie",        name: "user-locale",        secure: true,        sameSite: "strict",        httpOnly: false,      },    ],    headerName: "x-intlayer-locale",    basePath: "",  },});

    Режим параметрів пошуку:

    // intlayer.config.tsexport default defineConfig({  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "search-params",    storage: "localStorage",    headerName: "x-intlayer-locale",    basePath: "",  },});

    Режим без префікса з кастомним сховищем:

    // intlayer.config.tsexport default defineConfig({  internationalization: {    locales: ["en", "fr", "es"],    defaultLocale: "en",  },  routing: {    mode: "no-prefix",    storage: {      type: "sessionStorage",      name: "app-locale",    },    headerName: "x-custom-locale",    basePath: "/my-app",  },});

    Конфігурація контенту

    Налаштування, пов'язані з обробкою контенту в додатку, включаючи назви директорій, розширення файлів та похідні конфігурації.

    Властивості

    • watch:

      • Тип: boolean
      • За замовчуванням: process.env.NODE_ENV === 'development'
      • Опис: Вказує, чи Intlayer має відслідковувати зміни в файлах декларації контенту в додатку, щоб перебудувати відповідні словники.
    • fileExtensions:

      • Тип: string[]
      • За замовчуванням: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
      • Опис: Розширення файлів, які слід шукати під час побудови словників.
      • Приклад: ['.data.ts', '.data.js', '.data.json']
      • Примітка: Налаштування розширень файлів може допомогти уникнути конфліктів.
    • baseDir:

      • Тип: string
      • За замовчуванням: process.cwd()
      • Опис: Базова директорія проекту.
      • Приклад: '/path/to/project'
      • Примітка: Використовується для визначення всіх директорій, пов'язаних з Intlayer.
    • contentDir:

      • Тип: string[]
      • За замовчуванням: ['.']
      • Приклад: ['src', '../../ui-library', require.resolve("@my-package/content")]
      • Опис: Шлях до каталогу, де зберігається контент.
    • dictionariesDir:

      • Тип: string
      • За замовчуванням: '.intlayer/dictionaries'
      • Опис: Шлях до каталогу для збереження проміжних або вихідних результатів.
    • moduleAugmentationDir:

      • Тип: string
      • За замовчуванням: '.intlayer/types'
      • Опис: Каталог для module augmentation, що дозволяє покращені підказки IDE та перевірку типів.
      • Приклад: 'intlayer-types'
      • Примітка: Переконайтеся, що цей каталог включений у tsconfig.json.
    • unmergedDictionariesDir:

      • Тип: string
      • За замовчуванням: '.intlayer/unmerged_dictionary'
      • Опис: Каталог для збереження незлитих словників.
      • Приклад: 'translations'
    • dictionariesDir:

      • Тип: string
      • За замовчуванням: '.intlayer/dictionary'
      • Опис: Каталог для збереження словників локалізації.
      • Приклад: 'translations'
    • typesDir:

      • Тип: string
      • За замовчуванням: 'types'
      • Опис: Каталог для збереження типів словників.
      • Приклад: 'intlayer-types'
    • mainDir:

      • Тип: string
      • За замовчуванням: 'main'
      • Опис: Каталог, де зберігаються основні файли застосунку.
      • Приклад: 'intlayer-main'
    • excludedPath:

      • Тип: string[]
      • За замовчуванням: ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']
      • Description: Каталоги, виключені з пошуку вмісту.
      • Note: Ця налаштування ще не використовується, але планується для майбутньої реалізації.
    • formatCommand:

      • Type: string
      • Default: undefined
      • Description: Команда для форматування вмісту. Коли Intlayer записуватиме ваші .content файли локально, ця команда буде використана для форматування вмісту.
      • Example: 'npx prettier --write "{{file}}" --log-level silent' За допомогою Prettier
      • Example: 'npx biome format "{{file}}" --write --log-level none' За допомогою Biome
      • Example: 'npx eslint --fix "{{file}}" --quiet' За допомогою ESLint
      • Note: Intlayer замінить {{file}} на шлях до файлу, який потрібно форматувати.
      • Note: Якщо не вказано, Intlayer спробує визначити команду форматування автоматично. Він буде намагатися знайти такі команди: prettier, biome, eslint.

    Конфігурація словника

    Налаштування, які керують операціями словника, включаючи поведінку автоматичного заповнення та генерацію контенту.

    Ця конфігурація словника має дві основні цілі:

    1. Значення за замовчуванням: Визначати значення за замовчуванням під час створення файлів декларації контенту
    2. Поведінка при відсутності значень: Забезпечувати запасні значення, коли певні поля не визначені, що дозволяє задавати поведінку операцій словника глобально

    Щоб дізнатися більше про файли декларації контенту та про те, як застосовуються значення конфігурації, див. Документацію щодо контент-файлів.

    Властивості

    • fill
    • description
    • locale
    • priority
    • live
    • title
    • tags
    • version

    Конфігурація логера

    Налаштування, що керують логером, включно з префіксом, який слід використовувати.

    Властивості

    • mode:

      • Тип: string
      • За замовчуванням: default
      • Опис: Вказує режим роботи логера.
      • Опції: default, verbose, disabled
      • Приклад: default
      • Примітка: Режим роботи логера. Режим verbose записуватиме більше інформації й підходить для налагодження. Режим disabled вимкне логер.
    • prefix:

      • Type: string
      • Default: '[intlayer] '
      • Description: Префікс logger'а.
      • Example: '[my custom prefix] '
      • Note: Префікс logger'а.

    Конфігурація AI

    Налаштування, які контролюють AI-функції Intlayer, включно з провайдером, моделлю та API-ключем.

    Ця конфігурація є необов'язковою, якщо ви зареєстровані на Intlayer Dashboard і використовуєте ключ доступу. Intlayer автоматично підбере найефективніше та економічно вигідне AI-рішення для ваших потреб. Використання опцій за замовчуванням забезпечує кращу довгострокову підтримуваність, оскільки Intlayer постійно оновлюється, щоб використовувати найбільш релевантні моделі.

    Якщо ви віддаєте перевагу використовувати власний API-ключ або конкретну модель, ви можете визначити власну конфігурацію AI. Ця конфігурація ШІ буде використовуватися глобально в усьому вашому середовищі Intlayer. Команди CLI використовуватимуть ці налаштування як значення за замовчуванням для команд (наприклад, fill), а також SDK, Visual Editor і CMS. Ви можете перевизначати ці значення за замовчуванням для конкретних випадків використання за допомогою параметрів команд.

    Intlayer підтримує кількох постачальників ШІ для більшої гнучкості та вибору. Наразі підтримуються такі постачальники:

    • OpenAI (за замовчуванням)
    • Anthropic Claude
    • Mistral AI
    • DeepSeek
    • Google Gemini
    • Meta Llama
    • ollama

    Властивості

    • provider:

      • Type: string
      • Default: 'openai'
      • Description: Постачальник, який використовуватиметься для функцій ШІ Intlayer.
      • Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama'
      • Example: 'anthropic'
      • Note: Різні провайдери можуть вимагати різні API-ключі та мати різні моделі ціноутворення.
    • model:

      • Type: string
      • Default: None
      • Description: Модель, яку слід використовувати для функцій ШІ в Intlayer.
      • Example: 'gpt-4o-2024-11-20'
      • Note: Конкретна модель для використання залежить від провайдера.
    • temperature:

      • Type: number
      • Default: None
      • Description: Параметр temperature контролює випадковість відповідей ШІ.
      • Example: 0.1
      • Note: Вища температура зробить ШІ більш креативним та менш передбачуваним.
    • apiKey:

      • Type: string
      • Default: None
      • Description: Ваш API-ключ для вибраного провайдера.
      • Example: process.env.OPENAI_API_KEY
      • Note: Важливо: API-ключі слід зберігати в таємниці та не поширювати публічно. Будь ласка, зберігайте їх у безпечному місці, наприклад у змінних середовища.
    • applicationContext:

      • Type: string
      • Default: None
      • Description: Надає додатковий контекст про ваш застосунок для AI-моделі, допомагаючи їй генерувати точніші та контекстуально доречні переклади. Це може включати інформацію про домен вашого додатку, цільову аудиторію, тон або специфічну термінологію.
      • Note: Ви можете використовувати його, щоб додати більше правил для AI-моделі (e.g. "You should not transform urls").
      • Example: 'My application context'
    • baseURL:

      • Type: string
      • Default: None
      • Description: Базовий URL для AI API.
      • Example: 'https://api.openai.com/v1'
      • Example: 'http://localhost:5000'
      • Note: Може використовуватися для вказівки локального або кастомного AI API endpoint.
    Якщо ви надаєте додаткові параметри, Intlayer передасть їх AI-моделі як контекст. Це можна використовувати для налаштування інтенсивності міркувань, детальності тексту тощо

    Конфігурація збірки

    Налаштування, що контролюють, як Intlayer оптимізує та збирає інтернаціоналізацію вашого застосунку.

    Параметри збірки застосовуються до плагінів @intlayer/babel та @intlayer/swc.

    У режимі розробки Intlayer використовує статичні імпорти словників, щоб спростити процес розробки.
    У режимі оптимізації Intlayer замінює виклики словників для оптимізації розбиття на чанки (chunking), тож фінальний бандл імпортує лише ті словники, які фактично використовуються.

    Властивості

    • mode:

      • Type: 'auto' | 'manual'
      • За замовчуванням: 'auto'
      • Опис: Керує режимом збірки.
      • Приклад: 'manual'
      • Примітка: Якщо 'auto', збірка буде увімкнена автоматично під час побудови застосунку.
      • Примітка: Якщо 'manual', збірка буде встановлена лише під час виконання команди збірки.
      • Примітка: Може використовуватися для вимкнення збірки словників, наприклад, коли слід уникати виконання в середовищі Node.js.
    • optimize:

      • Тип: boolean
      • За замовчуванням: undefined
      • Опис: Керує тим, чи слід оптимізувати збірку.
      • Приклад: process.env.NODE_ENV === 'production'
      • Примітка: За замовчуванням оптимізація збірки не зафіксована. Якщо не встановлено, Intlayer запустить оптимізацію під час збірки вашого застосунку (vite / nextjs / тощо). Встановлення true примусово увімкне оптимізацію збірки, включно з режимом розробки. Встановлення false вимкне оптимізацію збірки.
      • Примітка: Коли ввімкнено, Intlayer замінює всі виклики словників для оптимізації розбиття на чанки. Таким чином фінальний бандл імпортуватиме лише ті словники, які використовуються. Всі імпорти залишаться статичними, щоб уникнути асинхронної обробки під час завантаження словників.
      • Примітка: Intlayer замінить усі виклики useIntlayer на варіант, визначений опцією importMode, а getIntlayer — на getDictionary.
      • Примітка: Ця опція покладається на плагіни @intlayer/babel та @intlayer/swc.
      • Примітка: Переконайтесь, що всі ключі оголошені статично у викликах useIntlayer. Наприклад useIntlayer('navbar').
    • importMode:
      • Тип: 'static' | 'dynamic' | 'live'
      • За замовчуванням: 'static'
      • Опис: Керує тим, як імпортуються словники.
      • Приклад: 'dynamic'
      • Примітка: Доступні режими:
        • "static": Словники імпортуються статично. Замінює useIntlayer на useDictionary.
        • "dynamic": Словники імпортуються динамічно з використанням Suspense. Замінює useIntlayer на useDictionaryDynamic.
        • "live": Словники отримуються динамічно з використанням live sync API. Замінює useIntlayer на useDictionaryDynamic.
      • Note: Динамічні імпорти залежать від Suspense і можуть дещо вплинути на продуктивність рендерингу.
      • Note: Якщо вимкнено, усі локалі будуть завантажені одночасно, навіть якщо вони не використовуються.
      • Note: Ця опція покладається на плагіни @intlayer/babel та @intlayer/swc.
      • Note: Переконайтеся, що всі ключі оголошені статично у викликах useIntlayer. Наприклад useIntlayer('navbar').
      • Note: Ця опція буде ігноруватися, якщо optimize вимкнено.
      • Note: Якщо встановлено в "live", лише ті словники, які містять віддалений контент і позначені прапорцем "live", будуть перетворені у live-режим. Інші будуть імпортовані динамічно як режим "dynamic" для оптимізації кількості запитів і швидкості завантаження.
      • Note: У режимі live буде використовуватися Live Sync API для отримання словників. Якщо виклик API завершиться невдачею, словники будуть імпортовані динамічно в режимі "dynamic".
      • Note: Ця опція не вплине на функції getIntlayer, getDictionary, useDictionary, useDictionaryAsync та useDictionaryDynamic.
    • outputFormat:

      • Type: 'esm' | 'cjs'
      • Default: 'esm'
      • Description: Керує форматом виводу словників.
      • Example: 'cjs'
      • Note: Формат виводу словників.
    • traversePattern:

      • Type: string[]
      • Default: ['**/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**/node_modules/**']
      • Description: Шаблони, що визначають, які файли слід обходити під час оптимізації.
        • Example: ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']
      • Note: Використовуйте це, щоб обмежити оптимізацію релевантними файлами коду та покращити продуктивність збірки.
      • Note: Ця опція буде ігнорована, якщо optimize вимкнено.
      • Note: Використовуйте glob-шаблон.
    Отримуйте сповіщення про майбутні випуски Intlayer