Перечисление / Множественное число
Как работает перечисление
В Intlayer перечисление достигается с помощью функции enu, которая сопоставляет определенные ключи с их соответствующим содержанием. Эти ключи могут представлять числовые значения, диапазоны или пользовательские идентификаторы. При использовании с React Intlayer или Next Intlayer соответствующее содержимое автоматически выбирается на основе локали приложения и определенных правил.
Настройка перечисления
Чтобы настроить перечисление в вашем проекте Intlayer, необходимо создать модуль содержимого, который включает определения перечислений. Вот пример простого перечисления для количества автомобилей:
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. Этот хук извлекает правильное содержимое на основе указанного идентификатора. Вот пример использования:
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