code: function loadLang(key, values) {
          var i, m,
              parse = [];
  
          if (!values && hasModule) {
              values = require('./lang/' + key);
          }
  
          for (i = 0; i < langConfigProperties.length; i++) {
              // If a language definition does not provide a value, inherit
              // from English
              values[langConfigProperties[i]] = values[langConfigProperties[i]] ||
                languages.en[langConfigProperties[i]];
          }
  
          for (i = 0; i < 12; i++) {
              m = moment([2000, i]);
              parse[i] = new RegExp('^' + (values.months[i] || values.months(m, '')) +
                  '|^' + (values.monthsShort[i] || values.monthsShort(m, '')).replace('.', ''), 'i');
          }
          values.monthsParse = values.monthsParse || parse;
  
          languages[key] = values;
  
          return values;
      }
docs: Loads a language definition into the `languages` cache.  The function takes a key and optionally values.  If not in the browser and no values are provided, it will load the language file module.  As a convenience, this function also returns the language values.