# vue: InitializeGTSPAOptions URL: https://generaltranslation.com/ru/docs/vue/reference/types/initialize-gt-spa-options.mdx --- title: InitializeGTSPAOptions description: Настройка синглтона, работающего только в браузере и используемого для предзагруженных переводов на уровне модуля. Справочник API для InitializeGTSPAOptions. --- Передайте этот объект в [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa). Он расширяет [`CreateGTOptions`](/docs/vue/reference/types/create-gt-options), добавляя список локалей и алиасы, которые можно считывать напрямую из `gt.config.json`. ## Обзор [#overview] ```ts type InitializeGTSPAOptions = CreateGTOptions & { customMapping?: CustomMapping; 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>` · **Необязательно** · **По умолчанию** отсутствует Объявляет алиасы локалей из вашей конфигурации 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).