V7

API 参考

Vue 的扩展

所有的 Vue I18n 属性和方法(如 $t$i18nv-t 指令等)也可以使用,尽管它们没有在此列出。下面仅列出了由 @nuxtjs/i18n 添加的部分。

localePath()

  • 参数:
    • route (类型: string | Location)
    • locale (类型: string,默认: 当前 locale)
  • 返回: string

返回传入 route 的本地化路径。如果未指定 locale,则使用当前 locale。

另见 基本用法 - nuxt-link

switchLocalePath()

  • 参数:
    • locale: (类型: string)
  • 返回: string

返回指定 locale 的当前路由路径。

另见 基本用法 - nuxt-link

查看 Location 的类型定义。

getRouteBaseName()

  • 参数:
    • route (类型: Route,默认: 当前路由)
  • 返回: string

返回当前(如果未提供参数)或传入 route 的基本名称。基本名称是路由的名称,去掉了 locale 后缀和 @nuxtjs/i18n 添加的其他元数据。

localeRoute()

  • 参数:
    • route (类型: RawLocation)
    • locale (类型: string,默认: 当前 locale)
  • 返回: Route | undefined

返回传入 route 参数的本地化路由。如果未指定 locale,则使用当前 locale。

另见 基本用法 - nuxt-link

localeLocation()

  • 参数:
    • route (类型: RawLocation)
    • locale (类型: string,默认: 当前 locale)
  • 返回: Location | undefined

返回传入 route 参数的本地化位置。如果未指定 locale,则使用当前 locale。

另见 基本用法 - nuxt-link

$nuxtI18nHead()

options 对象接受以下可选属性:

  • addDirAttribute (类型: boolean) - 向 HTML 元素添加 dir 属性。默认: false
  • addSeoAttributes (类型: boolean | SeoAttributesOptions) - 添加各种 SEO 属性。默认: false

另见 SEO

VueI18n 的扩展

VueI18n 类实例(参见其 属性和方法)在 Vue 实例和 Vuex Store 中作为 $i18n 暴露,但在 Nuxt 的 context.app 中作为 i18n

getLocaleCookie()

  • 参数:
    • 无参数
  • 返回: string | undefined

返回存储的 locale cookie 的 locale 代码。

setLocaleCookie()

  • 参数:
    • locale (类型: string)
  • 返回: undefined

使用指定的 locale 代码更新存储的 locale cookie。如果想要切换 locale,建议使用 setLocale

setLocale()

  • 参数:
    • locale (类型: string)
  • 返回: Promise<undefined>

将应用的 locale 切换到指定的 locale 代码。如果启用了 useCookie 选项,locale cookie 将更新为新值。如果启用了前缀(strategy 不等于 no_prefix),将导航到新 locale 的路由。

getBrowserLocale()

  • 参数:
    • 无参数
  • 返回: string | undefined

返回经过过滤的浏览器 locale 代码,以符合选项中定义的 locale。

finalizePendingLocaleChange()

  • 参数:
    • 无参数
  • 返回: Promise<undefined>

切换到在导航时本会设置的待处理 locale,但由于选项 skipSettingLocaleOnNavigate 被阻止。有关更多信息,请参见 等待页面转换

waitForPendingLocaleChange()

  • 参数:
    • 无参数
  • 返回: Promise<undefined>

返回一个 promise,该 promise 会在待处理 locale 设置完成后被解析。

defaultDirection

  • 类型: Directions

默认方向,如选项中所指定。

defaultLocale

  • 类型: string

默认 locale,如选项中所指定。

localeCodes

  • 类型: Array<string>

已注册 locales 的 locale 代码列表。

locales

  • 类型: Array<string | LocaleObject>

如选项中所定义的 locales 列表。

localeProperties

  • 类型: LocaleObject

当前 locale 属性的对象。

differentDomains

  • 类型: boolean

differentDomains 选项是否启用。

onBeforeLanguageSwitch

  • 类型: Function

回调函数

onLanguageSwitched

  • 类型: Function

回调函数

Nuxt 上下文的扩展

以下 API 同时在 contextcontext.app 中暴露。

i18n

另见 Nuxt 上下文

可以从 asyncData 和任何可用 context 的地方访问。

示例用法:

export default Vue.extend({
  asyncData({ i18n }) {
    const locale = i18n.locale

    return {
      locale
    }
  }
})

getRouteBaseName()

localePath()

localeRoute()

localeLocation()

switchLocalePath()

有关这些的更多信息,请参见 Vue 的扩展 部分。

Vuex 的扩展

$i18n

可以在 store 的 actions 和 mutations 中作为 this.$i18n 访问。

示例用法:

export const actions = {
  nuxtServerInit({ commit }) {
    commit('LOCALE', this.$i18n.locale)
  }
}

getRouteBaseName()

localePath()

localeRoute()

localeLocation()

switchLocalePath()

有关这些的更多信息,请参见 Vue 的扩展 部分。