API Reference

Extension of Vue

All Vue I18n properties and methods (like $t, $i18n, v-t directive and others) are also available even though they are not listed here. Below are only the ones that are added by nuxt-i18n.

Methods

localePath

  • Arguments:
    • route (type: string | Location)
    • locale (type: string, default: current locale)
  • Returns: string

Returns localized path for passed in route. If locale is not specified, uses current locale.

See also Basic usage - nuxt-link.

switchLocalePath

  • Arguments:
    • locale: (type: string)
  • Returns: string

Returns path of the current route for specified locale.

See also Basic usage - nuxt-link.

See type definition for Location.

getRouteBaseName

  • Arguments:
    • route (type: Route, default: current route)
  • Returns: string

Returns base name of current (if argument not provided) or passed in route. Base name is name of the route without locale suffix and other metadata added by nuxt-i18n.

localeRoute

v6.12.0+

Returns localized route for passed in route parameters. If locale is not specified, uses current locale.

See also Basic usage - nuxt-link.

localeLocation

v6.24.0+

Returns localized location for passed in route parameters. If locale is not specified, uses current locale.

See also Basic usage - nuxt-link.

$nuxtI18nHead

v6.19.0+

If options.addDirAttribute is set to false, the dir attribute will not be added. If options.addSeoAttributes is set to true, the seo attributes will be added.

$nuxtI18nSeo

deprecated from v6.19.0 (use $nuxtI18nHead )
  • Arguments:
    • no arguments
  • Returns: MetaInfo

SEO object provided mostly for use with SEO - Improving Performance.

Extension of VueI18n

Instance of VueI18n class (see its properties and methods) is exposed as $i18n on Vue instance and Vuex Store but as i18n on Nuxt context.app.

Methods

getLocaleCookie

  • Arguments:
    • no arguments
  • Returns: string | undefined

Returns locale code from stored locale cookie.

setLocaleCookie

  • Arguments:
    • locale (type: string)
  • Returns: undefined

Updates stored locale cookie with specified locale code. Consider using setLocale instead if you want to switch locale.

setLocale

v6.1.0+
  • Arguments:
    • locale (type: string)
  • Returns: Promise<undefined>

Switches locale of the app to specified locale code. If useCookie option is enabled, locale cookie will be updated with new value. If prefixes are enabled (strategy other than no_prefix), will navigate to new locale's route.

getBrowserLocale

  • Arguments:
    • no arguments
  • Returns: string | undefined

Returns browser locale code filtered against the ones defined in options.

finalizePendingLocaleChange

v6.20.0+
  • Arguments:
    • no arguments
  • Returns: Promise<undefined>

Switches to the pending locale that would have been set on navigate, but was prevented by the option skipSettingLocaleOnNavigate. See more information in Wait for page transition.

waitForPendingLocaleChange

v6.20.0+
  • Arguments:
    • no arguments
  • Returns: Promise<undefined>

Returns a promise that will be resolved once the pending locale is set.

Properties

defaultDirection

v6.19.0+
  • Type: Directions

Default direction as specified in options.

defaultLocale

  • Type: string

Default locale as specified in options.

localeCodes

  • Type: Array<string>

List of locale codes of registered locales.

locales

  • Type: Array<string | LocaleObject>

List of locales as defined in options.

localeProperties

  • Type: LocaleObject

Object of the current locale properties.

differentDomains

  • Type: boolean

Whether differentDomains option is enabled.

beforeLanguageSwitch

  • Type: Function

See callbacks

onBeforeLanguageSwitch

v6.27.0+
  • Type: Function

See callbacks

onLanguageSwitched

  • Type: Function

See callbacks

Extension of Nuxt Context

The following APIs are exposed both on context and context.app.

i18n

See also Nuxt context.

Can be accessed from asyncData and wherever context is available.

Example use:

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

    return {
      locale
    }
  }
})

getRouteBaseName

localePath

localeRoute

localeLocation

switchLocalePath

See more info about those in methods documentation.

Extension of Vuex

$i18n

Can be accessed in store's actions and mutations as this.$i18n.

Example use:

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

getRouteBaseName

localePath

localeRoute

localeLocation

switchLocalePath

See more info about those in methods documentation.

Edit this page on GitHub Updated at Tue, Aug 3, 2021