Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Ініціалізація документації"v9.4.024.08.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація плагіна intlayer для Elysia
Плагін intlayer для Elysia визначає локаль користувача та впроваджує об'єкт intlayer у контекст маршруту. Він також дозволяє використовувати глобальні функції перекладу в контексті запиту.
Використання
Скопіюйте код у буфер обміну
Плагін реєструє свій контекст через глобальнийderive, який Elysia типізує якPartial<{ intlayer: IntlayerContext }>. Під час виконання значення завжди присутнє для маршрутів, зареєстрованих після.use(intlayer()), тож використовуйте non-null assertion (intlayer!.t), або optional chaining, щоб задовольнити TypeScript у режиміstrict.
Ті самі хелпери доступні як окремі експорти, тож їх можна викликати без деструктуризації контексту маршруту:
Скопіюйте код у буфер обміну
Опис
Плагін виконує такі завдання:
- Визначення локалі: Він зчитує локаль, явно встановлену клієнтом, зі storage (cookie, header), а потім повертається до локалі, узгодженої із заголовка
Accept-Language. - Впровадження в контекст: Додає властивість
intlayerдо контексту маршруту Elysia (див. таблицю «Контекст маршруту» нижче). - Підготовка словників: Викликає
prepareIntlayerпід час створення плагіна, тож словники збираються під час старту застосунку.
Контекст маршруту
Відкрийте таблицю в модальному вікні, щоб чітко переглянути всі дані
| Властивість | Тип | Опис |
|---|---|---|
locale | Locale | Локаль, яку слід використати для цього запиту; locale_storage має пріоритет над locale_detected. |
locale_storage | Locale (необов'язково) | Локаль, явно запитана клієнтом через cookie або header. |
locale_detected | Locale | Локаль, узгоджена із заголовків запиту. |
defaultLocale | Locale | Локаль, налаштована як fallback у intlayer.config.ts. |
t | TranslateFunction | Функція перекладу. |
getIntlayer | typeof getIntlayer | Функція для отримання словників за ключем. |
getDictionary | typeof getDictionary | Функція для обробки об'єктів словників. |
Якщо окремі хелпери викликати поза запитом, який обробляє плагін, вони повертаються до налаштованої локалі за замовчуванням.
Порядок визначення локалі
За замовчуванням плагін визначає локаль у такому порядку:
- Cookie
INTLAYER_LOCALE. - Заголовок
x-intlayer-locale. - Узгодження через заголовок
Accept-Language. - Налаштована
defaultLocale.
Скопіюйте код у буфер обміну
Конфігурація
Плагін читає ваш файл intlayer.config.ts. Ви можете налаштувати cookie та header, які використовуються для визначення локалі:
Скопіюйте код у буфер обміну
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
routing: {
storage: [
{ type: "header", name: "my-locale-header" },
{ type: "cookie", name: "my-locale-cookie" },
],
},
};
export default config;
Докладніше про конфігурацію дивіться в документації з конфігурації.
