If you're a module author and want that module to provide extra messages for your project, you can merge them into the normally loaded messages by using the i18n:extend-messages hook.

To do this, in your module's setup file listen to the Nuxt hook and push your messages. @nuxtjs/i18n will do the rest.

This is particularly useful if your module use translated content and you want to offer to users nice default translations.

Example:

my-module-exemple/module1.ts
import { defineNuxtModule } from '@nuxt/kit'export default defineNuxtModule({  async setup(options, nuxt) {    nuxt.hook('i18n:extend-messages', (additionalMessages, localeCodes) => {      additionalMessages.push({        en: {          'my-module-exemple': {            hello: 'Hello from external module'          }        },        fr: {          'my-module-exemple': {            hello: 'Bonjour depuis le module externe'          }        }      })    })  }}

Now the project has access to new messages and can use them through $t('my-module-exemple.hello').

Because module's messages are merged with the project's ones, it's safer to prefix them.Main project messages will always override the module's ones.