Русификация последних комментариев Disqus



Disqus

Для отображения последних комментариев Disqus, достаточно вставить простой скрипт на страницу, заменив {{disqus_shortname}} на ваше значение.

<script type="text/javascript" src="http://{{disqus_shortname}}.disqus.com/recent_comments_widget.js?num_items=5&hide_mods=0&hide_avatars=1&avatar_size=32&excerpt_length=100"></script>

По умолчанию даты отображаются на английском языке. Можно добавить следующий несложный скрипт для их перевода на русский.

(function() {
  var recent_comments = $('.dsq-widget-list .dsq-widget-meta a:last-child');
  var i; for (i = recent_comments.length; --i >= 0;) {
    var texts = {
      minutes: ["минуту", "минуты", "минут"],
      hours: ["час", "часа", "часов"],
      days: ["день", "дня", "дней"],
      weeks: ["неделя", "недели", "недель"],
      years: ["год", "года", "лет"]
    };
    var ru_time;
    var ru_text;
    var time = $(recent_comments[i]).html().split(' ');
    var num = time[0];
    var text = time.slice(1).join(' ');
    var num_last = num.slice(-1);
    var num_2_last = num.slice(-2);
    if (text.indexOf('minute') != -1) { ru_text = 'minutes'; }
    else if (text.indexOf('hour') != -1) { ru_text = 'hours'; }
    else if (text.indexOf('day') != -1) { ru_text = 'days'; }
    else if (text.indexOf('week') != -1) { ru_text = 'weeks'; }
    else if (text.indexOf('year') != -1) { ru_text = 'years'; }
    if ((num_2_last == 11)||(num_2_last == 12)||(num_2_last == 13)||(num_2_last == 14)||(num_2_last == 15)||(num_2_last == 16)||(num_2_last == 17)||(num_2_last == 18)||(num_2_last == 19)) {
      if (ru_text) { ru_time = num + ' ' + texts[ru_text][2]; }
    } else if (num_last == 1) {
      if (ru_text) { ru_time = num + ' ' + texts[ru_text][0]; }
    } else if ((num_last == 0)||(num_last == 9)||(num_last == 8)||(num_last == 7)||(num_last == 6)||(num_last == 5)) {
      if (ru_text) { ru_time = num + ' ' + texts[ru_text][2]; }
    } else {
      if (ru_text) { ru_time = num + ' ' + texts[ru_text][1]; }
    }
    if (ru_time) { $(recent_comments[i]).html(ru_time + ' назад'); }
  }
})();