Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Початкова документація middleware intlayer"v9.5.519.09.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація middleware intlayer для Remix 3
Middleware intlayer для Remix 3 керує шаром інтернаціоналізації у всьому вашому додатку. Побудований на веб-стандартах (Request і Response), він обробляє маршрутизацію за локалями (перенаправлення та внутрішні перезаписи), визначає локаль запиту, зберігає її в cookie та заголовках, а також створює область AsyncLocalStorage, щоб подальші обробники й компоненти могли отримувати доступ до перекладів без передавання props по ланцюжку.
Використання
Зареєструйте middleware intlayer під час ініціалізації маршрутизатора Remix 3:
Скопіюйте код у буфер обміну
Опис
Middleware intlayer виконує такі завдання:
- Підготовка словників: Запускає
prepareIntlayerпід час старту, щоб усі згенеровані словники були зібрані та доступні. - Маршрутизація за локалями: Оцінює запит відповідно до налаштованої стратегії маршрутизації (
prefix_always,prefix_as_needed,no_prefix):- Перенаправлення: Якщо користувач відкриває
/aboutі має бути спрямований на шлях із префіксом локалі (наприклад,/fr/about), middleware повертає відповідь із перенаправленням і відповідними заголовкамиlocationтаSet-Cookie. - Внутрішні перезаписи: Коли користувач звертається до
/fr/about, URL внутрішньо перезаписується, щоб ваш обробник маршруту збігався з/about, а визначена локаль фіксується якfr. - Локалізовані псевдоніми URL: Враховує правила перезапису URL, визначені в
intlayer.config.ts(наприклад, перезапис/fr/aboutна/fr/a-propos).
- Перенаправлення: Якщо користувач відкриває
- Визначення локалі: Визначає активну локаль за префіксом URL, збереженими cookie, користувацькими заголовками або вподобаннями браузера
Accept-Language. - Впровадження контексту:
- Прикріплює
IntlayerState(locale,defaultLocale,availableLocales) доRequestContextRemix під ключемIntlayerта вcontext.intlayer. - Виконує решту запиту всередині області
AsyncLocalStorage(requestStorage), що дозволяє коректно викликатиuseIntlayer,useDictionaryіuseLocaleв обробниках, представленнях і компонентах.
- Прикріплює
- Збереження: Додає вихідні заголовки та cookie локалі до фінальної HTTP-відповіді, щоб зберегти вподобання користувача.
Параметри
Функція intlayer приймає необов'язкові параметри IntlayerMiddlewareOptions:
Скопіюйте код у буфер обміну
Прямий доступ до контексту
Окрім використання хуків, ви можете отримати визначений стан IntlayerState безпосередньо з контексту запиту Remix:
Скопіюйте код у буфер обміну
