src/aria/utils/String.js
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;
        }
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;
        }
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 ; }
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
Substitute %n parameters in a string