# vue: CreateGTOptions URL: https://generaltranslation.com/ru/docs/vue/reference/types/create-gt-options.mdx --- title: CreateGTOptions description: Настройте начальную локаль, cookie-файл и загрузчик каталога для изолированного плагина Vue. Справочник API для CreateGTOptions. --- Передайте этот объект в [`createGT()`](/docs/vue/reference/functions/create-gt). Его поля применяются к реактивным клиентским плагинам и серверным плагинам в области действия запроса. ## Обзор [#overview] ```ts type CreateGTOptions = { defaultLocale?: string; loadTranslations?: LoadTranslations; locale?: string; localeCookieName?: string; }; ``` | Вариант | Описание | Тип | Необязательно | По умолчанию | | ---------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------- | ------------- | ----------------------------- | | [`defaultLocale`](#default-locale) | Исходная и резервная локаль. | `string` | Да | `en` | | [`loadTranslations`](#load-translations) | Асинхронный загрузчик целевого каталога. | [`LoadTranslations`](/docs/vue/reference/types/load-translations) | Да | Пустой каталог | | [`locale`](#locale) | Явно заданная начальная локаль. | `string` | Да | Cookie, затем `defaultLocale` | | [`localeCookieName`](#cookie-name) | Cookie-файл браузера для сохранения выбранной локали. | `string` | Да | `generaltranslation.locale` | ## `defaultLocale` [#default-locale] **Тип** `string` · **Необязательно** · **По умолчанию** `en` Локаль исходного контента и резервная локаль, используемая при отсутствии явно указанной или сохранённой локали. Исходный текст этой локали служит каталогом, поэтому плагин никогда не вызывает [`loadTranslations`](/docs/vue/reference/types/load-translations) для неё. Значение не канонизируется и не ограничивается функцией [`createGT()`](/docs/vue/reference/functions/create-gt). Используйте одинаковое написание в конфигурации CLI, путях загрузчика и при разрешении локали запроса. ## `loadTranslations` [#load-translations] **Тип** [`LoadTranslations`](/docs/vue/reference/types/load-translations) · **Необязательно** · **По умолчанию** пустой каталог Асинхронная функция обратного вызова, возвращающая полный [`TranslationCatalog`](/docs/vue/reference/types/translation-catalog) для целевой локали. Если она не указана, загрузка для любой целевой локали завершается с результатом `{}`, поэтому исходный контент остаётся видимым. Успешные результаты кэшируются отдельно для каждого плагина, а параллельные вызовы для одной локали используют один и тот же промис. Отклонённые промисы логируются и повторно выбрасываются без кэширования. ## `locale` [#locale] **Тип** `string` · **Необязательный** · **По умолчанию** cookie-файл браузера, затем `defaultLocale` Явно задаёт начальную активную локаль. На сервере передайте локаль, определённую для текущего запроса. В браузере явно указанное значение имеет приоритет над устаревшим cookie-файлом локали и записывается в него, обеспечивая согласованность гидратации. Если в браузере параметр не указан, сохранённый cookie-файл имеет приоритет над `defaultLocale`. Если на сервере параметр не указан, используется `defaultLocale`. ## `localeCookieName` [#cookie-name] **Тип** `string` · **Необязательно** · **По умолчанию** `generaltranslation.locale` Задаёт имя session cookie-файла, действующего для всего path и используемого для сохранения и чтения активной локали. Переопределите его, если routing или middleware на сервере использует другое имя cookie-файла. Прямые изменения cookie-файлов в браузере учитываются `plugin.getLocale()` и при следующем render Vue, однако браузер не генерирует событие, которое запланировало бы этот render. Для реактивных изменений используйте `plugin.setLocale()` или [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale). ## Пример [#example] ```ts import type { CreateGTOptions } from 'gt-vue'; const options: CreateGTOptions = { defaultLocale: 'en', locale: requestLocale, localeCookieName: 'my-app.locale', loadTranslations: async (locale) => (await import(`./_gt/${locale}.json`)).default, }; ``` Создавайте отдельные объект параметров и плагин для каждого серверного запроса. Совместное использование состояния плагина или изменяемого кэша каталога вне плагина может привести к утечке данных, зависящих от локали, между запросами.