Получайте уведомления о предстоящих релизах Intlayer
    Создание:2025-08-23Последнее обновление:2025-08-23

    express-intlayer: JavaScript-пакет для интернационализации (i18n) приложения на Express.js

    Intlayer - это набор пакетов, разработанных специально для JavaScript-разработчиков. Он совместим с такими фреймворками, как React, Next.js и Express.js.

    Пакет express-intlayer позволяет интернационализировать ваше приложение на Express.js. Он предоставляет middleware для определения предпочтительной локали пользователя и возвращает соответствующий словарь для этого пользователя.

    Зачем интернационализировать бэкенд?

    Интернационализация бэкенда необходима для эффективного обслуживания глобальной аудитории. Она позволяет вашему приложению предоставлять контент и сообщения на предпочитаемом языке каждого пользователя. Эта возможность улучшает пользовательский опыт и расширяет охват вашего приложения, делая его более доступным и релевантным для людей с разным языковым фоном.

    Практические случаи использования

    • Отображение ошибок бэкенда на языке пользователя: Когда происходит ошибка, отображение сообщений на родном языке пользователя улучшает понимание и снижает уровень фрустрации. Это особенно полезно для динамических сообщений об ошибках, которые могут отображаться во фронтенд-компонентах, таких как тосты или модальные окна.

    • Получение многоязычного контента: Для приложений, которые извлекают контент из базы данных, интернационализация обеспечивает возможность предоставления этого контента на нескольких языках. Это критично для платформ, таких как сайты электронной коммерции или системы управления контентом, которым необходимо отображать описания продуктов, статьи и другой контент на языке, предпочитаемом пользователем.

    • Отправка многоязычных электронных писем: Будь то транзакционные письма, маркетинговые кампании или уведомления, отправка писем на языке получателя может значительно повысить вовлеченность и эффективность.

    • Многоязычные push-уведомления: Для мобильных приложений отправка push-уведомлений на предпочитаемом пользователем языке может улучшить взаимодействие и удержание. Этот персональный подход делает уведомления более релевантными и действенными.

    • Другие виды коммуникаций: Любая форма коммуникации с бэкенда, такая как SMS-сообщения, системные оповещения или обновления пользовательского интерфейса, выигрывает от использования языка пользователя, обеспечивая ясность и улучшая общий пользовательский опыт.

    Интернационализируя бэкенд, ваше приложение не только уважает культурные различия, но и лучше соответствует потребностям глобального рынка, что делает этот шаг ключевым для масштабирования ваших сервисов по всему миру.

    Почему стоит интегрировать Intlayer?

    • Типобезопасная среда: Используйте TypeScript, чтобы все определения контента были точными и безошибочными.

    Установка

    Установите необходимый пакет с помощью предпочитаемого менеджера пакетов:

    bash
    npm install express-intlayer
    bash
    yarn add express-intlayer
    bash
    pnpm add express-intlayer

    Настройка Intlayer

    Intlayer предоставляет файл конфигурации для настройки вашего проекта. Поместите этот файл в корень вашего проекта.

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },};export default config;

    Для полного списка доступных параметров обратитесь к документации по конфигурации.

    Пример использования

    Настройте ваше приложение Express для использования express-intlayer:

    src/index.ts
    import express, { type Express } from "express";import { intlayer, t } from "express-intlayer";const app: Express = express();// Загрузка обработчика запросов интернационализацииapp.use(intlayer());// Маршрутыapp.get("/", (_req, res) => {  res.send(    t({      en: "Example of returned content in English",      fr: "Пример возвращаемого содержимого на французском",      "es-ES": "Пример возвращаемого содержимого на испанском (Испания)",      "es-MX": "Пример возвращаемого содержимого на испанском (Мексика)",    })  );});// Запуск сервераapp.listen(3000, () => console.log(`Слушаем порт 3000`));

    Совместимость

    express-intlayer полностью совместим с:

    Он также без проблем работает с любыми решениями для интернационализации в различных средах, включая браузеры и API-запросы. Вы можете настроить middleware для определения локали через заголовки или куки:

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  // ... Другие параметры конфигурации  middleware: {    headerName: "my-locale-header", // имя заголовка для определения локали    cookieName: "my-locale-cookie", // имя cookie для определения локали  },};export default config;

    По умолчанию express-intlayer будет интерпретировать заголовок Accept-Language для определения предпочтительного языка клиента.

    Функции, предоставляемые пакетом express-intlayer

    История документации

    • 5.5.10 - 2025-06-29: Инициализация истории
    Получайте уведомления о предстоящих релизах Intlayer