Guide
Module integration
How to integrate Nuxt i18n inside of a module.
If your module depends on Nuxt i18n, you can use moduleDependencies to declare the dependency and define default or override options. See Nuxt's Module Author Guide for more information.
You will need to resolve paths for vueI18n, langDir, and those configured in locales to absolute paths:
import { createResolver, defineNuxtModule } from '@nuxt/kit'
const resolver = createResolver(import.meta.url)
export default defineNuxtModule({
moduleDependencies: {
'@nuxtjs/i18n': {
defaults: {
vueI18n: resolver.resolve('./i18n.config.ts'),
langDir: resolver.resolve('./lang'),
locales: [
{ code: 'en', file: resolver.resolve('./lang/en.json') },
{ code: 'fr', file: resolver.resolve('./lang/fr.json') },
]
}
}
},
// ...
})