# General Translation Platform: formatListToParts URL: https://generaltranslation.com/ru/docs/platform/core/reference/utility-functions/formatting/format-list-to-parts.mdx --- title: formatListToParts description: Форматирование списка в части с учетом локали без экземпляра GT. Справочник API для formatListToParts. --- [`formatListToParts`](/docs/platform/core/reference/gt-class-methods/formatting/format-list-to-parts) — это отдельная вспомогательная функция из core library General Translation, которая форматирует массив в части с учетом локали. Она вставляет строковые разделители между элементами, сохраняя исходный тип каждого элемента, и возвращает `Array`. ## Обзор [#overview] Импортируйте `formatListToParts` напрямую из `generaltranslation` и вызовите её, передав массив и объект параметров. Для этого не требуется API-ключ или экземпляр [GT](/docs/platform/core/reference/gt-class/constructor). Если вам нужно форматирование через экземпляр с наследованием его локали, используйте вместо этого метод [`formatListToParts`](/docs/platform/core/reference/gt-class-methods/formatting/format-list-to-parts) экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor). В отличие от [`formatList`](/docs/platform/core/reference/utility-functions/formatting/format-list), которая возвращает обычную `string`, эта функция сохраняет исходные элементы без изменений и лишь вставляет между ними строковые разделители — это удобно для отображения массивов со смешанными типами в UI-фреймворках, таких как React. ```typescript import { formatListToParts } from 'generaltranslation'; const parts = formatListToParts(['red', 'green', 'blue'], { locales: ['es'], type: 'disjunction', }); // Возвращает: ['red', ', ', 'green', ' o ', 'blue'] ``` Сигнатура: ```typescript formatListToParts( array: Array, options?: { locales?: string | string[] } & Intl.ListFormatOptions ): Array ``` ## Как это работает [#how-it-works] * **Базовый API.** Используется тот же [`Intl.ListFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat), что и в методе класса GT. * **Сохранение типов.** Между элементами вставляются только строковые разделители; каждый исходный элемент сохраняет свой тип, поэтому числа и объекты остаются без изменений. * **Определение локали.** Если `locales` не указан, используется локаль библиотеки по умолчанию — `en`. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательно | По умолчанию | | --------------------- | ------------------------------------------------------------ | ----------------------------------------------------------- | ------------- | ------------ | | [`array`](#array) | Массив элементов, который нужно отформатировать. | `Array` | Нет | — | | [`options`](#options) | Параметры форматирования, включая целевую локаль или локали. | `{ locales?: string \| string[] } & Intl.ListFormatOptions` | Да | `{}` | ### `array` [#array] **Тип** `Array` · **Обязательный** Массив элементов для форматирования. Поддерживаются элементы любого типа; элементы, не являющиеся строками, возвращаются без изменений. ### `options` [#options] **Тип** `{ locales?: string | string[] } & Intl.ListFormatOptions` · **Необязательно** · **По умолчанию** `{}` Параметры форматирования. В таблице перечислены распространённые параметры, доступные в опубликованных типах Ядра, и их фактические значения по умолчанию в Ядре. Дополнительные стандартные сведения и сведения, специфичные для Runtime, см. в [параметрах конструктора `Intl.ListFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat#options). | Свойство | Описание | Тип | Необязательно | По умолчанию | | --------------- | --------------------------------- | ------------------------------------------ | ------------- | --------------- | | `locales` | Локаль или локали форматирования. | `string \| string[]` | Да | `en` | | `localeMatcher` | Алгоритм сопоставления локалей. | `'lookup' \| 'best fit'` | Да | `'best fit'` | | `type` | Тип форматирования списка. | `'conjunction' \| 'disjunction' \| 'unit'` | Да | `'conjunction'` | | `style` | Стиль форматирования списка. | `'long' \| 'short' \| 'narrow'` | Да | `'long'` | ## Возвращает [#returns] **Тип** `Array` Массив исходных элементов, между которыми вставлены строковые разделители с учетом локали. ## Примеры [#examples] ```typescript import { formatListToParts } from 'generaltranslation'; // Список с союзом "и" (по умолчанию) console.log(formatListToParts(['A', 'B', 'C'], { locales: 'en' })); // Вывод: ['A', ', ', 'B', ', and ', 'C'] // Список с союзом "или" console.log(formatListToParts(['A', 'B', 'C'], { locales: 'en', type: 'disjunction' })); // Вывод: ['A', ', ', 'B', ', or ', 'C'] ``` ```typescript // Массивы смешанных типов: числа и объекты сохраняются console.log(formatListToParts(['apple', 42, { type: 'fruit' }], { locales: 'en' })); // Вывод: ['apple', ', ', 42, ', and ', { type: 'fruit' }] ``` ```typescript // Испанское разделение (disjunction) console.log(formatListToParts(['red', 'green', 'blue'], { locales: 'es', type: 'disjunction', })); // Вывод: ['red', ', ', 'green', ' o ', 'blue'] // Краткий стиль console.log(formatListToParts(['first', 'second'], { locales: 'en', style: 'short', })); // Вывод: ['first', ' & ', 'second'] ``` ## Заметки [#notes] * Исходные типы элементов сохраняются — между элементами вставляются только строковые разделители. * В этом ключевое отличие от [`formatList`](/docs/platform/core/reference/utility-functions/formatting/format-list), которая возвращает обычную `string`. * Особенно полезно при рендеринге массивов со смешанными типами в UI-фреймворках, таких как React. * Использует тот же `Intl.ListFormat`, что и метод класса GT.