# vue: CreateGTOptions URL: https://generaltranslation.com/zh/docs/vue/reference/types/create-gt-options.mdx --- title: CreateGTOptions description: 配置独立 Vue 插件的初始区域设置、cookie 和目录加载器。CreateGTOptions API 参考。 --- 将此对象传递给 [`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)。省略时,每次加载目标区域设置都会解析为 `{}`,因此源内容仍会显示。 成功结果会按插件缓存;同一区域设置的并发调用会共享同一个 Promise。被拒绝的结果会被记录并重新抛出,但不会被缓存。 ## `locale` [#locale] **类型** `string` · **可选** · **默认值** 浏览器 cookie,其次为 `defaultLocale` 显式设置初始生效的区域设置。在服务器端,传入为当前请求解析出的区域设置。在浏览器中,显式指定的值会覆盖过期的区域设置 cookie,并写回该 cookie,以确保 hydration 保持一致。 在浏览器端省略时,已保存的 cookie 优先于 `defaultLocale`。在服务器端省略时,使用 `defaultLocale`。 ## `localeCookieName` [#cookie-name] **类型** `string` · **可选** · **默认值** `generaltranslation.locale` 指定用于在整个路径范围内持久保存和读取当前区域设置的会话 Cookie 名称。当路由或服务器端中间件需要使用不同的 Cookie 名称时,可覆盖此名称。 直接写入浏览器 Cookie 后,`插件.getLocale()` 和下一次 Vue 渲染都能识别更改,但浏览器不会触发安排该次渲染的事件。如需进行响应式更改,请使用 `插件.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, }; ``` 请为每个服务器端请求分别创建 options 对象和插件。共享插件状态,或在插件外部共享可变的目录缓存,可能导致特定区域设置的数据在请求之间泄露。