Виджет рейтингов graddit поддерживает два языка: русский и английский. Это определяется параметром rus или eng при вызове виджета (подробнее здесь). Разумеется, это не совсем удобно, если ваши страницы написаны на другом языке, получается языковая каша, которая выглядит не очень красиво. Рассмотрим на примере самого популярного кода виджета (жёлтые звёзды) как можно решить проблему перевода. Код выглядит так:
<b:if cond='data:blog.pageType != "static_page"'>
<div expr:id='"labels_" + data:post.id' style='display: none; visibility: hidden;'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'><data:label.name/>,</b:loop>
</b:if>
</div> Нравится пост?
<div expr:id='data:post.id' style='padding-left: 3px; padding-right: 3px; display: inline; visibility: hidden;'>{[['<img src="http://img.graddit.com/img/star.png"/>']]}</div>
<script expr:src='"http://graddit.com/rate/rus/5/" + data:post.id + "?stats=" + data:post.id + "&info=info-" + data:post.id + "&info_delay=2&class_star=ffbs_star_img&class_star_set=ffbs_star_img_set&class_star_vote=ffbs_star_img_vote&views=yes&id=" + data:post.id + "&url=" + data:post.url + "&labels=labels_" + data:post.id + ""' type='text/javascript'/>
</b:if>
Жирным выделен интересующий нас элемент div. Помимо указанного выше он может содержать следующие значение в data-атрибутах:
В отличие от стандартного, который вы видите ниже.
<b:if cond='data:blog.pageType != "static_page"'>
<div expr:id='"labels_" + data:post.id' style='display: none; visibility: hidden;'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'><data:label.name/>,</b:loop>
</b:if>
</div> Нравится пост?
<div expr:id='data:post.id' style='padding-left: 3px; padding-right: 3px; display: inline; visibility: hidden;'>{[['<img src="http://img.graddit.com/img/star.png"/>']]}</div>
<script expr:src='"http://graddit.com/rate/rus/5/" + data:post.id + "?stats=" + data:post.id + "&info=info-" + data:post.id + "&info_delay=2&class_star=ffbs_star_img&class_star_set=ffbs_star_img_set&class_star_vote=ffbs_star_img_vote&views=yes&id=" + data:post.id + "&url=" + data:post.url + "&labels=labels_" + data:post.id + ""' type='text/javascript'/>
</b:if>
Жирным выделен интересующий нас элемент div. Помимо указанного выше он может содержать следующие значение в data-атрибутах:
- data-label-votes - текст для "голосов";
- data-label-views - текст для "просмотров";
- data-label-rating - текст для "рейтинга"'
- data-label-info-rating - текст для рейтингов во всплывающем окне с расшифровкой голосов.
Проще понять на примере. Такой код (с добавленным параметром average=yes для отображения значения рейтинга):
<b:if cond='data:blog.pageType != "static_page"'>
<div expr:id='"labels_" + data:post.id' style='display: none; visibility: hidden;'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'><data:label.name/>,</b:loop>
</b:if>
</div> Нравится пост?
<div data-label-votes='проголосовало: ' data-label-views='посмотрели: ' data-label-rating='оценили на: ' data-label-info-rating='Подробно' expr:id='data:post.id' style='padding-left: 3px; padding-right: 3px; display: inline; visibility: hidden;'>{[['<img src="http://img.graddit.com/img/star.png"/>']]}</div>
<script expr:src='"http://graddit.com/rate/rus/5/" + data:post.id + "?stats=" + data:post.id + "&info=info-" + data:post.id + "&info_delay=2&class_star=ffbs_star_img&class_star_set=ffbs_star_img_set&class_star_vote=ffbs_star_img_vote&views=yes&average=yes&id=" + data:post.id + "&url=" + data:post.url + "&labels=labels_" + data:post.id + ""' type='text/javascript'/>
</b:if>
Даст вот такой рейтинг:
<div expr:id='"labels_" + data:post.id' style='display: none; visibility: hidden;'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'><data:label.name/>,</b:loop>
</b:if>
</div> Нравится пост?
<div data-label-votes='проголосовало: ' data-label-views='посмотрели: ' data-label-rating='оценили на: ' data-label-info-rating='Подробно' expr:id='data:post.id' style='padding-left: 3px; padding-right: 3px; display: inline; visibility: hidden;'>{[['<img src="http://img.graddit.com/img/star.png"/>']]}</div>
<script expr:src='"http://graddit.com/rate/rus/5/" + data:post.id + "?stats=" + data:post.id + "&info=info-" + data:post.id + "&info_delay=2&class_star=ffbs_star_img&class_star_set=ffbs_star_img_set&class_star_vote=ffbs_star_img_vote&views=yes&average=yes&id=" + data:post.id + "&url=" + data:post.url + "&labels=labels_" + data:post.id + ""' type='text/javascript'/>
</b:if>
Даст вот такой рейтинг:
{[['
']]}

В отличие от стандартного, который вы видите ниже.
Комментариев нет:
Отправить комментарий