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

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

    В 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 в различных средах и с различными фреймворками.

    Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.

    Ссылка на документацию GitHub