(function() { /** * provides text formatting and i18n key storage features
* implements most of the Sun Java MessageFormat functionality. * @see Sun's Documentation */ var keys = {}; var format = function(message, args) { var substitute = function() { var format = arguments[1].split(','); var substr = escape(args[format.shift()]); if(format.length === 0) { return substr; // simple substitution eg {0} } switch(format.shift()) { case "number" : return (new Number(substr)).toLocaleString(); case "date" : return (new Date(+substr)).toLocaleDateString(); // date and time require milliseconds since epoch case "time" : return (new Date(+substr)).toLocaleTimeString(); // eg i18n.text("Key", +(new Date())); for current time } var styles = format.join("").split("|").map(function(style) { return style.match(/(-?[\.\d]+)(#|<)([^{}]*)/); }); var match = styles[0][3]; for(var i=0; i