code: function ( source, locale ) {
  			var key = null,
  				deferred = null,
  				deferreds = [],
  				messageStore = this;
  
  			if ( typeof source === 'string' ) {
  				// This is a URL to the messages file.
  				$.i18n.log( 'Loading messages from: ' + source );
  				deferred = jsonMessageLoader( source )
  					.done( function ( localization ) {
  						messageStore.set( locale, localization );
  					} );
  
  				return deferred.promise();
  			}
  
  			if ( locale ) {
  				// source is an key-value pair of messages for given locale
  				messageStore.set( locale, source );
  
  				return $.Deferred().resolve();
  			} else {
  				// source is a key-value pair of locales and their source
  				for ( key in source ) {
  					if ( Object.prototype.hasOwnProperty.call( source, key ) ) {
  						locale = key;
  						// No {locale} given, assume data is a group of languages,
  						// call this function again for each language.
  						deferreds.push( messageStore.load( source[key], locale ) );
  					}
  				}
  				return $.when.apply( $, deferreds );
  			}
  
  		}
docs: General message loading API This can take a URL string for
  the json formatted messages.
  <code>load('path/to/all_localizations.json');</code>
  
  This can also load a localization file for a locale <code>
  load( 'path/to/de-messages.json', 'de' );
  </code>
  A data object containing message key- message translation mappings
  can also be passed Eg:
  <code>
  load( { 'hello' : 'Hello' }, optionalLocale );
  </code> If the data argument is
  null/undefined/false,
  all cached messages for the i18n instance will get reset.
  
  @param {String|Object} source
  @param {String} locale Language tag
  @return {jQuery.Promise}