i18n.getMessage()

Gets the localized string for the specified message.

See the Internationalization page for a guide on using this function.

Syntax

js
browser.i18n.getMessage(
  messageName,  // string
  substitutions // optional any
)

Parameters

messageName

string. The name of the message, as specified in the messages.json file. If the message can't be found in messages.json:

  • Firefox returns "" and logs an error.
  • Chrome returns "" and does not log an error.
substitutions Optional

string or array of string. A single substitution string, or an array of substitution strings.

In Chrome, if you supply more than 9 substitution strings, getMessage() will return undefined.

Return value

string. Message localized for current locale.

Browser compatibility

Examples

Get the localized string for "messageContent", with target.url substituted:

js
let message = browser.i18n.getMessage("messageContent", target.url);
console.log(message);

This would work with a _locales/en/messages.json file containing:

json
{
  "messageContent": {
    "message": "You clicked $URL$.",
    "description": "Tells the user which link they clicked.",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  }
}

If target.url is "https://developer.mozilla.org", then the value of message, in the "en" locale, would be:

"You clicked https://developer.mozilla.org."

Example extensions

Note: This API is based on Chromium's chrome.i18n API. This documentation is derived from i18n.json in the Chromium code.