docs: function parseLanguageCode(lang) {
      lang = lang.toLowerCase().replace(/-/g, "_");
      var result = {lang: null, lect: null, q: 1};
      var buff = "";
  
      if (lang.indexOf(";") > -1) {
          buff = lang.split(";");
          if (buff.length == 2 && buff[1].match(/^q=(1|0\.[0-9]+)$/)) {
              result.q = parseFloat(buff[1].split("=")[1]);
          }
          buff = buff[0] || "";
      } else {
          buff = lang;
      }
  
      if (buff.indexOf("_") > -1) {
          buff = buff.split("_");
          if (buff.length == 2) {
              if (buff[0].length == 2) {
                  result.lang = buff[0];
                  if (buff[1].length == 2) {
                      result.lect = buff[1];
                  }
              }
          } else if (buff[0].length == 2) {
              result = buff[0];
          }
      } else if (buff.length == 2) {
          result.lang = buff;
      }
  
      return result;
  }