Extending messages hook

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/setup.js
export default function () {
  const { nuxt } = this

  nuxt.hook('i18n:extend-messages', function (additionalMessages) {
    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.

Edit this page on GitHub Updated at Mon, Jan 9, 2023