r53155 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r53154‎ | r53155 | r53156 >
Date:03:51, 13 July 2009
Author:aaron
Status:ok
Tags:
Comment:
Splitting out ReaderFeedback stuff part V: removed the code and en messages from FlaggedRevs.
Modified paths:
  • /trunk/extensions/FlaggedRevs/FlaggedArticle.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevs.class.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevs.pg.sql (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevs.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevs.sql (modified) (history)
  • /trunk/extensions/FlaggedRevs/FlaggedRevsXML.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/flaggedrevs.css (modified) (history)
  • /trunk/extensions/FlaggedRevs/flaggedrevs.js (modified) (history)
  • /trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php (modified) (history)
  • /trunk/extensions/FlaggedRevs/language/LikedPages.i18n.php (deleted) (history)
  • /trunk/extensions/FlaggedRevs/language/ProblemPages.i18n.php (deleted) (history)
  • /trunk/extensions/FlaggedRevs/language/RatingHistory.i18n.php (deleted) (history)
  • /trunk/extensions/FlaggedRevs/specialpages/RatingHistory_body.php (deleted) (history)
  • /trunk/extensions/FlaggedRevs/specialpages/ReaderFeedback_body.php (deleted) (history)

Diff [purge]

Index: trunk/extensions/FlaggedRevs/FlaggedRevs.php
@@ -54,10 +54,6 @@
5555 if( !defined('FR_PRISTINE') )
5656 define('FR_PRISTINE',2);
5757
58 -# Number of recent reviews to be a decent sample size
59 -if( !defined('READER_FEEDBACK_SIZE') )
60 - define('READER_FEEDBACK_SIZE',15);
61 -
6258 $wgExtensionCredits['specialpage'][] = array(
6359 'path' => __FILE__,
6460 'name' => 'Flagged Revisions',
@@ -251,24 +247,6 @@
252248 # If $wgFlaggedRevsVisible is populated, it is applied to talk pages too
253249 $wgFlaggedRevsTalkVisible = true;
254250
255 -# Users that can use the feedback form.
256 -$wgGroupPermissions['*']['feedback'] = true;
257 -
258 -# Allow readers to rate pages in these namespaces
259 -$wgFeedbackNamespaces = array();
260 -#$wgFeedbackNamespaces = array( NS_MAIN );
261 -# Reader feedback tags, positive and negative. [a-zA-Z] tag names only.
262 -# Each tag has five levels, which 3 being average. The tag names are
263 -# mapped to their weight. This is used to determine the "worst"/"best" pages.
264 -$wgFlaggedRevsFeedbackTags = array(
265 - 'reliability' => 3,
266 - 'completeness' => 2,
267 - 'npov' => 2,
268 - 'presentation' => 1
269 -);
270 -# How many seconds back should the average rating for a page be based on?
271 -$wgFlaggedRevsFeedbackAge = 7 * 24 * 3600;
272 -# How long before stats page is updated?
273251 $wgFlaggedRevsStatsAge = 2 * 3600; // 2 hours
274252
275253 # We may have templates that do not have stable version. Given situational
@@ -331,8 +309,6 @@
332310
333311 # Load review UI
334312 $wgAutoloadClasses['RevisionReview'] = $dir . 'specialpages/RevisionReview_body.php';
335 -# Load reader feedback UI
336 -$wgAutoloadClasses['ReaderFeedback'] = $dir . 'specialpages/ReaderFeedback_body.php';
337313
338314 # Load stableversions UI
339315 $wgAutoloadClasses['StableVersions'] = $dir . 'specialpages/StableVersions_body.php';
@@ -340,9 +316,6 @@
341317 # Stable version config
342318 $wgAutoloadClasses['Stabilization'] = $dir . 'specialpages/Stabilization_body.php';
343319 $wgExtensionMessagesFiles['Stabilization'] = $langDir . 'Stabilization.i18n.php';
344 -# Page rating history
345 -$wgAutoloadClasses['RatingHistory'] = $dir . 'specialpages/RatingHistory_body.php';
346 -$wgExtensionMessagesFiles['RatingHistory'] = $langDir . 'RatingHistory.i18n.php';
347320 # Load unreviewed pages list
348321 $wgAutoloadClasses['UnreviewedPages'] = $dir . 'specialpages/UnreviewedPages_body.php';
349322 $wgExtensionMessagesFiles['UnreviewedPages'] = $langDir . 'UnreviewedPages.i18n.php';
@@ -371,14 +344,6 @@
372345 $wgAutoloadClasses['QualityOversight'] = $dir . 'specialpages/QualityOversight_body.php';
373346 $wgExtensionMessagesFiles['QualityOversight'] = $langDir . 'QualityOversight.i18n.php';
374347 $wgSpecialPageGroups['QualityOversight'] = 'quality';
375 -# To list ill-recieved pages
376 -$wgAutoloadClasses['ProblemPages'] = $dir . 'specialpages/ProblemPages_body.php';
377 -$wgExtensionMessagesFiles['ProblemPages'] = $langDir . 'ProblemPages.i18n.php';
378 -$wgSpecialPageGroups['ProblemPages'] = 'quality';
379 -# To list well-recieved pages
380 -$wgAutoloadClasses['LikedPages'] = $dir . 'specialpages/LikedPages_body.php';
381 -$wgExtensionMessagesFiles['LikedPages'] = $langDir . 'LikedPages.i18n.php';
382 -$wgSpecialPageGroups['LikedPages'] = 'quality';
383348 # Statistics
384349 $wgAutoloadClasses['ValidationStatistics'] = $dir . 'specialpages/ValidationStatistics_body.php';
385350 $wgExtensionMessagesFiles['ValidationStatistics'] = $langDir . 'ValidationStatistics.i18n.php';
@@ -432,9 +397,6 @@
433398 $wgHooks['UserRights'][] = 'FlaggedRevsHooks::recordDemote';
434399 # Local user account preference
435400 $wgHooks['GetPreferences'][] = 'FlaggedRevsHooks::onGetPreferences';
436 -# Rating link
437 -$wgHooks['SkinTemplateBuildNavUrlsNav_urlsAfterPermalink'][] = 'FlaggedRevsHooks::addRatingLink';
438 -$wgHooks['SkinTemplateToolboxEnd'][] = 'FlaggedRevsHooks::ratingToolboxLink';
439401 # Show unreviewed pages links
440402 $wgHooks['CategoryPageView'][] = 'FlaggedRevsHooks::onCategoryPageView';
441403 # Backlog notice
@@ -531,7 +493,7 @@
532494 * Also sets $wgSpecialPages just to be consistent.
533495 */
534496 function efLoadFlaggedRevsSpecialPages( &$list ) {
535 - global $wgSpecialPages, $wgFlaggedRevsNamespaces, $wgFeedbackNamespaces;
 497+ global $wgSpecialPages, $wgFlaggedRevsNamespaces;
536498 if( !empty($wgFlaggedRevsNamespaces) ) {
537499 $list['RevisionReview'] = $wgSpecialPages['RevisionReview'] = 'RevisionReview';
538500 $list['StableVersions'] = $wgSpecialPages['StableVersions'] = 'StableVersions';
@@ -545,12 +507,6 @@
546508 $list['QualityOversight'] = $wgSpecialPages['QualityOversight'] = 'QualityOversight';
547509 $list['ValidationStatistics'] = $wgSpecialPages['ValidationStatistics'] = 'ValidationStatistics';
548510 }
549 - if( !empty($wgFeedbackNamespaces) ) {
550 - $list['ReaderFeedback'] = $wgSpecialPages['ReaderFeedback'] = 'ReaderFeedback';
551 - $list['RatingHistory'] = $wgSpecialPages['RatingHistory'] = 'RatingHistory';
552 - $list['ProblemPages'] = $wgSpecialPages['ProblemPages'] = 'ProblemPages';
553 - $list['LikedPages'] = $wgSpecialPages['LikedPages'] = 'LikedPages';
554 - }
555511 return true;
556512 }
557513
@@ -577,7 +533,6 @@
578534 $wgLogActions['stable/reset'] = 'stable-logentry2';
579535
580536 # AJAX functions
581 -$wgAjaxExportList[] = 'ReaderFeedback::AjaxReview';
582537 $wgAjaxExportList[] = 'RevisionReview::AjaxReview';
583538
584539 // Defaults for prefs
@@ -611,11 +566,8 @@
612567 $wgExtNewTables[] = array( 'flaggedrevs_promote', "$base/archives/patch-flaggedrevs_promote.sql" );
613568 $wgExtNewTables[] = array( 'flaggedpages', "$base/archives/patch-flaggedpages.sql" );
614569 $wgExtNewFields[] = array( 'flaggedrevs', 'fr_img_name', "$base/archives/patch-fr_img_name.sql" );
615 - $wgExtNewTables[] = array( 'reader_feedback', "$base/archives/patch-reader_feedback.sql" );
616570 $wgExtNewTables[] = array( 'flaggedrevs_tracking', "$base/archives/patch-flaggedrevs_tracking.sql" );
617571 $wgExtNewFields[] = array( 'flaggedpages', 'fp_pending_since', "$base/archives/patch-fp_pending_since.sql" );
618 - $wgExtNewFields[] = array( 'reader_feedback', 'rfb_timestamp', "$base/archives/patch-rfb_timestamp.sql" );
619 - $wgExtNewFields[] = array( 'reader_feedback', 'rfb_ratings', "$base/archives/patch-rfb_ratings.sql" );
620572 $wgExtNewFields[] = array( 'flaggedpage_config', 'fpc_level', "$base/archives/patch-fpc_level.sql" );
621573 $wgExtNewTables[] = array( 'flaggedpage_pending', "$base/archives/patch-flaggedpage_pending.sql" );
622574 } elseif( $wgDBtype == 'postgres' ) {
@@ -625,7 +577,6 @@
626578 $wgExtNewTables[] = array( 'flaggedrevs_promote', "$base/postgres/patch-flaggedrevs_promote.sql" );
627579 $wgExtNewTables[] = array( 'flaggedpages', "$base/postgres/patch-flaggedpages.sql" );
628580 $wgExtNewIndexes[] = array('flaggedrevs', 'key_timestamp', "$base/postgres/patch-fr_img_name.sql" );
629 - $wgExtNewTables[] = array( 'reader_feedback', "$base/postgres/patch-reader_feedback.sql" );
630581 $wgExtNewTables[] = array( 'flaggedrevs_tracking', "$base/postgres/patch-flaggedrevs_tracking.sql" );
631582 $wgExtNewIndexes[] = array('flaggedpages', 'fp_pending_since', "$base/postgres/patch-fp_pending_since.sql" );
632583 $wgExtPGNewFields[] = array('flaggedpage_config', 'fpc_level', "TEXT NULL" );
Index: trunk/extensions/FlaggedRevs/flaggedrevs.css
@@ -345,34 +345,3 @@
346346 .fr-hiddenform {
347347 display: none;
348348 }
349 -
350 -/* Reader feedback form */
351 -.fr_reader_feedback_plot {
352 - background-color: #F8F8F8;
353 -}
354 -
355 -.fr_reader_feedback_graph,
356 -.fr_reader_feedback_ratings,
357 -.fr_reader_feedback_users {
358 - width: 100%;
359 - overflow: auto;
360 -}
361 -
362 -.fr_reader_feedback_users {
363 - background-color: #F0F0F0;
364 - max-height:410px;
365 - font-size: 90%;
366 -}
367 -
368 -.fr_reader_feedback_table {
369 - margin: .5em .5em .5em .5em;
370 - background: #f9f9f9;
371 - border: 1px #AAA solid;
372 - border-collapse: collapse;
373 - font-size: 85%;
374 -}
375 -
376 -.fr_reader_feedback_table th, .fr_reader_feedback_table td {
377 - border: 1px #AAA solid;
378 - padding: 0.3em;
379 -}
Index: trunk/extensions/FlaggedRevs/FlaggedArticle.php
@@ -192,13 +192,6 @@
193193 }
194194 return false;
195195 }
196 -
197 - /**
198 - * Is this article rateable?
199 - */
200 - public function isRateable() {
201 - return FlaggedRevs::isPageRateable( $this->parent->getTitle() );
202 - }
203196
204197 /**
205198 * Output review notice
@@ -828,36 +821,7 @@
829822 return true;
830823 }
831824
832 -
833825 /**
834 - * Add feedback form to pages when necessary
835 - */
836 - public function addFeedbackForm( &$data ) {
837 - global $wgRequest, $wgUser, $wgOut;
838 - if( !$this->parent->exists() || !$this->isRateable() || !$wgOut->getRevisionId() ) {
839 - return true;
840 - }
841 - # Check action and if page is protected
842 - $action = $wgRequest->getVal( 'action', 'view' );
843 - if( !self::isViewAction($action) ) {
844 - return true;
845 - }
846 - if( $wgUser->isAllowed( 'feedback' ) ) {
847 - # Only allow votes on the latest revision!
848 - $id = $wgOut->getRevisionId();
849 - if( $id != $this->parent->getLatest() ) {
850 - return true;
851 - }
852 - # If the user already voted, then don't show the form.
853 - # Always show for IPs however, due to squid caching...
854 - if( !$wgUser->getId() || !ReaderFeedback::userAlreadyVoted( $this->parent->getTitle(), $id ) ) {
855 - $this->addQuickFeedback( $data );
856 - }
857 - }
858 - return true;
859 - }
860 -
861 - /**
862826 * Add link to stable version setting to protection form
863827 */
864828 public function addVisibilityLink( &$data ) {
@@ -1631,73 +1595,6 @@
16321596 return true;
16331597 }
16341598
1635 - /**
1636 - * Adds a brief feedback form to a page.
1637 - * @param OutputPage $out
1638 - * @param Title $title
1639 - * @param bool $top, should this form always go on top?
1640 - */
1641 - public function addQuickFeedback( &$data, $top = false ) {
1642 - global $wgOut, $wgUser, $wgRequest, $wgFlaggedRevsFeedbackTags;
1643 - # Are there any reader input tags?
1644 - if( empty($wgFlaggedRevsFeedbackTags) ) {
1645 - return false;
1646 - }
1647 - # Revision being displayed
1648 - $id = $wgOut->getRevisionId();
1649 - # Load required messages
1650 - wfLoadExtensionMessages( 'FlaggedRevs' );
1651 - $reviewTitle = SpecialPage::getTitleFor( 'ReaderFeedback' );
1652 - $action = $reviewTitle->getLocalUrl( 'action=submit' );
1653 - $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $action,
1654 - 'id' => 'mw-feedbackform' ) );
1655 - $form .= Xml::openElement( 'fieldset', array('class' => 'flaggedrevs_reviewform noprint') );
1656 - $form .= "<legend><strong>" . wfMsgHtml( 'readerfeedback' ) . "</strong></legend>\n";
1657 - # Avoid clutter
1658 - if( !$wgUser->isAllowed('review') ) {
1659 - $form .= wfMsgExt( 'readerfeedback-text', array('parse') );
1660 - }
1661 - $form .= Xml::openElement( 'span', array('id' => 'mw-feedbackselects') );
1662 - # Loop through all different flag types
1663 - foreach( FlaggedRevs::getFeedbackTags() as $quality => $levels ) {
1664 - $label = array();
1665 - $selected = ( isset($flags[$quality]) && $flags[$quality] > 0 ) ? $flags[$quality] : -1;
1666 - $form .= "<b>" . Xml::label( wfMsgHtml("readerfeedback-$quality"), "wp$quality" ) . ":</b>";
1667 - $attribs = array( 'name' => "wp$quality", 'id' => "wp$quality",
1668 - 'onchange' => "updateFeedbackForm()" );
1669 - $form .= '&nbsp;' . Xml::openElement( 'select', $attribs );
1670 - $levels = array_reverse($levels,true);
1671 - foreach( $levels as $i => $name ) {
1672 - $optionClass = array( 'class' => "fr-rating-option-$i" );
1673 - $form .= Xml::option( wfMsg("readerfeedback-level-$i"), $i, ($i == $selected), $optionClass ) ."\n";
1674 - }
1675 - $form .= Xml::option( wfMsg("readerfeedback-level-none"), -1, (-1 == $selected) ) ."\n";
1676 - $form .= Xml::closeElement( 'select' )."\n";
1677 - }
1678 - $form .= Xml::closeElement( 'span' );
1679 - $form .= Xml::submitButton( wfMsg('readerfeedback-submit'),
1680 - array('id' => 'submitfeedback','accesskey' => wfMsg('revreview-ak-review'),
1681 - 'title' => wfMsg('revreview-tt-review').' ['.wfMsg('revreview-ak-review').']' )
1682 - );
1683 - # Hidden params
1684 - $form .= Xml::hidden( 'title', $reviewTitle->getPrefixedText() ) . "\n";
1685 - $form .= Xml::hidden( 'target', $this->parent->getTitle()->getPrefixedDBKey() ) . "\n";
1686 - $form .= Xml::hidden( 'oldid', $id ) . "\n";
1687 - $form .= Xml::hidden( 'validatedParams', ReaderFeedback::validationKey( $id, $wgUser->getId() ) );
1688 - $form .= Xml::hidden( 'action', 'submit') . "\n";
1689 - $form .= Xml::hidden( 'wpEditToken', $wgUser->editToken() ) . "\n";
1690 - # Honeypot input
1691 - $form .= Xml::input( 'commentary', 12, '', array('style' => 'display:none;') ) . "\n";
1692 - $form .= Xml::closeElement( 'fieldset' );
1693 - $form .= Xml::closeElement( 'form' );
1694 - if( $top ) {
1695 - $wgOut->prependHTML( $form );
1696 - } else {
1697 - $data .= $form;
1698 - }
1699 - return true;
1700 - }
1701 -
17021599 /**
17031600 * Updates parser cache output to included needed versioning params.
17041601 */
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.class.php
@@ -5,15 +5,13 @@
66 protected static $minSL = array();
77 protected static $minQL = array();
88 protected static $minPL = array();
9 - protected static $feedbackTags = array();
10 - protected static $feedbackTagWeight = array();
119 protected static $loaded = false;
1210 protected static $qualityVersions = false;
1311 protected static $pristineVersions = false;
1412 protected static $includeVersionCache = array();
1513
1614 public static function load() {
17 - global $wgFlaggedRevTags, $wgFlaggedRevsFeedbackTags;
 15+ global $wgFlaggedRevTags;
1816 if( self::$loaded ) return true;
1917 # Assume true, then set to false if needed
2018 if( !empty($wgFlaggedRevTags) ) {
@@ -58,17 +56,6 @@
5957 self::$minPL[$tag] = max($minPL,1);
6058 self::$minSL[$tag] = 1;
6159 }
62 - foreach( $wgFlaggedRevsFeedbackTags as $tag => $weight ) {
63 - # Tag names used as part of file names. "Overall" tag is a
64 - # weighted aggregate, so it cannot be used either.
65 - if( !preg_match('/^[a-zA-Z]{1,20}$/',$tag) || $tag === 'overall' ) {
66 - throw new MWException( 'FlaggedRevs given invalid tag name!' );
67 - }
68 - self::$feedbackTagWeight[$tag] = $weight;
69 - for( $i=0; $i <= 4; $i++ ) {
70 - self::$feedbackTags[$tag][$i] = "feedback-{$tag}-{$i}";
71 - }
72 - }
7360 self::$loaded = true;
7461 }
7562
@@ -184,25 +171,6 @@
185172 }
186173
187174 /**
188 - * Get the array of tag feedback tags
189 - * @returns array
190 - */
191 - public static function getFeedbackTags() {
192 - self::load();
193 - return self::$feedbackTags;
194 - }
195 -
196 - /**
197 - * Get the the weight of a feedback tag
198 - * @param string $tag
199 - * @returns array
200 - */
201 - public static function getFeedbackWeight( $tag ) {
202 - self::load();
203 - return self::$feedbackTagWeight[$tag];
204 - }
205 -
206 - /**
207175 * Get the message name for a tag
208176 * @param string $tag
209177 * @returns string
@@ -759,26 +727,6 @@
760728 return $count;
761729 }
762730
763 - /**
764 - * @param Article $article
765 - * @param string $tag
766 - * @param bool $forUpdate, use master?
767 - * @return array(real,int)
768 - * Get article rating for this tag for the last few days
769 - */
770 - public static function getAverageRating( $article, $tag, $forUpdate=false ) {
771 - global $wgFlaggedRevsFeedbackAge;
772 - $cutoff_unixtime = time() - $wgFlaggedRevsFeedbackAge;
773 - $db = $forUpdate ? wfGetDB( DB_MASTER ) : wfGetDB( DB_SLAVE );
774 - $row = $db->selectRow( 'reader_feedback_history',
775 - array('SUM(rfh_total)/SUM(rfh_count) AS ave, SUM(rfh_count) AS count'),
776 - array( 'rfh_page_id' => $article->getId(), 'rfh_tag' => $tag,
777 - "rfh_date >= {$cutoff_unixtime}" ),
778 - __METHOD__ );
779 - $data = $row ? array($row->ave,$row->count) : array(0,0);
780 - return $data;
781 - }
782 -
783731 /**
784732 * @param Article $article
785733 * @param Revision $rev, the new stable version
@@ -1114,22 +1062,6 @@
11151063 }
11161064
11171065 /**
1118 - * Is this page in rateable namespace?
1119 - * @param Title, $title
1120 - * @return bool
1121 - */
1122 - public static function isPageRateable( $title ) {
1123 - global $wgFeedbackNamespaces, $wgFlaggedRevsWhitelist;
1124 - # FIXME: Treat NS_MEDIA as NS_FILE
1125 - $ns = ( $title->getNamespace() == NS_MEDIA ) ? NS_FILE : $title->getNamespace();
1126 - # Check for MW: pages and whitelist for exempt pages
1127 - if( $ns == NS_MEDIAWIKI || in_array( $title->getPrefixedDBKey(), $wgFlaggedRevsWhitelist ) ) {
1128 - return false;
1129 - }
1130 - return ( in_array($ns,$wgFeedbackNamespaces) && !$title->isTalkPage() );
1131 - }
1132 -
1133 - /**
11341066 * Is this page in patrolable namespace?
11351067 * @param Title, $title
11361068 * @return bool
@@ -1174,7 +1106,7 @@
11751107 }
11761108 return array($link,$css);
11771109 }
1178 -
 1110+
11791111 /**
11801112 * Get params for a user
11811113 * @param int $uid
@@ -1223,136 +1155,7 @@
12241156 );
12251157 return ( $dbw->affectedRows() > 0 );
12261158 }
1227 -
1228 - /**
1229 - * Expand feedback ratings into an array
1230 - * @param string $ratings
1231 - * @returns Array
1232 - */
1233 - public static function expandRatings( $rating ) {
1234 - $dims = array();
1235 - $pairs = explode( "\n", $rating );
1236 - foreach( $pairs as $pair ) {
1237 - if( strpos($pair,'=') ) {
1238 - list($tag,$value) = explode( '=', trim($pair), 2 );
1239 - $dims[$tag] = intval($value);
1240 - }
1241 - }
1242 - return $dims;
1243 - }
1244 -
1245 - /**
1246 - * Get a table of the vote totals for a page
1247 - * @param Title $page
1248 - * @param int $period, number of days back
1249 - * @param array $add, optional vote to add on (used to visually avoid lag)
1250 - * @param string $cache, optional param to not use cache
1251 - * @returns string HTML table
1252 - */
1253 - public static function getVoteAggregates( $page, $period, $add = array(), $cache = 'useCache' ) {
1254 - global $wgLang, $wgMemc;
1255 - if( $period > 93 ) {
1256 - return ''; // too big
1257 - }
1258 - $votes = null;
1259 - $now = time();
1260 - $key = wfMemcKey( 'flaggedrevs', 'ratingtally', $page->getArticleId(), $period );
1261 - // Check cache
1262 - if( $cache == 'useCache' ) {
1263 - $set = $wgMemc->get($key);
1264 - // Cutoff is at the 24 hour mark due to the way the aggregate
1265 - // schema groups ratings by date for graphs.
1266 - $cache_cutoff = $now - ($now % 86400);
1267 - if( is_array($set) && count($set) == 2 ) {
1268 - list($val,$time) = $set;
1269 - $touched = wfTimestamp( TS_UNIX, RatingHistory::getTouched($page) );
1270 - if( $time > $cache_cutoff && $time > $touched ) {
1271 - $votes = $val;
1272 - }
1273 - }
1274 - }
1275 - // Do query, cache miss
1276 - if( !isset($votes) ) {
1277 - // Set cutoff time for period
1278 - $dbr = wfGetDB( DB_SLAVE );
1279 - $cutoff_unixtime = $now - ($period * 24 * 3600);
1280 - // Use integral number of days to be consistent with graphs
1281 - $cutoff_unixtime = $cutoff_unixtime - ($cutoff_unixtime % 86400);
1282 - $cutoff = $dbr->addQuotes( wfTimestamp( TS_MW, $cutoff_unixtime ) );
1283 - // Get the first revision possibly voted on in the range
1284 - $firstRevTS = $dbr->selectField( 'revision',
1285 - 'rev_timestamp',
1286 - array( 'rev_page' => $page->getArticleId(), "rev_timestamp <= $cutoff" ),
1287 - __METHOD__,
1288 - array( 'ORDER BY' => 'rev_timestamp DESC' )
1289 - );
1290 - // Find average, median...
1291 - $res = $dbr->select( array( 'revision', 'reader_feedback' ),
1292 - array( 'rfb_ratings' ),
1293 - array( 'rev_page' => $page->getArticleId(),
1294 - "rev_id = rfb_rev_id",
1295 - "rfb_timestamp >= $cutoff",
1296 - // Trigger INDEX usage
1297 - "rev_timestamp >= ".$dbr->addQuotes($firstRevTS) ),
1298 - __METHOD__,
1299 - array( 'USE INDEX' => array('revision' => 'page_timestamp') )
1300 - );
1301 - $votes = array();
1302 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $w ) {
1303 - $votes[$tag] = array( 0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0 );
1304 - }
1305 - // Read votes and tally the numbers
1306 - while( $row = $dbr->fetchObject($res) ) {
1307 - $dims = FlaggedRevs::expandRatings( $row->rfb_ratings );
1308 - foreach( $dims as $tag => $val ) {
1309 - if( isset($votes[$tag]) && isset($votes[$tag][$val]) ) {
1310 - $votes[$tag][$val]++;
1311 - }
1312 - }
1313 - }
1314 - // Tack on $add for display (used to avoid cache/lag)
1315 - foreach( $add as $tag => $val ) {
1316 - if( isset($votes[$tag]) && isset($votes[$tag][$val]) ) {
1317 - $votes[$tag][$val]++;
1318 - }
1319 - }
1320 - $wgMemc->set( $key, array( $votes, $now ), 24*3600 );
1321 - }
1322 - // Output multi-column list
1323 - $html = "<table class='fr_reader_feedback_table' cellspacing='0'><tr>";
1324 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $w ) {
1325 - // Get tag average...
1326 - $dist = isset($votes[$tag]) ? $votes[$tag] : array();
1327 - $count = array_sum($dist);
1328 - if( $count ) {
1329 - $ave = ($dist[0] + 2*$dist[1] + 3*$dist[2] + 4*$dist[3] + 5*$dist[4])/$count;
1330 - $ave = round($ave,1);
1331 - } else {
1332 - $ave = '-'; // DIV by zero
1333 - }
1334 - $html .= '<td align="center"><b>'.wfMsgHtml("readerfeedback-$tag").'</b>&nbsp;&nbsp;'.
1335 - '<sup>('.wfMsgHtml('ratinghistory-ave',$wgLang->formatNum($ave)).')</sup></td>';
1336 - }
1337 - $html .= '</tr><tr>';
1338 - foreach( $votes as $tag => $dist ) {
1339 - $html .= '<td><table>';
1340 - $html .= '<tr><th align="left">'.wfMsgHtml('ratinghistory-table-rating').'</th>';
1341 - for( $i = 1; $i <= 5; $i++ ) {
1342 - $html .= "<td align='center' class='fr-rating-option-".($i-1)."'>$i</td>";
1343 - }
1344 - $html .= '</tr><tr>';
1345 - $html .= '<th align="left">'.wfMsgHtml("ratinghistory-table-votes").'</th>';
1346 - $html .= '<td align="center">'.$dist[0].'</td>';
1347 - $html .= '<td align="center">'.$dist[1].'</td>';
1348 - $html .= '<td align="center">'.$dist[2].'</td>';
1349 - $html .= '<td align="center">'.$dist[3].'</td>';
1350 - $html .= '<td align="center">'.$dist[4].'</td>';
1351 - $html .= "</tr></table></td>\n";
1352 - }
1353 - $html .= '</tr></table>';
1354 - return $html;
1355 - }
1356 -
 1159+
13571160 ################# Auto-review function #################
13581161
13591162 /**
@@ -1484,17 +1287,6 @@
14851288 }
14861289
14871290 /**
1488 - * Get JS script params for onloading
1489 - */
1490 - public static function getJSFeedbackParams() {
1491 - self::load();
1492 - # Param to pass to JS function to know if tags are at quality level
1493 - global $wgFlaggedRevsFeedbackTags;
1494 - $params = array( 'tags' => (object)$wgFlaggedRevsFeedbackTags );
1495 - return Xml::encodeJsVar( (object)$params );
1496 - }
1497 -
1498 - /**
14991291 * Get template and image parameters from parser output
15001292 * @param Article $article
15011293 * @param array $templateIDs (from ParserOutput/OutputPage->mTemplateIds)
Index: trunk/extensions/FlaggedRevs/language/ProblemPages.i18n.php
@@ -1,568 +0,0 @@
2 -<?php
3 -/**
4 - * Internationalisation file for FlaggedRevs extension, section ProblemPages
5 - *
6 - * @addtogroup Extensions
7 - */
8 -
9 -$messages = array();
10 -
11 -$messages['en'] = array(
12 - 'problempages' => 'Poorly rated pages',
13 - 'problempages-leg' => 'Find low-rated pages',
14 - 'problempages-list' => 'Below is a list of pages sorted by their reader feedback rating.',
15 - 'problempages-none' => 'There are no pages in this list',
16 - 'problempages-graphs' => 'rating data',
17 -);
18 -
19 -/** Message documentation (Message documentation)
20 - * @author Pietrodn
21 - */
22 -$messages['qqq'] = array(
23 - 'problempages-list' => '{{identical|flaggedrevs-pagelist}}',
24 - 'problempages-graphs' => '{{identical|flaggedrevs-graphs}}',
25 -);
26 -
27 -/** Arabic (العربية)
28 - * @author Meno25
29 - */
30 -$messages['ar'] = array(
31 - 'problempages' => 'صفحات تقييمها منخفض',
32 - 'problempages-leg' => 'إيجاد الصفحات ذات التقييم المنخفض',
33 - 'problempages-list' => 'بالأسفل قائمة بالصفحات مرتبة بواسطة تقييم قرائها.',
34 - 'problempages-none' => 'لا توجد صفحات في هذه القائمة',
35 - 'problempages-graphs' => 'بيانات التقييم',
36 -);
37 -
38 -/** Egyptian Spoken Arabic (مصرى)
39 - * @author Meno25
40 - */
41 -$messages['arz'] = array(
42 - 'problempages' => 'صفحات تقييمها منخفض',
43 - 'problempages-leg' => 'إيجاد الصفحات ذات التقييم المنخفض',
44 - 'problempages-list' => 'بالأسفل قائمة بالصفحات مرتبة بواسطة تقييم قرائها.',
45 - 'problempages-none' => 'لا توجد صفحات فى هذه القائمة',
46 - 'problempages-graphs' => 'بيانات التقييم',
47 -);
48 -
49 -/** Southern Balochi (بلوچی مکرانی)
50 - * @author Mostafadaneshvar
51 - */
52 -$messages['bcc'] = array(
53 - 'problempages' => 'صفحات مشکل',
54 - 'problempages-leg' => 'کم درجه ایی صفحات درگیز',
55 - 'problempages-list' => 'جهلء یک لیستی چه صفحات هستن که گون درجه بندی بر اساس نظرات وانوکان مرتب بوتگنت.',
56 - 'problempages-none' => 'ته ای لیست هچ صفحه ای نیست',
57 - 'problempages-graphs' => 'دیتای درجه بندی',
58 -);
59 -
60 -/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
61 - * @author EugeneZelenko
62 - * @author Jim-by
63 - */
64 -$messages['be-tarask'] = array(
65 - 'problempages' => 'Нізка адзначаныя старонкі',
66 - 'problempages-leg' => 'Пошук старонак з нізкай адзнакай',
67 - 'problempages-list' => 'Ніжэй пададзены сьпіс старонак адсартаваных па іх адзнацы чытачамі.',
68 - 'problempages-none' => 'У гэтым сьпісе няма старонак',
69 - 'problempages-graphs' => 'зьвесткі пра адзнаку',
70 -);
71 -
72 -/** Bulgarian (Български)
73 - * @author DCLXVI
74 - */
75 -$messages['bg'] = array(
76 - 'problempages' => 'Проблемни страници',
77 -);
78 -
79 -/** Bosnian (Bosanski)
80 - * @author CERminator
81 - */
82 -$messages['bs'] = array(
83 - 'problempages-none' => 'Nema stranica na ovom spisku',
84 -);
85 -
86 -/** German (Deutsch)
87 - * @author Raimond Spekking
88 - * @author UV
89 - * @author Umherirrender
90 - */
91 -$messages['de'] = array(
92 - 'problempages' => 'Niedrig bewertete Seiten',
93 - 'problempages-leg' => 'Niedrig bewertete Seiten suchen',
94 - 'problempages-list' => 'Es folgt eine Liste von Seiten, sortiert nach der Leserbewertung.',
95 - 'problempages-none' => 'Diese Liste enthält keine Seiten',
96 - 'problempages-graphs' => 'Bewertungsdaten',
97 -);
98 -
99 -/** Lower Sorbian (Dolnoserbski)
100 - * @author Michawiki
101 - */
102 -$messages['dsb'] = array(
103 - 'problempages' => 'Špatnje pógódnośone boki',
104 - 'problempages-leg' => 'Nisko pógódnośone boki pytaś',
105 - 'problempages-list' => 'Slědujo lisćina bokow, sortěrowanych pó jich pógódnośenju wót cytarjow.',
106 - 'problempages-none' => 'Toś ta lisćina njewopśimujo boki',
107 - 'problempages-graphs' => 'Daty pógódnośenja',
108 -);
109 -
110 -/** Esperanto (Esperanto)
111 - * @author Yekrats
112 - */
113 -$messages['eo'] = array(
114 - 'problempages' => 'Paĝoj taksitaj kiel malbonaj',
115 - 'problempages-leg' => 'Trovi paĝojn taksitaj malbone',
116 - 'problempages-list' => 'Jen listo de paĝoj ordigitaj de la taksado de legintoj.',
117 - 'problempages-none' => 'Ne estas paĝoj en ĉi tiu listo',
118 - 'problempages-graphs' => 'datenoj de taksado',
119 -);
120 -
121 -/** Spanish (Español)
122 - * @author Crazymadlover
123 - */
124 -$messages['es'] = array(
125 - 'problempages' => 'Páginas pobremente valoradas',
126 - 'problempages-leg' => 'Encontrar páginas subvaluadas',
127 - 'problempages-list' => 'Lo de abajo es una lista de páginas ordenadas por su valoración de retroalimentación de lector.',
128 - 'problempages-none' => 'No hay páginas en esta lista',
129 - 'problempages-graphs' => 'Datos de rating',
130 -);
131 -
132 -/** Persian (فارسی)
133 - * @author Huji
134 - */
135 -$messages['fa'] = array(
136 - 'problempages' => 'صفحه‌های با نمرهٔ ضعیف',
137 - 'problempages-leg' => 'پیدا کردن صفحه‌های با نمرهٔ پایین',
138 - 'problempages-list' => 'در زیر فهرستی از صفحه‌ها که طبق نمره خوانندگان آن‌ها مرتب شده‌است قرار دارد.',
139 - 'problempages-none' => 'صفحه‌ای در این فهرست وجود ندارد',
140 - 'problempages-graphs' => 'داده‌های ارزیابی',
141 -);
142 -
143 -/** Finnish (Suomi)
144 - * @author Cimon Avaro
145 - * @author Crt
146 - * @author Jaakonam
147 - */
148 -$messages['fi'] = array(
149 - 'problempages' => 'Huonosti arvioidut sivut',
150 - 'problempages-leg' => 'Etsi kehnoksi arvioituja sivuja',
151 - 'problempages-list' => 'Alla näkyvä sivuluettelo on järjestetty käyttäjien antaman palautearvosanan mukaan.',
152 - 'problempages-none' => 'Tässä luettelossa ei ole sivuja',
153 -);
154 -
155 -/** French (Français)
156 - * @author Grondin
157 - * @author PieRRoMaN
158 - */
159 -$messages['fr'] = array(
160 - 'problempages' => 'Pages ayant des mauvaises évaluations',
161 - 'problempages-leg' => 'Trouver les pages ayant des évaluations faibles',
162 - 'problempages-list' => 'Voici une liste des pages triées suivant leur évaluation par les lecteurs.',
163 - 'problempages-none' => 'Il n’y a aucune page dans cette liste',
164 - 'problempages-graphs' => "données d'évaluation",
165 -);
166 -
167 -/** Franco-Provençal (Arpetan)
168 - * @author ChrisPtDe
169 - */
170 -$messages['frp'] = array(
171 - 'problempages' => 'Pâges qu’ont des crouyes èstimacions.',
172 - 'problempages-leg' => 'Trovar les pâges qu’ont des èstimacions fêbles',
173 - 'problempages-list' => 'Vê-que una lista de les pâges triyês d’aprés lor èstimacion per los liésors.',
174 - 'problempages-none' => 'Y at gins de pâge dens ceta lista.',
175 - 'problempages-graphs' => 'balyês d’èstimacion',
176 -);
177 -
178 -/** Galician (Galego)
179 - * @author Toliño
180 - */
181 -$messages['gl'] = array(
182 - 'problempages' => 'Páxinas pouco valoradas',
183 - 'problempages-leg' => 'Atopar as páxinas menos valoradas',
184 - 'problempages-list' => 'Embaixo hai unha lista das páxinas ordenadas pola valoración da reacción dos seus lectores.',
185 - 'problempages-none' => 'Non hai páxinas nesta lista',
186 - 'problempages-graphs' => 'datos das valoracións',
187 -);
188 -
189 -/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
190 - * @author Omnipaedista
191 - */
192 -$messages['grc'] = array(
193 - 'problempages-graphs' => 'δεδομένα βαθμώσεως',
194 -);
195 -
196 -/** Swiss German (Alemannisch)
197 - * @author Als-Holder
198 - */
199 -$messages['gsw'] = array(
200 - 'problempages' => 'Syte, wu nidrig bewärtet sin',
201 - 'problempages-leg' => 'Find Syte, wu nidrgi bewärtet sin',
202 - 'problempages-list' => 'Do het s Lischt vu Syte, wu no dr Bewärtig dur Läser sortiert sin.',
203 - 'problempages-none' => 'In däre Lischt het s keini Syte',
204 - 'problempages-graphs' => 'Bewärtigsdate',
205 -);
206 -
207 -/** Hebrew (עברית)
208 - * @author DoviJ
209 - * @author Rotemliss
210 - */
211 -$messages['he'] = array(
212 - 'problempages' => 'דפים בדירוג נמוך',
213 - 'problempages-leg' => 'מציאת דפים בדירוג נמוך',
214 - 'problempages-list' => 'להלן רשימת דפים, ממוינים לפי דירוג הקוראים.',
215 - 'problempages-none' => 'אין דפים ברשימה זו',
216 - 'problempages-graphs' => 'מידע הדירוג',
217 -);
218 -
219 -/** Upper Sorbian (Hornjoserbsce)
220 - * @author Michawiki
221 - */
222 -$messages['hsb'] = array(
223 - 'problempages' => 'Nisko pohódnoćene strony',
224 - 'problempages-leg' => 'Nisko pohódnoćene strony namakać',
225 - 'problempages-list' => 'Slěduje lisćina stronow sortěrowanych po póhodnoćenju wot čitarjow',
226 - 'problempages-none' => 'W tutej lisćinje strony njejsu.',
227 - 'problempages-graphs' => 'Daty pohódnoćenja',
228 -);
229 -
230 -/** Hungarian (Magyar)
231 - * @author Dani
232 - * @author Samat
233 - */
234 -$messages['hu'] = array(
235 - 'problempages' => 'Rossznak ítélt lapok',
236 - 'problempages-leg' => 'Alacsony értékelésű lapok keresése',
237 - 'problempages-list' => 'Alább a lapok olvasói értékelés szerint sorba tett listája látható.',
238 - 'problempages-none' => 'Nem található egyetlen lap sem a listában.',
239 - 'problempages-graphs' => 'értékelési adatok',
240 -);
241 -
242 -/** Interlingua (Interlingua)
243 - * @author McDutchie
244 - */
245 -$messages['ia'] = array(
246 - 'problempages' => 'Paginas con evalutation basse',
247 - 'problempages-leg' => 'Trovar paginas con evalutation basse',
248 - 'problempages-list' => 'Infra es un lista de paginas ordinate per evaluation del lectores.',
249 - 'problempages-none' => 'Il non ha paginas in iste lista',
250 - 'problempages-graphs' => 'datos de evalutation',
251 -);
252 -
253 -/** Indonesian (Bahasa Indonesia)
254 - * @author Bennylin
255 - * @author Rex
256 - */
257 -$messages['id'] = array(
258 - 'problempages' => 'Halaman dengan peringkat rendah',
259 - 'problempages-leg' => 'Cari halaman dengan nilai rendah',
260 - 'problempages-list' => 'Berikut adalah daftar halaman yang diurutkan menurut peringkat yang diberikan pembacanya.',
261 - 'problempages-none' => 'Tidak adalah halaman dalam daftar ini',
262 - 'problempages-graphs' => 'data pemeringkatan',
263 -);
264 -
265 -/** Italian (Italiano)
266 - * @author Darth Kule
267 - * @author Pietrodn
268 - */
269 -$messages['it'] = array(
270 - 'problempages' => 'Pagine valutate scarsamente',
271 - 'problempages-leg' => 'Trova pagine valutate scarsamente',
272 - 'problempages-list' => 'Di seguito è riportato un elenco di pagine ordinate per il loro feedback da parte dei lettori.',
273 - 'problempages-none' => 'Non ci sono pagine in questo elenco',
274 - 'problempages-graphs' => 'dati delle valutazioni',
275 -);
276 -
277 -/** Japanese (日本語)
278 - * @author Fryed-peach
279 - */
280 -$messages['ja'] = array(
281 - 'problempages' => '評価の低いページ',
282 - 'problempages-leg' => '評価の低いページを見つける',
283 - 'problempages-list' => '以下ではページを読者による評価の順に整列して一覧します。',
284 - 'problempages-none' => '表示すべきページはありません',
285 - 'problempages-graphs' => '評価データ',
286 -);
287 -
288 -/** Khmer (ភាសាខ្មែរ)
289 - * @author Lovekhmer
290 - */
291 -$messages['km'] = array(
292 - 'problempages' => 'ទំព័រមានបញ្ហា',
293 - 'problempages-none' => 'មិនមានទំព័រនៅក្នុងបញ្ជីនេះទេ',
294 -);
295 -
296 -/** Korean (한국어)
297 - * @author Kwj2772
298 - */
299 -$messages['ko'] = array(
300 - 'problempages' => '낮게 평가된 문서',
301 - 'problempages-leg' => '낮게 평가된 문서 찾기',
302 - 'problempages-list' => '다음은 독자의 평가에 따라 정렬된 문서의 목록입니다.',
303 - 'problempages-none' => '이 목록에 문서가 없습니다.',
304 - 'problempages-graphs' => '평가 데이터',
305 -);
306 -
307 -/** Ripoarisch (Ripoarisch)
308 - * @author Purodha
309 - */
310 -$messages['ksh'] = array(
311 - 'problempages' => 'Als schlääsch enjeshtoofte Sigge',
312 - 'problempages-leg' => 'Als schlääsch enjeshtoofte Sigge fenge',
313 - 'problempages-list' => 'Hee küt en Leß met Sigge. Se es donoh zotteet, wi joot de Lesser se enjeshtoof han.',
314 - 'problempages-none' => 'En dä Leß sin kei Sigge dren.',
315 - 'problempages-graphs' => 'Date vum Enshtoofe',
316 -);
317 -
318 -/** Luxembourgish (Lëtzebuergesch)
319 - * @author Robby
320 - */
321 -$messages['lb'] = array(
322 - 'problempages' => 'Säite mat enger nidreger Bewertungn',
323 - 'problempages-leg' => 'Niddreg bewerte Säite fannen',
324 - 'problempages-list' => 'Hei ass eng Lëscht vu Säiten déi no der Bewertung vun de Lieser sortéiert sinn.',
325 - 'problempages-none' => 'Et gëtt keng Säiten op dëser Lëscht',
326 - 'problempages-graphs' => 'Bewertungsdaten',
327 -);
328 -
329 -/** Malay (Bahasa Melayu)
330 - * @author Aviator
331 - */
332 -$messages['ms'] = array(
333 - 'problempages' => 'Laman bermasalah',
334 - 'problempages-leg' => 'Cari laman yang mempunyai penilaian rendah.',
335 - 'problempages-list' => 'Yang berikut ialah senarai laman mengikut tertib penilaian pembaca.',
336 - 'problempages-none' => 'Tiada laman dalam senarai ini',
337 - 'problempages-graphs' => 'data penilaian',
338 -);
339 -
340 -/** Erzya (Эрзянь)
341 - * @author Botuzhaleny-sodamo
342 - */
343 -$messages['myv'] = array(
344 - 'problempages-graphs' => 'питнень путомадо дата',
345 -);
346 -
347 -/** Dutch (Nederlands)
348 - * @author Siebrand
349 - */
350 -$messages['nl'] = array(
351 - 'problempages' => "Laag gewaardeerde pagina's",
352 - 'problempages-leg' => "Laag gewaardeerde pagina's zoeken",
353 - 'problempages-list' => "Hier staan pagina's gesorteerd naar de waardering die lezers hebben gegeven.",
354 - 'problempages-none' => "Er zijn geen pagina's weer te geven",
355 - 'problempages-graphs' => 'waarderingsgegevens',
356 -);
357 -
358 -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
359 - * @author Harald Khan
360 - */
361 -$messages['nn'] = array(
362 - 'problempages' => 'Sider vurderte som dårlege',
363 - 'problempages-leg' => 'Finn sider vurderte som dårlege',
364 - 'problempages-list' => 'Nedanfor er ei lista over sider sorterte etter lesarane sine vurderingar av dei.',
365 - 'problempages-none' => 'Det finst ingen sider i denne lista',
366 - 'problempages-graphs' => 'vuderingsdata',
367 -);
368 -
369 -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
370 - * @author Harald Khan
371 - * @author Jon Harald Søby
372 - */
373 -$messages['no'] = array(
374 - 'problempages' => 'Sider med lav vurdering',
375 - 'problempages-leg' => 'Finn sider med lav vurdering',
376 - 'problempages-list' => 'Nedenfor er en liste over sider sortert etter lesernes vurdering av dem',
377 - 'problempages-none' => 'Det er ingen sider i denne listen',
378 - 'problempages-graphs' => 'vurderingsdata',
379 -);
380 -
381 -/** Occitan (Occitan)
382 - * @author Cedric31
383 - */
384 -$messages['oc'] = array(
385 - 'problempages' => 'Paginas mal notadas',
386 - 'problempages-leg' => 'Trobar las paginas mal notadas',
387 - 'problempages-list' => 'Vaquí, çaijós, una tièra de paginas triadas en foncion de la notacion de lors lectors.',
388 - 'problempages-none' => 'I a pas cap de pagina dins aquesta tièra',
389 - 'problempages-graphs' => 'donadas de notacion',
390 -);
391 -
392 -/** Polish (Polski)
393 - * @author Leinad
394 - */
395 -$messages['pl'] = array(
396 - 'problempages' => 'Nisko oceniane strony',
397 - 'problempages-leg' => 'Szukaj nisko ocenianych stron',
398 - 'problempages-list' => 'Poniżej znajduje się lista stron posortowanych według ocen wystawionych przez czytelników.',
399 - 'problempages-none' => 'Na tej liście nie ma żadnych stron',
400 - 'problempages-graphs' => 'ocena danych',
401 -);
402 -
403 -/** Portuguese (Português)
404 - * @author 555
405 - * @author Malafaya
406 - * @author Waldir
407 - */
408 -$messages['pt'] = array(
409 - 'problempages' => 'Páginas com fraca avaliação',
410 - 'problempages-leg' => 'Pesquisar páginas com baixa avaliação',
411 - 'problempages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
412 - 'problempages-none' => 'Não há páginas nesta listagem',
413 - 'problempages-graphs' => 'dados de avaliações',
414 -);
415 -
416 -/** Brazilian Portuguese (Português do Brasil)
417 - * @author Eduardo.mps
418 - */
419 -$messages['pt-br'] = array(
420 - 'problempages' => 'Páginas com fraca avaliação',
421 - 'problempages-leg' => 'Pesquisar páginas com baixa avaliação',
422 - 'problempages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
423 - 'problempages-none' => 'Não há páginas nesta listagem',
424 - 'problempages-graphs' => 'dados de avaliações',
425 -);
426 -
427 -/** Romanian (Română)
428 - * @author KlaudiuMihaila
429 - * @author Mihai
430 - */
431 -$messages['ro'] = array(
432 - 'problempages' => 'Pagini slab evaluate',
433 - 'problempages-leg' => 'Găsiţi pagini cu scoruri scăzute',
434 - 'problempages-list' => 'Mai jos este o listă de pagini sortate după evaluarea venită de la cititori.',
435 - 'problempages-none' => 'Nu există pagini în această listă',
436 -);
437 -
438 -/** Tarandíne (Tarandíne)
439 - * @author Joetaras
440 - */
441 -$messages['roa-tara'] = array(
442 - 'problempages' => 'Pàggene cu pundegge vasce',
443 - 'problempages-leg' => 'Iacchie le pàggene cu pundeggie vasce vasce',
444 - 'problempages-list' => "Sotte ste 'na liste de pàggene arrenghete pe 'u pundegge de le lore lettore.",
445 - 'problempages-none' => "Non ge stonne pàggene jndr'à sta liste",
446 - 'problempages-graphs' => "dete d'u puntegge",
447 -);
448 -
449 -/** Russian (Русский)
450 - * @author Александр Сигачёв
451 - */
452 -$messages['ru'] = array(
453 - 'problempages' => 'Плохо оцененные страницы',
454 - 'problempages-leg' => 'Поиск низко оцененных страниц',
455 - 'problempages-list' => 'Ниже представлен список страниц, упорядоченный по их оценке читателями.',
456 - 'problempages-none' => 'Нет страниц в списке.',
457 - 'problempages-graphs' => 'данные об оценке',
458 -);
459 -
460 -/** Slovak (Slovenčina)
461 - * @author Helix84
462 - */
463 -$messages['sk'] = array(
464 - 'problempages' => 'Nízko hodnotené stránky',
465 - 'problempages-leg' => 'Nájsť nízko hodnotené stránky',
466 - 'problempages-list' => 'Toto je zoznam stránok zoradený podľa hodnotenia čitateľov.',
467 - 'problempages-none' => 'V tomto zozname sa nenachádzajú žiadne stránky',
468 - 'problempages-graphs' => 'údaje o hodnotení',
469 -);
470 -
471 -/** Serbian Cyrillic ekavian (ћирилица)
472 - * @author Millosh
473 - * @author Михајло Анђелковић
474 - */
475 -$messages['sr-ec'] = array(
476 - 'problempages' => 'Лоше оцењене стране',
477 - 'problempages-leg' => 'Претрага ниско оцењених страна.',
478 - 'problempages-list' => 'Испод се налази списак сортиран по оценама читалаца.',
479 - 'problempages-none' => 'Нема страна у овом списку.',
480 -);
481 -
482 -/** Swedish (Svenska)
483 - * @author Boivie
484 - */
485 -$messages['sv'] = array(
486 - 'problempages' => 'Sidor med låga betyg',
487 - 'problempages-leg' => 'Hitta sidor med lågt betyg',
488 - 'problempages-list' => 'Nedan finns en lista över sidor sorterade efter deras läsar-feedback-betyg',
489 - 'problempages-none' => 'Det finns inga sidor i denna lista',
490 - 'problempages-graphs' => 'betygsdata',
491 -);
492 -
493 -/** Tagalog (Tagalog)
494 - * @author AnakngAraw
495 - */
496 -$messages['tl'] = array(
497 - 'problempages' => 'Mga pahinang sinukat bilang walang kuwenta (walang saysay)',
498 - 'problempages-leg' => 'Maghanap ng mga pahinang may sukat na mababa ang halaga',
499 - 'problempages-list' => 'Nasa ibaba ang isang talaan ng mga pahinang inayos ayon sa kanilang kaantasang ibinigay ng mambabasa.',
500 - 'problempages-none' => 'Walang mga pahina sa loob ng talaang ito',
501 - 'problempages-graphs' => 'datong pangpagaantas',
502 -);
503 -
504 -/** Turkish (Türkçe)
505 - * @author Joseph
506 - */
507 -$messages['tr'] = array(
508 - 'problempages' => 'Yetersiz oylanmış sayfalar',
509 - 'problempages-leg' => 'Düşük-oylanmış sayfaları bul',
510 - 'problempages-list' => 'Aşağıdaki, kullanıcı dönütleri oranlarına göre sıralanmış sayfalar listesidir.',
511 - 'problempages-none' => 'Bu listede hiç sayfa yok',
512 - 'problempages-graphs' => 'veri derecelendiriliyor',
513 -);
514 -
515 -/** Ukrainian (Українська)
516 - * @author Ahonc
517 - */
518 -$messages['uk'] = array(
519 - 'problempages' => 'Погано оцінені сторінки',
520 - 'problempages-leg' => 'Знайти сторінки з низьким рейтингом',
521 - 'problempages-list' => "Нижче поданий список сторінок, відсортованих за оцінкою за допомогою зворотного зв'язку читачів.",
522 - 'problempages-none' => 'У цьому списку нема сторінок',
523 - 'problempages-graphs' => 'дані рейтингу',
524 -);
525 -
526 -/** Veps (Vepsan kel')
527 - * @author Игорь Бродский
528 - */
529 -$messages['vep'] = array(
530 - 'problempages' => 'Hondoin arvoitud lehtpoled',
531 - 'problempages-leg' => 'Hondoin arvoitud lehtpoliden ecind',
532 - 'problempages-list' => 'Lugijoil järgetud heiden arvsanoiden mödhe lehtpoled (nimikirjutez).',
533 - 'problempages-none' => 'Neciš nimikirjuteses ei ole lehtpolid',
534 - 'problempages-graphs' => 'andmused arvostelendas',
535 -);
536 -
537 -/** Vietnamese (Tiếng Việt)
538 - * @author Minh Nguyen
539 - */
540 -$messages['vi'] = array(
541 - 'problempages' => 'Các trang bị đánh giá thấp',
542 - 'problempages-leg' => 'Tìm kiếm các trang được đánh giá thấp',
543 - 'problempages-list' => 'Đây là danh sách các trang theo thứ tự đánh giá của độc giả.',
544 - 'problempages-none' => 'Danh sách này không có trang nào.',
545 - 'problempages-graphs' => 'dữ liệu đánh giá',
546 -);
547 -
548 -/** Simplified Chinese (‪中文(简体)‬)
549 - * @author Gzdavidwong
550 - */
551 -$messages['zh-hans'] = array(
552 - 'problempages' => '评分差劣的页面',
553 - 'problempages-leg' => '查找低评分页面',
554 - 'problempages-list' => '以下是按读者评分排序的页面列表。',
555 - 'problempages-none' => '本列表没有任何页面。',
556 - 'problempages-graphs' => '评分资料',
557 -);
558 -
559 -/** Traditional Chinese (‪中文(繁體)‬)
560 - * @author Wrightbus
561 - */
562 -$messages['zh-hant'] = array(
563 - 'problempages' => '評分差劣的頁面',
564 - 'problempages-leg' => '查找低評分頁面',
565 - 'problempages-list' => '以下是按讀者評分排序的頁面清單。',
566 - 'problempages-none' => '本清單沒有任何頁面',
567 - 'problempages-graphs' => '評分資料',
568 -);
569 -
Index: trunk/extensions/FlaggedRevs/language/RatingHistory.i18n.php
@@ -1,1680 +0,0 @@
2 -<?php
3 -/**
4 - * Internationalisation file for FlaggedRevs extension, section RatingHistory
5 - *
6 - * @addtogroup Extensions
7 - */
8 -
9 -$messages = array();
10 -
11 -$messages['en'] = array(
12 - 'ratinghistory' => 'Page rating history',
13 - 'ratinghistory-leg' => 'Rating history data for [[:$1|$1]]',
14 - 'ratinghistory-tab' => 'rating',
15 - 'ratinghistory-link' => 'Page rating',
16 - 'ratinghistory-thanks' => '\'\'<font color="darkred">Thank you for taking a moment to review this page!</font>\'\'',
17 - 'ratinghistory-period' => 'Time period:',
18 - 'ratinghistory-month' => 'last month',
19 - 'ratinghistory-3months' => 'last 3 months',
20 - 'ratinghistory-year' => 'last year',
21 - 'ratinghistory-3years' => 'last 3 years',
22 - 'ratinghistory-ave' => 'Avg: $1',
23 - 'ratinghistory-chart' => 'Reader ratings over time',
24 - 'ratinghistory-purge' => 'purge cache',
25 - 'ratinghistory-table' => 'Overview of reader ratings',
26 - 'ratinghistory-users' => 'Users who gave ratings',
27 - 'ratinghistory-graph' => '$2 of "$3" ($1 {{PLURAL:$1|review|reviews}})',
28 - 'readerfeedback-svg' => 'View as SVG',
29 - 'ratinghistory-table-rating' => 'Rating',
30 - 'ratinghistory-table-votes' => 'Votes',
31 - 'ratinghistory-none' => 'There is not enough reader feedback data available for graphs at this time.',
32 - 'ratinghistory-legend' => 'The \'\'\'daily average rating\'\'\' <font color="blue">\'\'(blue)\'\'</font> and
33 - \'\'\'running average rating\'\'\' <font color="green">\'\'(green)\'\'</font> are graphed below, by date. The
34 - \'\'\'running average rating\'\'\' is simply the average of all the daily ratings \'\'within\'\' this time frame for each day.
35 -
36 -Scale: \'\'\'[1]\'\'\' - Poor; \'\'\'[2]\'\'\' - Low; \'\'\'[3]\'\'\' - Fair; \'\'\'[4]\'\'\' - High; \'\'\'[5]\'\'\' - Excellent;
37 -
38 - The \'\'\'number of reviews per day\'\'\' <font color="red">\'\'(red)\'\'</font> is shown on the graphs below, on a \'\'1:$1\'\' scale.',
39 - 'right-feedback' => 'Use the feedback form to rate a page',
40 -);
41 -
42 -/** Message documentation (Message documentation)
43 - * @author Aotake
44 - * @author Boivie
45 - * @author Purodha
46 - */
47 -$messages['qqq'] = array(
48 - 'ratinghistory-ave' => 'Average',
49 - 'ratinghistory-legend' => "<pre>
50 -'''[1]''' - {{int:readerfeedback-level-0}}
51 -'''[2]''' - {{int:readerfeedback-level-1}}
52 -'''[3]''' - {{int:readerfeedback-level-2}}
53 -'''[4]''' - {{int:readerfeedback-level-3}}
54 -'''[5]''' - {{int:readerfeedback-level-4}}
55 -</pre>",
56 - 'right-feedback' => '{{doc-right|feedback}}',
57 -);
58 -
59 -/** Arabic (العربية)
60 - * @author Meno25
61 - * @author OsamaK
62 - * @author Ouda
63 - */
64 -$messages['ar'] = array(
65 - 'ratinghistory' => 'تاريخ تقييم الصفحة',
66 - 'ratinghistory-leg' => 'بيانات تاريخ التقييم ل[[:$1|$1]]',
67 - 'ratinghistory-tab' => 'تقييم',
68 - 'ratinghistory-link' => 'تقييم الصفحة',
69 - 'ratinghistory-thanks' => "''<font color=\"darkred\">شكرا لك لاستغراقك دقيقة لمراجعة هذه الصفحة!</font>''",
70 - 'ratinghistory-period' => 'فترة زمنية:',
71 - 'ratinghistory-month' => 'آخر شهر',
72 - 'ratinghistory-3months' => 'أخر 3 شهور',
73 - 'ratinghistory-year' => 'آخر سنة',
74 - 'ratinghistory-3years' => 'آخر 3 سنوات',
75 - 'ratinghistory-ave' => 'المتوسط: $1',
76 - 'ratinghistory-chart' => 'تقييمات القراء عبر الزمن',
77 - 'ratinghistory-purge' => 'إفراغ الكاش',
78 - 'ratinghistory-table' => 'عرض عام لتقييمات القراء',
79 - 'ratinghistory-users' => 'المستخدمون الذين أعطوا تقييمات',
80 - 'ratinghistory-graph' => '$2 من "$3" ($1 {{PLURAL:$1|مراجعة|مراجعة}})',
81 - 'readerfeedback-svg' => 'عرض كإس في جي',
82 - 'ratinghistory-table-rating' => 'تقييم',
83 - 'ratinghistory-table-votes' => 'أصوات',
84 - 'ratinghistory-none' => 'لا توجد بيانات كافية من القراء متوفرة للرسومات في هذا الوقت.',
85 - 'ratinghistory-legend' => "'''التقيم المتوسط اليومي''' <font color=\"blue\">''(أزرق)''</font> و
86 -'''التقييم المتوسط العامل''' <font color=\"green\">''(أخضر)''</font> مرسومان بالأسفل, حسب التاريخ.
87 -'''التقييم المتوسط العامل''' هو ببساطة متوسط كل التقييمات اليومية ''بداخل'' هذا الإطار الزمني لكل يوم.
88 -
89 -المقياس: '''[1]''' - فقير؛ '''[2]''' - منخفض؛ '''[3]''' - معقول؛ '''[4]''' - مرتفع؛ '''[5]''' - ممتاز؛
90 -
91 -'''عدد المراجعات لكل يوم''' <font color=\"red\">''(أحمر)''</font> معروض على الرسومات بالأسفل، بمقياس ''1:\$1''.",
92 - 'right-feedback' => 'استخدام استمارة الآراء لتقييم صفحة',
93 -);
94 -
95 -/** Egyptian Spoken Arabic (مصرى)
96 - * @author Meno25
97 - * @author Ramsis II
98 - */
99 -$messages['arz'] = array(
100 - 'ratinghistory' => 'تاريخ تقييم الصفحة',
101 - 'ratinghistory-leg' => 'تقييم بيانات التاريخ بتاع [[:$1|$1]]',
102 - 'ratinghistory-tab' => 'تقييم',
103 - 'ratinghistory-link' => 'تقييم الصفحة',
104 - 'ratinghistory-thanks' => "''<font color=\"darkred\">شكرا لك لاستغراقك دقيقة لمراجعة هذه الصفحة!</font>''",
105 - 'ratinghistory-period' => 'فترة زمنية:',
106 - 'ratinghistory-month' => 'آخر شهر',
107 - 'ratinghistory-3months' => 'اخر 3 شهور',
108 - 'ratinghistory-year' => 'آخر سنة',
109 - 'ratinghistory-3years' => 'آخر 3 سنوات',
110 - 'ratinghistory-ave' => 'Avg: $1',
111 - 'ratinghistory-chart' => 'تقييمات القارئ على مر الزمن',
112 - 'ratinghistory-table' => 'عرض لتقييمات القارئ',
113 - 'ratinghistory-users' => 'اليوزرز اللى عملو تقييمات:',
114 - 'ratinghistory-graph' => '$2 من "$3" ($1 {{PLURAL:$1|مراجعة|مراجعة}})',
115 - 'readerfeedback-svg' => 'اعرض SVG',
116 - 'ratinghistory-table-rating' => 'تقييم',
117 - 'ratinghistory-table-votes' => 'الاصوات',
118 - 'ratinghistory-none' => 'لا توجد بيانات كافية من القراء متوفرة للرسومات فى هذا الوقت.',
119 - 'ratinghistory-legend' => "'''التقييم اليومى المتوسط''' <font color=\"blue\">''(ازرق)''</font> و
120 -'''التقييم المتوسط الجاري''' <font color=\"green\">''(اخضر)''</font> مرسومين تحت, على حسب التاريخ.
121 -'''التقييم المتوسط الجاري''' هوه ببساطه المتوسط بتاع كل التقييمات اليوميه ''فى'' فى الفترة دى من كل يوم.
122 -
123 -المقاس: '''[1]''' - فقير; '''[2]''' - واطي; '''[3]''' - نص نص; '''[4]''' - عالى; '''[5]''' - ممتاز;
124 -
125 -'''عدد المراجعات فى اليوم''' <font color=\"red\">''(احمر)''</font> معروضين فى الجرافات اللى تحت, بمقاس ''1:\$1''.",
126 - 'right-feedback' => 'استخدام استمارة الآراء لتقييم صفحة',
127 -);
128 -
129 -/** Southern Balochi (بلوچی مکرانی)
130 - * @author Mostafadaneshvar
131 - */
132 -$messages['bcc'] = array(
133 - 'ratinghistory' => 'تاریح درجه بندی صفحه',
134 - 'ratinghistory-leg' => 'درجه بندی دیتای تاریح',
135 - 'ratinghistory-tab' => 'درجه',
136 - 'ratinghistory-period' => 'مدت زمان:',
137 - 'ratinghistory-month' => 'پیشگین ماه',
138 - 'ratinghistory-year' => 'پار',
139 - 'ratinghistory-3years' => '۳ سال پیسرتر',
140 - 'ratinghistory-none' => 'نظرات کاربری کافی په شرکتن گراف تا ای زمان نیستن',
141 -);
142 -
143 -/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
144 - * @author EugeneZelenko
145 - * @author Jim-by
146 - */
147 -$messages['be-tarask'] = array(
148 - 'ratinghistory' => 'Гісторыя адзнак старонкі',
149 - 'ratinghistory-leg' => 'Зьвесткі па гісторыі адзнак для [[:$1|$1]]',
150 - 'ratinghistory-tab' => 'адзнака',
151 - 'ratinghistory-link' => 'Адзнака старонкі',
152 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Дзякуй, за тое, што знайшлі час і адзначылі гэту старонку!</font>''",
153 - 'ratinghistory-period' => 'Пэрыяд часу:',
154 - 'ratinghistory-month' => 'апошні месяц',
155 - 'ratinghistory-3months' => 'апошнія 3 месяцы',
156 - 'ratinghistory-year' => 'апошні год',
157 - 'ratinghistory-3years' => 'апошнія 3 гады',
158 - 'ratinghistory-ave' => 'Сярэдняя: $1',
159 - 'ratinghistory-chart' => 'Адзнакі чытачоў за ўвесь час',
160 - 'ratinghistory-purge' => 'ачысьціць кэш',
161 - 'ratinghistory-table' => 'Агляд адзнак чытачоў',
162 - 'ratinghistory-users' => 'Удзельнікі, якія паставілі адзнакі',
163 - 'ratinghistory-graph' => '$2 з «$3» ($1 {{PLURAL:$1|адзнака|адзнакі|адзнак}})',
164 - 'readerfeedback-svg' => 'Паказаць у фармаце SVG',
165 - 'ratinghistory-table-rating' => 'Адзнака',
166 - 'ratinghistory-table-votes' => 'Галасы',
167 - 'ratinghistory-none' => 'У гэты час недастаткова адзнак чытачоў для стварэньня графіка.',
168 - 'ratinghistory-legend' => "Ніжэй пададзеныя '''сярэднесутачная''' <font color=\"blue\">''(блакітны)''</font> і
169 -'''цяперашняя сярэдняя''' <font color=\"green\">''(зялёны)''</font> адзнакі. '''Цяперашняя сярэдняя адзнака''' — сярэдняе значэньне ўсіх штодзённых адзнак ''за'' пэрыяд часу кожнага дня.
170 -
171 -Шкала: '''[1]''' - Благая; '''[2]''' - Нізкая; '''[3]''' - Сярэдняя; '''[4]''' - Высокая; '''[5]''' - Выдатная;
172 -
173 -'''Колькасьць праверак за дзень''' <font color=\"red\">''(чырвоны)''</font> паказана на графіку ніжэй, у маштабе ''1:\$1''.",
174 - 'right-feedback' => 'Выкарыстоўвайце форму зваротнай сувязі для адзнакі старонкі',
175 -);
176 -
177 -/** Bulgarian (Български)
178 - * @author DCLXVI
179 - */
180 -$messages['bg'] = array(
181 - 'ratinghistory-tab' => 'рейтинг',
182 - 'ratinghistory-period' => 'Период от време:',
183 - 'ratinghistory-month' => 'последния месец',
184 - 'ratinghistory-year' => 'последната година',
185 - 'ratinghistory-3years' => 'последните 3 години',
186 -);
187 -
188 -/** Bosnian (Bosanski)
189 - * @author CERminator
190 - */
191 -$messages['bs'] = array(
192 - 'ratinghistory' => 'Historija rejtinga stranice',
193 - 'ratinghistory-leg' => 'Historijski pregled podataka rejtinga za [[:$1|$1]]',
194 - 'ratinghistory-tab' => 'rejting',
195 - 'ratinghistory-link' => 'Rejting stranice',
196 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Hvala Vam što ste našli vremena da pregledate ovu stranicu!</font>''",
197 - 'ratinghistory-period' => 'Vremenski period:',
198 - 'ratinghistory-month' => 'zadnji mjesec',
199 - 'ratinghistory-3months' => 'zadnja 3 mjeseca',
200 - 'ratinghistory-year' => 'zadnja godina',
201 - 'ratinghistory-3years' => 'zadnje 3 godine',
202 - 'ratinghistory-ave' => 'Prosj: $1',
203 - 'ratinghistory-chart' => 'Rejtinzi čitaoca po vremenu',
204 - 'ratinghistory-purge' => 'očisti keš',
205 - 'ratinghistory-table' => 'Pregled rejtinga čitaoca',
206 - 'ratinghistory-users' => 'Korisnici koji su dodijelili rejtinge',
207 - 'ratinghistory-graph' => '$2 od "$3" ($1 {{PLURAL:$1|pregled|pregleda}})',
208 - 'readerfeedback-svg' => 'Pregledaj kao SVG',
209 - 'ratinghistory-table-rating' => 'Rejting',
210 - 'ratinghistory-table-votes' => 'Glasovi',
211 - 'ratinghistory-none' => 'Trenutno nema dovoljno podataka povratne veze čitaoca za prikaz grafikonom.',
212 - 'ratinghistory-legend' => "'''Dnevni prosječni rejting''' <font color=\"blue\">''(plavo)''</font> i
213 -'''tekući prosječni rejting''' <font color=\"green\">''(zeleno)''</font> je prikazan na grafikonu ispod, po datumu.
214 -
215 -'''Tekući prosječni rejting''' je jednostavni prosjek svih dnevnih rejtinga ''unutar'' ovog vremenskog perioda za svaki dan.
216 -
217 -Skala: '''[1]''' - Slab; '''[2]''' - Loš; '''[3]''' - Solidan; '''[4]''' - Visok; '''[5]''' - odličan;
218 -
219 -'''Broj pregleda po danu''' <font color=\"red\">''(crveno)''</font> je prikazan na grafikonu ispod, u projekciji ''1:\$1''.",
220 - 'right-feedback' => 'Korištenje obrasca povratne veze za ocjenjivanje stranice',
221 -);
222 -
223 -/** Catalan (Català)
224 - * @author SMP
225 - * @author Solde
226 - */
227 -$messages['ca'] = array(
228 - 'ratinghistory-period' => 'Període de temps:',
229 - 'ratinghistory-month' => 'últim mes',
230 - 'ratinghistory-3months' => 'últims 3 mesos',
231 - 'ratinghistory-year' => 'últim any',
232 - 'ratinghistory-3years' => 'últims 3 anys',
233 - 'ratinghistory-ave' => 'Mit: $1',
234 - 'ratinghistory-table-votes' => 'Vots',
235 -);
236 -
237 -/** German (Deutsch)
238 - * @author Als-Holder
239 - * @author ChrisiPK
240 - * @author Pill
241 - * @author Raimond Spekking
242 - * @author Umherirrender
243 - */
244 -$messages['de'] = array(
245 - 'ratinghistory' => 'Verlauf der Seitenbewertung',
246 - 'ratinghistory-leg' => 'Verlauf der Seitenbewertung für [[:$1|$1]]',
247 - 'ratinghistory-tab' => 'Bewertung',
248 - 'ratinghistory-link' => 'Seitenbewertung',
249 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Danke, dass du dir für die Bewertung dieser Seite einen Moment Zeit genommen hast!</font>''",
250 - 'ratinghistory-period' => 'Zeitraum:',
251 - 'ratinghistory-month' => 'letzter Monat',
252 - 'ratinghistory-3months' => 'letzte 3 Monate',
253 - 'ratinghistory-year' => 'letztes Jahr',
254 - 'ratinghistory-3years' => 'letzte 3 Jahre',
255 - 'ratinghistory-ave' => 'Durchschnitt: $1',
256 - 'ratinghistory-chart' => 'Leserbewertungen über die Zeit',
257 - 'ratinghistory-purge' => 'Cache leeren',
258 - 'ratinghistory-table' => 'Überblick über die Leserbewertungen',
259 - 'ratinghistory-users' => 'Benutzer, die bewertet haben:',
260 - 'ratinghistory-graph' => '$2 von „$3“ ($1 {{PLURAL:$1|Bewertung|Bewertungen}})',
261 - 'readerfeedback-svg' => 'Als SVG ansehen',
262 - 'ratinghistory-table-rating' => 'Bewertung',
263 - 'ratinghistory-table-votes' => 'Stimmen',
264 - 'ratinghistory-none' => 'Es gibt noch nicht genug Seitenbewertungen durch Leser, um eine Grafik zu erstellen.',
265 - 'ratinghistory-legend' => "Der '''Bewertungs-Tagesdurchschnitt''' <font color=\"blue\">''(blau)''</font> und der '''Durchschnitt über den ausgewählten Zeitraum''' <font color=\"green\">''(grün)''</font> werden nachfolgend nach Datum sortiert angezeigt. Der '''Durchschnitt im ausgewählten Zeitraum''' ist der Durchschnitt aller Tagesbewertungen ''innerhalb'' dieser Zeitspanne.
266 -
267 -Legende: '''[1]''' - Mangelhaft; '''[2]''' - Ausreichend; '''[3]''' - Befriedigend; '''[4]''' - Gut; '''[5]''' - Sehr gut;
268 -
269 -In der folgenden Grafik wird die '''Anzahl Bewertungen pro Tag''' <font color=\"red\">''(rot)''</font> auf einer 1:\$1-Skala gezeigt.",
270 - 'right-feedback' => 'Bewerten einer Seite',
271 -);
272 -
273 -/** Lower Sorbian (Dolnoserbski)
274 - * @author Michawiki
275 - */
276 -$messages['dsb'] = array(
277 - 'ratinghistory' => 'Stawizny pógódnośenja boka',
278 - 'ratinghistory-leg' => 'Stawizny pógódnośenja za [[:$1|$1]]',
279 - 'ratinghistory-tab' => 'pógódnośenje',
280 - 'ratinghistory-link' => 'Pógódnośenje boka',
281 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Wjeliki źěk, až sy se brał cas, aby pśeglědał toś ten bok!</font>''",
282 - 'ratinghistory-period' => 'Cas:',
283 - 'ratinghistory-month' => 'slědny mjasec',
284 - 'ratinghistory-3months' => 'slědne 3 mjasece',
285 - 'ratinghistory-year' => 'slědne lěto',
286 - 'ratinghistory-3years' => 'slědne 3 lěta',
287 - 'ratinghistory-ave' => 'Pśerězk; $1',
288 - 'ratinghistory-chart' => 'Pógódnośenja cytarjow pśez cas',
289 - 'ratinghistory-purge' => 'cache wuprozniś',
290 - 'ratinghistory-table' => 'Pśeglěd pógódnośenjow cytarjow',
291 - 'ratinghistory-users' => 'Wužywarje, kótarež su pógódnośili:',
292 - 'ratinghistory-graph' => '$2 z "$3" ($1 {{PLURAL:$1|pógódnośenje|pógódnośeni|pógódnośenja|pógódnośenjow}})',
293 - 'readerfeedback-svg' => 'Ako SVG zwobrazniś',
294 - 'ratinghistory-table-rating' => 'Pógódnośenje',
295 - 'ratinghistory-table-votes' => 'Głose',
296 - 'ratinghistory-none' => 'Tuchylu njejo dosć pógódnośenjow wót cytarjow, aby napórało grafiku.',
297 - 'ratinghistory-legend' => "'''Dnjowne pśerězne gódnośenje''' <font color=\"blue\">''(módry)''</font> a
298 -'''pśerězne gódnośenje za wubrany cas''' <font color=\"green\">''(zeleny)''</font> zwobraznjujotej se dołojce pó datumje. '''Pśerězne gódnośenje za wubrany cas''' jo jadnorje pśerězk wšych dnjownych pógódnośenjow ''w'' toś tom casowem wótrězku kuždego dnja.
299 -
300 -Skala: '''[1]''' - Špatny; '''[2]''' - Niski; '''[3]''' - Spokojecy; '''[4]''' - Wusoki; '''[5]''' - Wuběrny;
301 -
302 -'''Licba pógódnośenjow na źeń''' <font color=\"red\">''(cerwjeny)''</font> pokazujo se dołojce na grafice, w měritku ''1:\$1''.",
303 - 'right-feedback' => 'Wužyj pógódnośeński formular, aby pógódnośił bok',
304 -);
305 -
306 -/** Greek (Ελληνικά)
307 - * @author Consta
308 - * @author Crazymadlover
309 - * @author Omnipaedista
310 - */
311 -$messages['el'] = array(
312 - 'ratinghistory' => 'Ιστορικό βαθμολογίας σελίδας',
313 - 'ratinghistory-tab' => 'βαθμολογία',
314 - 'ratinghistory-link' => 'Σελίδα βαθμολογίας',
315 - 'ratinghistory-month' => 'τελευταίος μήνας',
316 - 'ratinghistory-3months' => 'τελευταίοι 3 μήνες',
317 - 'ratinghistory-year' => 'πέρυσι',
318 - 'ratinghistory-3years' => 'τελευταία 3 έτη',
319 - 'ratinghistory-graph' => '$2 από "$3" ($1 {{PLURAL:$1|επιθεώρηση|επιθεωρήσεις}})',
320 - 'readerfeedback-svg' => 'Προβολή ως SVG',
321 - 'ratinghistory-table-rating' => 'Βαθμολογία',
322 - 'ratinghistory-table-votes' => 'Ψηφοφορίες',
323 -);
324 -
325 -/** Esperanto (Esperanto)
326 - * @author Yekrats
327 - */
328 -$messages['eo'] = array(
329 - 'ratinghistory' => 'Historio de paĝtaksado',
330 - 'ratinghistory-leg' => 'Taksada historio por [[:$1|$1]]',
331 - 'ratinghistory-tab' => 'taksado',
332 - 'ratinghistory-link' => 'Taksado de paĝo',
333 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Dankon pro via peno por kontroli ĉi tiun paĝon!</font>''",
334 - 'ratinghistory-period' => 'Tempdaŭro:',
335 - 'ratinghistory-month' => 'lasta monato',
336 - 'ratinghistory-3months' => 'lastaj 3 monatoj',
337 - 'ratinghistory-year' => 'lasta jaro',
338 - 'ratinghistory-3years' => 'lastaj 3 jaroj',
339 - 'ratinghistory-ave' => 'Avĝ: $1',
340 - 'ratinghistory-chart' => 'Taksado de legantaro trans tempo',
341 - 'ratinghistory-purge' => 'refreŝigi kaŝmemoron',
342 - 'ratinghistory-table' => 'Superrigardo pri taksado de legantoj',
343 - 'ratinghistory-users' => 'Uzantoj taksinte ĉi tiun paĝon:',
344 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|kontrolo|kontroloj}})',
345 - 'readerfeedback-svg' => 'Vidi kiel SVG',
346 - 'ratinghistory-table-rating' => 'Takso',
347 - 'ratinghistory-table-votes' => 'Voĉdonoj',
348 - 'ratinghistory-none' => 'Ne sufiĉas datenoj de legintoj por grafeoj ĉi-momente.',
349 - 'ratinghistory-legend' => "La '''tage averaĝa taksado''' <font color=\"blue\">''(blua)''</font> kaj
350 -'''intervalaveraĝa taksado''' <font color=\"green\">''(verda)''</font> estas montrita en la jena grafeo, laŭ dato. La
351 -'''intervalaveraĝa taksado''' estas simiple la averaĝo de ĉiuj tagaj taksaĵoj ''inter'' ĉi tiu tempdaŭro por ĉiu tago.
352 -
353 -'''[1]''' - Malbonega; '''[2]''' - Malbonkvalita; '''[3]''' - Mezkvalita; '''[4]''' - Bonkvalita; '''[5]''' - Bonega;
354 -
355 -La '''nombro de kontrolo po tago''' <font color=\"red\">''(ruĝa)''</font> estas montrata en la jena grafeo, en ''1:\$1'' skalo.",
356 - 'right-feedback' => 'Uzu la kontrolan sekcion por kontroli paĝon',
357 -);
358 -
359 -/** Spanish (Español)
360 - * @author Crazymadlover
361 - */
362 -$messages['es'] = array(
363 - 'ratinghistory' => 'Historial de valoración de página',
364 - 'ratinghistory-leg' => 'Datos de historial de valoración para [[:$1|$1]]',
365 - 'ratinghistory-tab' => 'rating',
366 - 'ratinghistory-link' => 'Valoración de página',
367 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Gracias por tomarte un momento para revisar esta página!</font>''",
368 - 'ratinghistory-period' => 'Periodo de tiempo:',
369 - 'ratinghistory-month' => 'último mes',
370 - 'ratinghistory-3months' => 'últimos 3 meses',
371 - 'ratinghistory-year' => 'último año',
372 - 'ratinghistory-3years' => 'últimos 3 años',
373 - 'ratinghistory-ave' => 'Promedio: $1',
374 - 'ratinghistory-chart' => 'Valoraciones de lectores a través del tiempo',
375 - 'ratinghistory-purge' => 'purgar cache',
376 - 'ratinghistory-table' => 'vista general de valoraciones de los lectores',
377 - 'ratinghistory-users' => 'Usuarios que dieron valoraciones',
378 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|revisión|revisiones}})',
379 - 'readerfeedback-svg' => 'Ver como SVG',
380 - 'ratinghistory-table-rating' => 'Rating',
381 - 'ratinghistory-table-votes' => 'Votos',
382 - 'ratinghistory-none' => 'No hay suficientes datos de retroalimentación de lector disponible para gráficos en este momento.',
383 - 'ratinghistory-legend' => "La '''valoración promedio diaria''' <font color=\"blue\">''(azul)''</font> y
384 -'''valoración promedio de ejecución''' <font color=\"green\">''(verde)''</font> están graficados abajo, por fecha.
385 -La '''valoración promedio de ejecución''' es simplemente el promedio de todas las valoraciones diarias ''dentro'' de este marco temporal por cada día.
386 -
387 -Escala: '''[1]''' - Pobre; '''[2]''' - Bajo; '''[3]''' - Regular; '''[4]''' - Alto; '''[5]''' - Excelente;
388 -El '''número de revisiones por día''' <font color=\"red\">''(rojo)''</font> es mostrado en los gráficos de abajo, en una escala ''1:\$1''.",
389 - 'right-feedback' => 'Usar el formulario de retroalimentación para valorar una página',
390 -);
391 -
392 -/** Estonian (Eesti)
393 - * @author Silvar
394 - */
395 -$messages['et'] = array(
396 - 'ratinghistory-period' => 'Ajavahemik:',
397 - 'ratinghistory-month' => 'viimasel kuul',
398 - 'ratinghistory-3months' => 'viimased 3 kuud',
399 - 'ratinghistory-year' => 'viimane aasta',
400 - 'ratinghistory-3years' => 'viimased 3 aastat',
401 -);
402 -
403 -/** Basque (Euskara)
404 - * @author Kobazulo
405 - */
406 -$messages['eu'] = array(
407 - 'ratinghistory-month' => 'azken hilabetea',
408 - 'ratinghistory-3months' => 'azken 3 hilabeteak',
409 - 'ratinghistory-year' => 'azken urtea',
410 - 'ratinghistory-3years' => 'azken 3 urteak',
411 - 'readerfeedback-svg' => 'SVG bezala bistaratu',
412 -);
413 -
414 -/** Persian (فارسی)
415 - * @author Huji
416 - * @author Mardetanha
417 - * @author Momeni
418 - */
419 -$messages['fa'] = array(
420 - 'ratinghistory' => 'تاریخچهٔ ارزیابی صفحه',
421 - 'ratinghistory-leg' => '[[:$1|$1]] داده‌های تاریخچهٔ ارزیابی',
422 - 'ratinghistory-tab' => 'نمره',
423 - 'ratinghistory-link' => 'درجهٔ مقاله',
424 - 'ratinghistory-thanks' => "''<font color=\"darkred\">از این که فرصتی را صرف بازبینی این صفحه کردید متشکریم!</font>''",
425 - 'ratinghistory-period' => 'بازه زمانی:',
426 - 'ratinghistory-month' => 'ماه پیش',
427 - 'ratinghistory-3months' => '۳ ماه اخیر',
428 - 'ratinghistory-year' => 'سال پیش',
429 - 'ratinghistory-3years' => 'سه سال پیش',
430 - 'ratinghistory-chart' => 'ارزش‌دهی خوانندگان در طول زمان',
431 - 'ratinghistory-table' => 'بررسی اجمالی ارزش‌دهی خوانندگان',
432 - 'ratinghistory-users' => 'کاربرانی که درجه‌بندی کرده‌اند',
433 - 'ratinghistory-graph' => 'داده‌های ارزیابی از $1 {{PLURAL:$1|خواننده|خواننده}}',
434 - 'ratinghistory-table-rating' => 'ارزش‌دهی',
435 - 'ratinghistory-none' => 'در حال حاضر بازخورد کافی از خوانندگان برای نمایش نمودار وجود ندارد.',
436 - 'ratinghistory-legend' => "نمره متوسط روزانه <font color=\"blue\">''(آبی)''</font> و نمره متوسط برای بازهٔ زمانی انتخاب شده <font color=\"green\">''(سبز)''</font> در نمودار زیر، بر حسب تاریخ نشان داده شده‌اند. مقدار نمره‌ها به صورت زیر تعبیر می‌شود:
437 -
438 -'''[۰]''' - ضعیف؛ '''[۱]''' - پایین؛ '''[۲]''' - متوسط؛ '''[۳]''' - بالا؛ '''[۴]''' - ممتاز؛",
439 - 'right-feedback' => 'از فرم بازخورد برای نمره دادن به صفحه استفاده کنید',
440 -);
441 -
442 -/** Finnish (Suomi)
443 - * @author Cimon Avaro
444 - * @author Crt
445 - * @author Nike
446 - * @author Str4nd
447 - */
448 -$messages['fi'] = array(
449 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Kiitos, että tarkistit tämän sivun!</font>''",
450 - 'ratinghistory-period' => 'Aikajakso:',
451 - 'ratinghistory-month' => 'viime kuu',
452 - 'ratinghistory-3months' => 'viimeiset 3 kuukautta',
453 - 'ratinghistory-year' => 'viime vuosi',
454 - 'ratinghistory-3years' => 'viimeiset 3 vuotta',
455 - 'ratinghistory-ave' => 'Keskiarvo: $1',
456 - 'ratinghistory-chart' => 'Lukijoiden arviot tästä sivusta ajan suhteen taulukoituna',
457 - 'ratinghistory-purge' => 'tyhjennä välimuisti',
458 - 'ratinghistory-table' => 'Katsaus lukijoiden arvioinneista',
459 - 'ratinghistory-users' => 'Käyttäjät, jotka esittivät arvionsa',
460 - 'readerfeedback-svg' => 'Näytä SVG-muodossa',
461 - 'ratinghistory-none' => 'Ei ole tarpeeksi lukijapalautetta, jotta taulukko voitaisiin esittää.',
462 -);
463 -
464 -/** French (Français)
465 - * @author ChrisPtDe
466 - * @author Crochet.david
467 - * @author Grondin
468 - * @author IAlex
469 - * @author PieRRoMaN
470 - * @author Zetud
471 - */
472 -$messages['fr'] = array(
473 - 'ratinghistory' => "Historique de l'évaluation de la page",
474 - 'ratinghistory-leg' => 'Données de l’historique des évaluations pour [[:$1|$1]]',
475 - 'ratinghistory-tab' => 'évaluation',
476 - 'ratinghistory-link' => 'Évaluation de la page',
477 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Merci d'avoir consacré du temps pour relire cette page !</font>''",
478 - 'ratinghistory-period' => 'Période :',
479 - 'ratinghistory-month' => 'dernier mois',
480 - 'ratinghistory-3months' => '3 derniers mois',
481 - 'ratinghistory-year' => 'dernière année',
482 - 'ratinghistory-3years' => '3 dernières années',
483 - 'ratinghistory-ave' => 'Moyenne : $1',
484 - 'ratinghistory-chart' => 'Évaluations par les lecteurs au cours du temps',
485 - 'ratinghistory-purge' => 'purger le cache',
486 - 'ratinghistory-table' => "Vue d'ensemble des évaluations par les lecteurs",
487 - 'ratinghistory-users' => 'Utilisateurs qui ont fait des évaluations',
488 - 'ratinghistory-graph' => '$2 sur « $3 » ($1 relecture{{PLURAL:$1||s}})',
489 - 'readerfeedback-svg' => 'Voir en SVG',
490 - 'ratinghistory-table-rating' => 'Évaluation',
491 - 'ratinghistory-table-votes' => 'Votes',
492 - 'ratinghistory-none' => "Il n’y a pas suffisamment d'avis exprimés par des lecteurs pour établir des graphiques pour l'instant.",
493 - 'ratinghistory-legend' => "L''''évaluation moyenne quotidienne''' <font color=\"blue\">''(bleu)''</font> et
494 -l''''évaluation moyenne en cours''' <font color=\"green\">''(vert)''</font> sont représentées graphiquement ci-dessous, par date.
495 -L''''évaluation moyenne en cours''' est simplement la moyenne de toutes les évaluations quotidiennes ''dans'' la période du jour choisie.
496 -
497 -Échelle : '''[1]''' - Mauvais ; '''[2]''' - Médiocre ; '''[3]''' - Moyen ; '''[4]''' - Bon ; '''[5]''' - Excellent.
498 -
499 -Le '''nombre de relectures par jour''' <font color=\"red\">''(rouge)''</font> est affiché sur le graphe ci-dessous, avec une échelle ''1:\$1''.",
500 - 'right-feedback' => "Utiliser le formulaire de retour d'informations pour évaluer une page",
501 -);
502 -
503 -/** Franco-Provençal (Arpetan)
504 - * @author ChrisPtDe
505 - */
506 -$messages['frp'] = array(
507 - 'ratinghistory' => 'Historico de l’èstimacion de la pâge.',
508 - 'ratinghistory-leg' => 'Balyês de l’historico de les èstimacions por [[:$1|$1]]',
509 - 'ratinghistory-tab' => 'èstimacion',
510 - 'ratinghistory-link' => 'Èstimacion de la pâge',
511 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Marci d’avêr consacrâ de temps por revêre ceta pâge !</font>''",
512 - 'ratinghistory-period' => 'Temps :',
513 - 'ratinghistory-month' => 'mês passâ',
514 - 'ratinghistory-3months' => '3 mês passâs',
515 - 'ratinghistory-year' => 'an passâ',
516 - 'ratinghistory-3years' => '3 ans passâs',
517 - 'ratinghistory-ave' => 'Moyena : $1',
518 - 'ratinghistory-chart' => 'Èstimacions per los liésors pendent lo temps',
519 - 'ratinghistory-purge' => 'purgiér lo cache',
520 - 'ratinghistory-table' => 'Vua d’ensemblo de les èstimacions per los liésors',
521 - 'ratinghistory-users' => 'Utilisators qu’ont fêt des èstimacions',
522 - 'ratinghistory-graph' => '$2 sur « $3 » ($1 rèvision{{PLURAL:$1||s}})',
523 - 'readerfeedback-svg' => 'Vêre en SVG',
524 - 'ratinghistory-table-rating' => 'Èstimacion',
525 - 'ratinghistory-table-votes' => 'Votos',
526 - 'ratinghistory-none' => 'Por lo moment, y at pas prod d’avis èxprimâs per des liésors por fâre vêre des diagramos.',
527 - 'ratinghistory-legend' => "L’'''èstimacion moyena de tôs los jorns''' <font color=\"blue\">''(blu)''</font> et
528 -l’'''èstimacion moyena en cors''' <font color=\"green\">''(vèrd)''</font> sont reprèsentâs desot fôrma de diagramo ce-desot, per dâta.
529 -L’'''èstimacion moyena en cors''' est simplament la moyena de totes les èstimacions de tôs los jorns ''dens'' lo temps chouèsi.
530 -
531 -Èchiéla : '''[1]''' - Crouyo ; '''[2]''' - Prod moyen ; '''[3]''' - Moyen ; '''[4]''' - Bon ; '''[5]''' - Famox.
532 -
533 -Lo '''nombro de rèvisions per jorn''' <font color=\"red\">''(rojo)''</font> est montrâ sur lo diagramo ce-desot, avouéc una èchiéla ''1:\$1''.",
534 - 'right-feedback' => 'Utilisar lo formulèro de retôrn d’enformacions por èstimar una pâge',
535 -);
536 -
537 -/** Irish (Gaeilge)
538 - * @author Alison
539 - */
540 -$messages['ga'] = array(
541 - 'ratinghistory-month' => 'an mí seo caite',
542 - 'ratinghistory-year' => 'an bhlian seo caite',
543 -);
544 -
545 -/** Galician (Galego)
546 - * @author Toliño
547 - */
548 -$messages['gl'] = array(
549 - 'ratinghistory' => 'Historial de valoracións da páxina',
550 - 'ratinghistory-leg' => 'Historial de valoracións dos datos de "[[:$1|$1]]"',
551 - 'ratinghistory-tab' => 'valoración',
552 - 'ratinghistory-link' => 'Valoración da páxina',
553 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Grazas por revisar esta páxina!</font>''",
554 - 'ratinghistory-period' => 'Período de tempo:',
555 - 'ratinghistory-month' => 'último mes',
556 - 'ratinghistory-3months' => 'últimos 3 meses',
557 - 'ratinghistory-year' => 'último ano',
558 - 'ratinghistory-3years' => 'últimos 3 anos',
559 - 'ratinghistory-ave' => 'Promedio: $1',
560 - 'ratinghistory-chart' => 'Valoración do lector',
561 - 'ratinghistory-purge' => 'limpar a caché',
562 - 'ratinghistory-table' => 'Vista xeral das valoracións dos lectores',
563 - 'ratinghistory-users' => 'Usuarios que valoraron páxinas',
564 - 'ratinghistory-graph' => '$2 de "$3" ({{PLURAL:$1|unha revisión|$1 revisións}})',
565 - 'readerfeedback-svg' => 'Ver como SVG',
566 - 'ratinghistory-table-rating' => 'Valoración',
567 - 'ratinghistory-table-votes' => 'Votos',
568 - 'ratinghistory-none' => 'Arestora non hai suficientes datos das reaccións dos lectores dispoñibles para as gráficas.',
569 - 'ratinghistory-legend' => "A '''valoración do promedio diario''' <font color=\"blue\">''(azul)''</font> e
570 -a '''valoración do promedio en curso''' <font color=\"green\">''(verde)''</font> están, por data, na gráfica de embaixo. A
571 -'''valoración do promedio en curso''' é simplemente a valoración de todas as valoracións diarias ''dentro'' do período de tempo de cada día.
572 -
573 -Escala: '''[1]''' - Pobre; '''[2]''' - Baixo; '''[3]''' - Ben; '''[4]''' - Alto; '''[5]''' - Excelente;
574 -
575 -O '''número de revisións ao día''' <font color=\"red\">''(vermello)''</font> móstrase embaixo, cunha escala de ''1:\$1''.",
576 - 'right-feedback' => 'Usar o formulario de reacción para valorar unha páxina',
577 -);
578 -
579 -/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
580 - * @author Crazymadlover
581 - * @author Omnipaedista
582 - */
583 -$messages['grc'] = array(
584 - 'ratinghistory' => 'Ἱστορικὸν βαθμώσεων δέλτου',
585 - 'ratinghistory-leg' => 'Βάθμωσις δεδομένων προτέρων ἐκδόσεων [[:$1|$1]]',
586 - 'ratinghistory-tab' => 'βάθμωσις',
587 - 'ratinghistory-link' => 'Βάθμωσις δέλτου',
588 - 'ratinghistory-period' => 'Περίοδος χρόνου:',
589 - 'ratinghistory-month' => 'ὕστατος μήν',
590 - 'ratinghistory-3months' => 'ὕστατοι 3 μῆνες',
591 - 'ratinghistory-year' => 'ὕστατον ἔτος',
592 - 'ratinghistory-3years' => 'ὕστατα 3 ἔτη',
593 - 'readerfeedback-svg' => 'Ὁρᾶν ὡς SVG',
594 - 'ratinghistory-table-rating' => 'Βάθμωσις',
595 - 'ratinghistory-table-votes' => 'Ψῆφοι',
596 -);
597 -
598 -/** Swiss German (Alemannisch)
599 - * @author Als-Holder
600 - */
601 -$messages['gsw'] = array(
602 - 'ratinghistory' => 'Verlauf vu dr Sytebewärtig',
603 - 'ratinghistory-leg' => 'Verlauf vu dr Sytebewärtig fir [[:$1|$1]]',
604 - 'ratinghistory-tab' => 'Bewärtig',
605 - 'ratinghistory-link' => 'Sytebewärtig',
606 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Dankschen, ass Du Dir e Momänt Zyt gnuh hesch go die Syte z bewärte!</font>''",
607 - 'ratinghistory-period' => 'Zytruum',
608 - 'ratinghistory-month' => 'letschte Monet',
609 - 'ratinghistory-3months' => 'letschti drei Monet',
610 - 'ratinghistory-year' => 'letscht Johr',
611 - 'ratinghistory-3years' => 'letschte drei Johr',
612 - 'ratinghistory-ave' => 'Durschnitt: $1',
613 - 'ratinghistory-chart' => 'Bewärtige vu Läser im Zytruum',
614 - 'ratinghistory-purge' => 'Cache lääre',
615 - 'ratinghistory-table' => 'Iberblick iber Sytebewärtigen',
616 - 'ratinghistory-users' => 'Benutzer, wu bewärtet hän:',
617 - 'ratinghistory-graph' => '$2 vu „$3“ ($1 {{PLURAL:$1|Bewärtig|Bewärtige}})',
618 - 'readerfeedback-svg' => 'As SVG aaluege',
619 - 'ratinghistory-table-rating' => 'Bewärtig',
620 - 'ratinghistory-table-votes' => 'Stimme',
621 - 'ratinghistory-none' => 'S git nonig gnue Sytebewärtige dur Läser zum e Grafik aazlege.',
622 - 'ratinghistory-legend' => "Dr '''Durchschnitt vu Bewärtige am Tag''' <font color=\"blue\">''(blau)''</font> un dr '''Durchschnitt iber dr usgwehlt Zytruum''' <font color=\"green\">''(grün)''</font> wäre do aazeigt no Datum sortiert.
623 -
624 -'''[1]''' - isch Mangelhaft; '''[2]''' - Längt uus; '''[3]''' - Goht; '''[4]''' - isch Guet; '''[5]''' - isch Seli guet;
625 -
626 -In däre Grafik wird d '''Aazahl vu Bewärtige am Tag''' <font color=\"red\">''(rot)''</font> uf ere ''1:\$1''-Skala zeigt.",
627 - 'right-feedback' => 'E Syte bewärte',
628 -);
629 -
630 -/** Hebrew (עברית)
631 - * @author DoviJ
632 - * @author Rotemliss
633 - * @author דניאל ב.
634 - */
635 -$messages['he'] = array(
636 - 'ratinghistory' => 'היסטוריית דירוג הדף',
637 - 'ratinghistory-leg' => 'נתוני היסטוריית הדירוג עבור [[:$1|$1]]',
638 - 'ratinghistory-tab' => 'דירוג',
639 - 'ratinghistory-link' => 'דירוג הדף',
640 - 'ratinghistory-thanks' => "''<font color=\"darkred\">תודה על כך שהקדשתם מזמנכם לבדיקת דף זה!</font>''",
641 - 'ratinghistory-period' => 'תקופת זמן:',
642 - 'ratinghistory-month' => 'החודש האחרון',
643 - 'ratinghistory-3months' => 'שלושת החודשים האחרונים',
644 - 'ratinghistory-year' => 'השנה האחרונה',
645 - 'ratinghistory-3years' => 'שלוש השנים האחרונות',
646 - 'ratinghistory-ave' => 'ממוצע: $1',
647 - 'ratinghistory-chart' => 'דירוגי קוראים לאורך זמן',
648 - 'ratinghistory-purge' => 'ניקוי המטמון',
649 - 'ratinghistory-table' => 'סיכום דירוגי הקוראים',
650 - 'ratinghistory-users' => 'משתמשים שדירגו:',
651 - 'ratinghistory-graph' => '$2 מתוך "$3" ({{PLURAL:$1|דירוג אחד|$1 דירוגים}})',
652 - 'readerfeedback-svg' => 'הצגה כ־SVG',
653 - 'ratinghistory-table-rating' => 'דירוג',
654 - 'ratinghistory-table-votes' => 'הצבעות',
655 - 'ratinghistory-none' => 'אין כרגע מספיק מידע זמין של משוב קוראים ליצירת תרשימים',
656 - 'ratinghistory-legend' => "'''הדירוג הממוצע היומי''' <font color=\"blue\">'''(בכחול)'''</font> ו'''הדירוג הממוצע בתווך''' <font color=\"green\">'''(בירוק)'''</font> מוצגים בטבלאות למטה, לפי תאריך.
657 -'''הדירוג הממוצע בתווך''' הוא פשוט הממוצע לכל הדירוגים ''בתוך'' התווך הזה לכל יום.
658 -
659 -דירוג: '''[1]''' - גרוע; '''[2]''' - נמוך; '''[3]''' - בינוני; '''[4]''' - גבוה; '''[5]''' - מצוין;
660 -
661 -'''מספר הביקורות ליום''' <font color=\"red\">'''(באדום)'''</font> מוצגים בטבלאות למטה, ביחס של ''1:\$1''.",
662 - 'right-feedback' => 'השתמשו בטופס המשוב כדי לדרג דף',
663 -);
664 -
665 -/** Upper Sorbian (Hornjoserbsce)
666 - * @author Michawiki
667 - */
668 -$messages['hsb'] = array(
669 - 'ratinghistory' => 'Stawizny hódnoćenja strony',
670 - 'ratinghistory-leg' => 'Daty stawiznow hódnoćenja za [[:$1|$1]]',
671 - 'ratinghistory-tab' => 'pohódnoćenje',
672 - 'ratinghistory-link' => 'Pohódnoćenje strony',
673 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Dźakujumy so ći, zo sy sej za hódnoćenje tuteje strony čas wzał!</font>''",
674 - 'ratinghistory-period' => 'Doba:',
675 - 'ratinghistory-month' => 'zańdźeny měsac',
676 - 'ratinghistory-3months' => 'zańdźene 3 měsacy',
677 - 'ratinghistory-year' => 'loni',
678 - 'ratinghistory-3years' => 'zańdźene 3 lěta',
679 - 'ratinghistory-ave' => 'Přerězk: $1',
680 - 'ratinghistory-chart' => 'Pohódnoćenja čitarjow přez dobu',
681 - 'ratinghistory-purge' => 'pufrowak wuprózdnić',
682 - 'ratinghistory-table' => 'Přehlad wo pohódnoćenjach čitarjow',
683 - 'ratinghistory-users' => 'Wužiwarjo, kotřiz su pohódnoćili:',
684 - 'ratinghistory-graph' => '$2 z "$3" ($1 {{PLURAL:$1|kontrola|kontroli|kontrole|kontrolow}})',
685 - 'readerfeedback-svg' => 'Jako SVG wobhladać',
686 - 'ratinghistory-table-rating' => 'Pohodnoćenje',
687 - 'ratinghistory-table-votes' => 'Hłosy',
688 - 'ratinghistory-none' => 'Za grafiki hišće dosć pohódnoćenjow wot čitarjow k dispoziciji njesteji',
689 - 'ratinghistory-legend' => "'''Dnjowe přerězne hódnoćenje''' <font color=\"blue\">''(módry)''</font> a '''běžne přerězne hódnoćenje''' <font color=\"green\">''(zeleny)''</font> stej deleka po datumje grafisce zwobraznjenej.
690 -
691 -'''Běžne přerězne hódnoćenje''' je prosće přerězk wšěch dnjowych pohódnoćenjow ''znutřka'' tutoho časoweho wotrězka za kóždy dźeń.
692 -
693 -Skala: '''[1]''' - Špatny; '''[2]''' - Niski; '''[3]''' - Spokojacy; '''[4]''' - Wysoki; '''[5]''' - Wuběrny;
694 -
695 -'''Ličba pohódnoćenja wob dźeń''' <font color=\"red\">''(čerwjeny)''</font> pokazuje so na slědowacej grafice, w měritku ''1:\$1''.",
696 - 'right-feedback' => 'Wužij wotmołwny formular, zo by stronu pohódnoćił',
697 -);
698 -
699 -/** Hungarian (Magyar)
700 - * @author Bdamokos
701 - * @author Dani
702 - * @author Dorgan
703 - * @author Glanthor Reviol
704 - * @author Gondnok
705 - * @author Grin
706 - * @author Samat
707 - */
708 -$messages['hu'] = array(
709 - 'ratinghistory' => 'Értékelési történet',
710 - 'ratinghistory-leg' => 'Értékelési előzmények adatai a(z) [[:$1|$1]] lapnál',
711 - 'ratinghistory-tab' => 'értékelés',
712 - 'ratinghistory-link' => 'Lap értékelése',
713 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Köszönjük, hogy időt szántál az oldal értékelésére!</font>''",
714 - 'ratinghistory-period' => 'Időszak:',
715 - 'ratinghistory-month' => '1 hónap',
716 - 'ratinghistory-3months' => 'utolsó 3 hónap',
717 - 'ratinghistory-year' => '1 év',
718 - 'ratinghistory-3years' => '3 év',
719 - 'ratinghistory-ave' => 'Átlag: $1',
720 - 'ratinghistory-chart' => 'Olvasói visszajelzések időrendben',
721 - 'ratinghistory-table' => 'Olvasói értékelések áttekintése',
722 - 'ratinghistory-users' => 'Szerkesztők, akik értékelték a lapot',
723 - 'ratinghistory-graph' => '$2 a „$3” oldalon ($1 {{PLURAL:$1|értékelés|értékelés}})',
724 - 'readerfeedback-svg' => 'Megtekintés SVG formátumban',
725 - 'ratinghistory-table-rating' => 'Értékelés',
726 - 'ratinghistory-table-votes' => 'Szavazatok',
727 - 'ratinghistory-none' => 'Jelenleg még nem áll rendelkezésre elég visszajelzés a grafikonok elkészítéséhez.',
728 - 'ratinghistory-legend' => "Alább a '''napi átlagos értékelés''' <font color=\"blue\">''(kék színnel)''</font> és a '''megadott időtartam alatti átlagos értékelés''' <font color=\"green\">''(zöld színnel)''</font> grafikonja látható, dátum szerint. A '''megadott időtartam alatti átlagos értékelés''' egyszerűen az összes napi értékelés átlaga a megadott időtartam '''alatt'''.
729 -
730 -Értékek: '''[1]''' – rossz; '''[2]''' – gyenge; '''[3]''' – közepes; '''[4]''' – jó; '''[5]''' – kitűnő;
731 -
732 -A '''naponkénti értékelések száma''' <font color=\"red\">''(piros színnel)''</font> látható a grafikonokon, ''1:\$1'' arányon.",
733 - 'right-feedback' => 'oldalak értékelése a visszajelzés-űrlap segítségével',
734 -);
735 -
736 -/** Interlingua (Interlingua)
737 - * @author McDutchie
738 - */
739 -$messages['ia'] = array(
740 - 'ratinghistory' => 'Historia de evalutationes de paginas',
741 - 'ratinghistory-leg' => 'Datos historic de evalutationes pro [[:$1|$1]]',
742 - 'ratinghistory-tab' => 'evalutation',
743 - 'ratinghistory-link' => 'Evalutation del pagina',
744 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Gratias pro haber dedicate un momento a evalutar iste pagina!</font>''",
745 - 'ratinghistory-period' => 'Periodo de tempore:',
746 - 'ratinghistory-month' => 'ultime mense',
747 - 'ratinghistory-3months' => 'ultime 3 menses',
748 - 'ratinghistory-year' => 'ultime anno',
749 - 'ratinghistory-3years' => 'ultime 3 annos',
750 - 'ratinghistory-ave' => 'Media: $1',
751 - 'ratinghistory-chart' => 'Evalutationes del lectores in le curso del tempore',
752 - 'ratinghistory-purge' => 'vacuar cache',
753 - 'ratinghistory-table' => 'Summario del evalutationes del lectores',
754 - 'ratinghistory-users' => 'Usatores qui ha facite evalutationes',
755 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|evalutation|evalutationes}})',
756 - 'readerfeedback-svg' => 'Vider como SVG',
757 - 'ratinghistory-table-rating' => 'Evalutation',
758 - 'ratinghistory-table-votes' => 'Votos',
759 - 'ratinghistory-none' => 'Non es disponibile sufficiente datos de evalutationes de lectores pro poter facer graphicos al momento.',
760 - 'ratinghistory-legend' => "Le '''evalutation medie de cata die''' <font color=\"blue\">''(blau)''</font> e
761 -'''evalutation medie currente''' <font color=\"green\">''(verde)''</font> es representate infra, per data. Le
762 -'''evalutation medie currente''' es simplemente le media de tote le evalutationes de cata die ''intra'' iste periodo de tempore pro cata die.
763 -
764 -Scala: '''[1]''' - Mal; '''[2]''' - Basse; '''[3]''' - Medie; '''[4]''' - Alte; '''[5]''' - Excellente;
765 -
766 -Le '''numero de evalutationes per die''' <font color=\"red\">''(rubie)''</font> es monstrate in le graphicos infra, in scala ''1:\$1''.",
767 - 'right-feedback' => 'Usa le formulario de reaction pro evalutar un pagina',
768 -);
769 -
770 -/** Indonesian (Bahasa Indonesia)
771 - * @author Bennylin
772 - * @author Rex
773 - */
774 -$messages['id'] = array(
775 - 'ratinghistory' => 'Sejarah penilaian halaman',
776 - 'ratinghistory-leg' => 'Data sejarah penilaian untuk [[:$1|$1]]',
777 - 'ratinghistory-tab' => 'penilaian',
778 - 'ratinghistory-link' => 'Peringkat halaman',
779 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Terima kasih Anda telah meninjau halaman ini!</font>''",
780 - 'ratinghistory-period' => 'Periode waktu:',
781 - 'ratinghistory-month' => 'bulan lalu',
782 - 'ratinghistory-year' => 'tahun lalu',
783 - 'ratinghistory-3years' => '3 tahun terakhir',
784 - 'ratinghistory-chart' => 'Peringkat pembaca dari waktu ke waktu',
785 - 'ratinghistory-users' => 'Pengguna yang memberi peringkat',
786 - 'ratinghistory-graph' => '$2 dari "$3" ($1 {{PLURAL:$1|tinjauan|tinjauan}})',
787 - 'ratinghistory-none' => 'Belum ada cukup umpan balik pembaca tersedia untuk membuat grafik pada saat ini.',
788 - 'ratinghistory-legend' => "'''Rata-rata peringkat harian''' <font color=\"blue\">''(biru)''</font> dan '''rata-rata peringkat interval''' <font color=\"green\">''(hijau)''</font> ditampilkan dalam grafik di bawah ini, menurut tanggal.
789 -
790 -Skala: '''[1]''' - Buruk; '''[2]''' - Rendah; '''[3]''' - Cukup; '''[4]''' - Tinggi; '''[5]''' - Baik sekali;
791 -
792 -'''Jumlah tinjauan per hari''' <font color=\"red\">''(merah)''</font> ditampilkan pada grafik berikut dengan skala ''1:\$1''.",
793 - 'right-feedback' => 'Gunakan formulir umpan balik untuk memberikan peringkat halaman',
794 -);
795 -
796 -/** Italian (Italiano)
797 - * @author Darth Kule
798 - * @author Pietrodn
799 - */
800 -$messages['it'] = array(
801 - 'ratinghistory' => 'Cronologia dei giudizi delle pagine',
802 - 'ratinghistory-leg' => 'Dati della cronologia dei giudizi per [[:$1|$1]]',
803 - 'ratinghistory-tab' => 'giudizio',
804 - 'ratinghistory-link' => 'Giudizio pagina',
805 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Grazie per aver dedicato un momento al giudizio di questa pagina!</font>''",
806 - 'ratinghistory-period' => 'Periodo di tempo:',
807 - 'ratinghistory-month' => 'ultimo mese',
808 - 'ratinghistory-3months' => 'ultimi 3 mesi',
809 - 'ratinghistory-year' => 'ultimo anno',
810 - 'ratinghistory-3years' => 'ultimi 3 anni',
811 - 'ratinghistory-ave' => 'Media: $1',
812 - 'ratinghistory-chart' => 'Giudizi dei lettori nel corso del tempo',
813 - 'ratinghistory-purge' => 'pulisci la cache',
814 - 'ratinghistory-table' => 'Panoramica dei voti dei lettori',
815 - 'ratinghistory-users' => 'Utenti che hanno dato un giudizio',
816 - 'ratinghistory-graph' => '$2 di "$3" ($1 {{PLURAL:$1|revisione|revisioni}})',
817 - 'readerfeedback-svg' => 'Visualizza come SVG',
818 - 'ratinghistory-table-rating' => 'Giudizio',
819 - 'ratinghistory-table-votes' => 'Voti',
820 - 'ratinghistory-none' => 'Non sono disponibile sufficienti dati di feedback dei lettori per poter rappresentare dei grafici al momento.',
821 - 'ratinghistory-legend' => "I '''giudizi medi giornalieri''' <font color=\"blue\">''(blu)''</font> e gli '''intervalli dei giudizi medi''' selezionati <font color=\"green\">''(verde)''</font> sono rappresentati di seguito, in ordine di data. Gli '''intervalli dei giudizi medi''' sono semplicemente la media di tutti i giudizi giornalieri ''dentro'' questa finestra temporale per ogni giorno.
822 -
823 -Scala: '''[1]''' - Insufficiente; '''[2]''' - Mediocre; '''[3]''' - Discreto; '''[4]''' - Buono; '''[5]''' - Ottimo;
824 -
825 -Il '''numero di revisioni al giorno''' <font color=\"red\">''(rosso)''</font> è mostrato nel grafico di sotto, in scala ''1:\$1''.",
826 - 'right-feedback' => 'Usa il modulo di feedback per giudicare una pagina',
827 -);
828 -
829 -/** Japanese (日本語)
830 - * @author Aotake
831 - * @author Fryed-peach
832 - */
833 -$messages['ja'] = array(
834 - 'ratinghistory' => 'ページ評価履歴',
835 - 'ratinghistory-leg' => '[[:$1|$1]] の評価履歴',
836 - 'ratinghistory-tab' => '評価',
837 - 'ratinghistory-link' => 'ページ評価',
838 - 'ratinghistory-thanks' => "''<font color=\"darkred\">時間を割いて、このページを評価していただきありがとうございます!</font>''",
839 - 'ratinghistory-period' => '期間:',
840 - 'ratinghistory-month' => '過去1か月',
841 - 'ratinghistory-3months' => '過去3か月',
842 - 'ratinghistory-year' => '過去1年',
843 - 'ratinghistory-3years' => '過去3年',
844 - 'ratinghistory-ave' => '平均: $1',
845 - 'ratinghistory-chart' => '期間中の読者評価',
846 - 'ratinghistory-purge' => 'キャッシュ削除',
847 - 'ratinghistory-table' => '読者評価の概観',
848 - 'ratinghistory-users' => '評価を行った利用者',
849 - 'ratinghistory-graph' => '「$3」の$2 ($1回の{{PLURAL:$1|評価}})',
850 - 'readerfeedback-svg' => 'SVGとして表示',
851 - 'ratinghistory-table-rating' => '評価',
852 - 'ratinghistory-table-votes' => '票数',
853 - 'ratinghistory-none' => '現時点ではグラフを表示するのに十分な読者評価データがありません。',
854 - 'ratinghistory-legend' => "日ごとの'''日間平均評価''' <font color=\"blue\">''(青)''</font> と'''移動平均評価''' <font color=\"green\">''(緑)''</font> を以下のグラフに表示します。'''移動平均評価'''とは単にこの期間中のすべての日間評価の平均のことです。
855 -
856 -目盛り: '''[1]''' - {{int:readerfeedback-level-0}}、'''[2]''' - {{int:readerfeedback-level-1}}、'''[3]''' - {{int:readerfeedback-level-2}}、'''[4]''' - {{int:readerfeedback-level-3}}、'''[5]''' - {{int:readerfeedback-level-4}}
857 -
858 -'''日ごとの評価回数''' <font color=\"red\">''(赤)''</font> を以下のグラフに\$1分の1の縮尺で表示します。",
859 - 'right-feedback' => 'ページを評価するためのフォームを使用する',
860 -);
861 -
862 -/** Javanese (Basa Jawa)
863 - * @author Pras
864 - */
865 -$messages['jv'] = array(
866 - 'ratinghistory-period' => 'Jangka wektu:',
867 - 'ratinghistory-month' => 'sasi kapungkur',
868 - 'ratinghistory-year' => 'taun kapungkur',
869 - 'ratinghistory-3years' => '3 taun pungkasan',
870 -);
871 -
872 -/** Khmer (ភាសាខ្មែរ)
873 - * @author Lovekhmer
874 - * @author Thearith
875 - */
876 -$messages['km'] = array(
877 - 'ratinghistory-period' => 'កំលុងពេល:',
878 - 'ratinghistory-month' => 'ខែមុន',
879 - 'ratinghistory-3months' => '៣ ខែ​ចុងក្រោយ',
880 - 'ratinghistory-year' => 'ឆ្នាំមុន',
881 - 'ratinghistory-3years' => '៣ឆ្នាំមុន',
882 - 'readerfeedback-svg' => 'មើល​ជា SVG',
883 -);
884 -
885 -/** Korean (한국어)
886 - * @author Kwj2772
887 - */
888 -$messages['ko'] = array(
889 - 'ratinghistory-thanks' => "'''<font color=\"darkred\">이 문서를 검토해 주셔서 감사합니다!</font>'''",
890 - 'ratinghistory-period' => '기간:',
891 - 'ratinghistory-month' => '지난 1개월',
892 - 'ratinghistory-3months' => '지난 3개월',
893 - 'ratinghistory-year' => '지난 1년',
894 - 'ratinghistory-3years' => '지난 3년',
895 - 'readerfeedback-svg' => 'SVG로 보기',
896 - 'right-feedback' => '문서를 평가하는 피드백 양식을 이용',
897 -);
898 -
899 -/** Ripoarisch (Ripoarisch)
900 - * @author Purodha
901 - */
902 -$messages['ksh'] = array(
903 - 'ratinghistory' => 'Verlouf vun de Enschäzunge',
904 - 'ratinghistory-leg' => 'Enschäzunge för de Sigg „[[:$1|$1]]“ en der Verjangeheit',
905 - 'ratinghistory-tab' => 'Enschäzung',
906 - 'ratinghistory-link' => 'Enschäzunge',
907 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Ene schöne Dangk un märßie för et Nohkike!</font>''",
908 - 'ratinghistory-period' => 'Der Berett en der Zick:',
909 - 'ratinghistory-month' => 'letzt Mohnd',
910 - 'ratinghistory-3months' => 'letzte drei Mohnd',
911 - 'ratinghistory-year' => 'letz Johr',
912 - 'ratinghistory-3years' => 'letz drei Johre',
913 - 'ratinghistory-ave' => 'Dorschnett: $1',
914 - 'ratinghistory-chart' => 'afjejovve Enschäzunge över di Zick',
915 - 'ratinghistory-purge' => 'Donn der Zwescheshpeisher (der <i lang="en">cache</i>) leddisch maache',
916 - 'ratinghistory-table' => 'Övverbleck övver de Lesser ier Enschäzunge',
917 - 'ratinghistory-users' => 'Metmaacher, di Enschäzunge afjejovve udder Note för Sigge verdeilt han',
918 - 'ratinghistory-graph' => '$2 vun „$3“ ({{PLURAL:$1|eimohl|$1 mohl|keimohl}} Nohkike)',
919 - 'readerfeedback-svg' => 'Als en <code>SVG</code>-Dattei aanloore',
920 - 'ratinghistory-table-rating' => 'Enschäzung',
921 - 'ratinghistory-table-votes' => 'Shtemme',
922 - 'ratinghistory-none' => 'Schad, mer han nit jenooch Enschäzunge vun de Metmaacher krääje, öm fö di Zick heh e Belldsche maache ze künne.',
923 - 'ratinghistory-legend' => "Dä '''dääschlesche Dorschnett vun de Enschäzunge''' <font color=\"blue\">''(en blou)''</font> un dä
924 -'''loufende Dorschnett vun de Enschäzunge''' <font color=\"green\">''(en jröhn)''</font> sin unge opjemohlt, pro Dattum. Dä '''loufende Dorschnett''' es eijfach dä Dorschnett fun all dä dääschlesche Enschäzunge ''ennerhallef'' fun däm Zick_Afschnet för jeede Daach.
925 -
926 -Lejend fun de Enschäzunge: '''[1]''' = {{int:readerfeedback-level-0}}, '''[2]''' = {{int:readerfeedback-level-1}}, '''[3]''' = {{int:readerfeedback-level-2}}, '''[4]''' = {{int:readerfeedback-level-3}}, '''[5]''' = {{int:readerfeedback-level-4}}.
927 -
928 -Di '''Aanzahl, wi öff en Version nohjekik wood för jeede Daach''' <font color=\"red\">''(en rud)''</font> weed en dä Beldsche unge em Moohßshtaabs-Verhälltneß ''1:\$1'' jezeisch.",
929 - 'right-feedback' => 'Enschäzunge afjevve un Note för Sigge verdeile',
930 -);
931 -
932 -/** Luxembourgish (Lëtzebuergesch)
933 - * @author Robby
934 - */
935 -$messages['lb'] = array(
936 - 'ratinghistory' => 'Entwécklung vun der Bewertung vun der Säit',
937 - 'ratinghistory-leg' => 'Entwécklung vun der Bewertung vun [[:$1|$1]] am Laf vun der Zäit',
938 - 'ratinghistory-tab' => 'Bewertung',
939 - 'ratinghistory-link' => 'Bewertung vun der Säit',
940 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Merci datt Dir Iech en Ament Zäit huelt fir dës Säit nozekucken!</font>''",
941 - 'ratinghistory-period' => 'Zäitraum:',
942 - 'ratinghistory-month' => 'leschte Mount',
943 - 'ratinghistory-3months' => 'lescht 3 Méint',
944 - 'ratinghistory-year' => 'lescht Joer',
945 - 'ratinghistory-3years' => 'lescht 3 Joer',
946 - 'ratinghistory-ave' => 'Duerchschnëtt: $1',
947 - 'ratinghistory-chart' => 'Bewertunge vun de Liser am Laf vun der Zäit',
948 - 'ratinghistory-purge' => 'Tëschespäicher (Cache) eidelmaachen',
949 - 'ratinghistory-table' => 'Iwwerbléck vun de Bewertunge vu Lieser',
950 - 'ratinghistory-users' => 'Benotzer, déi bewert hunn',
951 - 'ratinghistory-graph' => '$2 vun "$3" ($1 {{PLURAL:$1|Bewertung|Bewertungen}})',
952 - 'readerfeedback-svg' => 'Als SVG kucken',
953 - 'ratinghistory-table-rating' => 'Bewertung',
954 - 'ratinghistory-table-votes' => 'Stëmmen',
955 - 'ratinghistory-none' => 'Et gëtt zu dësem Zäitpunkt net genuch Bewertunge vu Lieser fir e Grafik opzestellen.',
956 - 'ratinghistory-legend' => "Den '''Duerchschnëtt vun der deeglecher Bewertung''' <font color=\"blue\">''(blo)''</font> an '''momentanen Duerchschnëtt vun der Bewertung''' <font color=\"green\">''(greng)''</font> sinn ënnendrënner grafesch pro Dag duergestallt.
957 -
958 -De '''momentanen Duerchschnëtt vun der Bewertung''' ass einfach den Duerchschnëtt vun allen deeglech Bewertungen ''bannert'' dësem Zäitraum fir all Dag.
959 -
960 -Skala: '''[1]''' - Aarmeséileg; '''[2]''' - Niddreg; '''[3]''' - An der Rei; '''[4]''' - Héich; '''[5]''' - Exzellent;
961 -
962 -D''''Zuel vun de Bewertunge pro Dag''' <font color=\"red\">''(roud)''</font> gëtt am Grafik ënnedrënner gewisen, op enger ''1:\$1'' Skala.",
963 - 'right-feedback' => 'De Feedback-Formulaire benotze fir eng Säit ze bewerten',
964 -);
965 -
966 -/** Limburgish (Limburgs)
967 - * @author Ooswesthoesbes
968 - */
969 -$messages['li'] = array(
970 - 'ratinghistory-3years' => 'aafgeloupe 3 jaor',
971 - 'ratinghistory-graph' => '$2 van "$3" ($1 {{PLURAL:$1|waardering|waarderinge}})',
972 - 'readerfeedback-svg' => 'Bekiek es SVG',
973 -);
974 -
975 -/** Macedonian (Македонски)
976 - * @author Brest
977 - */
978 -$messages['mk'] = array(
979 - 'ratinghistory' => 'Историја на оценување на страница',
980 - 'ratinghistory-leg' => 'Податоци за историјата на оценување за [[:$1|$1]]',
981 - 'ratinghistory-tab' => 'оценка',
982 - 'ratinghistory-link' => 'Оценка на страница',
983 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Благодариме за вашето одвоено време за оценување на оваа страница!</font>''",
984 - 'ratinghistory-period' => 'Временски период:',
985 - 'ratinghistory-month' => 'последен месец',
986 - 'ratinghistory-3months' => 'последни 3 месеци',
987 - 'ratinghistory-year' => 'последна година',
988 - 'ratinghistory-3years' => 'последни 3 години',
989 - 'ratinghistory-users' => 'Корисници кои дале оценки',
990 - 'ratinghistory-graph' => '$2 од "$3" ($1 {{PLURAL:$1|оценка|оценки}})',
991 - 'readerfeedback-svg' => 'Поглед како SVG',
992 - 'ratinghistory-none' => 'Нема доволно податоци од оценувачите за исцртување на графиконот во овој момент.',
993 -);
994 -
995 -/** Malay (Bahasa Melayu)
996 - * @author Aviator
997 - */
998 -$messages['ms'] = array(
999 - 'ratinghistory' => 'Sejarah penilaian laman',
1000 - 'ratinghistory-leg' => 'Data sejarah penilaian',
1001 - 'ratinghistory-tab' => 'penilaian',
1002 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Terima kasih kerana sudi meluangkan masa untuk memeriksa laman ini!</font>''",
1003 - 'ratinghistory-period' => 'Tempoh masa:',
1004 - 'ratinghistory-month' => 'bulan lepas',
1005 - 'ratinghistory-year' => 'tahun lepas',
1006 - 'ratinghistory-3years' => '3 tahun lepas',
1007 - 'ratinghistory-none' => 'Data maklum balas pembaca belum cukup untuk penghasilan graf.',
1008 - 'ratinghistory-legend' => "Berikut ialah graf penilaian purata harian <font color=\"blue\">''(biru)''</font> dan penilaian purata selang yang dipilih <font color=\"green\">''(hijau)''</font> mengikut tarikh. Jumlah pemeriksaan ditunjukkan di bucu kanan atas. Nilai tinggi menandakan data sampel yang lebih baik. Berikut ialah pentafsiran tahap penilaian:
1009 -
1010 -'''[1]''' - Lemah, '''[2]''' - Rendah, '''[3]''' - Sederhana, '''[4]''' - Tinggi, '''[5]''' - Cemerlang",
1011 -);
1012 -
1013 -/** Erzya (Эрзянь)
1014 - * @author Botuzhaleny-sodamo
1015 - */
1016 -$messages['myv'] = array(
1017 - 'ratinghistory-year' => 'мелять',
1018 - 'ratinghistory-3years' => 'меельсе 3 иеть',
1019 -);
1020 -
1021 -/** Nahuatl (Nāhuatl)
1022 - * @author Fluence
1023 - */
1024 -$messages['nah'] = array(
1025 - 'ratinghistory-period' => 'Cāhuitl:',
1026 - 'ratinghistory-month' => 'achto mētztli',
1027 - 'ratinghistory-3months' => 'achto 3 mētztli',
1028 - 'ratinghistory-year' => 'achto xihuitl',
1029 - 'ratinghistory-3years' => 'achto 3 xihuitl',
1030 - 'ratinghistory-graph' => '$2 īhuīcpa "$3" ($1 {{PLURAL:$1|tlachiyaliztli|tlachiyaliztli}})',
1031 - 'readerfeedback-svg' => 'Tiquittāz quemeh SVG',
1032 -);
1033 -
1034 -/** Dutch (Nederlands)
1035 - * @author Siebrand
1036 - * @author Tvdm
1037 - */
1038 -$messages['nl'] = array(
1039 - 'ratinghistory' => 'Geschiedenis paginawaardering',
1040 - 'ratinghistory-leg' => 'Historische waarderingsgegevens voor [[:$1|$1]]',
1041 - 'ratinghistory-tab' => 'waardering',
1042 - 'ratinghistory-link' => 'Paginawaardering',
1043 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Dank u wel voor de moeite die u hebt genomen om deze pagina te waarderen!</font>''",
1044 - 'ratinghistory-period' => 'Tijdsperiode:',
1045 - 'ratinghistory-month' => 'afgelopen maand',
1046 - 'ratinghistory-3months' => 'laatste 3 maanden',
1047 - 'ratinghistory-year' => 'afgelopen jaar',
1048 - 'ratinghistory-3years' => 'afgelopen 3 jaar',
1049 - 'ratinghistory-ave' => 'Gemiddeld: $1',
1050 - 'ratinghistory-chart' => 'Lezerswaardering in de tijd',
1051 - 'ratinghistory-purge' => 'cache legen',
1052 - 'ratinghistory-table' => 'Overzicht van de lezerswaarderingen',
1053 - 'ratinghistory-users' => 'Gebruikers die een waardering hebben gegeven',
1054 - 'ratinghistory-graph' => '$2 van "$3" ($1 {{PLURAL:$1|waardering|waarderingen}})',
1055 - 'readerfeedback-svg' => 'Als SVG bekijken',
1056 - 'ratinghistory-table-rating' => 'Waardering',
1057 - 'ratinghistory-table-votes' => 'Stemmen',
1058 - 'ratinghistory-none' => 'Er is onvoldoende terugkoppeling van lezers aanwezig om een grafiek te maken.',
1059 - 'ratinghistory-legend' => "De '''dagelijkse gemiddelde waardering''' <font color=\"blue\">''(blauw)''</font> en
1060 -de '''gemiddelde waardering van de aangegeven periode''' <font color=\"green\">''(groen)''</font> staan hieronder in een grafiek op datum.
1061 -De '''gemiddelde waardering van de aangegeven periode''' is het gemiddelde van alle dagelijkse gemiddelde waarderingen ''binnnen'' dit tijdvak voor iedere dag.
1062 -
1063 -Schaal: '''[1]''' - Slecht; '''[2]''' - Laag; '''[3]''' - Redelijk; '''[4]''' - Hoog; '''[5]''' - Uitstekend;
1064 -
1065 -Het '''aantal waarderingen per dag''' <font color=\"red\">''(rood)''</font> wordt hieronder weergegeven in de grafieken op een schaal van ''1:\$1''.",
1066 - 'right-feedback' => 'Het waarderingsformulier gebruiken om een pagina te waarderen',
1067 -);
1068 -
1069 -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
1070 - * @author Harald Khan
1071 - */
1072 -$messages['nn'] = array(
1073 - 'ratinghistory' => 'Sidevurderingshistorikk',
1074 - 'ratinghistory-leg' => 'Vurderingshistorikkdata for [[:$1|$1]]',
1075 - 'ratinghistory-tab' => 'vurdering',
1076 - 'ratinghistory-link' => 'Sidevurdering',
1077 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Takk for at du tok deg tid til å vurdera sida!</font>''",
1078 - 'ratinghistory-period' => 'Tidsperiode:',
1079 - 'ratinghistory-month' => 'siste månaden',
1080 - 'ratinghistory-3months' => 'siste tre månader',
1081 - 'ratinghistory-year' => 'siste året',
1082 - 'ratinghistory-3years' => 'siste tre år',
1083 - 'ratinghistory-ave' => 'Snitt: $1',
1084 - 'ratinghistory-chart' => 'Lesarvurdering over tid',
1085 - 'ratinghistory-purge' => 'oppdater mellomlager',
1086 - 'ratinghistory-table' => 'Oversyn over lesarvurderingar',
1087 - 'ratinghistory-users' => 'Brukarar som vurderte sida',
1088 - 'ratinghistory-graph' => '$2 for «$3» ({{PLURAL:$1|éi vurdering|$1 vurderingar}})',
1089 - 'readerfeedback-svg' => 'Syn som SVG',
1090 - 'ratinghistory-table-rating' => 'Vurdering',
1091 - 'ratinghistory-table-votes' => 'Røyster',
1092 - 'ratinghistory-none' => 'Det finst på noverande tidspunkt ikkje nok lesarvurderingar til å teikna ein graf.',
1093 - 'ratinghistory-legend' => "Den '''daglege gjennomsnittsvurderinga''' <font color=\"blue\">''(blått)''</font> og
1094 -'''gjennomsnittet for det valte intervallet''' per dag <font color=\"green\">''(grønt)''</font> er teikna inn på grafane under etter dato.
1095 -
1096 -Skala: '''[1]''' - Sers dårleg; '''[2]''' - Dårleg; '''[3]''' - OK; '''[4]''' - Bra; '''[5]''' - Sers bra;
1097 -
1098 -Talet på '''vurderingar per dag''' <font color=\"red\">''(raudt)''</font> er vist på grafane under med ein skala på ''1:\$1''.",
1099 - 'right-feedback' => 'Nytta tilbakemeldingsskjemaet for å vurdera ei sida',
1100 -);
1101 -
1102 -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
1103 - * @author Jon Harald Søby
1104 - * @author Nghtwlkr
1105 - */
1106 -$messages['no'] = array(
1107 - 'ratinghistory' => 'Sidens vurderingshistorikk',
1108 - 'ratinghistory-leg' => 'Vurderingshistorikkdata for [[:$1|$1]]',
1109 - 'ratinghistory-tab' => 'vurdering',
1110 - 'ratinghistory-link' => 'Sidevurdering',
1111 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Takk for at du tar deg tid til å anmelde denne siden!</font>''",
1112 - 'ratinghistory-period' => 'Tidsperiode:',
1113 - 'ratinghistory-month' => 'siste måned',
1114 - 'ratinghistory-3months' => 'siste 3 måneder',
1115 - 'ratinghistory-year' => 'siste år',
1116 - 'ratinghistory-3years' => 'siste tre år',
1117 - 'ratinghistory-ave' => 'Snitt: $1',
1118 - 'ratinghistory-chart' => 'Leservurderinger over tid',
1119 - 'ratinghistory-purge' => 'oppdater mellomlager',
1120 - 'ratinghistory-table' => 'Oversikt over leservurderinger',
1121 - 'ratinghistory-users' => 'Brukere som vurderte siden',
1122 - 'ratinghistory-graph' => '$2 av «$3» ({{PLURAL:$1|én vurdering|$1 vurderinger}})',
1123 - 'readerfeedback-svg' => 'Vis som SVG',
1124 - 'ratinghistory-table-rating' => 'Vurdering',
1125 - 'ratinghistory-table-votes' => 'Stemmer',
1126 - 'ratinghistory-none' => 'Det er ikke nok leservurderinger til å vise grafer ennå.',
1127 - 'ratinghistory-legend' => "Den '''daglige gjennomsnittsvurderingen''' <font color=\"blue\">''(blå)''</font> og '''løpende gjennomsnittsvurdering''' <font color=\"green\">''(grønn)''</font> vises i grafen under, etter dato. Den '''løpende gjennomsnittsvurderingen''' er rett og slett gjennomsnittet av all de daglige vurderingene ''innen'' denne tidsperioden for hver dag.
1128 -
1129 -Skala: '''[1]''' - Veldig dårlig; '''[2]''' - Dårlig; '''[3]''' - OK; '''[4]''' - Bra; '''[5]''' - Veldig bra;
1130 -
1131 -'''Antallet vurderinger per dag''' <font color=\"red\">''(rød)''</font> vises i grafen under, med skalaen ''1:\$1''.",
1132 - 'right-feedback' => 'Bruke tilbakemeldingsskjemaet for å vurdere en side',
1133 -);
1134 -
1135 -/** Occitan (Occitan)
1136 - * @author Cedric31
1137 - */
1138 -$messages['oc'] = array(
1139 - 'ratinghistory' => 'Istoric de la notacion de la pagina',
1140 - 'ratinghistory-leg' => 'Donadas de l’istoric de la notacion per [[:$1|$1]]',
1141 - 'ratinghistory-tab' => 'notacion',
1142 - 'ratinghistory-link' => 'Notacion de la pagina',
1143 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Mercés de nos aver consacrat de temps per tornar legir aquesta pagina !</font>''",
1144 - 'ratinghistory-period' => 'Periòde :',
1145 - 'ratinghistory-month' => 'darrièr mes',
1146 - 'ratinghistory-3months' => 'darrièrs 3 meses',
1147 - 'ratinghistory-year' => 'darrièra annada',
1148 - 'ratinghistory-3years' => 'las 3 darrièras annadas',
1149 - 'ratinghistory-ave' => 'Mejana : $1',
1150 - 'ratinghistory-chart' => 'Relector notant fòra relambi',
1151 - 'ratinghistory-purge' => "purgar l'amagatal",
1152 - 'ratinghistory-table' => "Vista d'ensemble de las notations dels lectors",
1153 - 'ratinghistory-users' => "Utilizaires qu'an fach de relecturas",
1154 - 'ratinghistory-graph' => '$2 sus « $3 » ($1 {{PLURAL:$1|relector|relectors}})',
1155 - 'readerfeedback-svg' => 'Veire en SVG',
1156 - 'ratinghistory-table-rating' => 'Notacion',
1157 - 'ratinghistory-table-votes' => 'Vòts',
1158 - 'ratinghistory-none' => 'En aqueste moment, i a pas pro de lectors de donadas de notacion pels grafics.',
1159 - 'ratinghistory-legend' => "Las quotacions jornalièras <font color=\"blue\">''(blau)''</font> e la '''mejana de quotacion en cors''' <font color=\"green\">''(verd)''</font> de la notacion son dessenhats çaijós, per data. La '''mejana de quotacion en cors''' es simplament la mejana de las qotacions de cada ''dins'' lo periòde de temps causit.
1160 -
1161 -'''[1]''' - Marrit ; '''[2]''' - Mediòcre ; '''[3]''' - Mejan ; '''[4]''' - Bon ; '''[5]''' - Excellent ;
1162 -
1163 -Lo '''nombre de verificacion per jorn''' <font color=\"red\">''(roge)''</font> es afichat sul grafic çaijós, amb una escala ''1:\$1''.",
1164 - 'right-feedback' => 'Utilizar lo formulari de somission per notar una pagina',
1165 -);
1166 -
1167 -/** Polish (Polski)
1168 - * @author Holek
1169 - * @author Jwitos
1170 - * @author Leinad
1171 - * @author Sp5uhe
1172 - * @author ToSter
1173 - */
1174 -$messages['pl'] = array(
1175 - 'ratinghistory' => 'Historia oceniania strony',
1176 - 'ratinghistory-leg' => 'Historia oceniania dla [[:$1|$1]]',
1177 - 'ratinghistory-tab' => 'ocena',
1178 - 'ratinghistory-link' => 'Ocena strony',
1179 - 'ratinghistory-thanks' => '\'\'<font color="darkred">Dziękujemy za poświęcony czas na ocenę tej strony!</font>',
1180 - 'ratinghistory-period' => 'Okres czasu:',
1181 - 'ratinghistory-month' => 'ostatni miesiąc',
1182 - 'ratinghistory-3months' => 'ostatnie 3 miesiące',
1183 - 'ratinghistory-year' => 'ostatni rok',
1184 - 'ratinghistory-3years' => 'ostatnie 3 lata',
1185 - 'ratinghistory-ave' => 'Średnia $1',
1186 - 'ratinghistory-chart' => 'Oceny czytelników w czasie',
1187 - 'ratinghistory-purge' => 'odśwież pamięć podręczną',
1188 - 'ratinghistory-table' => 'Przegląd ocen wystawionych przez czytelników',
1189 - 'ratinghistory-users' => 'Użytkownicy, którzy wystawili ocenę',
1190 - 'ratinghistory-graph' => '$2 strony „$3” ($1 {{PLURAL:$1|ocena|oceny|ocen}})',
1191 - 'readerfeedback-svg' => 'Zobacz jako SVG',
1192 - 'ratinghistory-table-rating' => 'Ocena',
1193 - 'ratinghistory-table-votes' => 'Głosy',
1194 - 'ratinghistory-none' => 'W tej chwil brak liczby ocen czytelników wystarczającej, by móc stworzyć wykresy.',
1195 - 'ratinghistory-legend' => "Średnia dzienna ocena <font color=\"blue\">''(na niebiesko)''</font> i średnia w wybranym przedziale czasowym <font color=\"green\">''(na zielono)''</font> są przedstawione na wykresie poniżej, w kolejności chronologicznej. Średnia w wybranym przedziale czasowym to średnia dziennych ocen w tym przedziale czasowym.
1196 -
1197 -Skala: '''[1]''' – Niedostatecznie; '''[2]''' – Słabo; '''[3]''' – Zadowalająco; '''[4]''' – Dobrze; '''[5]''' – Bardzo dobrze;
1198 -
1199 -'''Liczba ocen na dzień''' <font color=\"red\">''(na czerwono)''</font> jest pokazana poniżej wykresu w skali ''1:\$1''.",
1200 - 'right-feedback' => 'Użyj formularza, aby ocenić stronę',
1201 -);
1202 -
1203 -/** Pashto (پښتو)
1204 - * @author Ahmed-Najib-Biabani-Ibrahimkhel
1205 - */
1206 -$messages['ps'] = array(
1207 - 'ratinghistory-period' => 'د وخت موده:',
1208 - 'ratinghistory-month' => 'تېره مياشت',
1209 - 'ratinghistory-3months' => 'تېرې ۳ مياشتې',
1210 - 'ratinghistory-year' => 'تېر کال',
1211 - 'ratinghistory-3years' => 'تېر ۳ کالونه',
1212 - 'readerfeedback-svg' => 'د SVG په توګه کتل',
1213 -);
1214 -
1215 -/** Portuguese (Português)
1216 - * @author 555
1217 - * @author Malafaya
1218 - * @author Waldir
1219 - */
1220 -$messages['pt'] = array(
1221 - 'ratinghistory' => 'Histórico de avaliações da página',
1222 - 'ratinghistory-leg' => 'Histórico de dados de avaliações para [[:$1|$1]]',
1223 - 'ratinghistory-tab' => 'avaliação',
1224 - 'ratinghistory-link' => 'Avaliação da página',
1225 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Obrigado por reservar um momento para avaliar esta página!</font>''",
1226 - 'ratinghistory-period' => 'Período de tempo:',
1227 - 'ratinghistory-month' => 'último mês',
1228 - 'ratinghistory-3months' => 'últimos 3 meses',
1229 - 'ratinghistory-year' => 'último ano',
1230 - 'ratinghistory-3years' => 'últimos três anos',
1231 - 'ratinghistory-ave' => 'Média: $1',
1232 - 'ratinghistory-chart' => 'Avaliações do leitor ao longo do tempo',
1233 - 'ratinghistory-purge' => 'limpar cache',
1234 - 'ratinghistory-table' => 'Resumo das avaliações dos leitores',
1235 - 'ratinghistory-users' => 'Utilizadores que fizeram avaliações',
1236 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|avaliação|avaliações}})',
1237 - 'readerfeedback-svg' => 'Ver como SVG',
1238 - 'ratinghistory-table-rating' => 'Avaliação',
1239 - 'ratinghistory-table-votes' => 'Votos',
1240 - 'ratinghistory-none' => 'Ainda não há dados suficientes de avaliações dos leitores para mostrar gráficos.',
1241 - 'ratinghistory-legend' => "A '''avaliação média diária''' <font color=\"blue\">''(azul)''</font> e a '''avaliação média acumulada''' <font color=\"green\">''(verde)''</font> estão apresentadas graficamente abaixo, por data. A '''avaliação média acumulada''' é apenas a média de todas as avaliações diárias ''dentro'' desta janela temporal para cada dia.
1242 -
1243 -Escala: '''[1]''' - Péssima; '''[2]''' - Baixa; '''[3]''' - Razoável; '''[4]''' - Alta; '''[5]''' - Excelente;
1244 -
1245 -O '''número de of análises por dia''' <font color=\"red\">''(vermelho)''</font> é mostrado nos gráficos abaixo, numa escala ''1:\$1''.",
1246 - 'right-feedback' => 'Use o formulário de feedback para avaliar uma página',
1247 -);
1248 -
1249 -/** Brazilian Portuguese (Português do Brasil)
1250 - * @author Eduardo.mps
1251 - */
1252 -$messages['pt-br'] = array(
1253 - 'ratinghistory' => 'Histórico de avaliações da página',
1254 - 'ratinghistory-leg' => 'Histórico de dados de avaliações para [[:$1|$1]]',
1255 - 'ratinghistory-tab' => 'avaliação',
1256 - 'ratinghistory-link' => 'Avaliação da página',
1257 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Obrigado por reservar um momento para avaliar esta página!</font>''",
1258 - 'ratinghistory-period' => 'Período de tempo:',
1259 - 'ratinghistory-month' => 'último mês',
1260 - 'ratinghistory-3months' => 'últimos 3 meses',
1261 - 'ratinghistory-year' => 'último ano',
1262 - 'ratinghistory-3years' => 'últimos três anos',
1263 - 'ratinghistory-ave' => 'Média: $1',
1264 - 'ratinghistory-chart' => 'Avaliações dos leitores ao longo do tempo',
1265 - 'ratinghistory-purge' => 'limpar cache',
1266 - 'ratinghistory-table' => 'Resumo das avaliações dos leitores',
1267 - 'ratinghistory-users' => 'Utilizadores que fizeram avaliações',
1268 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|avaliação|avaliações}})',
1269 - 'readerfeedback-svg' => 'Ver como SVG',
1270 - 'ratinghistory-table-rating' => 'Avaliação',
1271 - 'ratinghistory-table-votes' => 'Votos',
1272 - 'ratinghistory-none' => 'Ainda não há dados suficientes de avaliações dos leitores para mostrar gráficos.',
1273 - 'ratinghistory-legend' => "A '''avaliação média diária''' <font color=\"blue\">''(azul)''</font> e a '''avaliação média acumulada''' <font color=\"green\">''(verde)''</font> estão apresentadas graficamente abaixo, por data. A '''avaliação média acumulada''' é apenas a média de todas as avaliações diárias ''dentro'' desta janela temporal para cada dia.
1274 -
1275 -Escala: '''[1]''' - Péssima; '''[2]''' - Baixa; '''[3]''' - Razoável; '''[4]''' - Alta; '''[5]''' - Excelente;
1276 -
1277 -O '''número de análises por dia''' <font color=\"red\">''(vermelho)''</font> é mostrado nos gráficos abaixo, numa escala ''1:\$1''.",
1278 - 'right-feedback' => 'Use o formulário de feedback para avaliar uma página',
1279 -);
1280 -
1281 -/** Romanian (Română)
1282 - * @author KlaudiuMihaila
1283 - * @author Mihai
1284 - */
1285 -$messages['ro'] = array(
1286 - 'ratinghistory' => 'Istoricul evaluării paginii',
1287 - 'ratinghistory-leg' => 'Informaţii despre istoricul evaluarii pentru [[:$1|$1]]',
1288 - 'ratinghistory-tab' => 'evaluare',
1289 - 'ratinghistory-link' => 'Evaluarea paginii',
1290 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Mulţumim pentru că aţi revizuit această pagină!</font>''",
1291 - 'ratinghistory-period' => 'Perioadă de timp:',
1292 - 'ratinghistory-month' => 'ultima lună',
1293 - 'ratinghistory-3months' => 'ultimele 3 luni',
1294 - 'ratinghistory-year' => 'ultimul an',
1295 - 'ratinghistory-3years' => 'ultimii 3 ani',
1296 - 'ratinghistory-ave' => 'Medie: $1',
1297 - 'ratinghistory-purge' => 'curăţa cache-ul',
1298 - 'ratinghistory-table' => 'Privire de ansamblu asupra evaluării cititorilor',
1299 - 'readerfeedback-svg' => 'Vizualizează drept SVG',
1300 - 'ratinghistory-table-rating' => 'Evaluare',
1301 - 'ratinghistory-table-votes' => 'Voturi',
1302 - 'ratinghistory-none' => 'Nu există suficiente date disponibile pentru a genera grafice în acest moment.',
1303 - 'right-feedback' => 'Folosiţi formularul de feedback-ul pentru a evalua o pagină',
1304 -);
1305 -
1306 -/** Tarandíne (Tarandíne)
1307 - * @author Joetaras
1308 - */
1309 -$messages['roa-tara'] = array(
1310 - 'ratinghistory' => "Storie de le pundegge d'a pàgene",
1311 - 'ratinghistory-leg' => 'Storie de le dete de le pundegge pe [[:$1|$1]]',
1312 - 'ratinghistory-tab' => 'pundegge',
1313 - 'ratinghistory-link' => "Pundegge d'a pàgene",
1314 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Grazie 'mbà ca è perse doje menute pe recondrollà sta pàgene!</font>''",
1315 - 'ratinghistory-period' => 'Periode de timbe:',
1316 - 'ratinghistory-month' => 'urteme mese',
1317 - 'ratinghistory-3months' => 'urteme 3 mise',
1318 - 'ratinghistory-year' => 'urteme anne',
1319 - 'ratinghistory-3years' => 'urteme ttre anne',
1320 - 'ratinghistory-ave' => 'Medie: $1',
1321 - 'ratinghistory-chart' => 'Pundegge de le lettore fore timbe massime',
1322 - 'ratinghistory-purge' => "pulizze 'a cache",
1323 - 'ratinghistory-table' => 'Riepileghe de le pundegge de le lettore',
1324 - 'ratinghistory-users' => "Utinde ca onne date 'nu pundegge",
1325 - 'ratinghistory-graph' => '$2 de "$3" ($1 {{PLURAL:$1|revisione|revisiune}})',
1326 - 'readerfeedback-svg' => 'Vide cumme a SVG',
1327 - 'ratinghistory-table-rating' => 'Pundegge',
1328 - 'ratinghistory-table-votes' => 'Vote',
1329 - 'ratinghistory-none' => "Non ge stonne abbastanza lettore ca onne lassete 'u feedback pe ccrejà 'nu grafeche jndr'à stu timbe.",
1330 - 'ratinghistory-legend' => "'U '''pundegge medie sciurnaliere''' <font color=\"blue\">''(blue)''</font> e
1331 -'u '''pundegge medie corrende''' <font color=\"green\">''(green)''</font> sonde disegnete aqquà sotte, pe date.
1332 -'U '''pundegge medie corrende''' jè semblicemende 'a medie de tutte le pundegge sciuraliere ''fine a'' osce.
1333 -
1334 -Schele: '''[1]''' - Povere; '''[2]''' - Vasce; '''[3]''' - Medie; '''[4]''' - Ierte; '''[5]''' - 'A uerre proprie;
1335 -
1336 -'Le '''numere de revisitaziune pe sciurne''' <font color=\"red\">''(red)''</font> sonde visualizzete sus a 'u grafeche aqquà sotte, sus a 'na ''1:\$1'' schele.",
1337 - 'right-feedback' => "Ause 'u form p'u feedback pe dà 'nu pundegge a 'na pàgene",
1338 -);
1339 -
1340 -/** Russian (Русский)
1341 - * @author Ferrer
1342 - * @author Putnik
1343 - * @author Sergey kudryavtsev
1344 - * @author Александр Сигачёв
1345 - */
1346 -$messages['ru'] = array(
1347 - 'ratinghistory' => 'История оценок страницы',
1348 - 'ratinghistory-leg' => 'Данные по истории оценок страницы [[:$1|$1]]',
1349 - 'ratinghistory-tab' => 'оценка',
1350 - 'ratinghistory-link' => 'Оценка страницы',
1351 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Спасибо, что нашли время оценить эту страницу!</font>''",
1352 - 'ratinghistory-period' => 'Период времени:',
1353 - 'ratinghistory-month' => 'последний месяц',
1354 - 'ratinghistory-3months' => 'последние 3 месяца',
1355 - 'ratinghistory-year' => 'последний год',
1356 - 'ratinghistory-3years' => 'последние 3 года',
1357 - 'ratinghistory-ave' => 'Средняя: $1',
1358 - 'ratinghistory-chart' => 'Оценки читателей за всё время',
1359 - 'ratinghistory-purge' => 'очистить кэш',
1360 - 'ratinghistory-table' => 'Обзор оценок читателей',
1361 - 'ratinghistory-users' => 'Участники, которые дали оценку',
1362 - 'ratinghistory-graph' => '$2 из «$3» ($1 {{PLURAL:$1|оценка|оценки|оценок}})',
1363 - 'readerfeedback-svg' => 'Просмотреть как SVG',
1364 - 'ratinghistory-table-rating' => 'Оценка',
1365 - 'ratinghistory-table-votes' => 'Голоса',
1366 - 'ratinghistory-none' => 'В настоящее время набралось недостаточное количество читательских оценок для построения графика.',
1367 - 'ratinghistory-legend' => "Ниже показаны '''среднесуточная оценка''' <font color=\"blue\">''(синий)''</font> и
1368 -'''текущая средняя оценка''' <font color=\"green\">''(зелёный)''</font>. '''Текущая средняя оценка''' — это среднее всех суточных оценок для данного промежутка времени каждого дня.
1369 -
1370 -Шкала: '''[1]''' — плохая; '''[2]''' — низкая; '''[3]''' — средняя; '''[4]''' — хорошая; '''[5]''' — отличная;
1371 -
1372 -'''Число проверок за день''' <font color=\"red\">''(красный)''</font> показано ниже в масштабе ''1:\$1''.",
1373 - 'right-feedback' => 'использование формы отзывов для оценки страниц',
1374 -);
1375 -
1376 -/** Slovak (Slovenčina)
1377 - * @author Helix84
1378 - */
1379 -$messages['sk'] = array(
1380 - 'ratinghistory' => 'História hodnotenia stránky',
1381 - 'ratinghistory-leg' => 'Údaje o hodnotení [[:$1|$1]] v čase',
1382 - 'ratinghistory-tab' => 'hodnotenie',
1383 - 'ratinghistory-link' => 'Hodnotenie stránky',
1384 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Ďakujeme, že ste si našli chvíľu na ohodnotenie tejto stránky!</font>''",
1385 - 'ratinghistory-period' => 'Časové obdobie:',
1386 - 'ratinghistory-month' => 'posledný mesiac',
1387 - 'ratinghistory-3months' => 'posledné 3 mesiace',
1388 - 'ratinghistory-year' => 'posledný rok',
1389 - 'ratinghistory-3years' => 'posledné 3 roky',
1390 - 'ratinghistory-ave' => 'Priem: $1',
1391 - 'ratinghistory-chart' => 'Hodnotenie čitateľov v čase',
1392 - 'ratinghistory-purge' => 'vyčistiť vyrovnávaciu pamäť',
1393 - 'ratinghistory-table' => 'Prehľad hodnotení čitateľmi',
1394 - 'ratinghistory-users' => 'Používatelia, ktorí ohodnotili stránku',
1395 - 'ratinghistory-graph' => '$2 článku „$3” ($1 {{PLURAL:$1|kontrola|kontroly|kontrol}})',
1396 - 'readerfeedback-svg' => 'Zobraziť ako SVG',
1397 - 'ratinghistory-table-rating' => 'Hodnotenie',
1398 - 'ratinghistory-table-votes' => 'Hlasy',
1399 - 'ratinghistory-none' => 'Momentálne nie je dostupný dostatok údajov o spätnej väzbe používateľov nato, aby bolo možné vytvoriť grafy.',
1400 - 'ratinghistory-legend' => "Dolu je podľa dátumu zobrazené '''denné priemerné hodnotenie''' <font color=\"blue\">''(modrou)''</font> a '''priemer vybraného intervalu''' <font color=\"green\">''(zelenou)''</font>. '''Priemer vybraného intervalu''' je jednoducho priemer denných hodnotení ''v rámci'' tohto časového intervalu za každý deň. Hodnoty hodnotenia sa interpretujú nasledovne:
1401 -
1402 -Mierka: '''[1]''' - Slabé; '''[2]''' - Nízke; '''[3]''' - Dobré; '''[4]''' - Vysoké; '''[5]''' - Výborné;
1403 -
1404 -Na grafe dolu je zobrazený '''počet kontrol za deň''' <font color=\"red\">''(červenou)''</font> v mierke ''1:\$1''.",
1405 - 'right-feedback' => 'Stránku ohodnotíte pomocou formulára spätnej väzby',
1406 -);
1407 -
1408 -/** Albanian (Shqip)
1409 - * @author Puntori
1410 - */
1411 -$messages['sq'] = array(
1412 - 'ratinghistory-tab' => 'vlerësimi',
1413 - 'ratinghistory-link' => 'Vlerësimi i faqes',
1414 - 'ratinghistory-month' => 'muajin e fundit',
1415 - 'ratinghistory-3months' => '3 muajt e fundit',
1416 - 'ratinghistory-year' => 'vitin e fundit',
1417 - 'ratinghistory-3years' => '3 vitet e fundit',
1418 - 'ratinghistory-table-rating' => 'Vlerësimi',
1419 - 'ratinghistory-table-votes' => 'Votat',
1420 -);
1421 -
1422 -/** Serbian Cyrillic ekavian (ћирилица)
1423 - * @author Millosh
1424 - * @author Михајло Анђелковић
1425 - */
1426 -$messages['sr-ec'] = array(
1427 - 'ratinghistory' => 'Историја оцена стране.',
1428 - 'ratinghistory-leg' => 'Историја оцењивања за [[:$1|$1]]',
1429 - 'ratinghistory-tab' => 'оцена',
1430 - 'ratinghistory-period' => 'Раздобље:',
1431 - 'ratinghistory-month' => 'последњи месец',
1432 - 'ratinghistory-3months' => 'последња 3 месеца',
1433 - 'ratinghistory-year' => 'последња година',
1434 - 'ratinghistory-3years' => 'последње три године',
1435 - 'ratinghistory-ave' => 'Средње: $1',
1436 - 'ratinghistory-purge' => 'очисти кеш',
1437 - 'readerfeedback-svg' => 'Види као SVG',
1438 - 'ratinghistory-table-votes' => 'Гласови',
1439 - 'ratinghistory-none' => 'Још увек нема довољно мишљења читалаца да би се формирали графикони.',
1440 -);
1441 -
1442 -/** Swedish (Svenska)
1443 - * @author Boivie
1444 - * @author M.M.S.
1445 - * @author Najami
1446 - */
1447 -$messages['sv'] = array(
1448 - 'ratinghistory' => 'Sidans betygshistorik',
1449 - 'ratinghistory-leg' => 'Betygshistorikdata för [[:$1|$1]]',
1450 - 'ratinghistory-tab' => 'betyg',
1451 - 'ratinghistory-link' => 'Sidrating',
1452 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Tack för att du tog dig tid att granska den här sidan!</font>''",
1453 - 'ratinghistory-period' => 'Tidsperiod:',
1454 - 'ratinghistory-month' => 'senaste månaden',
1455 - 'ratinghistory-3months' => 'senaste 3 månader',
1456 - 'ratinghistory-year' => 'senaste året',
1457 - 'ratinghistory-3years' => 'senaste 3 åren',
1458 - 'ratinghistory-ave' => 'Snitt: $1',
1459 - 'ratinghistory-chart' => 'Läsarbetyg över tiden',
1460 - 'ratinghistory-purge' => 'uppdatera cache',
1461 - 'ratinghistory-table' => 'Översyn av läsarbetyg',
1462 - 'ratinghistory-users' => 'Användare som gav betyg',
1463 - 'ratinghistory-graph' => '$2 av "$3" ($1 {{PLURAL:$1|granskning|granskningar}})',
1464 - 'readerfeedback-svg' => 'Visa som SVG',
1465 - 'ratinghistory-table-rating' => 'Betyg',
1466 - 'ratinghistory-table-votes' => 'Röster',
1467 - 'ratinghistory-none' => 'Det finns för närvarande inte tillräckligt med feedbackdata tillgängligt från läsarna för grafer.',
1468 - 'ratinghistory-legend' => "'''Dagliga genomsnittsbetyget''' <font color=\"blue\">''(blå)''</font> och '''löpande genomsnittsbetyg''' <font color=\"green\">''(grön)''</font> visas i grafform nedan, efter datum.
1469 -Det '''löpande genomsnittsbetyget''' är helt enkelt genomsnittet av alla dagliga betyg ''inom'' denna tidsperiod för varje dag.
1470 -
1471 -Skala: '''[1]''' - Mycket dålig; '''[2]''' - Dålig; '''[3]''' - Okej; '''[4]''' - Bra; '''[5]''' - Mycket bra;
1472 -
1473 -'''Antalet granskningar per dag''' <font color=\"red\">''(röd)''</font> visas på grafen nedan, med skalan ''1:\$1''.",
1474 - 'right-feedback' => 'Använd feedback-formuläret för att betygsätta en sida',
1475 -);
1476 -
1477 -/** Telugu (తెలుగు)
1478 - * @author Veeven
1479 - */
1480 -$messages['te'] = array(
1481 - 'ratinghistory' => 'పేజీ రేటింగు చరిత్ర',
1482 - 'ratinghistory-month' => 'గత నెల',
1483 - 'ratinghistory-3months' => 'గత 3 నెలలు',
1484 - 'ratinghistory-year' => 'గత సంవత్సరం',
1485 - 'ratinghistory-3years' => 'గత 3 సంవత్సరాలు',
1486 - 'ratinghistory-ave' => 'సగటు: $1',
1487 -);
1488 -
1489 -/** Tagalog (Tagalog)
1490 - * @author AnakngAraw
1491 - */
1492 -$messages['tl'] = array(
1493 - 'ratinghistory' => 'Kasaysayan ng pagaantas/pagraranggo ng pahina',
1494 - 'ratinghistory-leg' => 'Dato ng pagbibigay ng antas (ranggo) para sa [[:$1|$1]]',
1495 - 'ratinghistory-tab' => 'halagang pangkaantasan (ranggo)',
1496 - 'ratinghistory-link' => 'Halagang pangkaantasan (ranggo) ng pahina',
1497 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Salamat sa pagbibigay mo ng panahon upang suriing muli ang pahinang ito!</font>''",
1498 - 'ratinghistory-period' => 'Saklaw na panahon:',
1499 - 'ratinghistory-month' => 'nakaraang buwan',
1500 - 'ratinghistory-3months' => 'huling 3 mga buwan',
1501 - 'ratinghistory-year' => 'nakaraang taon',
1502 - 'ratinghistory-3years' => 'huling 3 mga taon',
1503 - 'ratinghistory-ave' => 'Karaniwan: $1',
1504 - 'ratinghistory-chart' => 'Mga pagaantas ng mambabasa sa paglipas ng panahon',
1505 - 'ratinghistory-purge' => 'dalisayin ang nakakubling taguan',
1506 - 'ratinghistory-table' => 'Paglalarawan ng mga kaantasang bigay ng mambabasa',
1507 - 'ratinghistory-users' => 'Mga tagagamit na nagbigay ng pagaantas',
1508 - 'ratinghistory-graph' => '$2 ng "$3" ($1 {{PLURAL:$1|pagsusuri|mga pagsusuri}})',
1509 - 'readerfeedback-svg' => 'Tingnan bilang SVG',
1510 - 'ratinghistory-table-rating' => 'Kaantasan',
1511 - 'ratinghistory-table-votes' => 'Mga boto',
1512 - 'ratinghistory-none' => 'Sa ngayon, walang makukuhang sapat na datong pambalik-pahayag para sa mga talangguhit (grap) mula sa mambabasa.',
1513 - 'ratinghistory-legend' => "Ang '''pangaraw-araw na pangkaraniwang kaantasan''' <font color=\"blue\">''(bughaw)''</font> at
1514 -'''tumatakbong pangkaraniwang kaantasan''' <font color=\"green\">''(lunti)''</font> ay nakatalangguhit sa ibaba, ayon sa petsa. Ang
1515 -'''tumatakbong pangkaraniwang kaantasan''' ay payak na pinagsamasamang pangkaraniwang halaga ng lahat ng mga pangaraw-araw na kaantasang ''nasa loob'' ng saklaw ng kapanahunang ito para sa bawat araw.
1516 -
1517 -Sukat: '''[1]''' - Walang kuwenta; '''[2]''' - Mababa; '''[3]''' - Patas; '''[4]''' - Mataas; '''[5]''' - Mahusay;
1518 -
1519 -Ang '''bilang ng mga pagsusuri sa bawat araw''' <font color=\"red\">''(pula)''</font> ay ipinapakita sa mga talangguhit sa ibaba, sa isang sukat na ''1:\$1''.",
1520 - 'right-feedback' => "Gamitin ang pormularyong pangpagbibigay ng balik-pahayag (''feedback'') upang mabigyan ng kaantasan/halaga ang isang pahina",
1521 -);
1522 -
1523 -/** Turkish (Türkçe)
1524 - * @author Joseph
1525 - */
1526 -$messages['tr'] = array(
1527 - 'ratinghistory' => 'Sayfa derecelendirme geçmişi',
1528 - 'ratinghistory-leg' => '[[:$1|$1]] için derecelendirme geçmişi verisi',
1529 - 'ratinghistory-tab' => 'derecelendirme',
1530 - 'ratinghistory-link' => 'Sayfa derecelendirmesi',
1531 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Bu sayfayı gözden geçirmek için zamanınızı ayırdığınız için teşekkürler!</font>''",
1532 - 'ratinghistory-period' => 'Zaman süreci:',
1533 - 'ratinghistory-month' => 'son ay',
1534 - 'ratinghistory-3months' => 'son 3 ay',
1535 - 'ratinghistory-year' => 'son yıl',
1536 - 'ratinghistory-3years' => 'son 3 yıl',
1537 - 'ratinghistory-ave' => 'Ort: $1',
1538 - 'ratinghistory-chart' => 'Zaman içindeki kullanıcı değerlendirmesi',
1539 - 'ratinghistory-purge' => 'önbelleği boşalt',
1540 - 'ratinghistory-table' => 'Kullanıcı değerlendirmelerine genel bakış',
1541 - 'ratinghistory-users' => 'Derecelendirme veren kullanıcılar',
1542 - 'ratinghistory-graph' => '"$3" de $2 ($1 {{PLURAL:$1|gözden geçirme|gözden geçirme}})',
1543 - 'readerfeedback-svg' => 'SVG olarak görüntüle',
1544 - 'ratinghistory-table-rating' => 'Derecelendirme',
1545 - 'ratinghistory-table-votes' => 'Oylar',
1546 - 'ratinghistory-none' => 'Grafikler için şuanda yeterince okuyucu dönüt verisi yok.',
1547 - 'ratinghistory-legend' => "'''Günlük ortalama derecelendirme''' <font color=\"blue\">''(mavi)''</font> ve
1548 -'''Çalışma ortalama derecelendirme''' <font color=\"green\">''(yeşil)''</font> aşağıda tarihe göre çizildi.
1549 -'''Çalışma ortalama derecelendirme''', herbir gün için bu zaman dilimi ''içinde'' günlük derecelendirmelerinin ortalamasıdır.
1550 -
1551 -Ölçek: '''[1]''' - Zayıf; '''[2]''' - Düşük; '''[3]''' - Adil; '''[4]''' - Yüksek; '''[5]''' - Mükemmel;
1552 -
1553 -'''Günlük gözden geçirme sayısı''' <font color=\"red\">''(kırmızı)''</font> aşağıdaki grafiklerde gösterilmektedir, ''1:\$1'' ölçeği ile.",
1554 - 'right-feedback' => 'Bir sayfayı derecelendirmek için dönüt formunu kullanın',
1555 -);
1556 -
1557 -/** Ukrainian (Українська)
1558 - * @author Ahonc
1559 - */
1560 -$messages['uk'] = array(
1561 - 'ratinghistory' => 'Історія оцінювання сторінки',
1562 - 'ratinghistory-leg' => 'Дані про рейтинг сторінки для [[:$1|$1]]',
1563 - 'ratinghistory-tab' => 'рейтинг',
1564 - 'ratinghistory-link' => 'Рейтинг сторінки',
1565 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Дякуємо, що знайшли хвилинку щоб перевірити цю сторінку!</font>''",
1566 - 'ratinghistory-period' => 'Період часу:',
1567 - 'ratinghistory-month' => 'останній місяць',
1568 - 'ratinghistory-3months' => 'останні 3 місяці',
1569 - 'ratinghistory-year' => 'останній рік',
1570 - 'ratinghistory-3years' => 'останні 3 роки',
1571 - 'ratinghistory-ave' => 'Сер: $1',
1572 - 'ratinghistory-chart' => 'Оцінки читачів за весь час',
1573 - 'ratinghistory-purge' => 'очистити кеш',
1574 - 'ratinghistory-table' => 'Огляд оцінок читачів',
1575 - 'ratinghistory-users' => 'Оцінювачі',
1576 - 'ratinghistory-graph' => '$2 з "$3" ($1 {{PLURAL:$1|перегляд|перегляди|переглядів}})',
1577 - 'readerfeedback-svg' => 'Переглянути як SVG',
1578 - 'ratinghistory-table-rating' => 'Рейтинг',
1579 - 'ratinghistory-table-votes' => 'Голоси',
1580 - 'ratinghistory-none' => "Недостатньо даних зворотного зв'язку читачів для графіків на цей час.",
1581 - 'ratinghistory-legend' => "'''Середній рейтинг за добу''' <font color=\"blue\">''(синій)''</font> і
1582 -'''середній рейтинг за період''' <font color=\"green\">''(зелений)''</font> показані нижче за датою.
1583 -'''Середній рейтинг за період''' — середнє значення всіх добових рейтингів ''за'' період для кожного дня.
1584 -
1585 -Шкала якості: '''[1]''' - Погана; '''[2]''' - Низька; '''[3]''' — Середня; '''[4]''' — Висока; '''[5]''' — Відмінна;
1586 -
1587 -'''Кількість перевірок за добу''' <font color=\"red\">''(червоний)''</font> показана нижче, у масштабі ''1:\$1''.",
1588 - 'right-feedback' => "використання форми зворотного зв'язку для оцінювання сторінки",
1589 -);
1590 -
1591 -/** Veps (Vepsan kel')
1592 - * @author Игорь Бродский
1593 - */
1594 -$messages['vep'] = array(
1595 - 'ratinghistory' => 'Lehtpolen arvostelendoiden aigkirj',
1596 - 'ratinghistory-leg' => '[[:$1|$1]]-lehtpolen arvostelendistorijan andmused',
1597 - 'ratinghistory-tab' => 'arvoind',
1598 - 'ratinghistory-link' => 'Lehtpolen arvoind',
1599 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Kitäm, miše tö olet löudnu aigad necidä lehtpol't arvosteldes!</font>''",
1600 - 'ratinghistory-period' => 'Aigan pord:',
1601 - 'ratinghistory-month' => "jäl'gmäine ku",
1602 - 'ratinghistory-3months' => "3 jäl'gmäšt kud",
1603 - 'ratinghistory-year' => "jäl'gmäine voz'",
1604 - 'ratinghistory-3years' => "3 jäl'gmäšt vot",
1605 - 'ratinghistory-ave' => 'Keskmäine: $1',
1606 - 'ratinghistory-chart' => 'Lugijan arvsanad kaikes aigas',
1607 - 'ratinghistory-purge' => 'puhtastadud keš',
1608 - 'ratinghistory-table' => 'Lugijoiden arvoindoiden ümbrikacund',
1609 - 'ratinghistory-users' => 'Arvoinuded kävutajad',
1610 - 'ratinghistory-graph' => '$2 ühthižes luguspäi «$3» ($1 {{PLURAL:$1|arvsana|arvsanad}})',
1611 - 'readerfeedback-svg' => 'Kacta kut SVG',
1612 - 'ratinghistory-table-rating' => 'Arvoind',
1613 - 'ratinghistory-table-votes' => 'Äned',
1614 - 'ratinghistory-none' => 'Ei ulotu lugijoiden arvsanoid grafikan tehtes.',
1615 - 'ratinghistory-legend' => "Alemba oma ozutadud '''päivesenkeskmäine arvsana''' <font color=\"blue\">''(sinine)''</font> da '''nügüdläine keskmäine arvsana''' <font color=\"green\">''(vihand)''</font>.
1616 -'''Nügüdläižeks keskmäižeks arvsanaks''' kuctas päivesen arvsanoiden keskmäine lugu, kudamban lugedas kaikuččen päivän märitud pordas aigad.
1617 -
1618 -Pordhišt: '''[1]''' — hond; '''[2]''' — madal; '''[3]''' — keskmäine; '''[4]''' — hüvä; '''[5]''' — lujas hüvä;
1619 -
1620 -'''Kodvindoiden lugu päiväs''' <font color=\"red\">''(rusked)''</font> om ozutadud masštabas ''1:\$1''.",
1621 - 'right-feedback' => 'Kävutagat arvostelendform lehtpoliden arvosteldes',
1622 -);
1623 -
1624 -/** Vietnamese (Tiếng Việt)
1625 - * @author Minh Nguyen
1626 - * @author Vinhtantran
1627 - */
1628 -$messages['vi'] = array(
1629 - 'ratinghistory' => 'Lịch sử đánh giá trang',
1630 - 'ratinghistory-leg' => 'Dữ liệu lịch sử đánh giá của [[:$1|$1]]',
1631 - 'ratinghistory-tab' => 'đánh giá',
1632 - 'ratinghistory-link' => 'Đánh giá của trang',
1633 - 'ratinghistory-thanks' => "''<font color=\"darkred\">Cám ơn đã để dành một chút thời gian để duyệt trang này!</font>''",
1634 - 'ratinghistory-period' => 'Thời gian:',
1635 - 'ratinghistory-month' => 'tháng trước',
1636 - 'ratinghistory-3months' => '3 tháng qua',
1637 - 'ratinghistory-year' => 'năm ngoái',
1638 - 'ratinghistory-3years' => 'ba năm trước',
1639 - 'ratinghistory-ave' => 'Trung bình: $1',
1640 - 'ratinghistory-chart' => 'Đánh giá của độc giả qua thời gian',
1641 - 'ratinghistory-purge' => 'tẩy sạch vùng nhớ đệm',
1642 - 'ratinghistory-table' => 'Tóm tắt đánh giá của độc giả',
1643 - 'ratinghistory-users' => 'Các thành viên đánh giá:',
1644 - 'ratinghistory-graph' => '$2 của bài “$3” (theo $1 {{PLURAL:$1|độc giả|độc giả}})',
1645 - 'readerfeedback-svg' => 'Xem bản SVG',
1646 - 'ratinghistory-table-rating' => 'Đánh giá',
1647 - 'ratinghistory-table-votes' => 'Số phiếu',
1648 - 'ratinghistory-none' => 'Hiện chưa có đủ dữ liệu đánh giá của độc giả để vẽ biểu thị.',
1649 - 'ratinghistory-legend' => "Những biểu thị ở dưới trình bày '''đánh giá trung bình hàng ngày''' <font color=\"blue\">''(lam)''</font> và '''đánh giá trung bình đương thời''' <font color=\"green\">''(lục)''</font>, theo thời gian. '''Đánh giá trung bình đương thời''' chỉ là trung bình các đánh giá hàng ngày ''tại giai đoạn này'' vào mỗi ngày.
1650 -
1651 -Giải thích các giá trị: '''[1]''' – Tệ; '''[2]''' – Dở; '''[3]''' – Khá; '''[4]''' – Hay; '''[5]''' – Tuyệt
1652 -
1653 -Những biểu thị cũng trình bày '''số lần đánh giá trong ngày''' <font color=\"red\">''(đỏ)''</font> với tỷ lệ ''1:\$1''.",
1654 - 'right-feedback' => 'Đánh giá trang',
1655 -);
1656 -
1657 -/** Simplified Chinese (‪中文(简体)‬)
1658 - * @author Gaoxuewei
1659 - * @author Gzdavidwong
1660 - */
1661 -$messages['zh-hans'] = array(
1662 - 'ratinghistory-tab' => '评分',
1663 - 'ratinghistory-link' => '页面评分',
1664 - 'ratinghistory-period' => '时间段:',
1665 - 'ratinghistory-month' => '上月',
1666 - 'ratinghistory-3months' => '过去3个月',
1667 - 'ratinghistory-year' => '去年',
1668 - 'ratinghistory-3years' => '过去3年',
1669 - 'ratinghistory-users' => '给出评价的用户',
1670 - 'readerfeedback-svg' => '作为SVG浏览',
1671 -);
1672 -
1673 -/** Traditional Chinese (‪中文(繁體)‬)
1674 - * @author Wrightbus
1675 - */
1676 -$messages['zh-hant'] = array(
1677 - 'ratinghistory-tab' => '評分',
1678 - 'ratinghistory-link' => '頁面評分',
1679 - 'readerfeedback-svg' => '以SVG檢視',
1680 -);
1681 -
Index: trunk/extensions/FlaggedRevs/language/LikedPages.i18n.php
@@ -1,500 +0,0 @@
2 -<?php
3 -/**
4 - * Internationalisation file for FlaggedRevs extension, section likedpages
5 - *
6 - * @addtogroup Extensions
7 - */
8 -
9 -$messages = array();
10 -
11 -$messages['en'] = array(
12 - 'likedpages' => 'Highly rated pages',
13 - 'likedpages-leg' => 'Find high-rated pages',
14 - 'likedpages-list' => 'Below is a list of pages sorted by their reader feedback rating.',
15 - 'likedpages-none' => 'There are no pages in this list',
16 - 'likedpages-graphs' => 'rating data',
17 -);
18 -
19 -/** Message documentation (Message documentation)
20 - * @author Pietrodn
21 - */
22 -$messages['qqq'] = array(
23 - 'likedpages-list' => '{{identical|flaggedrevs-pagelist}}',
24 - 'likedpages-graphs' => '{{identical|flaggedrevs-graphs}}',
25 -);
26 -
27 -/** Arabic (العربية)
28 - * @author Meno25
29 - */
30 -$messages['ar'] = array(
31 - 'likedpages' => 'صفحات تقييمها مرتفع',
32 - 'likedpages-leg' => 'إيجاد الصفحات ذات التقييم المرتفع',
33 - 'likedpages-list' => 'بالأسفل قائمة بالصفحات مرتبة حسب تقييم القراء.',
34 - 'likedpages-none' => 'لا توجد صفحات في هذه القائمة',
35 - 'likedpages-graphs' => 'بيانات التقييم',
36 -);
37 -
38 -/** Egyptian Spoken Arabic (مصرى)
39 - * @author Meno25
40 - */
41 -$messages['arz'] = array(
42 - 'likedpages' => 'صفحات تقييمها مرتفع',
43 - 'likedpages-leg' => 'إيجاد الصفحات ذات التقييم المرتفع',
44 - 'likedpages-list' => 'بالأسفل قائمة بالصفحات مرتبة حسب تقييم القراء.',
45 - 'likedpages-none' => 'لا توجد صفحات فى هذه القائمة',
46 - 'likedpages-graphs' => 'بيانات التقييم',
47 -);
48 -
49 -/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
50 - * @author EugeneZelenko
51 - * @author Jim-by
52 - */
53 -$messages['be-tarask'] = array(
54 - 'likedpages' => 'Высока адзначаныя старонкі',
55 - 'likedpages-leg' => 'Пошук высока адзначаных старонак',
56 - 'likedpages-list' => 'Ніжэй пададзены сьпіс старонак, адсартаваных па іх адзнацы чытачамі.',
57 - 'likedpages-none' => 'У гэтым сьпісе няма старонак',
58 - 'likedpages-graphs' => 'зьвесткі пра адзнаку',
59 -);
60 -
61 -/** Bulgarian (Български)
62 - * @author DCLXVI
63 - */
64 -$messages['bg'] = array(
65 - 'likedpages-none' => 'Този списък не съдържа страници',
66 -);
67 -
68 -/** Bosnian (Bosanski)
69 - * @author CERminator
70 - */
71 -$messages['bs'] = array(
72 - 'likedpages' => 'Visoko ocijenjene stranice',
73 - 'likedpages-none' => 'Nema stranica na ovom spisku',
74 -);
75 -
76 -/** German (Deutsch)
77 - * @author Umherirrender
78 - */
79 -$messages['de'] = array(
80 - 'likedpages' => 'Hoch bewertete Seiten',
81 - 'likedpages-leg' => 'Hoch bewertete Seiten suchen',
82 - 'likedpages-list' => 'Es folgt eine Liste von Seiten, sortiert nach der Leserbewertung.',
83 - 'likedpages-none' => 'Diese Liste enthält keine Einträge.',
84 - 'likedpages-graphs' => 'Bewertungsdaten',
85 -);
86 -
87 -/** Lower Sorbian (Dolnoserbski)
88 - * @author Michawiki
89 - */
90 -$messages['dsb'] = array(
91 - 'likedpages' => 'Wusoko pógódnośone boki',
92 - 'likedpages-leg' => 'Wusoko pógódnośone boki pytaś',
93 - 'likedpages-list' => 'Slědujo lisćina bokow, sortěrowanych po jich pógódnośenju wót cytarjow.',
94 - 'likedpages-none' => 'Toś ta lisćina njewopśimujo boki.',
95 - 'likedpages-graphs' => 'Daty pógódnośenja',
96 -);
97 -
98 -/** Esperanto (Esperanto)
99 - * @author Yekrats
100 - */
101 -$messages['eo'] = array(
102 - 'likedpages' => 'Alte taksitaj paĝoj',
103 - 'likedpages-leg' => 'Trovi alte rangitajn paĝojn',
104 - 'likedpages-list' => 'Jen listo de paĝoj rangitaj de la kontrolado de ties legantoj.',
105 - 'likedpages-none' => 'Estas neniuj paĝoj en ĉi tiu listo',
106 - 'likedpages-graphs' => 'taksaj datenoj',
107 -);
108 -
109 -/** Spanish (Español)
110 - * @author Crazymadlover
111 - * @author Sanbec
112 - */
113 -$messages['es'] = array(
114 - 'likedpages' => 'Páginas altamente valoradas',
115 - 'likedpages-leg' => 'Encontrar páginas altamente valoradas',
116 - 'likedpages-list' => 'Lo de abajo es una lista de páginas ordenadas por su valoración de retroalimentación de lector.',
117 - 'likedpages-none' => 'No hay páginas en esta lista',
118 - 'likedpages-graphs' => 'datos de valoración',
119 -);
120 -
121 -/** Basque (Euskara)
122 - * @author Theklan
123 - */
124 -$messages['eu'] = array(
125 - 'likedpages' => 'Balorazio oso ona duten orrialdeak',
126 - 'likedpages-leg' => 'Bilatu balorazio oso oneko orrialdeak',
127 - 'likedpages-list' => 'Azpian irakurtzailearen feedbak balorazioaren arabera ordenatutako orrialdeen zerrend abat dago.',
128 - 'likedpages-none' => 'Ez dago orrialderik zerrenda honetan',
129 - 'likedpages-graphs' => 'balorazio data',
130 -);
131 -
132 -/** Persian (فارسی)
133 - * @author Huji
134 - */
135 -$messages['fa'] = array(
136 - 'likedpages' => 'صفحه‌های با بالاترین نمره',
137 - 'likedpages-leg' => 'پیدا کردن صفحه‌های با نمرهٔ بالا',
138 - 'likedpages-list' => 'در زیر فهرستی از صفحه‌ها که طبق نمره خوانندگان آن‌ها مرتب شده‌است قرار دارد.',
139 - 'likedpages-none' => 'صفحه‌ای در این فهرست وجود ندارد',
140 - 'likedpages-graphs' => 'داده‌های ارزیابی',
141 -);
142 -
143 -/** Finnish (Suomi)
144 - * @author Cimon Avaro
145 - */
146 -$messages['fi'] = array(
147 - 'likedpages' => 'Parasta laatua lukijoiden mielestä tarjoavat sivut',
148 - 'likedpages-leg' => 'Etsi parasta laatua sisältävät sivut',
149 - 'likedpages-list' => 'Alla on luettelo sivuista lukijapalaute-arviointinsa mukaan lajiteltuna.',
150 - 'likedpages-none' => 'Tällä listalla ei ole sivuja',
151 -);
152 -
153 -/** French (Français)
154 - * @author Grondin
155 - * @author PieRRoMaN
156 - */
157 -$messages['fr'] = array(
158 - 'likedpages' => 'Pages ayant des évaluations élevées',
159 - 'likedpages-leg' => 'Chercher les pages ayant des évaluations élevées',
160 - 'likedpages-list' => 'Voici une liste des pages triées suivant leur évaluation par les lecteurs.',
161 - 'likedpages-none' => 'Il n’existe aucune page dans cette liste',
162 - 'likedpages-graphs' => "Données d'évaluation",
163 -);
164 -
165 -/** Franco-Provençal (Arpetan)
166 - * @author ChrisPtDe
167 - */
168 -$messages['frp'] = array(
169 - 'likedpages' => 'Pâges qu’ont des èstimacions hôtes.',
170 - 'likedpages-leg' => 'Trovar les pâges qu’ont des èstimacions hôtes',
171 - 'likedpages-list' => 'Vê-que una lista de les pâges triyês d’aprés lor èstimacion per los liésors.',
172 - 'likedpages-none' => 'Y at gins de pâge dens ceta lista.',
173 - 'likedpages-graphs' => 'balyês d’èstimacion',
174 -);
175 -
176 -/** Galician (Galego)
177 - * @author Toliño
178 - */
179 -$messages['gl'] = array(
180 - 'likedpages' => 'Páxinas moi valoradas',
181 - 'likedpages-leg' => 'Atopar as páxinas moi valoradas',
182 - 'likedpages-list' => 'Embaixo hai unha lista coas páxinas ordenadas pola valoración dos seus lectores.',
183 - 'likedpages-none' => 'Non hai ningunha páxina nesta lista',
184 - 'likedpages-graphs' => 'datos das valoracións',
185 -);
186 -
187 -/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
188 - * @author Omnipaedista
189 - */
190 -$messages['grc'] = array(
191 - 'likedpages-graphs' => 'δεδομένα βαθμώσεως',
192 -);
193 -
194 -/** Swiss German (Alemannisch)
195 - * @author Als-Holder
196 - */
197 -$messages['gsw'] = array(
198 - 'likedpages' => 'Hoch gwärteti Syte',
199 - 'likedpages-leg' => 'Suech noch hoch gwärtete Syte',
200 - 'likedpages-list' => 'Do chunnt e Lischt vu Syte, wu sortiert sin noch dr Läserwärtig.',
201 - 'likedpages-none' => 'In däre Lischt het s kei Yyträg.',
202 - 'likedpages-graphs' => 'Wärtigsdate',
203 -);
204 -
205 -/** Hebrew (עברית)
206 - * @author DoviJ
207 - * @author Rotemliss
208 - */
209 -$messages['he'] = array(
210 - 'likedpages' => 'דפים בעלי דירוג גבוה',
211 - 'likedpages-leg' => 'מציאת דפים בדירוג גבוה',
212 - 'likedpages-list' => 'להלן רשימת דפים, ממוינים לפי דירוג הקוראים שלהם.',
213 - 'likedpages-none' => 'אין דפים ברשימה זו',
214 - 'likedpages-graphs' => 'מידע הדירוג',
215 -);
216 -
217 -/** Upper Sorbian (Hornjoserbsce)
218 - * @author Michawiki
219 - */
220 -$messages['hsb'] = array(
221 - 'likedpages' => 'Wysoko pohódnoćene strony',
222 - 'likedpages-leg' => 'Wysoko pohódnoćene strony namakać',
223 - 'likedpages-list' => 'Slěduje lisćina strony sortěrowanych po pohódnoćenju wot čitarjow.',
224 - 'likedpages-none' => 'W tutej lisćinju strony njejsu.',
225 - 'likedpages-graphs' => 'Daty pohódnoćenja',
226 -);
227 -
228 -/** Hungarian (Magyar)
229 - * @author Dani
230 - */
231 -$messages['hu'] = array(
232 - 'likedpages' => 'Jónak ítélt lapok',
233 - 'likedpages-leg' => 'Magas értékelésű lapok keresése',
234 - 'likedpages-list' => 'Alább a lapok olvasói értékelés szerint sorba tett listája látható.',
235 - 'likedpages-none' => 'Nem található egyetlen lap sem a listában.',
236 - 'likedpages-graphs' => 'értékelési adatok',
237 -);
238 -
239 -/** Interlingua (Interlingua)
240 - * @author McDutchie
241 - */
242 -$messages['ia'] = array(
243 - 'likedpages' => 'Paginas con evalutation alte',
244 - 'likedpages-leg' => 'Cercar paginas con evalutation alte',
245 - 'likedpages-list' => 'Infra es un lista de paginas ordinate per evalutation del lectores.',
246 - 'likedpages-none' => 'Il non ha paginas in iste lista',
247 - 'likedpages-graphs' => 'datas de evalutation',
248 -);
249 -
250 -/** Indonesian (Bahasa Indonesia)
251 - * @author Rex
252 - */
253 -$messages['id'] = array(
254 - 'likedpages' => 'Halaman dengan peringkat tinggi',
255 - 'likedpages-leg' => 'Cari halaman dengan peringkat tinggi',
256 - 'likedpages-list' => 'Berikut adalah daftar halaman yang diurutkan menurut peringkat yang diberikan pembacanya.',
257 - 'likedpages-none' => 'Tidak ada halaman dalam daftar ini.',
258 - 'likedpages-graphs' => 'data pemeringkatan',
259 -);
260 -
261 -/** Italian (Italiano)
262 - * @author Pietrodn
263 - */
264 -$messages['it'] = array(
265 - 'likedpages' => 'Pagine più gettonate',
266 - 'likedpages-leg' => 'Trova le pagine più gettonate',
267 - 'likedpages-list' => 'Di seguito è riportato un elenco di pagine ordinate per il loro feedback da parte dei lettori.',
268 - 'likedpages-none' => 'Non ci sono pagine in questo elenco',
269 - 'likedpages-graphs' => 'dati delle valutazioni',
270 -);
271 -
272 -/** Japanese (日本語)
273 - * @author Fryed-peach
274 - */
275 -$messages['ja'] = array(
276 - 'likedpages' => '評価の高いページ',
277 - 'likedpages-leg' => '評価の高いページを見つける',
278 - 'likedpages-list' => '以下ではページを読者による評価の順に整列して一覧します。',
279 - 'likedpages-none' => '表示すべきページはありません',
280 - 'likedpages-graphs' => '評価データ',
281 -);
282 -
283 -/** Korean (한국어)
284 - * @author Kwj2772
285 - */
286 -$messages['ko'] = array(
287 - 'likedpages' => '높게 평가된 문서',
288 - 'likedpages-leg' => '높게 평가된 문서 찾기',
289 - 'likedpages-list' => '다음은 독자의 평가에 따라 정렬된 문서의 목록입니다.',
290 - 'likedpages-none' => '이 목록에 문서가 없습니다.',
291 - 'likedpages-graphs' => '평가 데이터',
292 -);
293 -
294 -/** Ripoarisch (Ripoarisch)
295 - * @author Purodha
296 - */
297 -$messages['ksh'] = array(
298 - 'likedpages' => 'Als reschtesch joot enjeshtoofte Sigge',
299 - 'likedpages-leg' => 'Als reschtesch joot enjeshtoofte Sigge fenge',
300 - 'likedpages-list' => 'Hee küt en Leß met Sigge. Se es donoh zotteet, wi joot de Lesser se enjeshtoof han.',
301 - 'likedpages-none' => 'En dä Leß sin kein Sigge.',
302 - 'likedpages-graphs' => 'Date vum Enshtoofe',
303 -);
304 -
305 -/** Luxembourgish (Lëtzebuergesch)
306 - * @author Robby
307 - */
308 -$messages['lb'] = array(
309 - 'likedpages' => 'Héich bewerte Säiten',
310 - 'likedpages-leg' => 'Héich-bewerte Säite fannen',
311 - 'likedpages-list' => 'Hei ass eng Lëscht vu Säiten déi no der Bewertung vun de Lieser klasséiert sinn.',
312 - 'likedpages-none' => 'Et gëtt keng Säiten op dëser Lëscht',
313 - 'likedpages-graphs' => 'Bewertungsdonnéeën',
314 -);
315 -
316 -/** Dutch (Nederlands)
317 - * @author Siebrand
318 - */
319 -$messages['nl'] = array(
320 - 'likedpages' => "Hoog gewaardeerde pagina's",
321 - 'likedpages-leg' => "Hoog gewaardeerde pagina's zoeken",
322 - 'likedpages-list' => "Hier staan pagina's gesorteerd naar de waardering die lezers hebben gegeven.",
323 - 'likedpages-none' => "Er zijn geen pagina's weer te geven",
324 - 'likedpages-graphs' => 'waarderingsgegevens',
325 -);
326 -
327 -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
328 - * @author Harald Khan
329 - */
330 -$messages['nn'] = array(
331 - 'likedpages' => 'Sider vurderte som gode',
332 - 'likedpages-leg' => 'Finn sider vurderte som gode',
333 - 'likedpages-list' => 'Nedanfor er ei lista over sider sorterte etter lesarane sine vurderingar av dei.',
334 - 'likedpages-none' => 'Det finst ingen sider i denne lista',
335 - 'likedpages-graphs' => 'vurderingsdata',
336 -);
337 -
338 -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
339 - * @author Jon Harald Søby
340 - */
341 -$messages['no'] = array(
342 - 'likedpages' => 'Sider med høy vurdering',
343 - 'likedpages-leg' => 'Find sider med høy vurdering',
344 - 'likedpages-list' => 'Nedenfor er en liste over sider sortert etter lesernes vurdering.',
345 - 'likedpages-none' => 'Det er ingen sider i denne listen',
346 - 'likedpages-graphs' => 'vurderingsdata',
347 -);
348 -
349 -/** Occitan (Occitan)
350 - * @author Cedric31
351 - */
352 -$messages['oc'] = array(
353 - 'likedpages' => 'Paginas notadas nautament',
354 - 'likedpages-leg' => 'Cercar las paginas plan notadas',
355 - 'likedpages-list' => 'Vaquí, çaijós, una tièra de paginas triadas en foncion de lor notacion.',
356 - 'likedpages-none' => 'Existís pas cap de pagina dins aquesta tièra',
357 - 'likedpages-graphs' => 'Donadas de notacion',
358 -);
359 -
360 -/** Polish (Polski)
361 - * @author Leinad
362 - */
363 -$messages['pl'] = array(
364 - 'likedpages' => 'Wysoko oceniane strony',
365 - 'likedpages-leg' => 'Szukaj wysoko ocenianych stron',
366 - 'likedpages-list' => 'Poniżej znajduje się lista stron posortowanych według ocen wystawionych przez czytelników.',
367 - 'likedpages-none' => 'Na tej liście nie ma żadnych stron',
368 - 'likedpages-graphs' => 'ocena danych',
369 -);
370 -
371 -/** Portuguese (Português)
372 - * @author Waldir
373 - */
374 -$messages['pt'] = array(
375 - 'likedpages' => 'Páginas com avaliação alta',
376 - 'likedpages-leg' => 'Encontre páginas com avaliação alta',
377 - 'likedpages-list' => 'Abaixo está uma lista de páginas ordenadas pelas avaliações dos leitores',
378 - 'likedpages-none' => 'Não há páginas nesta lista',
379 - 'likedpages-graphs' => 'dados de avaliações',
380 -);
381 -
382 -/** Brazilian Portuguese (Português do Brasil)
383 - * @author Eduardo.mps
384 - */
385 -$messages['pt-br'] = array(
386 - 'likedpages' => 'Páginas com avaliação alta',
387 - 'likedpages-leg' => 'Encontre páginas com avaliação alta',
388 - 'likedpages-list' => 'Abaixo está uma lista de páginas ordenadas pelas avaliações dos leitores',
389 - 'likedpages-none' => 'Não há páginas nesta lista',
390 - 'likedpages-graphs' => 'dados de avaliações',
391 -);
392 -
393 -/** Romanian (Română)
394 - * @author KlaudiuMihaila
395 - * @author Mihai
396 - */
397 -$messages['ro'] = array(
398 - 'likedpages' => 'Pagini cu scoruri ridicate',
399 - 'likedpages-leg' => 'Găsiţi paginile cu scoruri ridicate',
400 - 'likedpages-none' => 'Nu există pagini în această listă',
401 -);
402 -
403 -/** Tarandíne (Tarandíne)
404 - * @author Joetaras
405 - */
406 -$messages['roa-tara'] = array(
407 - 'likedpages' => 'Pàggene cu le pundegge ierte',
408 - 'likedpages-leg' => 'Iacchie le pàggene cu le pundegge ierte',
409 - 'likedpages-list' => "Aqquà sotte ste 'na liste de pàggene arrenghete pe 'u pundegge lassete da le letture.",
410 - 'likedpages-none' => "Non ge stonne pàggene jndr'à sta liste",
411 - 'likedpages-graphs' => 'dete de le pundegge',
412 -);
413 -
414 -/** Russian (Русский)
415 - * @author Александр Сигачёв
416 - */
417 -$messages['ru'] = array(
418 - 'likedpages' => 'Высоко оцененные страницы',
419 - 'likedpages-leg' => 'Поиск высоко оцененных страниц',
420 - 'likedpages-list' => 'Ниже представлен список страниц, упорядоченный по их оценке читателями.',
421 - 'likedpages-none' => 'В этом списке нет страниц.',
422 - 'likedpages-graphs' => 'данные об оценке',
423 -);
424 -
425 -/** Slovak (Slovenčina)
426 - * @author Helix84
427 - */
428 -$messages['sk'] = array(
429 - 'likedpages' => 'Vysoko hodnotené stránky',
430 - 'likedpages-leg' => 'Nájsť vysoko hodnotené stránky',
431 - 'likedpages-list' => 'Toto je zoznam stránok zoradený podľa hodnotenia používateľov.',
432 - 'likedpages-none' => 'Tento zoznam neobsahuje žiadne stránky',
433 - 'likedpages-graphs' => 'hodnotenia',
434 -);
435 -
436 -/** Swedish (Svenska)
437 - * @author Boivie
438 - */
439 -$messages['sv'] = array(
440 - 'likedpages' => 'Sidor med höga betyg',
441 - 'likedpages-leg' => 'Hitta sidor med höga betyg',
442 - 'likedpages-list' => 'Nedan finns en lista över sidor sorterade efter betyg från läsarna.',
443 - 'likedpages-none' => 'Det finns inga sidor i denna lista',
444 - 'likedpages-graphs' => 'betygsdata',
445 -);
446 -
447 -/** Tagalog (Tagalog)
448 - * @author AnakngAraw
449 - */
450 -$messages['tl'] = array(
451 - 'likedpages' => 'Mga pahinang nabigyan ng mataas na antas',
452 - 'likedpages-leg' => 'Maghanap ng mga pahinang may mataas na kaantasan',
453 - 'likedpages-list' => "Nasa ibaba ang isang talaan ng mga pahinang inayos ayon sa kanilang natanggap na balik-pahayag (''feedback'') ng mambabasa.",
454 - 'likedpages-none' => 'Walang mga pahina sa loob ng talaang ito',
455 - 'likedpages-graphs' => 'dato ng pagbibigay ng kaantasan',
456 -);
457 -
458 -/** Turkish (Türkçe)
459 - * @author Joseph
460 - */
461 -$messages['tr'] = array(
462 - 'likedpages' => 'Yüksek derecelendirilmiş sayfalar',
463 - 'likedpages-leg' => 'Yüksek-derecelendirilmiş sayfaları bul',
464 - 'likedpages-list' => 'Aşaıdaki, okuyucularının geri bildirim oranına göre sıralanmış sayfaların listesidir.',
465 - 'likedpages-none' => 'Bu listede hiç sayfa yok',
466 - 'likedpages-graphs' => 'veri değerlendirmesi',
467 -);
468 -
469 -/** Ukrainian (Українська)
470 - * @author Ahonc
471 - */
472 -$messages['uk'] = array(
473 - 'likedpages' => 'Сторінки з високою оцінкою якості',
474 - 'likedpages-leg' => 'Знайти сторінки з високим рейтингом',
475 - 'likedpages-list' => "Нижче поданий список сторінок, відсортованих за оцінкою за допомогою зворотного зв'язку читачів.",
476 - 'likedpages-none' => 'У цьому списку нема сторінок',
477 - 'likedpages-graphs' => 'дані рейтингу',
478 -);
479 -
480 -/** Veps (Vepsan kel')
481 - * @author Игорь Бродский
482 - */
483 -$messages['vep'] = array(
484 - 'likedpages' => 'Korktas arvoitud lehtpoled',
485 - 'likedpages-leg' => 'Ectä korktas arvoitud lehtpoled',
486 - 'likedpages-list' => 'Alemba om nimikirjutez, kus lehtpoled oma järgetud lugijoiden arvsanoiden mödhe.',
487 - 'likedpages-none' => 'Neciš nimikirjuteses ei ole lehtpolid.',
488 - 'likedpages-graphs' => 'andmused arvostelendas',
489 -);
490 -
491 -/** Vietnamese (Tiếng Việt)
492 - * @author Minh Nguyen
493 - */
494 -$messages['vi'] = array(
495 - 'likedpages' => 'Các trang được đánh giá cao',
496 - 'likedpages-leg' => 'Tìm các trang được đánh giá cao',
497 - 'likedpages-list' => 'Đây là danh sách các trang được xếp theo đánh giá của các độc giả.',
498 - 'likedpages-none' => 'Không có trang nào.',
499 - 'likedpages-graphs' => 'dữ liệu đánh giá',
500 -);
501 -
Index: trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php
@@ -182,26 +182,6 @@
183183 'stable-logpagetext' => 'This is a log of changes to the [[{{MediaWiki:Validationpage}}|stable version]] configuration of content pages.
184184 A list of stabilized pages can be found at the [[Special:StablePages|stable page list]].',
185185
186 - 'readerfeedback' => 'What do you think of this page?',
187 - 'readerfeedback-text' => '\'\'Please take a moment to rate this page below. Your feedback is valuable and helps us improve our website.\'\'',
188 - 'readerfeedback-reliability' => 'Reliability',
189 - 'readerfeedback-completeness' => 'Completeness',
190 - 'readerfeedback-npov' => 'Neutrality',
191 - 'readerfeedback-presentation' => 'Presentation',
192 - 'readerfeedback-overall' => 'Overall',
193 - 'readerfeedback-level-none' => '(unsure)',
194 - 'readerfeedback-level-0' => 'Poor',
195 - 'readerfeedback-level-1' => 'Low',
196 - 'readerfeedback-level-2' => 'Fair',
197 - 'readerfeedback-level-3' => 'High',
198 - 'readerfeedback-level-4' => 'Excellent',
199 - 'readerfeedback-submit' => 'Submit',
200 - 'readerfeedback-main' => 'Only content pages can be rated.',
201 - 'readerfeedback-success' => '\'\'\'Thank you for reviewing this page!\'\'\' ([$3 Comments or questions?]).',
202 - 'readerfeedback-voted' => '\'\'\'It appears that you already rated this page\'\'\' ([$3 Comments or questions?]).',
203 - 'readerfeedback-submitting' => 'Submitting …',
204 - 'readerfeedback-finished' => 'Thank you!',
205 -
206186 'revreview-filter-all' => 'all',
207187 'revreview-filter-stable' => 'stable',
208188 'revreview-filter-approved' => 'Approved',
@@ -211,7 +191,6 @@
212192 'revreview-filter-manual' => 'Manual',
213193 'revreview-statusfilter' => 'Status change:',
214194 'revreview-typefilter' => 'Type:',
215 - 'revreview-tagfilter' => 'Tag:',
216195 'revreview-levelfilter' => 'Level:',
217196
218197 'revreview-lev-sighted' => 'sighted',
@@ -223,7 +202,6 @@
224203 'tooltip-ca-current' => 'View the current draft of this page',
225204 'tooltip-ca-stable' => 'View the stable version of this page',
226205 'tooltip-ca-default' => 'Quality assurance settings',
227 - 'tooltip-ca-ratinghist' => 'Reader ratings of this page',
228206
229207 'revreview-locked-title' => 'Edits must be reviewed before being displayed on this page.',
230208 'revreview-unlocked-title' => 'Edits do not require review before being displayed on this page.',
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.sql
@@ -138,42 +138,3 @@
139139 PRIMARY KEY (frp_user_id)
140140 ) /*$wgDBTableOptions*/;
141141
142 -CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/reader_feedback (
143 - -- Foreign key to revision.rev_id
144 - rfb_rev_id integer unsigned NOT NULL,
145 - -- Foreign key to user.user_id
146 - rfb_user integer unsigned NOT NULL,
147 - rfb_ip varchar(255) NOT NULL default '',
148 - rfb_timestamp char(14) NOT NULL default '',
149 - --Vote info
150 - rfb_ratings mediumblob NOT NULL,
151 - -- No double voting!
152 - PRIMARY KEY (rfb_rev_id,rfb_user,rfb_ip)
153 -) /*$wgDBTableOptions*/;
154 -
155 -CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/reader_feedback_history (
156 - -- Foreign key to page.page_id
157 - rfh_page_id integer unsigned NOT NULL,
158 - rfh_tag char(20) NOT NULL default '',
159 - rfh_total integer unsigned NOT NULL default 0,
160 - rfh_count integer unsigned NOT NULL default 0,
161 - -- MW date of the day this average corresponds to
162 - rfh_date char(14) NOT NULL default '',
163 - PRIMARY KEY (rfh_page_id,rfh_tag,rfh_date)
164 -) /*$wgDBTableOptions*/;
165 -
166 -CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/reader_feedback_pages (
167 - -- Foreign key to page.page_id
168 - rfp_page_id integer unsigned NOT NULL,
169 - rfp_tag char(20) NOT NULL default '',
170 - -- Value in last few days (14)
171 - rfp_ave_val real NOT NULL default 0,
172 - -- And said total (used as threshold)
173 - rfp_count integer unsigned NOT NULL default 0,
174 - rfp_touched char(14) NOT NULL default '',
175 - PRIMARY KEY (rfp_page_id,rfp_tag),
176 - INDEX rfp_tag_val_page (rfp_tag,rfp_ave_val,rfp_page_id)
177 -) /*$wgDBTableOptions*/;
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.pg.sql
@@ -81,31 +81,4 @@
8282 frp_user_params TEXT NOT NULL default ''
8383 );
8484
85 -CREATE TABLE reader_feedback (
86 - rfb_rev_id INTEGER NOT NULL DEFAULT 0,
87 - rfb_user INTEGER NULL REFERENCES mwuser(user_id) ON DELETE SET NULL,
88 - rfb_ip TEXT NOT NULL DEFAULT '',
89 - PRIMARY KEY (rfb_rev_id,rfb_user,rfb_ip)
90 -);
91 -
92 -CREATE TABLE reader_feedback_history (
93 - rfh_page_id INTEGER NOT NULL DEFAULT 0,
94 - rfh_tag TEXT NOT NULL DEFAULT '',
95 - rfh_total INTEGER NOT NULL DEFAULT 0,
96 - rfh_count INTEGER NOT NULL DEFAULT 0,
97 - -- MW date of the day this average corresponds to
98 - rfh_date TEXT NOT NULL DEFAULT '',
99 - PRIMARY KEY (rfh_page_id,rfh_tag,rfh_date)
100 -);
101 -
102 -CREATE TABLE reader_feedback_pages (
103 - rfp_page_id INTEGER NOT NULL DEFAULT 0,
104 - rfp_tag TEXT NOT NULL DEFAULT '',
105 - rfp_ave_val REAL NOT NULL DEFAULT 0,
106 - rfp_count INTEGER NOT NULL DEFAULT 0,
107 - rfp_touched TIMESTAMPTZ NULL,
108 - PRIMARY KEY (rfp_page_id,rfp_tag)
109 -);
110 -CREATE INDEX rfp_tag_val_page ON reader_feedback_pages (rfp_tag,rfp_ave_val,rfp_page_id);
111 -
11285 COMMIT;
Index: trunk/extensions/FlaggedRevs/specialpages/RatingHistory_body.php
@@ -1,699 +0,0 @@
2 -<?php
3 -if( !defined( 'MEDIAWIKI' ) ) {
4 - echo "FlaggedRevs extension\n";
5 - exit( 1 );
6 -}
7 -
8 -class RatingHistory extends UnlistedSpecialPage
9 -{
10 - public function __construct() {
11 - parent::__construct( 'RatingHistory', 'feedback' );
12 - wfLoadExtensionMessages( 'RatingHistory' );
13 - wfLoadExtensionMessages( 'FlaggedRevs' );
14 - }
15 -
16 - public function execute( $par ) {
17 - global $wgRequest, $wgUser, $wgOut;
18 - $this->setHeaders();
19 - if( $wgUser->isAllowed( 'feedback' ) ) {
20 - if( $wgUser->isBlocked() ) {
21 - $wgOut->blockedPage();
22 - return;
23 - }
24 - } else {
25 - $wgOut->permissionRequired( 'feedback' );
26 - return;
27 - }
28 - if( wfReadOnly() ) {
29 - $wgOut->readOnlyPage();
30 - return;
31 - }
32 - $this->skin = $wgUser->getSkin();
33 - $this->doPurge = ('purge' === $wgRequest->getVal( 'action' ) && $wgUser->isAllowed('purge'));
34 - # Our target page
35 - $this->target = $wgRequest->getText( 'target' );
36 - $this->page = Title::newFromUrl( $this->target );
37 - # We need a page...
38 - if( is_null($this->page) ) {
39 - $wgOut->showErrorPage( 'notargettitle', 'notargettext' );
40 - return;
41 - } elseif( !FlaggedRevs::isPageRateable( $this->page ) ) {
42 - $wgOut->addHTML( wfMsgExt('readerfeedback-main',array('parse')) );
43 - return;
44 - }
45 - # Thank people who voted...
46 - if( ReaderFeedback::userAlreadyVoted( $this->page ) ) {
47 - $wgOut->setSubtitle( wfMsgExt('ratinghistory-thanks','parseinline') );
48 - }
49 - $period = $wgRequest->getInt( 'period' );
50 - $validPeriods = array(31,93,365,1095);
51 - if( !in_array($period,$validPeriods) ) {
52 - $period = 31; // default
53 - }
54 - $this->period = $period;
55 - $this->dScale = 20;
56 -
57 - $this->now = time(); // one time for whole request
58 -
59 - $this->showForm();
60 - $this->showTable();
61 - /*
62 - * Allow client caching.
63 - */
64 - if( !$this->doPurge && $wgOut->checkLastModified( self::getTouched($this->page) ) ) {
65 - return; // Client cache fresh and headers sent, nothing more to do
66 - } else {
67 - $wgOut->enableClientCache( false ); // don't show stale graphs
68 - if( $this->doPurge ) $this->purgePage();
69 - }
70 - $this->showGraphs();
71 - }
72 -
73 - protected function showTable() {
74 - global $wgOut;
75 - # Show latest month of results
76 - $html = FlaggedRevs::getVoteAggregates( $this->page, $this->period, array(),
77 - $this->doPurge ? 'skipCache' : 'useCache'
78 - );
79 - if( $html ) {
80 - $wgOut->addHTML( '<h2>'.wfMsgHtml('ratinghistory-table')."</h2>\n".
81 - "<div class='fr_reader_feedback_ratings'>$html</div>" );
82 - }
83 - }
84 -
85 - protected function showForm() {
86 - global $wgOut, $wgScript;
87 - $form = Xml::openElement( 'form', array( 'name' => 'reviewedpages',
88 - 'action' => $wgScript, 'method' => 'get' ) );
89 - $form .= "<fieldset>";
90 - $form .= "<legend>".wfMsgExt( 'ratinghistory-leg',array('parseinline'),
91 - $this->page->getPrefixedText() )."</legend>\n";
92 - $form .= Xml::hidden( 'title', $this->getTitle()->getPrefixedDBKey() );
93 - $form .= Xml::hidden( 'target', $this->page->getPrefixedDBKey() );
94 - $form .= $this->getPeriodMenu( $this->period );
95 - $form .= " ".Xml::submitButton( wfMsg( 'go' ) );
96 - $form .= "</fieldset></form>\n";
97 - $wgOut->addHTML( $form );
98 - }
99 -
100 - /**
101 - * Get a selector of time period options
102 - * @param int $selected, selected level
103 - */
104 - protected function getPeriodMenu( $selected=null ) {
105 - $s = "<label for='period'>" . wfMsgHtml('ratinghistory-period') . "</label>&nbsp;";
106 - $s .= Xml::openElement( 'select', array('name' => 'period', 'id' => 'period') );
107 - $s .= Xml::option( wfMsg( "ratinghistory-month" ), 31, $selected===31 );
108 - $s .= Xml::option( wfMsg( "ratinghistory-3months" ), 93, $selected===93 );
109 - $s .= Xml::option( wfMsg( "ratinghistory-year" ), 365, $selected===365 );
110 - $s .= Xml::option( wfMsg( "ratinghistory-3years" ), 1095, $selected===1095 );
111 - $s .= Xml::closeElement('select')."\n";
112 - return $s;
113 - }
114 -
115 - protected function showGraphs() {
116 - global $wgOut;
117 - $data = false;
118 - $html = '';
119 - // Do each graphs for said time period
120 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $weight ) {
121 - // Check if cached version is available.
122 - // If not, then generate a new one.
123 - $filePath = $this->getFilePath( $tag );
124 - $url = $this->getUrlPath( $tag );
125 - // Get the source output. SVG files are converted to PNG.
126 - $sExt = self::getSourceFileExtension();
127 - // Check if the output file is cached
128 - $exists = !$this->fileExpired($tag,$filePath);
129 - // ...if not, then regenerate it
130 - if( $sExt === 'svg' && !$exists ) {
131 - $exists = $this->makeSvgGraph($tag,$filePath);
132 - } elseif( $sExt === 'png' && !$exists ) {
133 - $exists = $this->makePngGraph($tag,$filePath);
134 - }
135 - if( $exists ) $data = true;
136 - // Output plot/chart depending on final output file...
137 - switch( self::getCachedFileExtension() )
138 - {
139 - case 'svg':
140 - if( $exists ) {
141 - $html .= "<h3>" . wfMsgHtml("readerfeedback-$tag") . "</h3>\n" .
142 - Xml::openElement( 'div', array('class' => 'fr_reader_feedback_graph') ) .
143 - Xml::element( 'embed', array('src' => $url, 'type' => 'image/svg+xml',
144 - 'class' => 'fr_reader_feedback_plot', 'width' => '1000', 'height' => '410') ) .
145 - Xml::closeElement( 'div' ) . "\n";
146 - }
147 - break;
148 - case 'png':
149 - if( $exists ) {
150 - // Add link for users with non-shitty browsers to see SVG itself
151 - $viewLink = "";
152 - if( $sExt === 'svg' ) {
153 - $svgUrl = $this->getUrlPath( $tag, 'svg' );
154 - $viewLink = " <small>[<a href='".htmlspecialchars($svgUrl)."'>".
155 - wfMsgHtml("readerfeedback-svg")."</a>]</small>";
156 - }
157 - $html .= "<h3>" . wfMsgHtml("readerfeedback-$tag") . "$viewLink</h3>\n" .
158 - Xml::openElement( 'div', array('class' => 'fr_reader_feedback_graph') ) .
159 - Xml::openElement( 'img', array('src' => $url,'alt' => $tag) ) .
160 - Xml::closeElement( 'img' ) .
161 - Xml::closeElement( 'div' ) . "\n";
162 - }
163 - break;
164 - default: // use html table
165 - if( $exists ) {
166 - $fp = fopen( $filePath, 'r' );
167 - $table = fread( $fp, filesize($filePath) );
168 - fclose( $fp );
169 - $html .= '<h2>' . wfMsgHtml("readerfeedback-$tag") . '</h2>' . $table . "\n";
170 - } elseif( $table = $this->makeHTMLTable( $tag, $filePath ) ) {
171 - $html .= '<h2>' . wfMsgHtml("readerfeedback-$tag") . '</h2>' . $table . "\n";
172 - }
173 - break;
174 - }
175 - }
176 - // Add header
177 - $purgeUrl = $this->getTitle()->getFullUrl( 'target='.$this->page->getPrefixedUrl().
178 - "&period={$this->period}&action=purge" );
179 - $purgeLink = " <small>[<a href='".htmlspecialchars($purgeUrl)."'>".
180 - wfMsgHtml('ratinghistory-purge')."</a>]</small>";
181 - // Add header for all the graphs below
182 - $wgOut->addHTML( '<h2>' . wfMsgHtml('ratinghistory-chart') . "$purgeLink</h2>\n" );
183 - if( $data ) {
184 - // Add legend as needed
185 - $wgOut->addWikiText( wfMsg('ratinghistory-legend',$this->dScale) );
186 - // Add recent voter list
187 - $userTable = $this->getUserList();
188 - if( $userTable ) {
189 - $html .= '<h2>' . wfMsgHtml('ratinghistory-users') . '</h2>' .
190 - Xml::openElement( 'div', array('class' => 'fr_reader_feedback_users') ) .
191 - $userTable . Xml::closeElement( 'div' ) . "\n";
192 - }
193 - } else {
194 - $html .= wfMsg('ratinghistory-none');
195 - }
196 - $wgOut->addHTML( $html );
197 - }
198 -
199 - /**
200 - * Generate an HTML table for this tag
201 - * @param string $tag
202 - * @param string $filePath
203 - * @returns string, html table
204 - */
205 - public function makeHTMLTable( $tag, $filePath ) {
206 - $dir = dirname($filePath);
207 - // Make sure directory exists
208 - if( !is_dir($dir) && !wfMkdirParents( $dir, 0777 ) ) {
209 - return false;
210 - }
211 - // Define the data using the DB rows
212 - $totalVal = $totalCount = $n = 0;
213 - list($res,$u,$maxC,$days) = $this->doQuery( $tag );
214 - // Label spacing
215 - $int = intval( ceil($days/10) ); // 10 labels at most
216 - $dates = $drating = $arating = $dcount = "";
217 - while( $row = $res->fetchObject() ) {
218 - $totalVal += (int)$row->rfh_total;
219 - $totalCount += (int)$row->rfh_count;
220 - $dayAve = sprintf( '%4.2f', (real)$row->rfh_total/(real)$row->rfh_count );
221 - $cumAve = sprintf( '%4.2f', (real)$totalVal/(real)$totalCount );
222 - $year = intval( substr( $row->rfh_date, 0, 4 ) );
223 - $month = intval( substr( $row->rfh_date, 4, 2 ) );
224 - $day = intval( substr( $row->rfh_date, 6, 2 ) );
225 - $date = ($this->period > 31) ? "{$month}/{$day}/".substr( $year, 2, 2 ) : "{$month}/{$day}";
226 - $dates .= "<th>$date</th>";
227 - $drating .= "<td>$dayAve</td>";
228 - $arating .= "<td>$cumAve</td>";
229 - $dcount .= "<td>#{$row->rfh_total}</td>";
230 - $n++;
231 - }
232 - $chart = Xml::openElement( 'div', array('style' => "width:100%; overflow:auto;") );
233 - $chart .= "<table class='wikitable' style='white-space: nowrap; border=1px; font-size: 8pt;'>\n";
234 - $chart .= "<tr>$dates</tr>\n";
235 - $chart .= "<tr align='center' class='fr-rating-dave'>$drating</tr>\n";
236 - $chart .= "<tr align='center' class='fr-rating-rave'>$arating</tr>\n";
237 - $chart .= "<tr align='center' class='fr-rating-dcount'>$dcount</tr>\n";
238 - $chart .= "</table>\n";
239 - $chart .= Xml::closeElement( 'div' );
240 - // Write to file for cache
241 - $fp = fopen( $filePath, 'w' );
242 - fwrite( $fp, $chart );
243 - fclose( $fp );
244 - return $chart;
245 - }
246 -
247 - /**
248 - * Generate a graph for this tag
249 - * @param string $tag
250 - * @param string $filePath
251 - * @returns bool, success
252 - */
253 - public function makePngGraph( $tag, $filePath ) {
254 - if( !function_exists( 'ImageCreate' ) ) {
255 - // GD is not installed
256 - return false;
257 - }
258 - global $wgPHPlotDir;
259 - require_once( "$wgPHPlotDir/phplot.php" ); // load classes
260 - // Define the object
261 - $plot = new PHPlot( 1000, 400 );
262 - // Set file path
263 - $dir = dirname($filePath);
264 - // Make sure directory exists
265 - if( !file_exists($dir) && !wfMkdirParents( $dir, 0777 ) ) {
266 - throw new MWException( 'Could not create file directory!' );
267 - return false;
268 - }
269 - $plot->SetOutputFile( $filePath );
270 - $plot->SetIsInline( true );
271 - $data = array();
272 - $totalVal = $totalCount = $n = 0;
273 - // Define the data using the DB rows
274 - list($res,$u,$maxC,$days) = $this->doQuery( $tag );
275 - if( !$maxC ) return false;
276 - // Label spacing
277 - $int = intval( ceil($days/10) ); // 10 labels at most
278 - while( $row = $res->fetchObject() ) {
279 - $totalVal += (int)$row->rfh_total;
280 - $totalCount += (int)$row->rfh_count;
281 - $dayCount = (real)$row->rfh_count;
282 - if( !$row->rfh_count ) continue; // bad data
283 - // Nudge values up by 1
284 - $dayAve = 1 + (real)$row->rfh_total/(real)$row->rfh_count;
285 - $cumAve = 1 + (real)$totalVal/(real)$totalCount;
286 - $year = intval( substr( $row->rfh_date, 0, 4 ) );
287 - $month = intval( substr( $row->rfh_date, 4, 2 ) );
288 - $day = intval( substr( $row->rfh_date, 6, 2 ) );
289 - # Fill in days with no votes to keep spacing even
290 - if( isset($lastDate) ) {
291 - $dayGap = wfTimestamp(TS_UNIX,$row->rfh_date) - wfTimestamp(TS_UNIX,$lastDate);
292 - $x = intval( $dayGap/86400 );
293 - # Day gaps...
294 - for( $x; $x > 1; --$x ) {
295 - $data[] = array("",$lastDAve,$lastRAve,0);
296 - $n++;
297 - }
298 - }
299 - $n++;
300 - # Label point?
301 - if( $n >= $int || !count($data) ) {
302 - $p = ($days > 31) ? "{$month}-".substr( $year, 2, 2 ) : "{$month}/{$day}";
303 - $n = 0;
304 - } else {
305 - $p = "";
306 - }
307 - $data[] = array( $p, $dayAve, $cumAve, $dayCount );
308 - $lastDate = $row->rfh_date;
309 - $lastDAve = $dayAve;
310 - $lastRAve = $cumAve;
311 - }
312 - // Minimum sample size
313 - if( count($data) < 2 ) {
314 - return false;
315 - }
316 - // Fit to [0,4]
317 - foreach( $data as $x => $dataRow ) {
318 - $data[$x][3] = $dataRow[3]/$this->dScale;
319 - }
320 - $plot->SetDataValues($data);
321 - $plot->SetPointShapes( array('dot','dot','dot') );
322 - $plot->setPointSizes( array(1,1,4) );
323 - $plot->SetDataColors( array('blue','green','red') );
324 - $plot->SetLineStyles( array('solid','solid','none') );
325 - $plot->SetBackgroundColor('#F8F8F8');
326 - // Turn off X axis ticks and labels because they get in the way:
327 - $plot->SetXTickLabelPos('none');
328 - $plot->SetXTickPos('none');
329 - $plot->SetYTickIncrement( .5 );
330 - // Set plot area
331 - $plot->SetPlotAreaWorld( 0, 0, null, 5 );
332 - // Show total number of votes
333 - $plot->SetLegend( array("#{$totalCount}") );
334 - // Draw it!
335 - $plot->DrawGraph();
336 - return true;
337 - }
338 -
339 - /**
340 - * Generate a graph for this tag
341 - * @param string $tag
342 - * @param string $filePath
343 - * @returns bool, success
344 - */
345 - public function makeSvgGraph( $tag, $filePath ) {
346 - global $wgSvgGraphDir, $wgContLang;
347 - require_once( "$wgSvgGraphDir/svgGraph.php" ); // load classes
348 - require_once( "$wgSvgGraphDir/svgGraph2.php" ); // load classes
349 - // Define the object
350 - $plot = new svgGraph2();
351 - // Set file path
352 - $dir = dirname($filePath);
353 - // Make sure directory exists
354 - if( !file_exists($dir) && !wfMkdirParents( $dir, 0777 ) ) {
355 - throw new MWException( 'Could not create file directory!' );
356 - return false;
357 - }
358 - // Set some parameters
359 - $plot->graphicWidth = 1000;
360 - $plot->graphicHeight = 410;
361 - $plot->plotWidth = 930;
362 - $plot->plotHeight = 350;
363 - $plot->decimalPlacesY = 1;
364 - $plot->plotOffsetX = 40;
365 - $plot->plotOffsetY = 30;
366 - $plot->numGridlinesY = 10 + 1;
367 - $plot->innerPaddingX = 15;
368 - $plot->innerPaddingY = 10;
369 - $plot->outerPadding = 5;
370 - $plot->minY = 0;
371 - $plot->maxY = 5;
372 - // Define the data using the DB rows
373 - $dataX = $dave = $rave = $dcount = array();
374 - $totalVal = $totalCount = $sd = $pts = $n = 0;
375 - // Define the data using the DB rows
376 - list($res,$u,$maxC,$days) = $this->doQuery( $tag );
377 - if( !$maxC ) return false;
378 - // Label spacing
379 - $int = intval( ceil($days/10) ); // 10 labels at most
380 - while( $row = $res->fetchObject() ) {
381 - $totalVal += (int)$row->rfh_total;
382 - $totalCount += (int)$row->rfh_count;
383 - $dayCount = (real)$row->rfh_count;
384 - if( !$row->rfh_count ) continue; // bad data
385 - // Nudge values up by 1 to fit [1,5]
386 - $dayAve = 1 + (real)$row->rfh_total/(real)$row->rfh_count;
387 - $sd += pow($dayAve - $u,2);
388 - $cumAve = 1 + (real)$totalVal/(real)$totalCount;
389 - $year = intval( substr( $row->rfh_date, 0, 4 ) );
390 - $month = intval( substr( $row->rfh_date, 4, 2 ) );
391 - $day = intval( substr( $row->rfh_date, 6, 2 ) );
392 - # Fill in days with no votes to keep spacing even
393 - if( isset($lastDate) ) {
394 - $dayGap = wfTimestamp(TS_UNIX,$row->rfh_date) - wfTimestamp(TS_UNIX,$lastDate);
395 - $x = intval( $dayGap/86400 );
396 - # Day gaps...
397 - for( $x; $x > 1; --$x ) {
398 - $dataX[] = "";
399 - $dave[] = $lastDAve;
400 - $rave[] = $lastRAve;
401 - $dcount[] = 0;
402 - $n++;
403 - }
404 - }
405 - $n++;
406 - # Label point?
407 - if( $n >= $int || !count($dataX) ) {
408 - $p = ($days > 31) ? "{$month}-".substr( $year, 2, 2 ) : "{$month}/{$day}";
409 - $n = 0;
410 - } else {
411 - $p = "";
412 - }
413 - $dataX[] = $p;
414 - $dave[] = $dayAve;
415 - $rave[] = $cumAve;
416 - $dcount[] = $dayCount;
417 - $lastDate = $row->rfh_date;
418 - $lastDAve = $dayAve;
419 - $lastRAve = $cumAve;
420 - $pts++;
421 - }
422 - // Minimum sample size
423 - if( $pts < 2 ) {
424 - return false;
425 - }
426 - $sd = sqrt($sd/$pts);
427 - // Round values for display
428 - $sd = round( $sd, 3 );
429 - $u = round( $u, 3 );
430 - // Fit to [0,4]
431 - foreach( $dcount as $x => $c ) {
432 - $dcount[$x] = $c/$this->dScale;
433 - }
434 - $plot->dataX = $dataX;
435 - $plot->dataY['dave'] = $dave;
436 - $plot->dataY['rave'] = $rave;
437 - $plot->dataY['dcount'] = $dcount;
438 - $plot->styleTagsX = 'font-family: monospace; font-size: 9pt;';
439 - $plot->styleTagsY = 'font-family: sans-serif; font-size: 11pt;';
440 - $plot->format['dave'] = array( 'style' => 'stroke:blue; stroke-width:1;' );
441 - $plot->format['rave'] = array( 'style' => 'stroke:green; stroke-width:1;' );
442 - $plot->format['dcount'] = array( 'style' => 'stroke:red; stroke-width:1;' );
443 - #'attributes' => "marker-end='url(#circle)'");
444 - $pageText = $wgContLang->truncate( $this->page->getPrefixedText(), 65 );
445 - $plot->title = wfMsgExt('ratinghistory-graph',array('parsemag','content'),
446 - $totalCount, wfMsgForContent("readerfeedback-$tag"), $pageText );
447 - $plot->styleTitle = 'font-family: sans-serif; font-weight: bold; font-size: 12pt;';
448 - $plot->backgroundStyle = 'fill:#F0F0F0;';
449 - // extra code for markers
450 - // FIXME: http://studio.imagemagick.org/pipermail/magick-bugs/2003-January/001038.html
451 - /* $plot->extraSVG =
452 - '<defs>
453 - <marker id="circle" style="stroke:red; stroke-width:0; fill:red;"
454 - viewBox="0 0 10 10" refX="5" refY="7" orient="0"
455 - markerUnits="strokeWidth" markerWidth="5" markerHeight="5">
456 - <circle cx="5" cy="5" r="3"/>
457 - </marker>
458 - </defs>';
459 - */
460 - # Create the graph
461 - @$plot->init();
462 - $plot->drawGraph();
463 - $plot->polyLine('dave');
464 - $plot->polyLine('rave');
465 - #$plot->line('dcount');
466 - $plot->polyLine('dcount');
467 - // Render!
468 - $plot->generateSVG( "xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'" );
469 - // Write to file for cache
470 - $svgPath = $this->getFilePath( $tag, 'svg' );
471 - $svgHandler = new SvgHandler();
472 - if( @!file_put_contents( $svgPath, $plot->svg ) ) {
473 - throw new MWException( 'Could not write SVG file!' );
474 - return false;
475 - }
476 - // Rasterize due to IE suckage
477 - $status = $svgHandler->rasterize( $svgPath, $filePath, 1000, 410 );
478 - if( $status !== true ) {
479 - throw new MWException( 'Could not write SVG file!' );
480 - return false;
481 - }
482 - return true;
483 - }
484 -
485 - protected function doQuery( $tag ) {
486 - // Set cutoff time for period
487 - $dbr = wfGetDB( DB_SLAVE );
488 - $cutoff_unixtime = $this->now - ($this->period * 24 * 3600);
489 - $cutoff_unixtime = $cutoff_unixtime - ($cutoff_unixtime % 86400);
490 - $cutoff = $dbr->addQuotes( wfTimestamp( TS_MW, $cutoff_unixtime ) );
491 - $res = $dbr->select( 'reader_feedback_history',
492 - array( 'rfh_total', 'rfh_count', 'rfh_date' ),
493 - array( 'rfh_page_id' => $this->page->getArticleId(),
494 - 'rfh_tag' => $tag,
495 - "rfh_date >= {$cutoff}"),
496 - __METHOD__,
497 - array( 'ORDER BY' => 'rfh_date ASC' )
498 - );
499 - # Get max count and average rating
500 - $total = $count = $ave = $maxC = $days = 0;
501 - if( $dbr->numRows($res) > 0 ) {
502 - while( $row = $dbr->fetchObject($res) ) {
503 - if( !isset($lower) ) {
504 - $lower = wfTimestamp( TS_UNIX, $row->rfh_date ); // first day
505 - }
506 - $total += (int)$row->rfh_total;
507 - $count += (int)$row->rfh_count;
508 - if( $row->rfh_count > $maxC ) $maxC = intval($row->rfh_count);
509 - $upper = $row->rfh_date;
510 - }
511 - $upper = wfTimestamp( TS_UNIX, $upper );
512 - $days = intval( ($upper - $lower)/86400 );
513 - if( $count )
514 - $ave = 1 + $total/$count; // Offset to [1,5]
515 - $res->seek( 0 ); // reset query row
516 - }
517 - return array($res,$ave,$maxC,$days);
518 - }
519 -
520 - /**
521 - * Get the path to where the corresponding graph file should be
522 - * @param string $tag
523 - * @param string $ext
524 - * @returns string
525 - */
526 - public function getFilePath( $tag, $ext='' ) {
527 - global $wgUploadDirectory;
528 - $rel = self::getRelPath( $tag, $ext );
529 - return "{$wgUploadDirectory}/graphs/{$rel}";
530 - }
531 -
532 - /**
533 - * Get the url to where the corresponding graph file should be
534 - * @param string $tag
535 - * @param string $ext
536 - * @returns string
537 - */
538 - public function getUrlPath( $tag, $ext='' ) {
539 - global $wgUploadPath;
540 - $rel = self::getRelPath( $tag, $ext );
541 - return "{$wgUploadPath}/graphs/{$rel}";
542 - }
543 -
544 - public function getRelPath( $tag, $ext = '' ) {
545 - $ext = $ext ? $ext : self::getCachedFileExtension();
546 - $pageId = $this->page->getArticleId();
547 - # Paranoid check. Should not be necessary, but here to be safe...
548 - if( !preg_match('/^[a-zA-Z]{1,20}$/',$tag) ) {
549 - throw new MWException( 'Invalid tag name!' );
550 - }
551 - return "{$pageId}/{$tag}/l{$this->period}d.{$ext}";
552 - }
553 -
554 - public static function getCachedFileExtension() {
555 - global $wgSvgGraphDir, $wgPHPlotDir;
556 - if( $wgSvgGraphDir || $wgPHPlotDir ) {
557 - $ext = 'png';
558 - } else {
559 - $ext = 'html';
560 - }
561 - return $ext;
562 - }
563 -
564 - public static function getSourceFileExtension() {
565 - global $wgSvgGraphDir, $wgPHPlotDir;
566 - if( $wgSvgGraphDir ) {
567 - $ext = 'svg';
568 - } elseif( $wgPHPlotDir ) {
569 - $ext = 'png';
570 - } else {
571 - $ext = 'html';
572 - }
573 - return $ext;
574 - }
575 -
576 - protected function getUserList() {
577 - global $wgMemc;
578 - if( $this->period > 93 ) {
579 - return ''; // too big
580 - }
581 - $key = wfMemcKey( 'flaggedrevs', 'ratingusers', $this->page->getArticleId(), $this->period );
582 - // Check cache
583 - if( !$this->doPurge ) {
584 - $set = $wgMemc->get($key);
585 - // Cutoff is at the 24 hour mark due to the way the aggregate
586 - // schema groups ratings by date for graphs.
587 - $cache_cutoff = $this->now - ($this->now % 86400);
588 - if( is_array($set) && count($set) == 2 ) {
589 - list($html,$time) = $set;
590 - $touched = wfTimestamp( TS_UNIX, self::getTouched($this->page) );
591 - if( $time > $cache_cutoff && $time > $touched ) {
592 - return $html;
593 - }
594 - }
595 - }
596 - // Set cutoff time for period
597 - $dbr = wfGetDB( DB_SLAVE );
598 - $cutoff_unixtime = $this->now - ($this->period * 24 * 3600);
599 - // Use integral number of days to be consistent with graphs
600 - $cutoff_unixtime = $cutoff_unixtime - ($cutoff_unixtime % 86400);
601 - $cutoff = $dbr->addQuotes( wfTimestamp( TS_MW, $cutoff_unixtime ) );
602 - // Get the first revision possibly voted on in the range
603 - $firstRevTS = $dbr->selectField( 'revision',
604 - 'rev_timestamp',
605 - array( 'rev_page' => $this->page->getArticleId(), "rev_timestamp <= $cutoff" ),
606 - __METHOD__,
607 - array( 'ORDER BY' => 'rev_timestamp DESC' )
608 - );
609 - // Fetch the list of users and how many votes they reviews
610 - $res = $dbr->select( array( 'revision', 'reader_feedback', 'user' ),
611 - # COALESCE() gets the user_name for users, and the IP for anons
612 - array( 'rfb_user', 'COALESCE(user_name,rfb_ip) AS name', 'COUNT(rfb_rev_id) AS n' ),
613 - array( 'rev_page' => $this->page->getArticleId(),
614 - "rev_id = rfb_rev_id",
615 - "rfb_timestamp >= $cutoff",
616 - // Trigger INDEX usage
617 - "rev_timestamp >= ".$dbr->addQuotes($firstRevTS) ),
618 - __METHOD__,
619 - array( 'GROUP BY' => 'name', 'USE INDEX' => array('revision' => 'page_timestamp') ),
620 - array( 'user' => array( 'LEFT JOIN', 'rfb_user > 0 AND user_id = rfb_user') )
621 - );
622 - // Output multi-column list
623 - $total = $res->numRows();
624 - if( $total < 2 )
625 - return ''; // don't give away votes that easily
626 - $columns = 4;
627 - $count = 0;
628 - $html = "<table class='fr_reader_feedback_users'><tr>";
629 - while( $row = $res->fetchObject() ) {
630 - $title = Title::makeTitleSafe( NS_USER, $row->name );
631 - if( is_null($title) ) continue; // bad IP?
632 - $html .= '<td>'.$this->skin->makeLinkObj( $title, $title->getText() )." [{$row->n}]</td>";
633 - $count++;
634 - if( $total > $count && ($count % $columns) == 0 ) {
635 - $html .= "</tr><tr>";
636 - }
637 - }
638 - $html .= "</tr></table>\n";
639 - $wgMemc->set( $key, array( $html, $this->now ), 24*3600 );
640 - return $html;
641 - }
642 -
643 - public function purgePage() {
644 - global $wgUploadDirectory;
645 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $weight ) {
646 - $dir = "{$wgUploadDirectory}/graphs/".$this->page->getArticleId()."/{$tag}/";
647 - if( is_dir( $dir ) ) {
648 - $handle = opendir( $dir );
649 - if( $handle ) {
650 - while( false !== ( $file = readdir($handle) ) ) {
651 - @unlink("$dir/$file");
652 - }
653 - closedir( $handle );
654 - }
655 - }
656 - @rmdir( $dir );
657 - }
658 - return true;
659 - }
660 -
661 - /**
662 - * Check if a graph file is expired.
663 - * @param string $tag
664 - * @param string $path, filepath to existing file
665 - * @returns string
666 - */
667 - protected function fileExpired( $tag, $path ) {
668 - if( $this->doPurge || !file_exists($path) ) {
669 - return true;
670 - }
671 - $dbr = wfGetDB( DB_SLAVE );
672 - $tagTimestamp = $dbr->selectField( 'reader_feedback_pages', 'rfp_touched',
673 - array( 'rfp_page_id' => $this->page->getArticleId(), 'rfp_tag' => $tag ),
674 - __METHOD__ );
675 - $tagTimestamp = wfTimestamp( TS_UNIX, $tagTimestamp );
676 - $file_unixtime = filemtime($path);
677 - # Check max cache time
678 - $cutoff_unixtime = $this->now - (7 * 24 * 3600);
679 - if( $file_unixtime < $cutoff_unixtime ) {
680 - $this->purgePage();
681 - return true;
682 - }
683 - # If there are new votes, graph is stale
684 - return ( $file_unixtime < $tagTimestamp );
685 - }
686 -
687 - /**
688 - * Get highest touch timestamp of the tags. This uses a tiny filesort.
689 - * @param $page Title
690 - * @returns string
691 - */
692 - public static function getTouched( $page ) {
693 - $dbr = wfGetDB( DB_SLAVE );
694 - $tagTimestamp = $dbr->selectField( 'reader_feedback_pages',
695 - 'MAX(rfp_touched)',
696 - array( 'rfp_page_id' => $page->getArticleId() ),
697 - __METHOD__ );
698 - return wfTimestamp( TS_MW, $tagTimestamp );
699 - }
700 -}
Index: trunk/extensions/FlaggedRevs/specialpages/ReaderFeedback_body.php
@@ -1,333 +0,0 @@
2 -<?php
3 -if ( !defined( 'MEDIAWIKI' ) ) {
4 - echo "FlaggedRevs extension\n";
5 - exit( 1 );
6 -}
7 -
8 -class ReaderFeedback extends UnlistedSpecialPage
9 -{
10 - // Initialize to handle incomplete AJAX input
11 - var $page = null;
12 - var $oldid = 0;
13 - var $dims = array();
14 - var $validatedParams = '';
15 - var $commentary = '';
16 -
17 - public function __construct() {
18 - UnlistedSpecialPage::UnlistedSpecialPage( 'ReaderFeedback', 'feedback' );
19 - wfLoadExtensionMessages( 'FlaggedRevs' );
20 - }
21 -
22 - public function execute( $par ) {
23 - global $wgRequest, $wgUser, $wgOut;
24 - $confirm = $wgRequest->wasPosted() && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) );
25 - if( $wgUser->isAllowed( 'feedback' ) ) {
26 - if( $wgUser->isBlocked( !$confirm ) ) {
27 - $wgOut->blockedPage();
28 - return;
29 - }
30 - } else {
31 - $wgOut->permissionRequired( 'feedback' );
32 - return;
33 - }
34 - if( wfReadOnly() ) {
35 - $wgOut->readOnlyPage();
36 - return;
37 - }
38 - $this->setHeaders();
39 - # Our target page
40 - $this->page = Title::newFromUrl( $wgRequest->getVal( 'target' ) );
41 - if( is_null($this->page) ) {
42 - $wgOut->showErrorPage('notargettitle', 'notargettext' );
43 - return;
44 - }
45 - # Revision ID
46 - $this->oldid = $wgRequest->getIntOrNull( 'oldid' );
47 - if( !$this->oldid || !FlaggedRevs::isPageRateable( $this->page ) ) {
48 - $wgOut->addHTML( wfMsgExt('readerfeedback-main',array('parse')) );
49 - return;
50 - }
51 - # Get our rating dimensions
52 - $this->dims = array();
53 - $unsureCount = 0;
54 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $weight ) {
55 - $this->dims[$tag] = $wgRequest->getIntOrNull( "wp$tag" );
56 - if( $this->dims[$tag] === NULL ) { // nothing sent at all :(
57 - $wgOut->redirect( $this->page->getLocalUrl() );
58 - return;
59 - } elseif( $this->dims[$tags] === -1 ) {
60 - $unsureCount++;
61 - }
62 - }
63 - # There must actually be *some* ratings
64 - if( $unsureCount >= count($this->dims) ) {
65 - $wgOut->redirect( $this->page->getLocalUrl() );
66 - return;
67 - }
68 - # Check validation key
69 - $this->validatedParams = $wgRequest->getVal('validatedParams');
70 - if( $this->validatedParams != self::validationKey( $this->oldid, $wgUser->getId() ) ) {
71 - $wgOut->redirect( $this->page->getLocalUrl() );
72 - }
73 - # Submit valid requests. Check honeypot value for bots.
74 - if( $confirm && !$wgRequest->getVal( 'commentary' ) ) {
75 - $ok = $this->submit();
76 - } else {
77 - $ok = false;
78 - }
79 - # Go to graphs!
80 - global $wgMiserMode;
81 - if( $ok && !$wgMiserMode ) {
82 - $ratingTitle = SpecialPage::getTitleFor( 'RatingHistory' );
83 - $wgOut->redirect( $ratingTitle->getLocalUrl('target='.$this->page->getPrefixedUrl() ) );
84 - # Already voted or graph is set to be skipped...
85 - } else {
86 - $wgOut->redirect( $this->page->getLocalUrl() );
87 - }
88 - }
89 -
90 - public static function AjaxReview( /*$args...*/ ) {
91 - global $wgUser;
92 - $args = func_get_args();
93 - // Basic permission check
94 - if( $wgUser->isAllowed( 'feedback' ) ) {
95 - if( $wgUser->isBlocked() ) {
96 - return '<err#><h2>' . wfMsgHtml('blockedtitle') . '</h2>' . wfMsg('badaccess-group0');
97 - }
98 - } else {
99 - return '<err#><strong>' . wfMsg('badaccess-group0') . '</<strong>';
100 - }
101 - if( wfReadOnly() ) {
102 - return '<err#><strong>' . wfMsg('formerror') . '</<strong>';
103 - }
104 - $tags = FlaggedRevs::getFeedbackTags();
105 - // Make review interface object
106 - $form = new ReaderFeedback();
107 - $form->dims = array();
108 - $unsureCount = 0;
109 - $bot = false;
110 - // Each ajax url argument is of the form param|val.
111 - // This means that there is no ugly order dependance.
112 - foreach( $args as $x => $arg ) {
113 - $set = explode('|',$arg,2);
114 - if( count($set) != 2 ) {
115 - return '<err#>' . wfMsg('formerror');
116 - }
117 - list($par,$val) = $set;
118 - switch( $par )
119 - {
120 - case "target":
121 - $form->page = Title::newFromUrl( $val );
122 - if( is_null($form->page) || !FlaggedRevs::isPageRateable( $form->page ) ) {
123 - return '<err#>' . wfMsg('formerror');
124 - }
125 - break;
126 - case "oldid":
127 - $form->oldid = intval( $val );
128 - if( !$form->oldid ) {
129 - return '<err#>' . wfMsg('formerror');
130 - }
131 - break;
132 - case "validatedParams":
133 - $form->validatedParams = $val;
134 - break;
135 - case "wpEditToken":
136 - if( !$wgUser->matchEditToken( $val ) ) {
137 - return '<err#>' . wfMsg('formerror');
138 - }
139 - break;
140 - case "commentary": // honeypot value
141 - if( $val )
142 - $bot = true;
143 - break;
144 - default:
145 - $p = preg_replace( '/^wp/', '', $par ); // kill any "wp" prefix
146 - if( array_key_exists( $p, $tags ) ) {
147 - $form->dims[$p] = intval($val);
148 - if( $form->dims[$p] === NULL ) { // nothing sent at all :(
149 - return '<err#>' . wfMsg('formerror'); // bad range
150 - } elseif( $form->dims[$p] === -1 ) {
151 - $unsureCount++;
152 - }
153 - }
154 - break;
155 - }
156 - }
157 - // Missing params?
158 - if( count($form->dims) != count($tags) || $unsureCount >= count($form->dims) ) {
159 - return '<err#>' . wfMsg('formerror');
160 - }
161 - // Doesn't match up?
162 - if( $form->validatedParams != self::validationKey( $form->oldid, $wgUser->getId() ) ) {
163 - return '<err#>' . wfMsg('formerror');
164 - }
165 - $graphLink = SpecialPage::getTitleFor( 'RatingHistory' )->getFullUrl( 'target='.$form->page->getPrefixedUrl() );
166 - $talk = $form->page->getTalkPage();
167 -
168 - wfLoadExtensionMessages( 'RatingHistory' );
169 - $tallyTable = FlaggedRevs::getVoteAggregates( $form->page, 31, $form->dims );
170 -
171 - $dbw = wfGetDB( DB_MASTER );
172 - $dbw->begin();
173 - $ok = ( $bot || $form->submit() ); // don't submit for mindless drones
174 - $dbw->commit();
175 - if( $ok ) {
176 - return '<suc#>'.wfMsgExt( 'readerfeedback-success', array('parseinline'),
177 - $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) ) .
178 - '<h4>'.wfMsgHtml('ratinghistory-table')."</h4>\n$tallyTable";
179 - } else {
180 - return '<err#>'.wfMsgExt( 'readerfeedback-voted', array('parseinline'),
181 - $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) );
182 - }
183 - }
184 -
185 - protected static function isValid( $int ) {
186 - return ( !is_null($int) && $int > 0 && $int <= 4 );
187 - }
188 -
189 - public static function validationKey( $rid, $uid ) {
190 - global $wgReviewCodes;
191 - # Fall back to $wgSecretKey/$wgProxyKey
192 - if( empty($wgReviewCodes) ) {
193 - global $wgSecretKey, $wgProxyKey;
194 - $key = $wgSecretKey ? $wgSecretKey : $wgProxyKey;
195 - $p = md5($key.$rid.$uid);
196 - } else {
197 - $p = md5($wgReviewCodes[0].$rid.$uid.$wgReviewCodes[1]);
198 - }
199 - return $p;
200 - }
201 -
202 - public static function userAlreadyVoted( $title, $revId = 0 ) {
203 - global $wgUser;
204 - static $stackDepth = 0;
205 - $userVoted = false;
206 - # Use page_latest if $revId not given
207 - $revId = $revId ? $revId : $title->getLatestRevID( GAID_FOR_UPDATE );
208 - $rev = Revision::newFromTitle( $title, $revId );
209 - if( !$rev ) return false; // shouldn't happen; just in case
210 - # Check if this revision is by this user...
211 - if( $rev->getUserText() === $wgUser->getName() ) {
212 - # Check if the previous revisions is theirs and they
213 - # voted on it. Disallow this, to make it harder to make
214 - # edits just to inflate/deflate rating...
215 - if( $stackDepth < 2 ) {
216 - $stackDepth++;
217 - $prevId = $title->getPreviousRevisionID( $revId );
218 - if( $prevId && self::userAlreadyVoted( $title, $prevId ) ) {
219 - return true;
220 - }
221 - }
222 - }
223 - # Check if user already voted before...
224 - $dbw = wfGetDB( DB_MASTER );
225 - if( $wgUser->getId() ) {
226 - $ipSafe = $dbw->addQuotes( wfGetIP() );
227 - $userVoted = $dbw->selectField( 'reader_feedback', '1',
228 - array( 'rfb_rev_id' => $revId,
229 - "(rfb_user = ".$wgUser->getId().") OR (rfb_user = 0 AND rfb_ip = $ipSafe)" ),
230 - __METHOD__ );
231 - if( $userVoted ) {
232 - return true;
233 - }
234 - } else {
235 - $ipVoted = $dbw->selectField( 'reader_feedback', '1',
236 - array( 'rfb_rev_id' => $revId, 'rfb_user' => 0, 'rfb_ip' => wfGetIP() ),
237 - __METHOD__ );
238 - if( $ipVoted ) {
239 - return true;
240 - }
241 - }
242 - return false;
243 - }
244 -
245 - protected function flattenRatings( $dims ) {
246 - $s = array();
247 - foreach( $dims as $tag => $value ) {
248 - $s[] = "{$tag}={$value}";
249 - }
250 - return implode("\n",$s);
251 - }
252 -
253 - private function submit() {
254 - global $wgUser;
255 - $dbw = wfGetDB( DB_MASTER );
256 - # Get date timestamp...
257 - $now = wfTimestampNow();
258 - $date = str_pad( substr( $now, 0, 8 ), 14, '0' );
259 - if( count($this->dims) == 0 )
260 - return false;
261 - $ratings = $this->flattenRatings( $this->dims );
262 - # Make sure revision is valid!
263 - $rev = Revision::newFromId( $this->oldid );
264 - if( !$rev || !$rev->getTitle()->equals( $this->page ) ) {
265 - return false; // opps!
266 - }
267 - $ip = wfGetIP();
268 - if( !$wgUser->getId() && !$ip ) {
269 - return false; // we need to keep track somehow
270 - }
271 - $article = new Article( $this->page );
272 - # Check if user already voted before...
273 - if( self::userAlreadyVoted( $this->page, $this->oldid ) ) {
274 - return false;
275 - }
276 - # Update review records to limit double voting!
277 - $insertRow = array(
278 - 'rfb_rev_id' => $this->oldid,
279 - 'rfb_user' => $wgUser->getId(),
280 - 'rfb_ip' => $ip,
281 - 'rfb_timestamp' => $dbw->timestamp( $now ),
282 - 'rfb_ratings' => $ratings
283 - );
284 - # Make sure initial page data is there to begin with...
285 - $insertRows = array();
286 - foreach( $this->dims as $tag => $val ) {
287 - if( $val < 0 ); // don't store "unsure" votes
288 - $insertRows[] = array(
289 - 'rfh_page_id' => $rev->getPage(),
290 - 'rfh_tag' => $tag,
291 - 'rfh_total' => 0,
292 - 'rfh_count' => 0,
293 - 'rfh_date' => $date
294 - );
295 - }
296 - $dbw->insert( 'reader_feedback', $insertRow, __METHOD__, 'IGNORE' );
297 - $dbw->insert( 'reader_feedback_history', $insertRows, __METHOD__, 'IGNORE' );
298 - # Update aggregate data for this page over time...
299 - $touched = $dbw->timestamp( $now );
300 - $overall = 0;
301 - $insertRows = array();
302 - foreach( $this->dims as $tag => $val ) {
303 - if( $val < 0 ) continue; // don't store "unsure" votes
304 - # Update daily averages
305 - $dbw->update( 'reader_feedback_history',
306 - array( 'rfh_total = rfh_total + '.intval($val),
307 - 'rfh_count = rfh_count + 1'),
308 - array( 'rfh_page_id' => $rev->getPage(),
309 - 'rfh_tag' => $tag,
310 - 'rfh_date' => $date ),
311 - __METHOD__
312 - );
313 - # Get effective tag values for this page..
314 - list($aveVal,$n) = FlaggedRevs::getAverageRating( $article, $tag, true );
315 - $insertRows[] = array(
316 - 'rfp_page_id' => $rev->getPage(),
317 - 'rfp_tag' => $tag,
318 - 'rfp_ave_val' => $aveVal,
319 - 'rfp_count' => $n,
320 - 'rfp_touched' => $touched
321 - );
322 - }
323 - # Update recent averages
324 - $dbw->replace( 'reader_feedback_pages', array( 'PRIMARY' ), $insertRows, __METHOD__ );
325 - # Clear out any dead data
326 - $dbw->delete( 'reader_feedback_pages', array('rfp_page_id' => $rev->getPage(),
327 - 'rfp_tag' => 'overall'), __METHOD__ );
328 - # For logged in users, box should disappear
329 - if( $wgUser->getId() ) {
330 - $this->page->invalidateCache();
331 - }
332 - return true;
333 - }
334 -}
Index: trunk/extensions/FlaggedRevs/FlaggedRevsXML.php
@@ -107,21 +107,6 @@
108108 }
109109
110110 /**
111 - * Get tag dropdown select
112 - * @param int $selected, selected level
113 - */
114 - public static function getTagMenu( $selected = '' ) {
115 - wfLoadExtensionMessages( 'FlaggedRevs' );
116 - $s = "<label for='wpRatingTag'>" . wfMsgHtml('revreview-tagfilter') . "</label>&nbsp;";
117 - $s .= Xml::openElement( 'select', array('name' => 'ratingtag', 'id' => 'wpRatingTag') );
118 - foreach( FlaggedRevs::getFeedbackTags() as $tag => $weight ) {
119 - $s .= Xml::option( wfMsg( "readerfeedback-$tag" ), $tag, $selected===$tag );
120 - }
121 - $s .= Xml::closeElement('select')."\n";
122 - return $s;
123 - }
124 -
125 - /**
126111 * @param int $quality
127112 * @return string, css color for this quality
128113 */
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
@@ -13,7 +13,7 @@
1414 }
1515 $fa = FlaggedArticle::getGlobalInstance();
1616 # Try to only add to relevant pages
17 - if( !$fa || (!$fa->isReviewable(true) && !$fa->isRateable() ) ) {
 17+ if( !$fa || !$fa->isReviewable(true) ) {
1818 return true;
1919 }
2020 global $wgScriptPath, $wgJsMimeType, $wgFlaggedRevsStylePath, $wgFlaggedRevStyleVersion;
@@ -22,7 +22,6 @@
2323
2424 $stylePath = str_replace( '$wgScriptPath', $wgScriptPath, $wgFlaggedRevsStylePath );
2525 $rTags = FlaggedRevs::getJSTagParams();
26 - $fTags = FlaggedRevs::getJSFeedbackParams();
2726 $frev = $fa->getStableRev();
2827 $stableId = $frev ? $frev->getRevId() : 0;
2928
@@ -31,11 +30,6 @@
3231
3332 $wgOut->addExtensionStyle( $encCssFile );
3433
35 - $ajaxFeedback = Xml::encodeJsVar( (object) array(
36 - 'sendingMsg' => wfMsgHtml('readerfeedback-submitting'),
37 - 'sentMsg' => wfMsgHtml('readerfeedback-finished')
38 - )
39 - );
4034 $ajaxReview = Xml::encodeJsVar( (object) array(
4135 'sendingMsg' => wfMsgHtml('revreview-submitting'),
4236 'sentMsgOK' => wfMsgHtml('revreview-finished'),
@@ -48,9 +42,7 @@
4943 $head = <<<EOT
5044 <script type="$wgJsMimeType">
5145 var wgFlaggedRevsParams = $rTags;
52 -var wgFlaggedRevsParams2 = $fTags;
5346 var wgStableRevisionId = $stableId;
54 -var wgAjaxFeedback = $ajaxFeedback
5547 var wgAjaxReview = $ajaxReview
5648 </script>
5749 <script type="$wgJsMimeType" src="$encJsFile"></script>
@@ -69,7 +61,7 @@
7062 return true;
7163 }
7264 $spPages = array( 'UnreviewedPages', 'OldReviewedPages', 'Watchlist', 'Recentchanges',
73 - 'Contributions', 'RatingHistory' );
 65+ 'Contributions' );
7466 foreach( $spPages as $n => $key ) {
7567 if( $wgTitle->isSpecial( $key ) ) {
7668 global $wgScriptPath, $wgFlaggedRevsStylePath, $wgFlaggedRevStyleVersion;
@@ -1410,32 +1402,7 @@
14111403 $flaggedArticle->setPageContent( $outputDone, $pcache );
14121404 return true;
14131405 }
1414 -
1415 - public static function addRatingLink( &$skintemplate, &$nav_urls, &$oldid, &$revid ) {
1416 - $fa = FlaggedArticle::getTitleInstance( $skintemplate->mTitle );
1417 - # Add rating tab
1418 - if( $fa->isRateable() ) {
1419 - wfLoadExtensionMessages( 'RatingHistory' );
1420 - $nav_urls['ratinghist'] = array(
1421 - 'text' => wfMsg( 'ratinghistory-link' ),
1422 - 'href' => $skintemplate->makeSpecialUrl( 'RatingHistory',
1423 - "target=" . wfUrlencode( "{$skintemplate->thispage}" ) )
1424 - );
1425 - }
1426 - return true;
1427 - }
14281406
1429 - public static function ratingToolboxLink( &$skin ) {
1430 - if( isset( $skin->data['nav_urls']['ratinghist'] ) ) {
1431 - ?><li id="t-rating"><?php
1432 - ?><a href="<?php echo htmlspecialchars( $skin->data['nav_urls']['ratinghist']['href'] ) ?>"><?php
1433 - echo $skin->msg( 'ratinghistory-link' );
1434 - ?></a><?php
1435 - ?></li><?php
1436 - }
1437 - return true;
1438 - }
1439 -
14401407 public static function overrideRedirect( &$title, $request, &$ignoreRedirect, &$target, &$article ) {
14411408 # Get an instance on the title ($wgTitle)
14421409 if( !FlaggedRevs::isPageReviewable($title) ) {
@@ -1484,7 +1451,6 @@
14851452 if( $wgOut->isArticleRelated() && ($fa = FlaggedArticle::getGlobalInstance()) ) {
14861453 $fa->addReviewNotes( $data );
14871454 $fa->addReviewForm( $data );
1488 - $fa->addFeedbackForm( $data );
14891455 $fa->addVisibilityLink( $data );
14901456 }
14911457 return true;
@@ -1726,9 +1692,6 @@
17271693 $tables[] = 'flaggedtemplates';
17281694 $tables[] = 'flaggedimages';
17291695 $tables[] = 'flaggedrevs_promote';
1730 - $tables[] = 'reader_feedback';
1731 - $tables[] = 'reader_feedback_history';
1732 - $tables[] = 'reader_feedback_pages';
17331696 $tables[] = 'flaggedrevs_tracking';
17341697 return true;
17351698 }
Index: trunk/extensions/FlaggedRevs/flaggedrevs.js
@@ -91,146 +91,15 @@
9292 }
9393 }
9494
95 -/*
96 -* Update colors when select changes (Opera already does this).
97 -*/
98 -function updateFeedbackForm() {
99 - var allzero = true;
100 - var ratingform = document.getElementById('mw-feedbackselects');
101 - if( !ratingform ) return;
102 - for( tag in wgFlaggedRevsParams2.tags ) {
103 - var controlName = "wp" + tag;
104 - var levels = document.getElementsByName(controlName);
105 - var selectedlevel = 2; // default
106 - if( levels[0].nodeName == 'SELECT' ) {
107 - selectedlevel = levels[0].selectedIndex;
108 - // Update color. Opera does this already, and doing so
109 - // seems to kill custom pretty opera skin form styling.
110 - if( navigator.appName != 'Opera') {
111 - levels[0].className = 'fr-rating-option-' + (4 - selectedlevel);
112 - }
113 - if( selectedlevel <= 4 ) {
114 - allzero = false;
115 - }
116 - }
117 - }
118 - var submit = document.getElementById('submitfeedback');
119 - submit.disabled = allzero ? 'disabled' : '';
120 -}
121 -
12295 addOnloadHook(enable_showhide);
12396 addOnloadHook(updateRatingForm);
124 -addOnloadHook(updateFeedbackForm);
12597
12698 // dependencies:
12799 // * ajax.js:
128100 /*extern sajax_init_object, sajax_do_call */
129101 // * wikibits.js:
130102 /*extern hookEvent, jsMsg */
131 -
132103 // These should have been initialized in the generated js
133 -if( typeof wgAjaxFeedback === "undefined" || !wgAjaxFeedback ) {
134 - wgAjaxFeedback = {
135 - sendingMsg: "Submitting...",
136 - sentMsg: "Thank you!"
137 - };
138 -}
139 -
140 -wgAjaxFeedback.supported = true; // supported on current page and by browser
141 -wgAjaxFeedback.inprogress = false; // ajax request in progress
142 -wgAjaxFeedback.timeoutID = null; // see wgAjaxFeedback.ajaxCall
143 -
144 -wgAjaxFeedback.ajaxCall = function() {
145 - if( !wgAjaxFeedback.supported ) {
146 - return true;
147 - } else if( wgAjaxFeedback.inprogress ) {
148 - return false;
149 - }
150 - if( !wfSupportsAjax() ) {
151 - // Lazy initialization so we don't toss up
152 - // ActiveX warnings on initial page load
153 - // for IE 6 users with security settings.
154 - wgAjaxFeedback.supported = false;
155 - return true;
156 - }
157 - var form = document.getElementById("mw-feedbackform");
158 - var submit = document.getElementById("submitfeedback");
159 - if( !form || !submit ) {
160 - return false;
161 - }
162 - wgAjaxFeedback.inprogress = true;
163 - submit.disabled = "disabled";
164 - submit.value = wgAjaxFeedback.sendingMsg;
165 - // Build up arguments
166 - var args = [];
167 - var inputs = form.getElementsByTagName("input");
168 - for( var i=0; i < inputs.length; i++) {
169 - // Ignore some useless items...
170 - if( inputs[i].name != "title" && inputs[i].type != "submit" ) {
171 - args.push( inputs[i].name + "|" + inputs[i].value );
172 - }
173 - }
174 - var selects = form.getElementsByTagName("select");
175 - for( var i=0; i < selects.length; i++) {
176 - // Get the selected tag level...
177 - if( selects[i].selectedIndex >= 0 ) {
178 - var soption = selects[i].getElementsByTagName("option")[selects[i].selectedIndex];
179 - args.push( selects[i].name + "|" + soption.value );
180 - }
181 - selects[i].disabled = "disabled";
182 - }
183 - // Send!
184 - sajax_do_call( "ReaderFeedback::AjaxReview", args, wgAjaxFeedback.processResult );
185 - // If the request isn't done in 10 seconds, allow user to try again
186 - wgAjaxFeedback.timeoutID = window.setTimeout(
187 - function() { wgAjaxFeedback.inprogress = false; wgAjaxFeedback.unlockForm(); },
188 - 10000
189 - );
190 - return false;
191 -};
192 -
193 -wgAjaxFeedback.unlockForm = function() {
194 - var form = document.getElementById("mw-feedbackform");
195 - var submit = document.getElementById("submitfeedback");
196 - if( !form || !submit ) {
197 - return false;
198 - }
199 - submit.disabled = "";
200 - var selects = form.getElementsByTagName("select");
201 - for( var i=0; i < selects.length; i++) {
202 - selects[i].disabled = "";
203 - }
204 -};
205 -
206 -wgAjaxFeedback.processResult = function(request) {
207 - if( !wgAjaxFeedback.supported ) {
208 - return;
209 - }
210 - var response = request.responseText;
211 - if( msg = response.substr(6) ) {
212 - jsMsg( msg, 'feedback' );
213 - window.scroll(0,0);
214 - }
215 - wgAjaxFeedback.inprogress = false;
216 - if( wgAjaxFeedback.timeoutID ) {
217 - window.clearTimeout(wgAjaxFeedback.timeoutID);
218 - }
219 - var submit = document.getElementById("submitfeedback");
220 - if( submit ) {
221 - submit.value = wgAjaxFeedback.sentMsg;
222 - }
223 -};
224 -
225 -wgAjaxFeedback.onLoad = function() {
226 - var submit = document.getElementById("submitfeedback");
227 - if( submit ) {
228 - submit.onclick = wgAjaxFeedback.ajaxCall;
229 - }
230 -};
231 -
232 -hookEvent("load", wgAjaxFeedback.onLoad);
233 -
234 -// These should have been initialized in the generated js
235104 if( typeof wgAjaxReview === "undefined" || !wgAjaxReview ) {
236105 wgAjaxReview = {
237106 sendingMsg: "Submitting...",
@@ -243,7 +112,7 @@
244113
245114 wgAjaxReview.supported = true; // supported on current page and by browser
246115 wgAjaxReview.inprogress = false; // ajax request in progress
247 -wgAjaxReview.timeoutID = null; // see wgAjaxFeedback.ajaxCall
 116+wgAjaxReview.timeoutID = null; // see wgAjaxReview.ajaxCall
248117
249118 wgAjaxReview.ajaxCall = function() {
250119 if( !wgAjaxReview.supported ) {

Follow-up revisions

RevisionCommit summaryAuthorDate
r53472Follow-up to r53155...siebrand10:35, 19 July 2009

Status & tagging log