Follow this guide to upgrade from one major version to the other.
Upgrading from nuxtjs/i18n
v7.x
Deprecated localeLocation()
Use localeRoute
instead for Options API style. The reason for deprecation is due to I/F changes around route resolving in Vue Router.
Deprecated localeLocation()
on Nuxt Context APIs
The Reason is same localeLocation()
Option API.
Deprecated $nuxtI18nHead()
Use localeHead()
instead for Options API style.
Deprecated nuxtI18n
component option
Use defineI18nRoute()
compiler macro. because it can be optimized with bundler.
Nuxt2:
<script>import Vue from 'vue'export default Vue.extend({ nuxtI18n: { paths: { pl: '/polish' } }})</script>
Nuxt3:
<script setup>defineI18nRoute({ paths: { pl: '/polish' }})</script>
Deprecated vuex
option
Use dynamicRouteParams
option. because, vuex no longer requires in Nuxt3.
export default defineNuxtConfig({ modules: [ '@nuxtjs/i18n' ], i18n: { // ...- vuex: true,+ dynamicRouteParams: true, // ... } })
About details, See also Lang Switcher.
Deprecated vueI18nLoader
option
This option is no longer necessary, because i18n custom block is supported by unplugin-vue-i18n as default.
Change some export APIs name on Nuxt context
The following API will be changed to $
:
i18n
->$i18n
getRouteBaseName()
->$getRouteBaseName()
localePath()
->$localePath()
localeRoute()
->$localeRoute()
switchLocalePath()
->$switchLocalePath()
Deprecated export APIs in Vuex
Vuex extention APIs were removed, because Vuex no longer requires in Nuxt3.
The following APIs are no longer available:
$i18n
getRouteBaseName()
localePath()
localeRoute()
localeLocation()
switchLocalePath()