# gt-next: General Translation Next.js SDK: Plural URL: https://generaltranslation.com/ru/docs/next/api/components/plural.mdx --- title: Plural description: Справочник по API компонента Plural --- {/* АВТОМАТИЧЕСКИ СГЕНЕРИРОВАНО: Не редактируйте напрямую. Отредактируйте шаблон в content/docs-templates/. */} ## Обзор Мы используем компонент `` для согласования предложений. Сравните, например, такие предложения: "У вас один элемент." и "У вас два элемента." В английском языке нужно задать два разных варианта предложения в зависимости от количества элементов. В других языках таких вариантов может быть до шести. ```jsx const count = 1; ``` ## Справочник ### Свойства Синтаксис `[key]: string` обозначает произвольные ключи, соответствующие возможным веткам плюрализации. Например, в качестве параметров можно добавить такие варианты, как `singular` и `plural`. ### Описание | Имя свойства | Описание | | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `n` | Число, используемое для определения формы множественного числа. Это обязательный параметр для плюрализации. | | `children` | Резервный вариант, которое будет отображаться, если не найдена подходящая ветка множественного числа. | | `locales` | Необязательные 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-next'; export default function ItemCount({ count }) { return ( ); } ``` ### Резервные варианты Вы можете указать резервный вариант на случай, если для значения, переданного в `n`, не найдётся подходящей ветки. ```jsx title="FallbackExample.jsx" copy import { Plural } from 'gt-next'; export default function ItemCount({ count }) { return ( У вас несколько элементов. // [!code highlight] ); } ``` ### Перевод форм множественного числа Чтобы переводить формы множественного числа, достаточно добавить компонент ``. ```jsx title="PluralExample.jsx" copy import { T, Plural } from 'gt-next'; export default function ItemCount({ count }) { return ( ); } ``` ### Добавление переменных Что, если мы хотим добавить несколько переменных в предложение с формой множественного числа? ```jsx title="PluralExample.jsx" copy import { T, Plural, Num } from 'gt-next'; 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/next/guides/branches). * Для более продвинутых сценариев используйте `` вместе с переменными компонентами, такими как ``, ``, `` и ``. Подробнее см. в руководстве [Использование переменных компонентов](/docs/next/guides/variables).