code: function i18nExpMapping(translation, placeholders) {
      var staticText = translation.split(i18nTagRegex);
      // odd indexes are placeholders
      for (var i = 1; i < staticText.length; i += 2) {
          staticText[i] = placeholders[staticText[i]];
      }
      return staticText;
  }
docs: Takes a translation string and the initial list of expressions and returns a list of instructions
  that will be used to translate an attribute.
  Even indexes contain static strings, while odd indexes contain the index of the expression whose
  value will be concatenated into the final translation.