# I18n

You can customize the initial state of the module from the editor initialization, by passing the following Configuration Object

const editor = grapesjs.init({
 i18n: {
   locale: 'en',
   localeFallback: 'en',
   messages: {
     it: { hello: 'Ciao', ... },
     ...
   }
 }
})

Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance

const i18n = editor.I18n;

# Events

  • i18n:add - New set of messages is added
  • i18n:update - The set of messages is updated
  • i18n:locale - Locale changed

# getConfig

Get module configurations

Returns Object Configuration object

# setLocale

Update current locale

# Parameters

# Examples

i18n.setLocale('it');

Returns this

# getLocale

Get current locale

Returns String Current locale value

# getMessages

Get all messages

# Parameters

  • lang String? Specify the language of messages to return
  • opts Object? Options (optional, default {})
    • opts.debug Boolean? Show warnings in case of missing language

# Examples

i18n.getMessages();
// -> { en: { hello: '...' }, ... }
i18n.getMessages('en');
// -> { hello: '...' }

Returns Object

# setMessages

Set new set of messages

# Parameters

# Examples

i18n.getMessages();
// -> { en: { msg1: 'Msg 1', msg2: 'Msg 2', } }
i18n.setMessages({ en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } });
// Set replaced
i18n.getMessages();
// -> { en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } }

Returns this

# addMessages

Update messages

# Parameters

# Examples

i18n.getMessages();
// -> { en: { msg1: 'Msg 1', msg2: 'Msg 2', } }
i18n.addMessages({ en: { msg2: 'Msg 2 up', msg3: 'Msg 3', } });
// Set updated
i18n.getMessages();
// -> { en: { msg1: 'Msg 1', msg2: 'Msg 2 up', msg3: 'Msg 3', } }

Returns this

# t

Translate the locale message

# Parameters

  • key String Label to translate
  • opts Object? Options for the translation (optional, default {})
    • opts.params Object? Params for the translation
    • opts.debug Boolean? Show warnings in case of missing resources

# Examples

obj.setMessages({
 en: { msg: 'Msg', msg2: 'Msg {test}'},
 it: { msg2: 'Msg {test} it'},
});
obj.t('msg');
// -> outputs `Msg`
obj.t('msg2', { params: { test: 'hello' } });  // use params
// -> outputs `Msg hello`
obj.t('msg2', { l: 'it', params: { test: 'hello' } });  // custom local
// -> outputs `Msg hello it`

Returns String