# gt-react: General Translation React SDK: Множественное число URL: https://generaltranslation.com/ru/docs/react/api/components/plural.mdx --- title: Множественное число description: Справочник по API компонента Plural --- {/* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ: Не редактируйте напрямую. Вместо этого измените шаблон в content/docs-templates/. */} ## Обзор Мы используем компонент `` для согласования форм в предложениях. Сравните, например, такие предложения: "У вас один элемент." и "У вас два элемента." В английском языке нужно задать два разных варианта предложения в зависимости от количества элементов. В других языках может потребоваться до шести вариантов. ```jsx const count = 1; ``` ## Справочник ### Свойства Синтаксис `[key]: string` обозначает произвольные ключи, соответствующие возможным ветвям плюрализации. Например, в качестве параметров можно добавить ветви `singular` и `plural`. ### Описание | Имя свойства | Описание | | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `n` | Число, используемое для определения формы множественного числа. Обязательно для плюрализации. | | `children` | Резервный вариант содержимого, которое будет отображаться, если не найдена подходящая ветка множественного числа. | | `locales` | Необязательные локали для указания локали форматирования. Если не указаны, используется локаль пользователя по умолчанию. Подробнее о том, как указывать локали, читайте [здесь](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument). | | `[key]: string` | Ветки, соответствующие формам множественного числа. Точный набор веток зависит от локали. | ### Возвращает `JSX.Element`, содержащий контент, соответствующий форме множественного числа для `n`, или резервный вариант. ### Выбрасывает `Error`, если `n` не указан или не является корректным числом. *** ## Какие формы нужно добавить? Используйте только те формы множественного числа, которые есть в вашем языке. Возможные формы: `"singular"`, `"plural"`, `"dual"`, `"zero"`, `"one"`, `"two"`, `"few"`, `"many"`, `"other"`. * Если вы разработчик и используете `"en-US"`, используйте только две формы: `"singular"` и `"plural"`. * Если вы разработчик и используете `"zh-CN"`, используйте только `"other"`. Подробнее о разных формах читайте [здесь](https://cldr.unicode.org/index/cldr-spec/plural-rules). *** ## Примеры ### Базовое использование Используйте компонент `` для плюрализации. ```jsx title="BasicExample.jsx" copy import { Plural } from 'gt-react'; export default function ItemCount({ count }) { return ( ); } ``` ### Резервные варианты Вы можете указать резервный вариант на случай, если для значения, переданного в `n`, не найдётся подходящей ветви. ```jsx title="FallbackExample.jsx" copy import { Plural } from 'gt-react'; export default function ItemCount({ count }) { return ( You have some items. // [!code highlight] ); } ``` ### Перевод форм множественного числа Чтобы добавить перевод, достаточно добавить компонент ``. ```jsx title="PluralExample.jsx" copy import { T, Plural } from 'gt-react'; export default function ItemCount({ count }) { return ( ); } ``` ### Добавление переменных Что, если мы хотим добавить переменные в предложение с формой множественного числа? ```jsx title="PluralExample.jsx" copy import { T, Plural, Num } from 'gt-react'; export default function ItemCount({ count }) { return ( {count} item.} // [!code highlight] other={You have {count} items.} // [!code highlight] /> ); } ``` Внутри компонента `` оборачивайте весь динамический контент в ``, ``, `` или ``. ```jsx {count} item.} // [!code highlight] other={You have {count} items.} // [!code highlight] /> ``` *** ## Примечания * Компонент `` используется для плюрализации. * Доступные ветви множественного числа (например, one, other, few, many) зависят от локали и соответствуют [правилам плюрализации Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules). ## Следующие шаги * Больше примеров см. в справочной документации [Использование компонентов ветвления](/docs/react/guides/branches). * Для более сложных сценариев комбинируйте `` с компонентами переменных, такими как ``, ``, `` и ``. Подробнее см. в разделе [Использование компонентов переменных](/docs/react/guides/variables).