Composables

defineI18nLocale

defineI18nLocale() 组合函数用于定义一个用于动态加载本地化消息的函数,这些消息被用于 懒加载翻译。

defineI18nLocale() 组合函数用于定义一个用于动态加载本地化消息的函数,这些消息被用于 懒加载翻译

加载器函数需要返回一个 Promise,该 Promise 将解析为一个消息对象。

类型

declare function defineI18nLocale<Messages = LocaleMessages<DefineLocaleMessage>, Locales = Locale>(
  loader: (locale: Locales) => Messages | Promise<Messages>
): (locale: Locales) => Messages | Promise<Messages>

参数

loader

一个动态加载本地化消息的函数,具有以下参数:

  • locale
    类型: Locale
    一个目标语言环境,由 nuxt i18n 模块传入。当语言环境在以下情况下被切换时,会传入该参数:
    • 当您使用 setLocale() 切换语言环境时。
    • 当语言环境通过 <NuxtLink> 进行切换时,例如,通过 useSwitchLocalePath()$switchLocalePath() 解析的路由路径。

用法

一个使用 fetch 请求加载本地化消息的加载器函数示例:

export default defineI18nLocale(locale => {
  return $fetch(`https://your-company-product/api/${locale}`)
})