# Vue: InitializeGTSPAOptions
URL: https://generaltranslation.com/ru/docs/vue/reference/types/initialize-gt-spa-options.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Настройка синглтона, доступного только в браузере и используемого для предзагруженных переводов на уровне модуля. Справочник API для InitializeGTSPAOptions.

Передайте этот объект в [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa). Он расширяет [`CreateGTOptions`](/docs/vue/reference/types/create-gt-options), добавляя список поддерживаемых локалей, который можно считывать напрямую из `gt.config.json`; `customMapping` наследуется.

## Обзор [#overview]

```ts
type InitializeGTSPAOptions = CreateGTOptions & {
  locales?: readonly string[];
};
```

| Параметр                                | Описание                                                                                                | Тип                                                                   | Необязательно | По умолчанию                       |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------- | ---------------------------------- |
| [`defaultLocale`](#defaultlocale)       | Исходная и резервная локаль.                                                                            | `string`                                                              | Да            | `en`                               |
| [`loadTranslations`](#loadtranslations) | Асинхронный загрузчик целевого каталога.                                                                | [`LoadTranslations`](/docs/vue/reference/types/load-translations)     | Да            | Пустой каталог                     |
| [`locale`](#locale)                     | Явно заданная начальная локаль.                                                                         | `string`                                                              | Да            | Cookie-файл, затем `defaultLocale` |
| [`localeCookieName`](#localecookiename) | Cookie-файл для сохранения выбранной локали.                                                            | `string`                                                              | Да            | `generaltranslation.locale`        |
| [`customMapping`](#custommapping)       | Объект сопоставления значений `code`, используемых для подбора локалей и определения локали форматтера. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Да            | Нет                                |
| [`locales`](#locales)                   | Целевые локали, поддерживаемые этим SPA.                                                                | `readonly string[]`                                                   | Да            | Без ограничений                    |

## Общие параметры [#shared-options]

### `defaultLocale`

**Тип** `string` · **Необязательно** · **По умолчанию** `en`

Исходная и резервная локаль. Она автоматически входит в набор поддерживаемых локалей и использует исходный контент вместо вызова загрузчика.

### `loadTranslations`

**Тип** [`LoadTranslations`](/docs/vue/reference/types/load-translations) · **Необязательно** · **По умолчанию** пустой каталог

Загружает полный целевой каталог. Инициализация SPA ожидает загрузки каталога активной локали перед завершением. В случае отклонения регистрируется диагностическое сообщение, инициализация отклоняется, а последующий вызов инициализации позволяет повторить попытку.

### `locale`

**Тип** `string` · **Необязательно** · **По умолчанию** cookie-файл браузера, затем `defaultLocale`

Явно заданная начальная локаль. Она имеет приоритет над cookie-файлом, определяется по `locales` и сохраняется. Затем текущая страница использует эту определённую локаль до перезагрузки документа.

### `localeCookieName`

**Тип** `string` · **Необязательный** · **По умолчанию** `generaltranslation.locale`

Задаёт имя session cookie-файла, действующего для всего пути, который считывается при инициализации и записывается перед перезагрузкой локали в SPA.

## Параметры SPA [#spa-options]

### `customMapping`

**Тип** `Record<string, string | Partial<LocaleProperties>>` · **Необязательно** · **По умолчанию** отсутствует

Объявляет алиасы локалей из вашей конфигурации General Translation. SPA использует допустимый `code` из сопоставления объектов для подбора поддерживаемой локали и в качестве локали форматирования для расширенного содержимого и компонентов форматирования. Строковые значения и другие свойства сопоставления объектов `gt-vue` не считывает.

Пути загрузчика по-прежнему получают написание из настроенного значения `defaultLocale` или соответствующей записи `locales`.

### `locales`

**Тип** `readonly string[]` · **Необязательно** · **По умолчанию** без ограничений

Целевые локали, заданные приложением. Инициализатор удаляет дубликаты из `[defaultLocale, ...locales]`, сопоставляет запросы без учёта регистра и с учётом разрешения локалей, а если ни одна настроенная локаль не совпадает, использует `defaultLocale`.

Если этот параметр не указан, коды локалей, отличные от локали по умолчанию, не отклоняются. Варианты `defaultLocale`, отличающиеся только регистром, и его алиасы по-прежнему разрешаются в заданное написание локали по умолчанию.

## Поведение синглтона [#singleton]

Только параметры первой попытки инициализации используются для создания runtime, общего для всей страницы. Параллельные вызовы используют эту же попытку. После её успешного завершения последующие вызовы возвращают существующий плагин и не применяют новые значения параметров.

Если первая попытка завершается ошибкой, её незавершённая запись синглтона удаляется, и последующий вызов может повторить попытку с новыми параметрами.

## Пример [#example]

```ts title="src/index.ts"
import { initializeGTSPA } from 'gt-vue';
import type { InitializeGTSPAOptions } from 'gt-vue';
import gtConfig from '../gt.config.json';
import loadTranslations from './loadTranslations';

const options: InitializeGTSPAOptions = {
  defaultLocale: gtConfig.defaultLocale,
  locales: gtConfig.locales,
  customMapping: gtConfig.customMapping,
  loadTranslations,
};

async function bootstrap() {
  const gt = await initializeGTSPA(options);
  const { mount } = await import('./main');
  mount(gt);
}

void bootstrap().catch((error: unknown) => {
  console.error(error);
});
```

Этот API доступен только в браузере. Для серверного рендеринга используйте [`CreateGTOptions`](/docs/vue/reference/types/create-gt-options) с областью видимости запроса вместе с [`createGT()`](/docs/vue/reference/functions/create-gt).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
