# vue: useSetLocale URL: https://generaltranslation.com/zh/docs/vue/reference/composables/use-set-locale.mdx --- title: useSetLocale description: 更改当前区域设置。useSetLocale 的 API 参考。 --- `useSetLocale` 组合式函数会返回已安装插件提供的异步区域设置函数。其加载和导航行为取决于该插件的创建方式。 ## 概述 [#overview] 使用目标区域设置作为参数调用返回的函数: ```vue ``` 使用 [`useLocale()`](/docs/vue/reference/composables/use-locale) 获取当前区域设置。 ## 工作原理 [#how-it-works] ### 响应式插件 对于 [`createGT()`](/docs/vue/reference/functions/create-gt) 插件,其区域设置函数: 1. 通过已配置的加载器加载未缓存的目标目录。 2. 加载成功后,将目标区域设置保存到已配置的 cookie 中。 3. 无需重新加载页面,即可更新响应式使用方。 成功加载的目录会保留在缓存中。并发请求可按任意顺序完成,但只有最新请求会更改当前区域设置。如果该请求的目录加载失败,则 Promise 会被拒绝,当前区域设置和 cookie 均保持不变。 ### 浏览器 SPA 插件 对于 [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) 返回的单例,其区域设置函数会在提供了已配置的区域设置列表时,依据该列表解析请求的区域设置、写入 cookie,并重新加载文档。它不会在当前页面加载目标目录;该页面的区域设置会保持固定,直到重新加载。重新加载后,模块级 [`t()`](/docs/vue/reference/functions/t) 调用会在新目录预加载完成后再次执行。 ## 参数 [#parameters] `useSetLocale` 不接受任何参数。 ## 返回值 [#returns] **类型** `(locale: string) => Promise` 一个接受以下参数的异步设置函数: | 参数 | 描述 | 类型 | 可选 | 默认值 | | ------------------- | --------- | -------- | -- | --- | | [`locale`](#locale) | 目标区域设置代码。 | `string` | 否 | — | ### `locale` **类型** `string` · **必填** 目标区域设置代码。响应式 [`createGT()`](/docs/vue/reference/functions/create-gt) 插件接受其加载器可处理的任何代码。当 [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) 插件配置了 `locales` 列表时,它会匹配其中的区域设置及已配置的别名;如果请求不受支持,则回退到默认区域设置。 ## 示例 [#example] 如果后续代码依赖新的区域设置,请等待响应式变更: ```vue title="LocaleSelect.vue" ``` 在使用 [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) 初始化的 SPA 中,调用该函数时会开始重新加载文档。因此,请勿安排任何假定目标区域设置已生效的同页任务。