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->$i18ngetRouteBaseName()->$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:
$i18ngetRouteBaseName()localePath()localeRoute()localeLocation()switchLocalePath()