Перечисление / Плюрализация
Как работает перечисление
В Intlayer перечисление достигается через функцию enu, которая сопоставляет определённые ключи их соответствующему контенту. Эти ключи могут представлять собой численные значения, диапазоны или пользовательские идентификаторы. При использовании с React Intlayer или Next Intlayer соответствующий контент автоматически выбирается на основе локали приложения и определённых правил.
Настройка перечисления
Чтобы настроить перечисление в вашем проекте Intlayer, вам необходимо создать модуль контента, который включает определения перечисления. Вот пример простого перечисления для количества автомобилей:
import { enu, type DeclarationContent } from "intlayer";
const carEnumeration = {
key: "car_count",
content: {
numberOfCar: enu({
"<-1": "Меньше чем минус один автомобиль",
"-1": "Минус один автомобиль",
"0": "Нет автомобилей",
"1": "Один автомобиль",
">5": "Некоторое количество автомобилей",
">19": "Много автомобилей",
}),
},
} satisfies DeclarationContent;
export default carEnumeration;
В этом примере enu сопоставляет различные условия с определённым контентом. При использовании в компоненте React, Intlayer может автоматически выбирать соответствующий контент на основе заданной переменной.
Использование перечисления с React Intlayer
Чтобы использовать перечисление в компоненте React, вы можете воспользоваться хуком useIntlayer из пакета react-intlayer. Этот хук извлекает правильный контент на основе указанного идентификатора. Вот пример, как его использовать:
import { useIntlayer } from "react-intlayer";
const CarComponent = () => {
const content = useIntlayer("car_count");
return (
<div>
<p>{content.numberOfCar(0)}</p> {/* Вывод: Нет автомобилей */}
<p>{content.numberOfCar(6)}</p>{" "}
{/* Вывод: Некоторое количество автомобилей */}
<p>{content.numberOfCar(20)}</p>{" "}
{/* Вывод: Некоторое количество автомобилей */}
</div>
);
};
export default CarComponent;
В этом примере компонент динамически изменяет свой вывод в зависимости от количества автомобилей. Правильный контент выбирается автоматически в зависимости от указанного диапазона.
Важные примечания
- Порядок объявления имеет решающее значение в перечислениях Intlayer. Первая действительная декларация будет выбрана.
- Если применимо несколько условий, убедитесь, что они упорядочены правильно, чтобы избежать неожиданного поведения.
Лучшие практики для перечисления
Чтобы убедиться, что ваши перечисления работают как ожидается, следуйте этим лучшим практикам:
- Последовательное именование: Используйте чёткие и последовательные идентификаторы для модулей перечислений, чтобы избежать путаницы.
- Документация: Документируйте свои ключи перечислений и их ожидаемые выходные данные для обеспечения будущей поддерживаемости.
- Обработка ошибок: Реализуйте обработку ошибок для управления случаями, когда не найдено действительное перечисление.
- Оптимизация производительности: Для крупных приложений уменьшите количество отслеживаемых расширений файлов, чтобы улучшить производительность.
Дополнительные ресурсы
Для более подробной информации о конфигурации и использовании обратитесь к следующим ресурсам:
Эти ресурсы предоставляют дальнейшие сведения о настройке и использовании Intlayer в различных средах и с различными фреймворками.
Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHub