localization = (function () { "use strict"; var dict = { }; function formatString(format, args) { for (var i = 0; i < args.length; i++) { format = format.replace('{' + i + '}', args[i]) } return format } function localize(format /* , [ arg1, arg2, ... ] */) { var args = Array.prototype.slice.call(arguments, 1); return localizeInternal(format, args); }; function localizeRecursive(format /* , [ arg1, arg2, ... ] */) { var args = Array.prototype.slice.call(arguments, 1); return localizeInternal(format, args, true); }; function localizeInternal(key, args, localizeArgs) { if (!key) { return key } var s = dict[key]; if (!s) { console.warn("Missing localization for \"" + key + "\",") s = key } if (!args || args.length === 0) { return s; } if (localizeArgs) { args = args.map(localize); } return formatString(s, args); } return { localize: localize, localizeRecursive: localizeRecursive } }()); var localize = localization.localize, localizeRecursive = localization.localizeRecursive;