Index: trunk/extensions/FlaggedRevs/FlaggedRevs.php |
— | — | @@ -54,10 +54,6 @@ |
55 | 55 | if( !defined('FR_PRISTINE') ) |
56 | 56 | define('FR_PRISTINE',2); |
57 | 57 | |
58 | | -# Number of recent reviews to be a decent sample size |
59 | | -if( !defined('READER_FEEDBACK_SIZE') ) |
60 | | - define('READER_FEEDBACK_SIZE',15); |
61 | | - |
62 | 58 | $wgExtensionCredits['specialpage'][] = array( |
63 | 59 | 'path' => __FILE__, |
64 | 60 | 'name' => 'Flagged Revisions', |
— | — | @@ -251,24 +247,6 @@ |
252 | 248 | # If $wgFlaggedRevsVisible is populated, it is applied to talk pages too |
253 | 249 | $wgFlaggedRevsTalkVisible = true; |
254 | 250 | |
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? |
273 | 251 | $wgFlaggedRevsStatsAge = 2 * 3600; // 2 hours |
274 | 252 | |
275 | 253 | # We may have templates that do not have stable version. Given situational |
— | — | @@ -331,8 +309,6 @@ |
332 | 310 | |
333 | 311 | # Load review UI |
334 | 312 | $wgAutoloadClasses['RevisionReview'] = $dir . 'specialpages/RevisionReview_body.php'; |
335 | | -# Load reader feedback UI |
336 | | -$wgAutoloadClasses['ReaderFeedback'] = $dir . 'specialpages/ReaderFeedback_body.php'; |
337 | 313 | |
338 | 314 | # Load stableversions UI |
339 | 315 | $wgAutoloadClasses['StableVersions'] = $dir . 'specialpages/StableVersions_body.php'; |
— | — | @@ -340,9 +316,6 @@ |
341 | 317 | # Stable version config |
342 | 318 | $wgAutoloadClasses['Stabilization'] = $dir . 'specialpages/Stabilization_body.php'; |
343 | 319 | $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'; |
347 | 320 | # Load unreviewed pages list |
348 | 321 | $wgAutoloadClasses['UnreviewedPages'] = $dir . 'specialpages/UnreviewedPages_body.php'; |
349 | 322 | $wgExtensionMessagesFiles['UnreviewedPages'] = $langDir . 'UnreviewedPages.i18n.php'; |
— | — | @@ -371,14 +344,6 @@ |
372 | 345 | $wgAutoloadClasses['QualityOversight'] = $dir . 'specialpages/QualityOversight_body.php'; |
373 | 346 | $wgExtensionMessagesFiles['QualityOversight'] = $langDir . 'QualityOversight.i18n.php'; |
374 | 347 | $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'; |
383 | 348 | # Statistics |
384 | 349 | $wgAutoloadClasses['ValidationStatistics'] = $dir . 'specialpages/ValidationStatistics_body.php'; |
385 | 350 | $wgExtensionMessagesFiles['ValidationStatistics'] = $langDir . 'ValidationStatistics.i18n.php'; |
— | — | @@ -432,9 +397,6 @@ |
433 | 398 | $wgHooks['UserRights'][] = 'FlaggedRevsHooks::recordDemote'; |
434 | 399 | # Local user account preference |
435 | 400 | $wgHooks['GetPreferences'][] = 'FlaggedRevsHooks::onGetPreferences'; |
436 | | -# Rating link |
437 | | -$wgHooks['SkinTemplateBuildNavUrlsNav_urlsAfterPermalink'][] = 'FlaggedRevsHooks::addRatingLink'; |
438 | | -$wgHooks['SkinTemplateToolboxEnd'][] = 'FlaggedRevsHooks::ratingToolboxLink'; |
439 | 401 | # Show unreviewed pages links |
440 | 402 | $wgHooks['CategoryPageView'][] = 'FlaggedRevsHooks::onCategoryPageView'; |
441 | 403 | # Backlog notice |
— | — | @@ -531,7 +493,7 @@ |
532 | 494 | * Also sets $wgSpecialPages just to be consistent. |
533 | 495 | */ |
534 | 496 | function efLoadFlaggedRevsSpecialPages( &$list ) { |
535 | | - global $wgSpecialPages, $wgFlaggedRevsNamespaces, $wgFeedbackNamespaces; |
| 497 | + global $wgSpecialPages, $wgFlaggedRevsNamespaces; |
536 | 498 | if( !empty($wgFlaggedRevsNamespaces) ) { |
537 | 499 | $list['RevisionReview'] = $wgSpecialPages['RevisionReview'] = 'RevisionReview'; |
538 | 500 | $list['StableVersions'] = $wgSpecialPages['StableVersions'] = 'StableVersions'; |
— | — | @@ -545,12 +507,6 @@ |
546 | 508 | $list['QualityOversight'] = $wgSpecialPages['QualityOversight'] = 'QualityOversight'; |
547 | 509 | $list['ValidationStatistics'] = $wgSpecialPages['ValidationStatistics'] = 'ValidationStatistics'; |
548 | 510 | } |
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 | | - } |
555 | 511 | return true; |
556 | 512 | } |
557 | 513 | |
— | — | @@ -577,7 +533,6 @@ |
578 | 534 | $wgLogActions['stable/reset'] = 'stable-logentry2'; |
579 | 535 | |
580 | 536 | # AJAX functions |
581 | | -$wgAjaxExportList[] = 'ReaderFeedback::AjaxReview'; |
582 | 537 | $wgAjaxExportList[] = 'RevisionReview::AjaxReview'; |
583 | 538 | |
584 | 539 | // Defaults for prefs |
— | — | @@ -611,11 +566,8 @@ |
612 | 567 | $wgExtNewTables[] = array( 'flaggedrevs_promote', "$base/archives/patch-flaggedrevs_promote.sql" ); |
613 | 568 | $wgExtNewTables[] = array( 'flaggedpages', "$base/archives/patch-flaggedpages.sql" ); |
614 | 569 | $wgExtNewFields[] = array( 'flaggedrevs', 'fr_img_name', "$base/archives/patch-fr_img_name.sql" ); |
615 | | - $wgExtNewTables[] = array( 'reader_feedback', "$base/archives/patch-reader_feedback.sql" ); |
616 | 570 | $wgExtNewTables[] = array( 'flaggedrevs_tracking', "$base/archives/patch-flaggedrevs_tracking.sql" ); |
617 | 571 | $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" ); |
620 | 572 | $wgExtNewFields[] = array( 'flaggedpage_config', 'fpc_level', "$base/archives/patch-fpc_level.sql" ); |
621 | 573 | $wgExtNewTables[] = array( 'flaggedpage_pending', "$base/archives/patch-flaggedpage_pending.sql" ); |
622 | 574 | } elseif( $wgDBtype == 'postgres' ) { |
— | — | @@ -625,7 +577,6 @@ |
626 | 578 | $wgExtNewTables[] = array( 'flaggedrevs_promote', "$base/postgres/patch-flaggedrevs_promote.sql" ); |
627 | 579 | $wgExtNewTables[] = array( 'flaggedpages', "$base/postgres/patch-flaggedpages.sql" ); |
628 | 580 | $wgExtNewIndexes[] = array('flaggedrevs', 'key_timestamp', "$base/postgres/patch-fr_img_name.sql" ); |
629 | | - $wgExtNewTables[] = array( 'reader_feedback', "$base/postgres/patch-reader_feedback.sql" ); |
630 | 581 | $wgExtNewTables[] = array( 'flaggedrevs_tracking', "$base/postgres/patch-flaggedrevs_tracking.sql" ); |
631 | 582 | $wgExtNewIndexes[] = array('flaggedpages', 'fp_pending_since', "$base/postgres/patch-fp_pending_since.sql" ); |
632 | 583 | $wgExtPGNewFields[] = array('flaggedpage_config', 'fpc_level', "TEXT NULL" ); |
Index: trunk/extensions/FlaggedRevs/flaggedrevs.css |
— | — | @@ -345,34 +345,3 @@ |
346 | 346 | .fr-hiddenform { |
347 | 347 | display: none; |
348 | 348 | } |
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 @@ |
193 | 193 | } |
194 | 194 | return false; |
195 | 195 | } |
196 | | - |
197 | | - /** |
198 | | - * Is this article rateable? |
199 | | - */ |
200 | | - public function isRateable() { |
201 | | - return FlaggedRevs::isPageRateable( $this->parent->getTitle() ); |
202 | | - } |
203 | 196 | |
204 | 197 | /** |
205 | 198 | * Output review notice |
— | — | @@ -828,36 +821,7 @@ |
829 | 822 | return true; |
830 | 823 | } |
831 | 824 | |
832 | | - |
833 | 825 | /** |
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 | | - /** |
862 | 826 | * Add link to stable version setting to protection form |
863 | 827 | */ |
864 | 828 | public function addVisibilityLink( &$data ) { |
— | — | @@ -1631,73 +1595,6 @@ |
1632 | 1596 | return true; |
1633 | 1597 | } |
1634 | 1598 | |
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 .= ' ' . 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 | | - |
1702 | 1599 | /** |
1703 | 1600 | * Updates parser cache output to included needed versioning params. |
1704 | 1601 | */ |
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.class.php |
— | — | @@ -5,15 +5,13 @@ |
6 | 6 | protected static $minSL = array(); |
7 | 7 | protected static $minQL = array(); |
8 | 8 | protected static $minPL = array(); |
9 | | - protected static $feedbackTags = array(); |
10 | | - protected static $feedbackTagWeight = array(); |
11 | 9 | protected static $loaded = false; |
12 | 10 | protected static $qualityVersions = false; |
13 | 11 | protected static $pristineVersions = false; |
14 | 12 | protected static $includeVersionCache = array(); |
15 | 13 | |
16 | 14 | public static function load() { |
17 | | - global $wgFlaggedRevTags, $wgFlaggedRevsFeedbackTags; |
| 15 | + global $wgFlaggedRevTags; |
18 | 16 | if( self::$loaded ) return true; |
19 | 17 | # Assume true, then set to false if needed |
20 | 18 | if( !empty($wgFlaggedRevTags) ) { |
— | — | @@ -58,17 +56,6 @@ |
59 | 57 | self::$minPL[$tag] = max($minPL,1); |
60 | 58 | self::$minSL[$tag] = 1; |
61 | 59 | } |
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 | | - } |
73 | 60 | self::$loaded = true; |
74 | 61 | } |
75 | 62 | |
— | — | @@ -184,25 +171,6 @@ |
185 | 172 | } |
186 | 173 | |
187 | 174 | /** |
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 | | - /** |
207 | 175 | * Get the message name for a tag |
208 | 176 | * @param string $tag |
209 | 177 | * @returns string |
— | — | @@ -759,26 +727,6 @@ |
760 | 728 | return $count; |
761 | 729 | } |
762 | 730 | |
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 | | - |
783 | 731 | /** |
784 | 732 | * @param Article $article |
785 | 733 | * @param Revision $rev, the new stable version |
— | — | @@ -1114,22 +1062,6 @@ |
1115 | 1063 | } |
1116 | 1064 | |
1117 | 1065 | /** |
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 | | - /** |
1134 | 1066 | * Is this page in patrolable namespace? |
1135 | 1067 | * @param Title, $title |
1136 | 1068 | * @return bool |
— | — | @@ -1174,7 +1106,7 @@ |
1175 | 1107 | } |
1176 | 1108 | return array($link,$css); |
1177 | 1109 | } |
1178 | | - |
| 1110 | + |
1179 | 1111 | /** |
1180 | 1112 | * Get params for a user |
1181 | 1113 | * @param int $uid |
— | — | @@ -1223,136 +1155,7 @@ |
1224 | 1156 | ); |
1225 | 1157 | return ( $dbw->affectedRows() > 0 ); |
1226 | 1158 | } |
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> '. |
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 | + |
1357 | 1160 | ################# Auto-review function ################# |
1358 | 1161 | |
1359 | 1162 | /** |
— | — | @@ -1484,17 +1287,6 @@ |
1485 | 1288 | } |
1486 | 1289 | |
1487 | 1290 | /** |
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 | | - /** |
1499 | 1291 | * Get template and image parameters from parser output |
1500 | 1292 | * @param Article $article |
1501 | 1293 | * @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 @@ |
183 | 183 | 'stable-logpagetext' => 'This is a log of changes to the [[{{MediaWiki:Validationpage}}|stable version]] configuration of content pages. |
184 | 184 | A list of stabilized pages can be found at the [[Special:StablePages|stable page list]].', |
185 | 185 | |
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 | | - |
206 | 186 | 'revreview-filter-all' => 'all', |
207 | 187 | 'revreview-filter-stable' => 'stable', |
208 | 188 | 'revreview-filter-approved' => 'Approved', |
— | — | @@ -211,7 +191,6 @@ |
212 | 192 | 'revreview-filter-manual' => 'Manual', |
213 | 193 | 'revreview-statusfilter' => 'Status change:', |
214 | 194 | 'revreview-typefilter' => 'Type:', |
215 | | - 'revreview-tagfilter' => 'Tag:', |
216 | 195 | 'revreview-levelfilter' => 'Level:', |
217 | 196 | |
218 | 197 | 'revreview-lev-sighted' => 'sighted', |
— | — | @@ -223,7 +202,6 @@ |
224 | 203 | 'tooltip-ca-current' => 'View the current draft of this page', |
225 | 204 | 'tooltip-ca-stable' => 'View the stable version of this page', |
226 | 205 | 'tooltip-ca-default' => 'Quality assurance settings', |
227 | | - 'tooltip-ca-ratinghist' => 'Reader ratings of this page', |
228 | 206 | |
229 | 207 | 'revreview-locked-title' => 'Edits must be reviewed before being displayed on this page.', |
230 | 208 | 'revreview-unlocked-title' => 'Edits do not require review before being displayed on this page.', |
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.sql |
— | — | @@ -138,42 +138,3 @@ |
139 | 139 | PRIMARY KEY (frp_user_id) |
140 | 140 | ) /*$wgDBTableOptions*/; |
141 | 141 | |
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 @@ |
82 | 82 | frp_user_params TEXT NOT NULL default '' |
83 | 83 | ); |
84 | 84 | |
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 | | - |
112 | 85 | 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> "; |
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§ion=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§ion=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 @@ |
108 | 108 | } |
109 | 109 | |
110 | 110 | /** |
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> "; |
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 | | - /** |
126 | 111 | * @param int $quality |
127 | 112 | * @return string, css color for this quality |
128 | 113 | */ |
Index: trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php |
— | — | @@ -13,7 +13,7 @@ |
14 | 14 | } |
15 | 15 | $fa = FlaggedArticle::getGlobalInstance(); |
16 | 16 | # Try to only add to relevant pages |
17 | | - if( !$fa || (!$fa->isReviewable(true) && !$fa->isRateable() ) ) { |
| 17 | + if( !$fa || !$fa->isReviewable(true) ) { |
18 | 18 | return true; |
19 | 19 | } |
20 | 20 | global $wgScriptPath, $wgJsMimeType, $wgFlaggedRevsStylePath, $wgFlaggedRevStyleVersion; |
— | — | @@ -22,7 +22,6 @@ |
23 | 23 | |
24 | 24 | $stylePath = str_replace( '$wgScriptPath', $wgScriptPath, $wgFlaggedRevsStylePath ); |
25 | 25 | $rTags = FlaggedRevs::getJSTagParams(); |
26 | | - $fTags = FlaggedRevs::getJSFeedbackParams(); |
27 | 26 | $frev = $fa->getStableRev(); |
28 | 27 | $stableId = $frev ? $frev->getRevId() : 0; |
29 | 28 | |
— | — | @@ -31,11 +30,6 @@ |
32 | 31 | |
33 | 32 | $wgOut->addExtensionStyle( $encCssFile ); |
34 | 33 | |
35 | | - $ajaxFeedback = Xml::encodeJsVar( (object) array( |
36 | | - 'sendingMsg' => wfMsgHtml('readerfeedback-submitting'), |
37 | | - 'sentMsg' => wfMsgHtml('readerfeedback-finished') |
38 | | - ) |
39 | | - ); |
40 | 34 | $ajaxReview = Xml::encodeJsVar( (object) array( |
41 | 35 | 'sendingMsg' => wfMsgHtml('revreview-submitting'), |
42 | 36 | 'sentMsgOK' => wfMsgHtml('revreview-finished'), |
— | — | @@ -48,9 +42,7 @@ |
49 | 43 | $head = <<<EOT |
50 | 44 | <script type="$wgJsMimeType"> |
51 | 45 | var wgFlaggedRevsParams = $rTags; |
52 | | -var wgFlaggedRevsParams2 = $fTags; |
53 | 46 | var wgStableRevisionId = $stableId; |
54 | | -var wgAjaxFeedback = $ajaxFeedback |
55 | 47 | var wgAjaxReview = $ajaxReview |
56 | 48 | </script> |
57 | 49 | <script type="$wgJsMimeType" src="$encJsFile"></script> |
— | — | @@ -69,7 +61,7 @@ |
70 | 62 | return true; |
71 | 63 | } |
72 | 64 | $spPages = array( 'UnreviewedPages', 'OldReviewedPages', 'Watchlist', 'Recentchanges', |
73 | | - 'Contributions', 'RatingHistory' ); |
| 65 | + 'Contributions' ); |
74 | 66 | foreach( $spPages as $n => $key ) { |
75 | 67 | if( $wgTitle->isSpecial( $key ) ) { |
76 | 68 | global $wgScriptPath, $wgFlaggedRevsStylePath, $wgFlaggedRevStyleVersion; |
— | — | @@ -1410,32 +1402,7 @@ |
1411 | 1403 | $flaggedArticle->setPageContent( $outputDone, $pcache ); |
1412 | 1404 | return true; |
1413 | 1405 | } |
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 | | - } |
1428 | 1406 | |
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 | | - |
1440 | 1407 | public static function overrideRedirect( &$title, $request, &$ignoreRedirect, &$target, &$article ) { |
1441 | 1408 | # Get an instance on the title ($wgTitle) |
1442 | 1409 | if( !FlaggedRevs::isPageReviewable($title) ) { |
— | — | @@ -1484,7 +1451,6 @@ |
1485 | 1452 | if( $wgOut->isArticleRelated() && ($fa = FlaggedArticle::getGlobalInstance()) ) { |
1486 | 1453 | $fa->addReviewNotes( $data ); |
1487 | 1454 | $fa->addReviewForm( $data ); |
1488 | | - $fa->addFeedbackForm( $data ); |
1489 | 1455 | $fa->addVisibilityLink( $data ); |
1490 | 1456 | } |
1491 | 1457 | return true; |
— | — | @@ -1726,9 +1692,6 @@ |
1727 | 1693 | $tables[] = 'flaggedtemplates'; |
1728 | 1694 | $tables[] = 'flaggedimages'; |
1729 | 1695 | $tables[] = 'flaggedrevs_promote'; |
1730 | | - $tables[] = 'reader_feedback'; |
1731 | | - $tables[] = 'reader_feedback_history'; |
1732 | | - $tables[] = 'reader_feedback_pages'; |
1733 | 1696 | $tables[] = 'flaggedrevs_tracking'; |
1734 | 1697 | return true; |
1735 | 1698 | } |
Index: trunk/extensions/FlaggedRevs/flaggedrevs.js |
— | — | @@ -91,146 +91,15 @@ |
92 | 92 | } |
93 | 93 | } |
94 | 94 | |
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 | | - |
122 | 95 | addOnloadHook(enable_showhide); |
123 | 96 | addOnloadHook(updateRatingForm); |
124 | | -addOnloadHook(updateFeedbackForm); |
125 | 97 | |
126 | 98 | // dependencies: |
127 | 99 | // * ajax.js: |
128 | 100 | /*extern sajax_init_object, sajax_do_call */ |
129 | 101 | // * wikibits.js: |
130 | 102 | /*extern hookEvent, jsMsg */ |
131 | | - |
132 | 103 | // 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 |
235 | 104 | if( typeof wgAjaxReview === "undefined" || !wgAjaxReview ) { |
236 | 105 | wgAjaxReview = { |
237 | 106 | sendingMsg: "Submitting...", |
— | — | @@ -243,7 +112,7 @@ |
244 | 113 | |
245 | 114 | wgAjaxReview.supported = true; // supported on current page and by browser |
246 | 115 | wgAjaxReview.inprogress = false; // ajax request in progress |
247 | | -wgAjaxReview.timeoutID = null; // see wgAjaxFeedback.ajaxCall |
| 116 | +wgAjaxReview.timeoutID = null; // see wgAjaxReview.ajaxCall |
248 | 117 | |
249 | 118 | wgAjaxReview.ajaxCall = function() { |
250 | 119 | if( !wgAjaxReview.supported ) { |