async translateElements(elements) {
    if (!elements.length) {
      return undefined;
    }

    const keys = elements.map(this.getKeysForElement);
    const translations = await this.formatMessages(keys);
    return this.applyTranslations(elements, translations);
  }
Translate a list of DOM elements asynchronously using this
`DOMLocalization` object.

Manually trigger the translation (or re-translation) of a list of elements.
Use the `data-l10n-id` and `data-l10n-args` attributes to mark up the DOM
with information about which translations to use.

Returns a `Promise` that gets resolved once the translation is complete.

@param   {Array<Element>} elements - List of elements to be translated
@returns {Promise}