code: function (string) {
              var params = Array.prototype.slice.call(arguments, 1);
              params = ariaUtilsArray.flattenDeep(params);
  
              string = string.replace(/%[0-9]+/g, function (token) {
                  var replacement = params[parseInt(token.substring(1), 10) - 1];
                  return typeof replacement !== "undefined" ? replacement : token;
              });
  
              return string;
          }
docs: Substitute %n parameters in a string
  @param {String} string The source string to substitute %n occurrences in
  @param {Array|String} ...params All the remaining parameters, that can form from one simple string to deeply nested arrays of strings, will be resolved to a single list of strings. These strings will be used for the substitutions. Index 0 will replace %1, index 1, %2 and so on.
  @return {String} The final string, with %n occurrences replaced with their equivalent