code: function (key, values, defaultValue, culture) {
                      var result = globalize.localize(key, culture || activeCulture.name);
                      if (typeof result === 'undefined' && translationFallback) {
                          result = globalize.localize(key, defaultCulture.name);
                      }
                      if (typeof result === 'undefined') {
                          if (typeof defaultValue === 'undefined') {
                              return '[' + key + ']';
                          }
                          else {
                              return defaultValue;
                          }
                      }
  
                      var typeOfValues = typeof values;
                      if (typeOfValues !== 'undefined' && (typeOfValues === 'string' || typeOfValues === 'int' || typeOfValues === 'float')) {
                          values = [values];
                      }
  
                      return result.replace(placeholderRegexp, function (item) {
                          return values[parseInt(item.substring(1, item.length - 1))] || '';
                      });
                  }
docs: @ngdoc function
  @name w20CoreCulture.service:CultureService#localize
  @methodOf w20CoreCulture.service:CultureService
  @param {String} key The i18n key to localize.
  @param {Array} [values] The localized string placeholder values.
  @param {String} [defaultValue] A default value to be returned if no localization exists in the language.
  @param {String} [culture] If specified this culture selector will be used to do the localization.
  @returns {String} The translated string, with placeholders replaced by their respective values.
  
  @description
  
  Localize an i18n key in the current culture or the explicitely specified one. An localized string
  can contain placeholders like {0}, {1}, {2}, ... {n} which will be replaced by the corresponding
  element in the values array.