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

    Перечисление / Множественное число

    Как работает перечисление

    В Intlayer перечисление реализуется с помощью функции enu, которая сопоставляет определённые ключи с соответствующим содержимым. Эти ключи могут представлять числовые значения, диапазоны или пользовательские идентификаторы. При использовании с React Intlayer или Next Intlayer соответствующее содержимое автоматически выбирается на основе локали приложения и заданных правил.

    Настройка перечисления

    Чтобы настроить перечисление в вашем проекте Intlayer, необходимо создать модуль содержимого, включающий определения перечислений. Вот пример простого перечисления для количества автомобилей:

    **/*.content.ts
    import { enu, type Dictionary } from "intlayer";const carEnumeration = {  key: "car_count",  content: {    numberOfCar: enu({      "<-1": "Меньше чем минус один автомобиль",      "-1": "Минус один автомобиль",      "0": "Нет автомобилей",      "1": "Один автомобиль",      ">5": "Несколько автомобилей",      ">19": "Много автомобилей",      "fallback": "Запасное значение", // Необязательно    }),  },} satisfies Dictionary;export default carEnumeration;

    В этом примере enu сопоставляет различные условия с конкретным содержимым. При использовании в React-компоненте Intlayer может автоматически выбирать соответствующее содержимое на основе переданной переменной.

    Порядок объявления важен в перечислениях Intlayer. Первое подходящее объявление будет выбрано. Если применяются несколько условий, убедитесь, что они расположены в правильном порядке, чтобы избежать непредвиденного поведения.

    Если запасное значение не объявлено, функция вернёт undefined, если ни один ключ не совпадает.

    Использование перечислений с React Intlayer

    Для использования перечислений в React-компоненте вы можете воспользоваться хуком useIntlayer из пакета react-intlayer. Этот хук получает правильное содержимое на основе указанного идентификатора. Вот пример того, как его использовать:

    **/*.tsx
    import type { FC } from "react";import { useIntlayer } from "react-intlayer";const CarComponent: FC = () => {  const { numberOfCar } = useIntlayer("car_count");  return (    <div>      <p>        {          numberOfCar(0) // Вывод: Нет автомобилей        }      </p>      <p>        {          numberOfCar(6) // Вывод: Несколько автомобилей        }      </p>      <p>        {          numberOfCar(20) // Вывод: Много автомобилей        }      </p>      <p>        {          numberOfCar(0.01) // Вывод: Запасное значение        }      </p>    </div>  );};

    В этом примере компонент динамически изменяет свой вывод в зависимости от количества машин. Правильный контент выбирается автоматически в зависимости от указанного диапазона.

    Дополнительные ресурсы

    Для получения более подробной информации о настройке и использовании обратитесь к следующим ресурсам:

    Эти ресурсы предоставляют дополнительную информацию о настройке и использовании Intlayer в различных средах и с разными фреймворками.

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

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