r56453 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r56452‎ | r56453 | r56454 >
Date:22:11, 16 September 2009
Author:aaron
Status:deferred
Tags:
Comment:
Merged ReaderFeedback updates, including fatal fix for NS selector
Modified paths:
  • /branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.class.php (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.php (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.sql (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedbackXML.php (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/language/LikedPages.i18n.php (deleted) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/language/ProblemPages.i18n.php (deleted) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/language/RatedPages.i18n.php (added) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/language/RatingHistory.i18n.php (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/language/ReaderFeedback.i18n.php (modified) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/specialpages/LikedPages_body.php (deleted) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/specialpages/ProblemPages_body.php (deleted) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/specialpages/RatedPages_body.php (added) (history)
  • /branches/wmf-deployment/extensions/ReaderFeedback/specialpages/ReaderFeedback_body.php (modified) (history)

Diff [purge]

Index: branches/wmf-deployment/extensions/ReaderFeedback/specialpages/ProblemPages_body.php
@@ -1,153 +0,0 @@
2 -<?php
3 -if ( !defined( 'MEDIAWIKI' ) ) {
4 - echo "ReaderFeedback extension\n";
5 - exit( 1 );
6 -}
7 -
8 -class ProblemPages extends SpecialPage
9 -{
10 - public function __construct() {
11 - SpecialPage::SpecialPage( 'ProblemPages' );
12 - wfLoadExtensionMessages( 'ProblemPages' );
13 - wfLoadExtensionMessages( 'ReaderFeedback' );
14 - }
15 -
16 - public function execute( $par ) {
17 - global $wgRequest, $wgOut, $wgUser;
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 - # Check if there is a featured level
34 - $this->namespace = $wgRequest->getInt( 'namespace' );
35 - $this->tag = $wgRequest->getVal( 'ratingtag' );
36 - $this->showForm();
37 - $this->showPageList();
38 - }
39 -
40 - protected function showForm() {
41 - global $wgOut, $wgScript, $wgFeedbackNamespaces;
42 - $form = Xml::openElement( 'form',
43 - array( 'name' => 'reviewedpages', 'action' => $wgScript, 'method' => 'get' ) );
44 - $form .= "<fieldset><legend>".wfMsgHtml('problempages-leg')."</legend>\n";
45 - $form .= Xml::hidden( 'title', $this->getTitle()->getPrefixedDBKey() );
46 - if( count($wgFeedbackNamespaces) > 1 ) {
47 - $form .= ReaderFeedbackXML::getNamespaceMenu( $this->namespace ) . '&nbsp;';
48 - }
49 - if( count( ReaderFeedback::getFeedbackTags() ) > 0 ) {
50 - $form .= ReaderFeedbackXML::getTagMenu( $this->tag );
51 - }
52 - $form .= " ".Xml::submitButton( wfMsg( 'go' ) );
53 - $form .= "</fieldset></form>\n";
54 - $wgOut->addHTML( $form );
55 - }
56 -
57 - protected function showPageList() {
58 - global $wgOut;
59 - $tags = ReaderFeedback::getFeedbackTags();
60 - $pager = new ProblemPagesPager( $this, array(), $this->namespace, $this->tag );
61 - if( isset($tags[$this->tag]) && $pager->getNumRows() ) {
62 - $wgOut->addHTML( wfMsgExt('problempages-list', array('parse') ) );
63 - $wgOut->addHTML( $pager->getNavigationBar() );
64 - $wgOut->addHTML( $pager->getBody() );
65 - $wgOut->addHTML( $pager->getNavigationBar() );
66 - } elseif( $this->tag ) { // must select first...
67 - $wgOut->addHTML( wfMsgExt('problempages-none', array('parse') ) );
68 - }
69 - }
70 -
71 - public function formatRow( $row ) {
72 - global $wgLang;
73 - $title = Title::makeTitle( $row->page_namespace, $row->page_title );
74 - $link = $this->skin->makeKnownLinkObj( $title, $title->getPrefixedText() );
75 - $hist = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' );
76 - $stxt = '';
77 - if( !is_null($size = $row->page_len) ) {
78 - if($size == 0)
79 - $stxt = ' <small>' . wfMsgHtml('historyempty') . '</small>';
80 - else
81 - $stxt = ' <small>' . wfMsgExt('historysize', array('parsemag'),
82 - $wgLang->formatNum( $size ) ) . '</small>';
83 - }
84 - $ratinghist = SpecialPage::getTitleFor( 'RatingHistory' );
85 - $graph = $this->skin->makeKnownLinkObj( $ratinghist, wfMsg('problempages-graphs'),
86 - 'target='.$title->getPrefixedUrl() );
87 - return "<li>$link $stxt ($hist) ($graph)</li>";
88 - }
89 -}
90 -
91 -/**
92 - * Query to list out problematic pages
93 - */
94 -class ProblemPagesPager extends AlphabeticPager {
95 - public $mForm, $mConds, $namespace, $tag;
96 -
97 - function __construct( $form, $conds = array(), $namespace=0, $tag ) {
98 - $this->mForm = $form;
99 - $this->mConds = $conds;
100 - # Must be a content page...
101 - global $wgFeedbackNamespaces;
102 - if( !is_null($namespace) ) {
103 - $namespace = intval($namespace);
104 - }
105 - if( is_null($namespace) || !in_array($namespace,$wgFeedbackNamespaces) ) {
106 - $namespace = empty($wgFeedbackNamespaces) ? -1 : $wgFeedbackNamespaces[0];
107 - }
108 - $this->namespace = $namespace;
109 - $this->tag = $tag;
110 - parent::__construct();
111 - }
112 -
113 - function formatRow( $row ) {
114 - return $this->mForm->formatRow( $row );
115 - }
116 -
117 - function getQueryInfo() {
118 - $conds = $this->mConds;
119 - $conds[] = 'rfp_page_id = page_id';
120 - $conds['rfp_tag'] = $this->tag;
121 - $conds['page_namespace'] = $this->namespace;
122 - // Has to be bad enough
123 - $x = 2;
124 - $conds[] = "rfp_ave_val < $x";
125 - // Reasonable sample
126 - $conds[] = 'rfp_count >= '.READER_FEEDBACK_SIZE;
127 - return array(
128 - 'tables' => array('reader_feedback_pages','page'),
129 - 'fields' => 'page_namespace,page_title,page_len,rfp_ave_val',
130 - 'conds' => $conds,
131 - 'options' => array( 'USE INDEX' => array('reader_feedback_pages' => 'rfp_tag_val_page') )
132 - );
133 - }
134 -
135 - function getIndexField() {
136 - return 'rfp_ave_val';
137 - }
138 -
139 - function getStartBody() {
140 - wfProfileIn( __METHOD__ );
141 - # Do a link batch query
142 - $lb = new LinkBatch();
143 - while( $row = $this->mResult->fetchObject() ) {
144 - $lb->add( $row->page_namespace, $row->page_title );
145 - }
146 - $lb->execute();
147 - wfProfileOut( __METHOD__ );
148 - return '<ul>';
149 - }
150 -
151 - function getEndBody() {
152 - return '</ul>';
153 - }
154 -}
Index: branches/wmf-deployment/extensions/ReaderFeedback/specialpages/LikedPages_body.php
@@ -1,157 +0,0 @@
2 -<?php
3 -if ( !defined( 'MEDIAWIKI' ) ) {
4 - echo "ReaderFeedback extension\n";
5 - exit( 1 );
6 -}
7 -
8 -class LikedPages extends SpecialPage
9 -{
10 - public function __construct() {
11 - SpecialPage::SpecialPage( 'LikedPages' );
12 - wfLoadExtensionMessages( 'LikedPages' );
13 - wfLoadExtensionMessages( 'ReaderFeedback' );
14 - }
15 -
16 - public function execute( $par ) {
17 - global $wgRequest, $wgOut, $wgUser;
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 - # Check if there is a featured level
34 - $this->namespace = $wgRequest->getInt( 'namespace' );
35 - $this->tag = $wgRequest->getVal( 'ratingtag' );
36 - $this->showForm();
37 - $this->showPageList();
38 - }
39 -
40 - protected function showForm() {
41 - global $wgOut, $wgTitle, $wgScript, $wgFeedbackNamespaces;
42 - $form = Xml::openElement( 'form',
43 - array( 'name' => 'reviewedpages', 'action' => $wgScript, 'method' => 'get' ) );
44 - $form .= "<fieldset><legend>".wfMsgHtml('likedpages-leg')."</legend>\n";
45 - $form .= Xml::hidden( 'title', $wgTitle->getPrefixedDBKey() );
46 - if( count($wgFeedbackNamespaces) > 1 ) {
47 - $form .= ReaderFeedbackXML::getNamespaceMenu( $this->namespace ) . '&nbsp;';
48 - }
49 - if( count( ReaderFeedback::getFeedbackTags() ) > 0 ) {
50 - $form .= ReaderFeedbackXML::getTagMenu( $this->tag );
51 - }
52 - $form .= " ".Xml::submitButton( wfMsg( 'go' ) );
53 - $form .= "</fieldset></form>\n";
54 - $wgOut->addHTML( $form );
55 - }
56 -
57 - protected function showPageList() {
58 - global $wgOut;
59 - $tags = ReaderFeedback::getFeedbackTags();
60 - $pager = new LikedPagesPager( $this, array(), $this->namespace, $this->tag );
61 - if( isset($tags[$this->tag]) && $pager->getNumRows() ) {
62 - $wgOut->addHTML( wfMsgExt('likedpages-list', array('parse') ) );
63 - $wgOut->addHTML( $pager->getNavigationBar() );
64 - $wgOut->addHTML( $pager->getBody() );
65 - $wgOut->addHTML( $pager->getNavigationBar() );
66 - } elseif( $this->tag ) { // must select first...
67 - $wgOut->addHTML( wfMsgExt('likedpages-none', array('parse') ) );
68 - }
69 - }
70 -
71 - public function formatRow( $row ) {
72 - global $wgLang;
73 - $title = Title::makeTitle( $row->page_namespace, $row->page_title );
74 - $link = $this->skin->makeKnownLinkObj( $title, $title->getPrefixedText() );
75 - $hist = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' );
76 - $stxt = '';
77 - if( !is_null($size = $row->page_len) ) {
78 - if( $size == 0 )
79 - $stxt = ' <small>' . wfMsgHtml('historyempty') . '</small>';
80 - else
81 - $stxt = ' <small>' . wfMsgExt('historysize', array('parsemag'),
82 - $wgLang->formatNum( $size ) ) . '</small>';
83 - }
84 - $ratinghist = SpecialPage::getTitleFor( 'RatingHistory' );
85 - $graph = $this->skin->makeKnownLinkObj( $ratinghist, wfMsg('likedpages-graphs'),
86 - 'target='.$title->getPrefixedUrl() );
87 - return "<li>$link $stxt ($hist) ($graph)</li>";
88 - }
89 -}
90 -
91 -/**
92 - * Query to list out well recieved pages
93 - */
94 -class LikedPagesPager extends AlphabeticPager {
95 - public $mForm, $mConds, $namespace, $tag;
96 -
97 - function __construct( $form, $conds = array(), $namespace=0, $tag ) {
98 - $this->mForm = $form;
99 - $this->mConds = $conds;
100 - # Must be a content page...
101 - global $wgFeedbackNamespaces;
102 - if( !is_null($namespace) ) {
103 - $namespace = intval($namespace);
104 - }
105 - if( is_null($namespace) || !in_array($namespace,$wgFeedbackNamespaces) ) {
106 - $namespace = empty($wgFeedbackNamespaces) ? -1 : $wgFeedbackNamespaces[0];
107 - }
108 - $this->namespace = $namespace;
109 - $this->tag = $tag;
110 - parent::__construct();
111 - }
112 -
113 - function formatRow( $row ) {
114 - return $this->mForm->formatRow( $row );
115 - }
116 -
117 - function getQueryInfo() {
118 - $conds = $this->mConds;
119 - $conds[] = 'rfp_page_id = page_id';
120 - $conds['rfp_tag'] = $this->tag;
121 - $conds['page_namespace'] = $this->namespace;
122 - // Has to be good enough
123 - $x = 3.5;
124 - $conds[] = "rfp_ave_val > $x";
125 - // Reasonable sample
126 - $conds[] = 'rfp_count >= '.READER_FEEDBACK_SIZE;
127 - return array(
128 - 'tables' => array('reader_feedback_pages','page'),
129 - 'fields' => 'page_namespace,page_title,page_len,rfp_ave_val',
130 - 'conds' => $conds,
131 - 'options' => array( 'USE INDEX' => array('reader_feedback_pages' => 'rfp_tag_val_page') )
132 - );
133 - }
134 -
135 - function getDefaultDirections() {
136 - return false;
137 - }
138 -
139 - function getIndexField() {
140 - return 'rfp_ave_val';
141 - }
142 -
143 - function getStartBody() {
144 - wfProfileIn( __METHOD__ );
145 - # Do a link batch query
146 - $lb = new LinkBatch();
147 - while( $row = $this->mResult->fetchObject() ) {
148 - $lb->add( $row->page_namespace, $row->page_title );
149 - }
150 - $lb->execute();
151 - wfProfileOut( __METHOD__ );
152 - return '<ul>';
153 - }
154 -
155 - function getEndBody() {
156 - return '</ul>';
157 - }
158 -}
Index: branches/wmf-deployment/extensions/ReaderFeedback/specialpages/RatedPages_body.php
@@ -0,0 +1,160 @@
 2+<?php
 3+if ( !defined( 'MEDIAWIKI' ) ) {
 4+ echo "ReaderFeedback extension\n";
 5+ exit( 1 );
 6+}
 7+
 8+class RatedPages extends SpecialPage
 9+{
 10+ public function __construct() {
 11+ parent::__construct( 'RatedPages' );
 12+ wfLoadExtensionMessages( 'RatedPages' );
 13+ wfLoadExtensionMessages( 'ReaderFeedback' );
 14+ }
 15+
 16+ public function execute( $par ) {
 17+ global $wgRequest, $wgOut, $wgUser;
 18+ $this->setHeaders();
 19+ if( $wgUser->isAllowed( 'feedback' ) ) {
 20+ if( $wgUser->isBlocked() ) {
 21+ return $wgOut->blockedPage();
 22+ }
 23+ } else {
 24+ return $wgOut->permissionRequired( 'feedback' );
 25+ }
 26+ if( wfReadOnly() ) {
 27+ return $wgOut->readOnlyPage();
 28+ }
 29+ $this->skin = $wgUser->getSkin();
 30+ # Check if there is a featured level
 31+ $this->namespace = $wgRequest->getInt( 'namespace' );
 32+ $this->tag = $wgRequest->getVal( 'ratingtag' );
 33+ $this->tier = $wgRequest->getInt( 'ratingtier' );
 34+ $this->showForm();
 35+ $this->showPageList();
 36+ }
 37+
 38+ protected function showForm() {
 39+ global $wgOut, $wgScript, $wgFeedbackNamespaces;
 40+ $form = Xml::openElement( 'form',
 41+ array( 'name' => 'reviewedpages', 'action' => $wgScript, 'method' => 'get' ) );
 42+ $form .= "<fieldset><legend>".wfMsgHtml('ratedpages-leg')."</legend>\n";
 43+ $form .= Xml::hidden( 'title', $this->getTitle()->getPrefixedDBKey() );
 44+ $form .= ReaderFeedbackXML::getRatingTierMenu($this->tier) . '&nbsp;';
 45+ if( count($wgFeedbackNamespaces) > 1 ) {
 46+ $form .= ReaderFeedbackXML::getNamespaceMenu( $this->namespace ) . '&nbsp;';
 47+ }
 48+ if( count( ReaderFeedback::getFeedbackTags() ) > 0 ) {
 49+ $form .= ReaderFeedbackXML::getTagMenu( $this->tag );
 50+ }
 51+ $form .= " ".Xml::submitButton( wfMsg( 'go' ) );
 52+ $form .= "</fieldset></form>\n";
 53+ $wgOut->addHTML( $form );
 54+ }
 55+
 56+ protected function showPageList() {
 57+ global $wgOut;
 58+ $tags = ReaderFeedback::getFeedbackTags();
 59+ $pager = new LikedPagesPager( $this, array(), $this->namespace, $this->tag, $this->tier );
 60+ if( isset($tags[$this->tag]) && $pager->getNumRows() ) {
 61+ $wgOut->addHTML( wfMsgExt('ratedpages-list', array('parse') ) );
 62+ $wgOut->addHTML( $pager->getNavigationBar() );
 63+ $wgOut->addHTML( $pager->getBody() );
 64+ $wgOut->addHTML( $pager->getNavigationBar() );
 65+ } elseif( $this->tag ) { // must select first...
 66+ $wgOut->addHTML( wfMsgExt('ratedpages-none', array('parse') ) );
 67+ }
 68+ }
 69+
 70+ public function formatRow( $row ) {
 71+ global $wgLang;
 72+ $title = Title::makeTitle( $row->page_namespace, $row->page_title );
 73+ $link = $this->skin->makeKnownLinkObj( $title, $title->getPrefixedText() );
 74+ $hist = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' );
 75+ $stxt = '';
 76+ if( !is_null($size = $row->page_len) ) {
 77+ if( $size == 0 )
 78+ $stxt = ' <small>' . wfMsgHtml('historyempty') . '</small>';
 79+ else
 80+ $stxt = ' <small>' . wfMsgExt('historysize', array('parsemag'),
 81+ $wgLang->formatNum( $size ) ) . '</small>';
 82+ }
 83+ $ratinghist = SpecialPage::getTitleFor( 'RatingHistory' );
 84+ $graph = $this->skin->makeKnownLinkObj( $ratinghist, wfMsg('likedpages-graphs'),
 85+ 'target='.$title->getPrefixedUrl() );
 86+ return "<li>$link $stxt ($hist) ($graph)</li>";
 87+ }
 88+}
 89+
 90+/**
 91+ * Query to list out well recieved pages
 92+ */
 93+class LikedPagesPager extends AlphabeticPager {
 94+ public $mForm, $mConds, $namespace, $tag;
 95+
 96+ function __construct( $form, $conds = array(), $namespace=0, $tag, $tier ) {
 97+ $this->mForm = $form;
 98+ $this->mConds = $conds;
 99+ # Must be a content page...
 100+ global $wgFeedbackNamespaces;
 101+ if( !is_null($namespace) ) {
 102+ $namespace = intval($namespace);
 103+ }
 104+ if( is_null($namespace) || !in_array($namespace,$wgFeedbackNamespaces) ) {
 105+ $namespace = empty($wgFeedbackNamespaces) ? -1 : $wgFeedbackNamespaces[0];
 106+ }
 107+ $this->namespace = $namespace;
 108+ $this->tag = $tag;
 109+ $this->tier = (int)$tier;
 110+ parent::__construct();
 111+ }
 112+
 113+ function formatRow( $row ) {
 114+ return $this->mForm->formatRow( $row );
 115+ }
 116+
 117+ function getQueryInfo() {
 118+ $conds = $this->mConds;
 119+ $conds[] = 'rfp_page_id = page_id';
 120+ $conds['rfp_tag'] = $this->tag;
 121+ $conds['page_namespace'] = $this->namespace;
 122+ // Has to be good/crappy enough
 123+ switch( $this->tier ) {
 124+ case 3: $conds[] = "rfp_ave_val > 3.5"; break;
 125+ case 1: $conds[] = "rfp_ave_val < 2"; break;
 126+ default: $conds[] = "rfp_ave_val >= 2 AND rfp_ave_val <= 3.5"; break;
 127+ }
 128+ // Reasonable samples only
 129+ $conds[] = 'rfp_count >= '.ReaderFeedback::getFeedbackSize();
 130+ return array(
 131+ 'tables' => array('reader_feedback_pages','page'),
 132+ 'fields' => 'page_namespace,page_title,page_len,rfp_ave_val',
 133+ 'conds' => $conds,
 134+ 'options' => array( 'USE INDEX' => array('reader_feedback_pages' => 'rfp_tag_val_page') )
 135+ );
 136+ }
 137+
 138+ function getDefaultDirections() {
 139+ return false;
 140+ }
 141+
 142+ function getIndexField() {
 143+ return 'rfp_ave_val';
 144+ }
 145+
 146+ function getStartBody() {
 147+ wfProfileIn( __METHOD__ );
 148+ # Do a link batch query...
 149+ $lb = new LinkBatch();
 150+ while( $row = $this->mResult->fetchObject() ) {
 151+ $lb->add( $row->page_namespace, $row->page_title );
 152+ }
 153+ $lb->execute();
 154+ wfProfileOut( __METHOD__ );
 155+ return '<ul>';
 156+ }
 157+
 158+ function getEndBody() {
 159+ return '</ul>';
 160+ }
 161+}
Index: branches/wmf-deployment/extensions/ReaderFeedback/specialpages/ReaderFeedback_body.php
@@ -6,6 +6,10 @@
77
88 class ReaderFeedbackPage extends UnlistedSpecialPage
99 {
 10+ const REVIEW_ERROR = 0;
 11+ const REVIEW_OK = 1;
 12+ const REVIEW_DUP = 2;
 13+
1014 // Initialize to handle incomplete AJAX input
1115 var $page = null;
1216 var $oldid = 0;
@@ -14,7 +18,7 @@
1519 var $commentary = '';
1620
1721 public function __construct() {
18 - UnlistedSpecialPage::UnlistedSpecialPage( 'ReaderFeedback', 'feedback' );
 22+ parent::__construct( 'ReaderFeedback', 'feedback' );
1923 wfLoadExtensionMessages( 'ReaderFeedback' );
2024 }
2125
@@ -23,16 +27,13 @@
2428 $confirm = $wgRequest->wasPosted() && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) );
2529 if( $wgUser->isAllowed( 'feedback' ) ) {
2630 if( $wgUser->isBlocked( !$confirm ) ) {
27 - $wgOut->blockedPage();
28 - return;
 31+ return $wgOut->blockedPage();
2932 }
3033 } else {
31 - $wgOut->permissionRequired( 'feedback' );
32 - return;
 34+ return $wgOut->permissionRequired( 'feedback' );
3335 }
3436 if( wfReadOnly() ) {
35 - $wgOut->readOnlyPage();
36 - return;
 37+ return $wgOut->readOnlyPage();
3738 }
3839 $this->setHeaders();
3940 # Our target page
@@ -73,11 +74,11 @@
7475 if( $confirm && !$wgRequest->getVal( 'commentary' ) ) {
7576 $ok = $this->submit();
7677 } else {
77 - $ok = false;
 78+ $ok = self::REVIEW_ERROR;
7879 }
7980 # Go to graphs!
8081 global $wgMiserMode;
81 - if( $ok && !$wgMiserMode ) {
 82+ if( $ok == self::REVIEW_OK && !$wgMiserMode ) {
8283 $ratingTitle = SpecialPage::getTitleFor( 'RatingHistory' );
8384 $wgOut->redirect( $ratingTitle->getLocalUrl('target='.$this->page->getPrefixedUrl() ) );
8485 # Already voted or graph is set to be skipped...
@@ -169,16 +170,24 @@
170171
171172 $dbw = wfGetDB( DB_MASTER );
172173 $dbw->begin();
173 - $ok = ( $bot || $form->submit() ); // don't submit for mindless drones
174 - $dbw->commit();
175 - if( $ok ) {
176 - return '<suc#>'.wfMsgExt( 'readerfeedback-success', array('parseinline'),
177 - $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) ) .
178 - '<h4>'.wfMsgHtml('ratinghistory-table')."</h4>\n$tallyTable";
 174+ if( $bot ) {
 175+ $ok = self::REVIEW_ERROR; // don't submit for mindless drones
179176 } else {
180 - return '<err#>'.wfMsgExt( 'readerfeedback-voted', array('parseinline'),
181 - $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) );
 177+ $ok = $form->submit();
182178 }
 179+ $dbw->commit();
 180+ switch( $ok ) {
 181+ case self::REVIEW_OK:
 182+ return '<suc#>'.wfMsgExt( 'readerfeedback-success', array('parseinline'),
 183+ $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) ) .
 184+ '<h4>'.wfMsgHtml('ratinghistory-table')."</h4>\n$tallyTable";
 185+ case self::REVIEW_DUP:
 186+ return '<err#>'.wfMsgExt( 'readerfeedback-voted', array('parseinline'),
 187+ $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) );
 188+ default:
 189+ return '<err#>'.wfMsgExt( 'readerfeedback-error', array('parseinline'),
 190+ $form->page->getPrefixedText(), $graphLink, $talk->getFullUrl( 'action=edit&section=new' ) );
 191+ }
183192 }
184193
185194 protected static function isValid( $int ) {
@@ -256,21 +265,25 @@
257266 $now = wfTimestampNow();
258267 $date = str_pad( substr( $now, 0, 8 ), 14, '0' );
259268 if( count($this->dims) == 0 )
260 - return false;
 269+ return self::REVIEW_ERROR;
261270 $ratings = $this->flattenRatings( $this->dims );
262271 # Make sure revision is valid!
263272 $rev = Revision::newFromId( $this->oldid );
264273 if( !$rev || !$rev->getTitle()->equals( $this->page ) ) {
265 - return false; // opps!
 274+ return self::REVIEW_ERROR; // opps!
266275 }
267276 $ip = wfGetIP();
268277 if( !$wgUser->getId() && !$ip ) {
269 - return false; // we need to keep track somehow
 278+ return self::REVIEW_ERROR; // we need to keep track somehow
270279 }
271280 $article = new Article( $this->page );
 281+ # Check if the user is spamming reviews...
 282+ if( $wgUser->pingLimiter( 'feedback' ) || $wgUser->pingLimiter() ) {
 283+ return self::REVIEW_ERROR;
 284+ }
272285 # Check if user already voted before...
273286 if( self::userAlreadyVoted( $this->page, $this->oldid ) ) {
274 - return false;
 287+ return self::REVIEW_DUP;
275288 }
276289 # Update review records to limit double voting!
277290 $insertRow = array(
@@ -328,6 +341,6 @@
329342 if( $wgUser->getId() ) {
330343 $this->page->invalidateCache();
331344 }
332 - return true;
 345+ return self::REVIEW_OK;
333346 }
334347 }
Index: branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.class.php
@@ -34,7 +34,7 @@
3535 }
3636
3737 /**
38 - * Get the the weight of a feedback tag
 38+ * Get the weight of a feedback tag
3939 * @param string $tag
4040 * @returns array
4141 */
@@ -42,6 +42,15 @@
4343 self::load();
4444 return self::$feedbackTagWeight[$tag];
4545 }
 46+
 47+ /**
 48+ * Get the number of reviews that is considered a good sample
 49+ * @returns int
 50+ */
 51+ public static function getFeedbackSize() {
 52+ global $wgFeedbackSizeThreshhold;
 53+ return (int)$wgFeedbackSizeThreshhold;
 54+ }
4655
4756 ################# Utility functions #################
4857
@@ -235,20 +244,6 @@
236245 $html .= '</tr></table>';
237246 return $html;
238247 }
239 -
240 - /**
241 - * Get JS script params for onloading
242 - */
243 - public static function getJSTagParams() {
244 - self::load();
245 - # Param to pass to JS function to know if tags are at quality level
246 - $tagsJS = array();
247 - foreach( self::$dimensions as $tag => $x ) {
248 - $tagsJS[$tag] = self::$minQL[$tag];
249 - }
250 - $params = array( 'tags' => (object)$tagsJS );
251 - return Xml::encodeJsVar( (object)$params );
252 - }
253248
254249 /**
255250 * Get JS script params for onloading
@@ -262,4 +257,3 @@
263258 }
264259
265260 }
266 -
Index: branches/wmf-deployment/extensions/ReaderFeedback/language/ProblemPages.i18n.php
@@ -1,617 +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' => 'Slabo ocijenjene stranice',
84 - 'problempages-leg' => 'Nađi nisko ocijenjene stranice',
85 - 'problempages-list' => 'Ispod je spisak stranica poredanih po rejtingu poslanom od strane čitaoca.',
86 - 'problempages-none' => 'Nema stranica na ovom spisku',
87 - 'problempages-graphs' => 'podaci rejtinga',
88 -);
89 -
90 -/** Danish (Dansk)
91 - * @author Byrial
92 - */
93 -$messages['da'] = array(
94 - 'problempages' => 'Sider som er bedømt som dårlige',
95 - 'problempages-leg' => 'Find sider som er bedømt som dårlige',
96 - 'problempages-list' => 'Nedenfor er en liste med sider sorteret efter deres læserbedømmelse.',
97 - 'problempages-none' => 'Der er ingen sider i listen',
98 - 'problempages-graphs' => 'Bedømmelsesdata',
99 -);
100 -
101 -/** German (Deutsch)
102 - * @author Raimond Spekking
103 - * @author UV
104 - * @author Umherirrender
105 - */
106 -$messages['de'] = array(
107 - 'problempages' => 'Niedrig bewertete Seiten',
108 - 'problempages-leg' => 'Niedrig bewertete Seiten suchen',
109 - 'problempages-list' => 'Es folgt eine Liste von Seiten, sortiert nach der Leserbewertung.',
110 - 'problempages-none' => 'Diese Liste enthält keine Seiten',
111 - 'problempages-graphs' => 'Bewertungsdaten',
112 -);
113 -
114 -/** Lower Sorbian (Dolnoserbski)
115 - * @author Michawiki
116 - */
117 -$messages['dsb'] = array(
118 - 'problempages' => 'Špatnje pógódnośone boki',
119 - 'problempages-leg' => 'Nisko pógódnośone boki pytaś',
120 - 'problempages-list' => 'Slědujo lisćina bokow, sortěrowanych pó jich pógódnośenju wót cytarjow.',
121 - 'problempages-none' => 'Toś ta lisćina njewopśimujo boki',
122 - 'problempages-graphs' => 'Daty pógódnośenja',
123 -);
124 -
125 -/** Greek (Ελληνικά)
126 - * @author ZaDiak
127 - */
128 -$messages['el'] = array(
129 - 'problempages' => 'Ανεπαρκώς αποτιμημένες σελίδες',
130 - 'problempages-graphs' => 'δεδομένα βαθμολόγησης',
131 -);
132 -
133 -/** Esperanto (Esperanto)
134 - * @author Yekrats
135 - */
136 -$messages['eo'] = array(
137 - 'problempages' => 'Paĝoj taksitaj kiel malbonaj',
138 - 'problempages-leg' => 'Trovi paĝojn taksitaj malbone',
139 - 'problempages-list' => 'Jen listo de paĝoj ordigitaj de la taksado de legintoj.',
140 - 'problempages-none' => 'Ne estas paĝoj en ĉi tiu listo',
141 - 'problempages-graphs' => 'datenoj de taksado',
142 -);
143 -
144 -/** Spanish (Español)
145 - * @author Crazymadlover
146 - */
147 -$messages['es'] = array(
148 - 'problempages' => 'Páginas pobremente valoradas',
149 - 'problempages-leg' => 'Encontrar páginas subvaluadas',
150 - 'problempages-list' => 'Lo de abajo es una lista de páginas ordenadas por su valoración de retroalimentación de lector.',
151 - 'problempages-none' => 'No hay páginas en esta lista',
152 - 'problempages-graphs' => 'Datos de rating',
153 -);
154 -
155 -/** Persian (فارسی)
156 - * @author Huji
157 - */
158 -$messages['fa'] = array(
159 - 'problempages' => 'صفحه‌های با نمرهٔ ضعیف',
160 - 'problempages-leg' => 'پیدا کردن صفحه‌های با نمرهٔ پایین',
161 - 'problempages-list' => 'در زیر فهرستی از صفحه‌ها که طبق نمره خوانندگان آن‌ها مرتب شده‌است قرار دارد.',
162 - 'problempages-none' => 'صفحه‌ای در این فهرست وجود ندارد',
163 - 'problempages-graphs' => 'داده‌های ارزیابی',
164 -);
165 -
166 -/** Finnish (Suomi)
167 - * @author Cimon Avaro
168 - * @author Crt
169 - * @author Jaakonam
170 - * @author Str4nd
171 - */
172 -$messages['fi'] = array(
173 - 'problempages' => 'Huonosti arvioidut sivut',
174 - 'problempages-leg' => 'Etsi kehnoksi arvioituja sivuja',
175 - 'problempages-list' => 'Alla näkyvä sivuluettelo on järjestetty käyttäjien antaman palautearvosanan mukaan.',
176 - 'problempages-none' => 'Tässä luettelossa ei ole sivuja',
177 - 'problempages-graphs' => 'arvostelutiedot',
178 -);
179 -
180 -/** French (Français)
181 - * @author Grondin
182 - * @author PieRRoMaN
183 - */
184 -$messages['fr'] = array(
185 - 'problempages' => 'Pages ayant des mauvaises évaluations',
186 - 'problempages-leg' => 'Trouver les pages ayant des évaluations faibles',
187 - 'problempages-list' => 'Voici une liste des pages triées suivant leur évaluation par les lecteurs.',
188 - 'problempages-none' => 'Il n’y a aucune page dans cette liste',
189 - 'problempages-graphs' => "données d'évaluation",
190 -);
191 -
192 -/** Franco-Provençal (Arpetan)
193 - * @author ChrisPtDe
194 - */
195 -$messages['frp'] = array(
196 - 'problempages' => 'Pâges qu’ont des crouyes èstimacions.',
197 - 'problempages-leg' => 'Trovar les pâges qu’ont des èstimacions fêbles',
198 - 'problempages-list' => 'Vê-que una lista de les pâges triyês d’aprés lor èstimacion per los liésors.',
199 - 'problempages-none' => 'Y at gins de pâge dens ceta lista.',
200 - 'problempages-graphs' => 'balyês d’èstimacion',
201 -);
202 -
203 -/** Galician (Galego)
204 - * @author Toliño
205 - */
206 -$messages['gl'] = array(
207 - 'problempages' => 'Páxinas pouco valoradas',
208 - 'problempages-leg' => 'Atopar as páxinas menos valoradas',
209 - 'problempages-list' => 'Embaixo hai unha lista das páxinas ordenadas pola valoración da reacción dos seus lectores.',
210 - 'problempages-none' => 'Non hai páxinas nesta lista',
211 - 'problempages-graphs' => 'datos das valoracións',
212 -);
213 -
214 -/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
215 - * @author Omnipaedista
216 - */
217 -$messages['grc'] = array(
218 - 'problempages-graphs' => 'δεδομένα βαθμώσεως',
219 -);
220 -
221 -/** Swiss German (Alemannisch)
222 - * @author Als-Holder
223 - */
224 -$messages['gsw'] = array(
225 - 'problempages' => 'Syte, wu nidrig bewärtet sin',
226 - 'problempages-leg' => 'Find Syte, wu nidrgi bewärtet sin',
227 - 'problempages-list' => 'Do het s Lischt vu Syte, wu no dr Bewärtig dur Läser sortiert sin.',
228 - 'problempages-none' => 'In däre Lischt het s keini Syte',
229 - 'problempages-graphs' => 'Bewärtigsdate',
230 -);
231 -
232 -/** Hebrew (עברית)
233 - * @author DoviJ
234 - * @author Rotemliss
235 - */
236 -$messages['he'] = array(
237 - 'problempages' => 'דפים בדירוג נמוך',
238 - 'problempages-leg' => 'מציאת דפים בדירוג נמוך',
239 - 'problempages-list' => 'להלן רשימת דפים, ממוינים לפי דירוג הקוראים.',
240 - 'problempages-none' => 'אין דפים ברשימה זו',
241 - 'problempages-graphs' => 'מידע הדירוג',
242 -);
243 -
244 -/** Upper Sorbian (Hornjoserbsce)
245 - * @author Michawiki
246 - */
247 -$messages['hsb'] = array(
248 - 'problempages' => 'Nisko pohódnoćene strony',
249 - 'problempages-leg' => 'Nisko pohódnoćene strony namakać',
250 - 'problempages-list' => 'Slěduje lisćina stronow sortěrowanych po póhodnoćenju wot čitarjow',
251 - 'problempages-none' => 'W tutej lisćinje strony njejsu.',
252 - 'problempages-graphs' => 'Daty pohódnoćenja',
253 -);
254 -
255 -/** Hungarian (Magyar)
256 - * @author Dani
257 - * @author Samat
258 - */
259 -$messages['hu'] = array(
260 - 'problempages' => 'Rossznak ítélt lapok',
261 - 'problempages-leg' => 'Alacsony értékelésű lapok keresése',
262 - 'problempages-list' => 'Alább a lapok olvasói értékelés szerint sorba tett listája látható.',
263 - 'problempages-none' => 'Nem található egyetlen lap sem a listában.',
264 - 'problempages-graphs' => 'értékelési adatok',
265 -);
266 -
267 -/** Interlingua (Interlingua)
268 - * @author McDutchie
269 - */
270 -$messages['ia'] = array(
271 - 'problempages' => 'Paginas con evalutation basse',
272 - 'problempages-leg' => 'Trovar paginas con evalutation basse',
273 - 'problempages-list' => 'Infra es un lista de paginas ordinate per evaluation del lectores.',
274 - 'problempages-none' => 'Il non ha paginas in iste lista',
275 - 'problempages-graphs' => 'datos de evalutation',
276 -);
277 -
278 -/** Indonesian (Bahasa Indonesia)
279 - * @author Bennylin
280 - * @author Rex
281 - */
282 -$messages['id'] = array(
283 - 'problempages' => 'Halaman dengan peringkat rendah',
284 - 'problempages-leg' => 'Cari halaman dengan nilai rendah',
285 - 'problempages-list' => 'Berikut adalah daftar halaman yang diurutkan menurut peringkat yang diberikan pembacanya.',
286 - 'problempages-none' => 'Tidak adalah halaman dalam daftar ini',
287 - 'problempages-graphs' => 'data pemeringkatan',
288 -);
289 -
290 -/** Italian (Italiano)
291 - * @author Darth Kule
292 - * @author Pietrodn
293 - */
294 -$messages['it'] = array(
295 - 'problempages' => 'Pagine valutate scarsamente',
296 - 'problempages-leg' => 'Trova pagine valutate scarsamente',
297 - 'problempages-list' => 'Di seguito è riportato un elenco di pagine ordinate per il loro feedback da parte dei lettori.',
298 - 'problempages-none' => 'Non ci sono pagine in questo elenco',
299 - 'problempages-graphs' => 'dati delle valutazioni',
300 -);
301 -
302 -/** Japanese (日本語)
303 - * @author Fryed-peach
304 - */
305 -$messages['ja'] = array(
306 - 'problempages' => '評価の低いページ',
307 - 'problempages-leg' => '評価の低いページを見つける',
308 - 'problempages-list' => '以下ではページを読者による評価の順に整列して一覧します。',
309 - 'problempages-none' => '表示すべきページはありません',
310 - 'problempages-graphs' => '評価データ',
311 -);
312 -
313 -/** Khmer (ភាសាខ្មែរ)
314 - * @author Lovekhmer
315 - * @author គីមស៊្រុន
316 - */
317 -$messages['km'] = array(
318 - 'problempages' => 'ទំព័រអន់',
319 - 'problempages-leg' => 'រកមើលទំព័រអន់ៗ',
320 - 'problempages-none' => 'មិនមានទំព័រនៅក្នុងបញ្ជីនេះទេ',
321 -);
322 -
323 -/** Korean (한국어)
324 - * @author Kwj2772
325 - */
326 -$messages['ko'] = array(
327 - 'problempages' => '낮게 평가된 문서',
328 - 'problempages-leg' => '낮게 평가된 문서 찾기',
329 - 'problempages-list' => '다음은 독자의 평가에 따라 정렬된 문서의 목록입니다.',
330 - 'problempages-none' => '이 목록에 문서가 없습니다.',
331 - 'problempages-graphs' => '평가 데이터',
332 -);
333 -
334 -/** Ripoarisch (Ripoarisch)
335 - * @author Purodha
336 - */
337 -$messages['ksh'] = array(
338 - 'problempages' => 'Als schlääsch enjeshtoofte Sigge',
339 - 'problempages-leg' => 'Als schlääsch enjeshtoofte Sigge fenge',
340 - 'problempages-list' => 'Hee küt en Leß met Sigge. Se es donoh zotteet, wi joot de Lesser se enjeshtoof han.',
341 - 'problempages-none' => 'En dä Leß sin kei Sigge dren.',
342 - 'problempages-graphs' => 'Date vum Enshtoofe',
343 -);
344 -
345 -/** Luxembourgish (Lëtzebuergesch)
346 - * @author Les Meloures
347 - * @author Robby
348 - */
349 -$messages['lb'] = array(
350 - 'problempages' => 'Säite mat enger nidreger Bewertungn',
351 - 'problempages-leg' => 'Niddreg bewerte Säite fannen',
352 - 'problempages-list' => 'Hei ass eng Lëscht vu Säiten déi no der Bewäertung vun de Lieser zortéiert sinn.',
353 - 'problempages-none' => 'Et gëtt keng Säiten op dëser Lëscht',
354 - 'problempages-graphs' => 'Bewertungsdaten',
355 -);
356 -
357 -/** Malay (Bahasa Melayu)
358 - * @author Aviator
359 - */
360 -$messages['ms'] = array(
361 - 'problempages' => 'Laman bermasalah',
362 - 'problempages-leg' => 'Cari laman yang mempunyai penilaian rendah.',
363 - 'problempages-list' => 'Yang berikut ialah senarai laman mengikut tertib penilaian pembaca.',
364 - 'problempages-none' => 'Tiada laman dalam senarai ini',
365 - 'problempages-graphs' => 'data penilaian',
366 -);
367 -
368 -/** Erzya (Эрзянь)
369 - * @author Botuzhaleny-sodamo
370 - */
371 -$messages['myv'] = array(
372 - 'problempages-graphs' => 'питнень путомадо дата',
373 -);
374 -
375 -/** Dutch (Nederlands)
376 - * @author Siebrand
377 - */
378 -$messages['nl'] = array(
379 - 'problempages' => "Laag gewaardeerde pagina's",
380 - 'problempages-leg' => "Laag gewaardeerde pagina's zoeken",
381 - 'problempages-list' => "Hier staan pagina's gesorteerd naar de waardering die lezers hebben gegeven.",
382 - 'problempages-none' => "Er zijn geen pagina's weer te geven",
383 - 'problempages-graphs' => 'waarderingsgegevens',
384 -);
385 -
386 -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
387 - * @author Harald Khan
388 - */
389 -$messages['nn'] = array(
390 - 'problempages' => 'Sider vurderte som dårlege',
391 - 'problempages-leg' => 'Finn sider vurderte som dårlege',
392 - 'problempages-list' => 'Nedanfor er ei lista over sider sorterte etter lesarane sine vurderingar av dei.',
393 - 'problempages-none' => 'Det finst ingen sider i denne lista',
394 - 'problempages-graphs' => 'vuderingsdata',
395 -);
396 -
397 -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
398 - * @author Harald Khan
399 - * @author Jon Harald Søby
400 - */
401 -$messages['no'] = array(
402 - 'problempages' => 'Sider med lav vurdering',
403 - 'problempages-leg' => 'Finn sider med lav vurdering',
404 - 'problempages-list' => 'Nedenfor er en liste over sider sortert etter lesernes vurdering av dem',
405 - 'problempages-none' => 'Det er ingen sider i denne listen',
406 - 'problempages-graphs' => 'vurderingsdata',
407 -);
408 -
409 -/** Occitan (Occitan)
410 - * @author Cedric31
411 - */
412 -$messages['oc'] = array(
413 - 'problempages' => 'Paginas mal notadas',
414 - 'problempages-leg' => 'Trobar las paginas mal notadas',
415 - 'problempages-list' => 'Vaquí, çaijós, una tièra de paginas triadas en foncion de la notacion de lors lectors.',
416 - 'problempages-none' => 'I a pas cap de pagina dins aquesta tièra',
417 - 'problempages-graphs' => 'donadas de notacion',
418 -);
419 -
420 -/** Polish (Polski)
421 - * @author Leinad
422 - */
423 -$messages['pl'] = array(
424 - 'problempages' => 'Nisko oceniane strony',
425 - 'problempages-leg' => 'Szukaj nisko ocenianych stron',
426 - 'problempages-list' => 'Poniżej znajduje się lista stron posortowanych według ocen wystawionych przez czytelników.',
427 - 'problempages-none' => 'Na tej liście nie ma żadnych stron',
428 - 'problempages-graphs' => 'ocena danych',
429 -);
430 -
431 -/** Piedmontese (Piemontèis)
432 - * @author Dragonòt
433 - */
434 -$messages['pms'] = array(
435 - 'problempages' => 'Pàgine pòch valutà',
436 - 'problempages-leg' => 'Treuva le pàgine pòch valutà',
437 - 'problempages-list' => 'Sota a-i é na lista ëd pàgine ordinà për la soa valutassion dij letor.',
438 - 'problempages-none' => 'A-i é pa ëd pàgine an sta lista-sì',
439 - 'problempages-graphs' => 'dat ëd valutassion',
440 -);
441 -
442 -/** Portuguese (Português)
443 - * @author 555
444 - * @author Malafaya
445 - * @author Waldir
446 - */
447 -$messages['pt'] = array(
448 - 'problempages' => 'Páginas com fraca avaliação',
449 - 'problempages-leg' => 'Pesquisar páginas com baixa avaliação',
450 - 'problempages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
451 - 'problempages-none' => 'Não há páginas nesta listagem',
452 - 'problempages-graphs' => 'dados de avaliações',
453 -);
454 -
455 -/** Brazilian Portuguese (Português do Brasil)
456 - * @author Eduardo.mps
457 - */
458 -$messages['pt-br'] = array(
459 - 'problempages' => 'Páginas com fraca avaliação',
460 - 'problempages-leg' => 'Pesquisar páginas com baixa avaliação',
461 - 'problempages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
462 - 'problempages-none' => 'Não há páginas nesta listagem',
463 - 'problempages-graphs' => 'dados de avaliações',
464 -);
465 -
466 -/** Romanian (Română)
467 - * @author KlaudiuMihaila
468 - * @author Mihai
469 - */
470 -$messages['ro'] = array(
471 - 'problempages' => 'Pagini slab evaluate',
472 - 'problempages-leg' => 'Găsiţi pagini cu scoruri scăzute',
473 - 'problempages-list' => 'Mai jos este o listă de pagini sortate după evaluarea venită de la cititori.',
474 - 'problempages-none' => 'Nu există pagini în această listă',
475 -);
476 -
477 -/** Tarandíne (Tarandíne)
478 - * @author Joetaras
479 - */
480 -$messages['roa-tara'] = array(
481 - 'problempages' => 'Pàggene cu pundegge vasce',
482 - 'problempages-leg' => 'Iacchie le pàggene cu pundeggie vasce vasce',
483 - 'problempages-list' => "Sotte ste 'na liste de pàggene arrenghete pe 'u pundegge de le lore lettore.",
484 - 'problempages-none' => "Non ge stonne pàggene jndr'à sta liste",
485 - 'problempages-graphs' => "dete d'u puntegge",
486 -);
487 -
488 -/** Russian (Русский)
489 - * @author Александр Сигачёв
490 - */
491 -$messages['ru'] = array(
492 - 'problempages' => 'Плохо оцененные страницы',
493 - 'problempages-leg' => 'Поиск низко оцененных страниц',
494 - 'problempages-list' => 'Ниже представлен список страниц, упорядоченный по их оценке читателями.',
495 - 'problempages-none' => 'Нет страниц в списке.',
496 - 'problempages-graphs' => 'данные об оценке',
497 -);
498 -
499 -/** Slovak (Slovenčina)
500 - * @author Helix84
501 - */
502 -$messages['sk'] = array(
503 - 'problempages' => 'Nízko hodnotené stránky',
504 - 'problempages-leg' => 'Nájsť nízko hodnotené stránky',
505 - 'problempages-list' => 'Toto je zoznam stránok zoradený podľa hodnotenia čitateľov.',
506 - 'problempages-none' => 'V tomto zozname sa nenachádzajú žiadne stránky',
507 - 'problempages-graphs' => 'údaje o hodnotení',
508 -);
509 -
510 -/** Serbian Cyrillic ekavian (Српски (ћирилица))
511 - * @author Millosh
512 - * @author Михајло Анђелковић
513 - */
514 -$messages['sr-ec'] = array(
515 - 'problempages' => 'Лоше оцењене стране',
516 - 'problempages-leg' => 'Претрага ниско оцењених страна.',
517 - 'problempages-list' => 'Испод се налази списак сортиран по оценама читалаца.',
518 - 'problempages-none' => 'Нема страна у овом списку.',
519 -);
520 -
521 -/** Serbian Latin ekavian (Srpski (latinica))
522 - * @author Michaello
523 - */
524 -$messages['sr-el'] = array(
525 - 'problempages' => 'Loše ocenjene strane',
526 - 'problempages-leg' => 'Pretraga nisko ocenjenih strana.',
527 - 'problempages-list' => 'Ispod se nalazi spisak sortiran po ocenama čitalaca.',
528 - 'problempages-none' => 'Nema strana u ovom spisku.',
529 -);
530 -
531 -/** Swedish (Svenska)
532 - * @author Boivie
533 - */
534 -$messages['sv'] = array(
535 - 'problempages' => 'Sidor med låga betyg',
536 - 'problempages-leg' => 'Hitta sidor med lågt betyg',
537 - 'problempages-list' => 'Nedan finns en lista över sidor sorterade efter deras läsar-feedback-betyg',
538 - 'problempages-none' => 'Det finns inga sidor i denna lista',
539 - 'problempages-graphs' => 'betygsdata',
540 -);
541 -
542 -/** Tagalog (Tagalog)
543 - * @author AnakngAraw
544 - */
545 -$messages['tl'] = array(
546 - 'problempages' => 'Mga pahinang sinukat bilang walang kuwenta (walang saysay)',
547 - 'problempages-leg' => 'Maghanap ng mga pahinang may sukat na mababa ang halaga',
548 - 'problempages-list' => 'Nasa ibaba ang isang talaan ng mga pahinang inayos ayon sa kanilang kaantasang ibinigay ng mambabasa.',
549 - 'problempages-none' => 'Walang mga pahina sa loob ng talaang ito',
550 - 'problempages-graphs' => 'datong pangpagaantas',
551 -);
552 -
553 -/** Turkish (Türkçe)
554 - * @author Joseph
555 - */
556 -$messages['tr'] = array(
557 - 'problempages' => 'Yetersiz oylanmış sayfalar',
558 - 'problempages-leg' => 'Düşük-oylanmış sayfaları bul',
559 - 'problempages-list' => 'Aşağıdaki, kullanıcı dönütleri oranlarına göre sıralanmış sayfalar listesidir.',
560 - 'problempages-none' => 'Bu listede hiç sayfa yok',
561 - 'problempages-graphs' => 'veri derecelendiriliyor',
562 -);
563 -
564 -/** Ukrainian (Українська)
565 - * @author Ahonc
566 - */
567 -$messages['uk'] = array(
568 - 'problempages' => 'Погано оцінені сторінки',
569 - 'problempages-leg' => 'Знайти сторінки з низьким рейтингом',
570 - 'problempages-list' => "Нижче поданий список сторінок, відсортованих за оцінкою за допомогою зворотного зв'язку читачів.",
571 - 'problempages-none' => 'У цьому списку нема сторінок',
572 - 'problempages-graphs' => 'дані рейтингу',
573 -);
574 -
575 -/** Veps (Vepsan kel')
576 - * @author Игорь Бродский
577 - */
578 -$messages['vep'] = array(
579 - 'problempages' => 'Hondoin arvoitud lehtpoled',
580 - 'problempages-leg' => 'Hondoin arvoitud lehtpoliden ecind',
581 - 'problempages-list' => 'Lugijoil järgetud heiden arvsanoiden mödhe lehtpoled (nimikirjutez).',
582 - 'problempages-none' => 'Neciš nimikirjuteses ei ole lehtpolid',
583 - 'problempages-graphs' => 'andmused arvostelendas',
584 -);
585 -
586 -/** Vietnamese (Tiếng Việt)
587 - * @author Minh Nguyen
588 - */
589 -$messages['vi'] = array(
590 - 'problempages' => 'Các trang bị đánh giá thấp',
591 - 'problempages-leg' => 'Tìm kiếm các trang được đánh giá thấp',
592 - 'problempages-list' => 'Đây là danh sách các trang theo thứ tự đánh giá của độc giả.',
593 - 'problempages-none' => 'Danh sách này không có trang nào.',
594 - 'problempages-graphs' => 'dữ liệu đánh giá',
595 -);
596 -
597 -/** Simplified Chinese (‪中文(简体)‬)
598 - * @author Gzdavidwong
599 - */
600 -$messages['zh-hans'] = array(
601 - 'problempages' => '评分差劣的页面',
602 - 'problempages-leg' => '查找低评分页面',
603 - 'problempages-list' => '以下是按读者评分排序的页面列表。',
604 - 'problempages-none' => '本列表没有任何页面。',
605 - 'problempages-graphs' => '评分资料',
606 -);
607 -
608 -/** Traditional Chinese (‪中文(繁體)‬)
609 - * @author Wrightbus
610 - */
611 -$messages['zh-hant'] = array(
612 - 'problempages' => '評分差劣的頁面',
613 - 'problempages-leg' => '查找低評分頁面',
614 - 'problempages-list' => '以下是按讀者評分排序的頁面清單。',
615 - 'problempages-none' => '本清單沒有任何頁面',
616 - 'problempages-graphs' => '評分資料',
617 -);
618 -
Index: branches/wmf-deployment/extensions/ReaderFeedback/language/LikedPages.i18n.php
@@ -1,536 +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-leg' => 'Nađi visoko ocijenjene stranice',
74 - 'likedpages-list' => 'Ispod je spisak stranica poredanih po rejtingu poslanom od strane čitaoca.',
75 - 'likedpages-none' => 'Nema stranica na ovom spisku',
76 - 'likedpages-graphs' => 'podaci rejtinga',
77 -);
78 -
79 -/** Danish (Dansk)
80 - * @author Byrial
81 - */
82 -$messages['da'] = array(
83 - 'likedpages' => 'Sider som er bedømt som gode',
84 - 'likedpages-leg' => 'Find sider som er bedømt som gode',
85 - 'likedpages-list' => 'Nedenfor er en liste med sider sorteret efter deres læserbedømmelse.',
86 - 'likedpages-none' => 'Der er ingen sider i listen',
87 - 'likedpages-graphs' => 'Bedømmelsesdata',
88 -);
89 -
90 -/** German (Deutsch)
91 - * @author Umherirrender
92 - */
93 -$messages['de'] = array(
94 - 'likedpages' => 'Hoch bewertete Seiten',
95 - 'likedpages-leg' => 'Hoch bewertete Seiten suchen',
96 - 'likedpages-list' => 'Es folgt eine Liste von Seiten, sortiert nach der Leserbewertung.',
97 - 'likedpages-none' => 'Diese Liste enthält keine Einträge.',
98 - 'likedpages-graphs' => 'Bewertungsdaten',
99 -);
100 -
101 -/** Lower Sorbian (Dolnoserbski)
102 - * @author Michawiki
103 - */
104 -$messages['dsb'] = array(
105 - 'likedpages' => 'Wusoko pógódnośone boki',
106 - 'likedpages-leg' => 'Wusoko pógódnośone boki pytaś',
107 - 'likedpages-list' => 'Slědujo lisćina bokow, sortěrowanych po jich pógódnośenju wót cytarjow.',
108 - 'likedpages-none' => 'Toś ta lisćina njewopśimujo boki.',
109 - 'likedpages-graphs' => 'Daty pógódnośenja',
110 -);
111 -
112 -/** Greek (Ελληνικά)
113 - * @author ZaDiak
114 - */
115 -$messages['el'] = array(
116 - 'likedpages' => 'Υψηλά βαθμολογημένες σελίδες',
117 - 'likedpages-graphs' => 'δεδομένα βαθμολόγησης',
118 -);
119 -
120 -/** Esperanto (Esperanto)
121 - * @author Yekrats
122 - */
123 -$messages['eo'] = array(
124 - 'likedpages' => 'Alte taksitaj paĝoj',
125 - 'likedpages-leg' => 'Trovi alte rangitajn paĝojn',
126 - 'likedpages-list' => 'Jen listo de paĝoj rangitaj de la kontrolado de ties legantoj.',
127 - 'likedpages-none' => 'Estas neniuj paĝoj en ĉi tiu listo',
128 - 'likedpages-graphs' => 'taksaj datenoj',
129 -);
130 -
131 -/** Spanish (Español)
132 - * @author Crazymadlover
133 - * @author Sanbec
134 - */
135 -$messages['es'] = array(
136 - 'likedpages' => 'Páginas altamente valoradas',
137 - 'likedpages-leg' => 'Encontrar páginas altamente valoradas',
138 - 'likedpages-list' => 'Lo de abajo es una lista de páginas ordenadas por su valoración de retroalimentación de lector.',
139 - 'likedpages-none' => 'No hay páginas en esta lista',
140 - 'likedpages-graphs' => 'datos de valoración',
141 -);
142 -
143 -/** Basque (Euskara)
144 - * @author Theklan
145 - */
146 -$messages['eu'] = array(
147 - 'likedpages' => 'Balorazio oso ona duten orrialdeak',
148 - 'likedpages-leg' => 'Bilatu balorazio oso oneko orrialdeak',
149 - 'likedpages-list' => 'Azpian irakurtzailearen feedbak balorazioaren arabera ordenatutako orrialdeen zerrend abat dago.',
150 - 'likedpages-none' => 'Ez dago orrialderik zerrenda honetan',
151 - 'likedpages-graphs' => 'balorazio data',
152 -);
153 -
154 -/** Persian (فارسی)
155 - * @author Huji
156 - */
157 -$messages['fa'] = array(
158 - 'likedpages' => 'صفحه‌های با بالاترین نمره',
159 - 'likedpages-leg' => 'پیدا کردن صفحه‌های با نمرهٔ بالا',
160 - 'likedpages-list' => 'در زیر فهرستی از صفحه‌ها که طبق نمره خوانندگان آن‌ها مرتب شده‌است قرار دارد.',
161 - 'likedpages-none' => 'صفحه‌ای در این فهرست وجود ندارد',
162 - 'likedpages-graphs' => 'داده‌های ارزیابی',
163 -);
164 -
165 -/** Finnish (Suomi)
166 - * @author Cimon Avaro
167 - * @author Str4nd
168 - */
169 -$messages['fi'] = array(
170 - 'likedpages' => 'Parasta laatua lukijoiden mielestä tarjoavat sivut',
171 - 'likedpages-leg' => 'Etsi parasta laatua sisältävät sivut',
172 - 'likedpages-list' => 'Alla on luettelo sivuista lukijapalaute-arviointinsa mukaan lajiteltuna.',
173 - 'likedpages-none' => 'Tällä listalla ei ole sivuja',
174 - 'likedpages-graphs' => 'arvostelutiedot',
175 -);
176 -
177 -/** French (Français)
178 - * @author Grondin
179 - * @author PieRRoMaN
180 - */
181 -$messages['fr'] = array(
182 - 'likedpages' => 'Pages ayant des évaluations élevées',
183 - 'likedpages-leg' => 'Chercher les pages ayant des évaluations élevées',
184 - 'likedpages-list' => 'Voici une liste des pages triées suivant leur évaluation par les lecteurs.',
185 - 'likedpages-none' => 'Il n’existe aucune page dans cette liste',
186 - 'likedpages-graphs' => "Données d'évaluation",
187 -);
188 -
189 -/** Franco-Provençal (Arpetan)
190 - * @author ChrisPtDe
191 - */
192 -$messages['frp'] = array(
193 - 'likedpages' => 'Pâges qu’ont des èstimacions hôtes.',
194 - 'likedpages-leg' => 'Trovar les pâges qu’ont des èstimacions hôtes',
195 - 'likedpages-list' => 'Vê-que una lista de les pâges triyês d’aprés lor èstimacion per los liésors.',
196 - 'likedpages-none' => 'Y at gins de pâge dens ceta lista.',
197 - 'likedpages-graphs' => 'balyês d’èstimacion',
198 -);
199 -
200 -/** Galician (Galego)
201 - * @author Toliño
202 - */
203 -$messages['gl'] = array(
204 - 'likedpages' => 'Páxinas moi valoradas',
205 - 'likedpages-leg' => 'Atopar as páxinas moi valoradas',
206 - 'likedpages-list' => 'Embaixo hai unha lista coas páxinas ordenadas pola valoración dos seus lectores.',
207 - 'likedpages-none' => 'Non hai ningunha páxina nesta lista',
208 - 'likedpages-graphs' => 'datos das valoracións',
209 -);
210 -
211 -/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
212 - * @author Omnipaedista
213 - */
214 -$messages['grc'] = array(
215 - 'likedpages-graphs' => 'δεδομένα βαθμώσεως',
216 -);
217 -
218 -/** Swiss German (Alemannisch)
219 - * @author Als-Holder
220 - */
221 -$messages['gsw'] = array(
222 - 'likedpages' => 'Hoch gwärteti Syte',
223 - 'likedpages-leg' => 'Suech noch hoch gwärtete Syte',
224 - 'likedpages-list' => 'Do chunnt e Lischt vu Syte, wu sortiert sin noch dr Läserwärtig.',
225 - 'likedpages-none' => 'In däre Lischt het s kei Yyträg.',
226 - 'likedpages-graphs' => 'Wärtigsdate',
227 -);
228 -
229 -/** Hebrew (עברית)
230 - * @author DoviJ
231 - * @author Rotemliss
232 - */
233 -$messages['he'] = array(
234 - 'likedpages' => 'דפים בעלי דירוג גבוה',
235 - 'likedpages-leg' => 'מציאת דפים בדירוג גבוה',
236 - 'likedpages-list' => 'להלן רשימת דפים, ממוינים לפי דירוג הקוראים שלהם.',
237 - 'likedpages-none' => 'אין דפים ברשימה זו',
238 - 'likedpages-graphs' => 'מידע הדירוג',
239 -);
240 -
241 -/** Upper Sorbian (Hornjoserbsce)
242 - * @author Michawiki
243 - */
244 -$messages['hsb'] = array(
245 - 'likedpages' => 'Wysoko pohódnoćene strony',
246 - 'likedpages-leg' => 'Wysoko pohódnoćene strony namakać',
247 - 'likedpages-list' => 'Slěduje lisćina strony sortěrowanych po pohódnoćenju wot čitarjow.',
248 - 'likedpages-none' => 'W tutej lisćinju strony njejsu.',
249 - 'likedpages-graphs' => 'Daty pohódnoćenja',
250 -);
251 -
252 -/** Hungarian (Magyar)
253 - * @author Dani
254 - */
255 -$messages['hu'] = array(
256 - 'likedpages' => 'Jónak ítélt lapok',
257 - 'likedpages-leg' => 'Magas értékelésű lapok keresése',
258 - 'likedpages-list' => 'Alább a lapok olvasói értékelés szerint sorba tett listája látható.',
259 - 'likedpages-none' => 'Nem található egyetlen lap sem a listában.',
260 - 'likedpages-graphs' => 'értékelési adatok',
261 -);
262 -
263 -/** Interlingua (Interlingua)
264 - * @author McDutchie
265 - */
266 -$messages['ia'] = array(
267 - 'likedpages' => 'Paginas con evalutation alte',
268 - 'likedpages-leg' => 'Cercar paginas con evalutation alte',
269 - 'likedpages-list' => 'Infra es un lista de paginas ordinate per evalutation del lectores.',
270 - 'likedpages-none' => 'Il non ha paginas in iste lista',
271 - 'likedpages-graphs' => 'datas de evalutation',
272 -);
273 -
274 -/** Indonesian (Bahasa Indonesia)
275 - * @author Rex
276 - */
277 -$messages['id'] = array(
278 - 'likedpages' => 'Halaman dengan peringkat tinggi',
279 - 'likedpages-leg' => 'Cari halaman dengan peringkat tinggi',
280 - 'likedpages-list' => 'Berikut adalah daftar halaman yang diurutkan menurut peringkat yang diberikan pembacanya.',
281 - 'likedpages-none' => 'Tidak ada halaman dalam daftar ini.',
282 - 'likedpages-graphs' => 'data pemeringkatan',
283 -);
284 -
285 -/** Italian (Italiano)
286 - * @author Pietrodn
287 - */
288 -$messages['it'] = array(
289 - 'likedpages' => 'Pagine più gettonate',
290 - 'likedpages-leg' => 'Trova le pagine più gettonate',
291 - 'likedpages-list' => 'Di seguito è riportato un elenco di pagine ordinate per il loro feedback da parte dei lettori.',
292 - 'likedpages-none' => 'Non ci sono pagine in questo elenco',
293 - 'likedpages-graphs' => 'dati delle valutazioni',
294 -);
295 -
296 -/** Japanese (日本語)
297 - * @author Fryed-peach
298 - */
299 -$messages['ja'] = array(
300 - 'likedpages' => '評価の高いページ',
301 - 'likedpages-leg' => '評価の高いページを見つける',
302 - 'likedpages-list' => '以下ではページを読者による評価の順に整列して一覧します。',
303 - 'likedpages-none' => '表示すべきページはありません',
304 - 'likedpages-graphs' => '評価データ',
305 -);
306 -
307 -/** Korean (한국어)
308 - * @author Kwj2772
309 - */
310 -$messages['ko'] = array(
311 - 'likedpages' => '높게 평가된 문서',
312 - 'likedpages-leg' => '높게 평가된 문서 찾기',
313 - 'likedpages-list' => '다음은 독자의 평가에 따라 정렬된 문서의 목록입니다.',
314 - 'likedpages-none' => '이 목록에 문서가 없습니다.',
315 - 'likedpages-graphs' => '평가 데이터',
316 -);
317 -
318 -/** Ripoarisch (Ripoarisch)
319 - * @author Purodha
320 - */
321 -$messages['ksh'] = array(
322 - 'likedpages' => 'Als reschtesch joot enjeshtoofte Sigge',
323 - 'likedpages-leg' => 'Als reschtesch joot enjeshtoofte Sigge fenge',
324 - 'likedpages-list' => 'Hee küt en Leß met Sigge. Se es donoh zotteet, wi joot de Lesser se enjeshtoof han.',
325 - 'likedpages-none' => 'En dä Leß sin kein Sigge.',
326 - 'likedpages-graphs' => 'Date vum Enshtoofe',
327 -);
328 -
329 -/** Luxembourgish (Lëtzebuergesch)
330 - * @author Les Meloures
331 - * @author Robby
332 - */
333 -$messages['lb'] = array(
334 - 'likedpages' => 'Héich bewerte Säiten',
335 - 'likedpages-leg' => 'Héich-bewerte Säite fannen',
336 - 'likedpages-list' => 'Hei ass eng Lëscht vu Säiten déi no der Bewäertung vun de Lieser klasséiert sinn.',
337 - 'likedpages-none' => 'Et gëtt keng Säiten op dëser Lëscht',
338 - 'likedpages-graphs' => 'Bewertungsdonnéeën',
339 -);
340 -
341 -/** Dutch (Nederlands)
342 - * @author Siebrand
343 - */
344 -$messages['nl'] = array(
345 - 'likedpages' => "Hoog gewaardeerde pagina's",
346 - 'likedpages-leg' => "Hoog gewaardeerde pagina's zoeken",
347 - 'likedpages-list' => "Hier staan pagina's gesorteerd naar de waardering die lezers hebben gegeven.",
348 - 'likedpages-none' => "Er zijn geen pagina's weer te geven",
349 - 'likedpages-graphs' => 'waarderingsgegevens',
350 -);
351 -
352 -/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
353 - * @author Harald Khan
354 - */
355 -$messages['nn'] = array(
356 - 'likedpages' => 'Sider vurderte som gode',
357 - 'likedpages-leg' => 'Finn sider vurderte som gode',
358 - 'likedpages-list' => 'Nedanfor er ei lista over sider sorterte etter lesarane sine vurderingar av dei.',
359 - 'likedpages-none' => 'Det finst ingen sider i denne lista',
360 - 'likedpages-graphs' => 'vurderingsdata',
361 -);
362 -
363 -/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
364 - * @author Jon Harald Søby
365 - */
366 -$messages['no'] = array(
367 - 'likedpages' => 'Sider med høy vurdering',
368 - 'likedpages-leg' => 'Find sider med høy vurdering',
369 - 'likedpages-list' => 'Nedenfor er en liste over sider sortert etter lesernes vurdering.',
370 - 'likedpages-none' => 'Det er ingen sider i denne listen',
371 - 'likedpages-graphs' => 'vurderingsdata',
372 -);
373 -
374 -/** Occitan (Occitan)
375 - * @author Cedric31
376 - */
377 -$messages['oc'] = array(
378 - 'likedpages' => 'Paginas notadas nautament',
379 - 'likedpages-leg' => 'Cercar las paginas plan notadas',
380 - 'likedpages-list' => 'Vaquí, çaijós, una tièra de paginas triadas en foncion de lor notacion.',
381 - 'likedpages-none' => 'Existís pas cap de pagina dins aquesta tièra',
382 - 'likedpages-graphs' => 'Donadas de notacion',
383 -);
384 -
385 -/** Polish (Polski)
386 - * @author Leinad
387 - */
388 -$messages['pl'] = array(
389 - 'likedpages' => 'Wysoko oceniane strony',
390 - 'likedpages-leg' => 'Szukaj wysoko ocenianych stron',
391 - 'likedpages-list' => 'Poniżej znajduje się lista stron posortowanych według ocen wystawionych przez czytelników.',
392 - 'likedpages-none' => 'Na tej liście nie ma żadnych stron',
393 - 'likedpages-graphs' => 'ocena danych',
394 -);
395 -
396 -/** Piedmontese (Piemontèis)
397 - * @author Dragonòt
398 - */
399 -$messages['pms'] = array(
400 - 'likedpages' => 'Pàgine motobin vardà',
401 - 'likedpages-leg' => 'Treuva le pàgine pì vardà',
402 - 'likedpages-list' => 'Sota a-i é na lista ëd pàgine ordinà për ël sò feedback dij letor.',
403 - 'likedpages-none' => 'A-i é pa ëd pàgine an sta lista-sì',
404 - 'likedpages-graphs' => 'dat ëd le valutassion',
405 -);
406 -
407 -/** Portuguese (Português)
408 - * @author Waldir
409 - */
410 -$messages['pt'] = array(
411 - 'likedpages' => 'Páginas com avaliação alta',
412 - 'likedpages-leg' => 'Encontre páginas com avaliação alta',
413 - 'likedpages-list' => 'Abaixo está uma lista de páginas ordenadas pelas avaliações dos leitores',
414 - 'likedpages-none' => 'Não há páginas nesta lista',
415 - 'likedpages-graphs' => 'dados de avaliações',
416 -);
417 -
418 -/** Brazilian Portuguese (Português do Brasil)
419 - * @author Eduardo.mps
420 - */
421 -$messages['pt-br'] = array(
422 - 'likedpages' => 'Páginas com avaliação alta',
423 - 'likedpages-leg' => 'Encontre páginas com avaliação alta',
424 - 'likedpages-list' => 'Abaixo está uma lista de páginas ordenadas pelas avaliações dos leitores',
425 - 'likedpages-none' => 'Não há páginas nesta lista',
426 - 'likedpages-graphs' => 'dados de avaliações',
427 -);
428 -
429 -/** Romanian (Română)
430 - * @author KlaudiuMihaila
431 - * @author Mihai
432 - */
433 -$messages['ro'] = array(
434 - 'likedpages' => 'Pagini cu scoruri ridicate',
435 - 'likedpages-leg' => 'Găsiţi paginile cu scoruri ridicate',
436 - 'likedpages-none' => 'Nu există pagini în această listă',
437 -);
438 -
439 -/** Tarandíne (Tarandíne)
440 - * @author Joetaras
441 - */
442 -$messages['roa-tara'] = array(
443 - 'likedpages' => 'Pàggene cu le pundegge ierte',
444 - 'likedpages-leg' => 'Iacchie le pàggene cu le pundegge ierte',
445 - 'likedpages-list' => "Aqquà sotte ste 'na liste de pàggene arrenghete pe 'u pundegge lassete da le letture.",
446 - 'likedpages-none' => "Non ge stonne pàggene jndr'à sta liste",
447 - 'likedpages-graphs' => 'dete de le pundegge',
448 -);
449 -
450 -/** Russian (Русский)
451 - * @author Александр Сигачёв
452 - */
453 -$messages['ru'] = array(
454 - 'likedpages' => 'Высоко оцененные страницы',
455 - 'likedpages-leg' => 'Поиск высоко оцененных страниц',
456 - 'likedpages-list' => 'Ниже представлен список страниц, упорядоченный по их оценке читателями.',
457 - 'likedpages-none' => 'В этом списке нет страниц.',
458 - 'likedpages-graphs' => 'данные об оценке',
459 -);
460 -
461 -/** Slovak (Slovenčina)
462 - * @author Helix84
463 - */
464 -$messages['sk'] = array(
465 - 'likedpages' => 'Vysoko hodnotené stránky',
466 - 'likedpages-leg' => 'Nájsť vysoko hodnotené stránky',
467 - 'likedpages-list' => 'Toto je zoznam stránok zoradený podľa hodnotenia používateľov.',
468 - 'likedpages-none' => 'Tento zoznam neobsahuje žiadne stránky',
469 - 'likedpages-graphs' => 'hodnotenia',
470 -);
471 -
472 -/** Swedish (Svenska)
473 - * @author Boivie
474 - */
475 -$messages['sv'] = array(
476 - 'likedpages' => 'Sidor med höga betyg',
477 - 'likedpages-leg' => 'Hitta sidor med höga betyg',
478 - 'likedpages-list' => 'Nedan finns en lista över sidor sorterade efter betyg från läsarna.',
479 - 'likedpages-none' => 'Det finns inga sidor i denna lista',
480 - 'likedpages-graphs' => 'betygsdata',
481 -);
482 -
483 -/** Tagalog (Tagalog)
484 - * @author AnakngAraw
485 - */
486 -$messages['tl'] = array(
487 - 'likedpages' => 'Mga pahinang nabigyan ng mataas na antas',
488 - 'likedpages-leg' => 'Maghanap ng mga pahinang may mataas na kaantasan',
489 - 'likedpages-list' => "Nasa ibaba ang isang talaan ng mga pahinang inayos ayon sa kanilang natanggap na balik-pahayag (''feedback'') ng mambabasa.",
490 - 'likedpages-none' => 'Walang mga pahina sa loob ng talaang ito',
491 - 'likedpages-graphs' => 'dato ng pagbibigay ng kaantasan',
492 -);
493 -
494 -/** Turkish (Türkçe)
495 - * @author Joseph
496 - */
497 -$messages['tr'] = array(
498 - 'likedpages' => 'Yüksek derecelendirilmiş sayfalar',
499 - 'likedpages-leg' => 'Yüksek-derecelendirilmiş sayfaları bul',
500 - 'likedpages-list' => 'Aşaıdaki, okuyucularının geri bildirim oranına göre sıralanmış sayfaların listesidir.',
501 - 'likedpages-none' => 'Bu listede hiç sayfa yok',
502 - 'likedpages-graphs' => 'veri değerlendirmesi',
503 -);
504 -
505 -/** Ukrainian (Українська)
506 - * @author Ahonc
507 - */
508 -$messages['uk'] = array(
509 - 'likedpages' => 'Сторінки з високою оцінкою якості',
510 - 'likedpages-leg' => 'Знайти сторінки з високим рейтингом',
511 - 'likedpages-list' => "Нижче поданий список сторінок, відсортованих за оцінкою за допомогою зворотного зв'язку читачів.",
512 - 'likedpages-none' => 'У цьому списку нема сторінок',
513 - 'likedpages-graphs' => 'дані рейтингу',
514 -);
515 -
516 -/** Veps (Vepsan kel')
517 - * @author Игорь Бродский
518 - */
519 -$messages['vep'] = array(
520 - 'likedpages' => 'Korktas arvoitud lehtpoled',
521 - 'likedpages-leg' => 'Ectä korktas arvoitud lehtpoled',
522 - 'likedpages-list' => 'Alemba om nimikirjutez, kus lehtpoled oma järgetud lugijoiden arvsanoiden mödhe.',
523 - 'likedpages-none' => 'Neciš nimikirjuteses ei ole lehtpolid.',
524 - 'likedpages-graphs' => 'andmused arvostelendas',
525 -);
526 -
527 -/** Vietnamese (Tiếng Việt)
528 - * @author Minh Nguyen
529 - */
530 -$messages['vi'] = array(
531 - 'likedpages' => 'Các trang được đánh giá cao',
532 - 'likedpages-leg' => 'Tìm các trang được đánh giá cao',
533 - 'likedpages-list' => 'Đây là danh sách các trang được xếp theo đánh giá của các độc giả.',
534 - 'likedpages-none' => 'Không có trang nào.',
535 - 'likedpages-graphs' => 'dữ liệu đánh giá',
536 -);
537 -
Index: branches/wmf-deployment/extensions/ReaderFeedback/language/RatedPages.i18n.php
@@ -0,0 +1,547 @@
 2+<?php
 3+/**
 4+ * Internationalisation file for FlaggedRevs extension, section RatedPages
 5+ *
 6+ * @addtogroup Extensions
 7+ */
 8+
 9+$messages = array();
 10+
 11+$messages['en'] = array(
 12+ 'ratedpages' => 'Reader rated pages',
 13+ 'ratedpages-leg' => 'Find pages rated with a sizeable number of ratings',
 14+ 'ratedpages-list' => 'Below is a list of pages sorted by their reader feedback rating.',
 15+ 'ratedpages-none' => 'There are no pages in this list',
 16+ 'ratedpages-graphs' => 'rating data',
 17+);
 18+
 19+/** Message documentation (Message documentation)
 20+ * @author Pietrodn
 21+ */
 22+$messages['qqq'] = array(
 23+ 'ratedpages-list' => '{{identical|flaggedrevs-pagelist}}',
 24+ 'ratedpages-graphs' => '{{identical|flaggedrevs-graphs}}',
 25+);
 26+
 27+/** Arabic (العربية)
 28+ * @author Meno25
 29+ */
 30+$messages['ar'] = array(
 31+ 'ratedpages-list' => 'بالأسفل قائمة بالصفحات مرتبة بواسطة تقييم قرائها.',
 32+ 'ratedpages-none' => 'لا توجد صفحات في هذه القائمة',
 33+ 'ratedpages-graphs' => 'بيانات التقييم',
 34+);
 35+
 36+/** Egyptian Spoken Arabic (مصرى)
 37+ * @author Meno25
 38+ */
 39+$messages['arz'] = array(
 40+ 'ratedpages-list' => 'بالأسفل قائمة بالصفحات مرتبة بواسطة تقييم قرائها.',
 41+ 'ratedpages-none' => 'لا توجد صفحات فى هذه القائمة',
 42+ 'ratedpages-graphs' => 'بيانات التقييم',
 43+);
 44+
 45+/** Southern Balochi (بلوچی مکرانی)
 46+ * @author Mostafadaneshvar
 47+ */
 48+$messages['bcc'] = array(
 49+ 'ratedpages-list' => 'جهلء یک لیستی چه صفحات هستن که گون درجه بندی بر اساس نظرات وانوکان مرتب بوتگنت.',
 50+ 'ratedpages-none' => 'ته ای لیست هچ صفحه ای نیست',
 51+ 'ratedpages-graphs' => 'دیتای درجه بندی',
 52+);
 53+
 54+/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
 55+ * @author EugeneZelenko
 56+ * @author Jim-by
 57+ */
 58+$messages['be-tarask'] = array(
 59+ 'ratedpages' => 'Старонак, адзначаныя чытачамі',
 60+ 'ratedpages-leg' => 'Знайсьці старонкі са значнай колькасьцю адзнакаў',
 61+ 'ratedpages-list' => 'Ніжэй пададзены сьпіс старонак адсартаваных па іх адзнацы чытачамі.',
 62+ 'ratedpages-none' => 'У гэтым сьпісе няма старонак',
 63+ 'ratedpages-graphs' => 'зьвесткі пра адзнаку',
 64+);
 65+
 66+/** Breton (Brezhoneg)
 67+ * @author Fulup
 68+ */
 69+$messages['br'] = array(
 70+ 'ratedpages-list' => 'A-is ez eus ur roll pajennoù urzhiet diouzh priziadenn al lennerien.',
 71+ 'ratedpages-none' => "N'eus pajenn ebet war ar roll-mañ",
 72+ 'ratedpages-graphs' => 'roadennoù priziañ',
 73+);
 74+
 75+/** Bosnian (Bosanski)
 76+ * @author CERminator
 77+ */
 78+$messages['bs'] = array(
 79+ 'ratedpages' => 'Stranice ocijenjene od čitalaca',
 80+ 'ratedpages-leg' => 'Nađi stranice koje su ocijenjene sa većim brojem ocjena',
 81+ 'ratedpages-list' => 'Ispod je spisak stranica poredanih po rejtingu poslanom od strane čitaoca.',
 82+ 'ratedpages-none' => 'Nema stranica na ovom spisku',
 83+ 'ratedpages-graphs' => 'podaci rejtinga',
 84+);
 85+
 86+/** Danish (Dansk)
 87+ * @author Byrial
 88+ */
 89+$messages['da'] = array(
 90+ 'ratedpages-list' => 'Nedenfor er en liste med sider sorteret efter deres læserbedømmelse.',
 91+ 'ratedpages-none' => 'Der er ingen sider i listen',
 92+ 'ratedpages-graphs' => 'Bedømmelsesdata',
 93+);
 94+
 95+/** German (Deutsch)
 96+ * @author Raimond Spekking
 97+ * @author UV
 98+ * @author Umherirrender
 99+ */
 100+$messages['de'] = array(
 101+ 'ratedpages-list' => 'Es folgt eine Liste von Seiten, sortiert nach der Leserbewertung.',
 102+ 'ratedpages-none' => 'Diese Liste enthält keine Seiten',
 103+ 'ratedpages-graphs' => 'Bewertungsdaten',
 104+);
 105+
 106+/** Lower Sorbian (Dolnoserbski)
 107+ * @author Michawiki
 108+ */
 109+$messages['dsb'] = array(
 110+ 'ratedpages' => 'Boki pógódnośone wót cytarja',
 111+ 'ratedpages-leg' => 'Boki namakaś, kótarež daju se pó licbje pógodnośenjow rozrědowaś',
 112+ 'ratedpages-list' => 'Slědujo lisćina bokow, sortěrowanych pó jich pógódnośenju wót cytarjow.',
 113+ 'ratedpages-none' => 'Toś ta lisćina njewopśimujo boki',
 114+ 'ratedpages-graphs' => 'Daty pógódnośenja',
 115+);
 116+
 117+/** Greek (Ελληνικά)
 118+ * @author ZaDiak
 119+ */
 120+$messages['el'] = array(
 121+ 'ratedpages-graphs' => 'δεδομένα βαθμολόγησης',
 122+);
 123+
 124+/** Esperanto (Esperanto)
 125+ * @author Yekrats
 126+ */
 127+$messages['eo'] = array(
 128+ 'ratedpages-list' => 'Jen listo de paĝoj ordigitaj de la taksado de legintoj.',
 129+ 'ratedpages-none' => 'Ne estas paĝoj en ĉi tiu listo',
 130+ 'ratedpages-graphs' => 'datenoj de taksado',
 131+);
 132+
 133+/** Spanish (Español)
 134+ * @author Crazymadlover
 135+ */
 136+$messages['es'] = array(
 137+ 'ratedpages-list' => 'Lo de abajo es una lista de páginas ordenadas por su valoración de retroalimentación de lector.',
 138+ 'ratedpages-none' => 'No hay páginas en esta lista',
 139+ 'ratedpages-graphs' => 'Datos de rating',
 140+);
 141+
 142+/** Persian (فارسی)
 143+ * @author Huji
 144+ */
 145+$messages['fa'] = array(
 146+ 'ratedpages-list' => 'در زیر فهرستی از صفحه‌ها که طبق نمره خوانندگان آن‌ها مرتب شده‌است قرار دارد.',
 147+ 'ratedpages-none' => 'صفحه‌ای در این فهرست وجود ندارد',
 148+ 'ratedpages-graphs' => 'داده‌های ارزیابی',
 149+);
 150+
 151+/** Finnish (Suomi)
 152+ * @author Cimon Avaro
 153+ * @author Crt
 154+ * @author Jaakonam
 155+ * @author Str4nd
 156+ */
 157+$messages['fi'] = array(
 158+ 'ratedpages-list' => 'Alla näkyvä sivuluettelo on järjestetty käyttäjien antaman palautearvosanan mukaan.',
 159+ 'ratedpages-none' => 'Tässä luettelossa ei ole sivuja',
 160+ 'ratedpages-graphs' => 'arvostelutiedot',
 161+);
 162+
 163+/** French (Français)
 164+ * @author Grondin
 165+ * @author PieRRoMaN
 166+ */
 167+$messages['fr'] = array(
 168+ 'ratedpages' => 'Pages évaluées par les lecteurs',
 169+ 'ratedpages-leg' => "Trouver les pages évaluées avec un nombre d'évaluations assez grand",
 170+ 'ratedpages-list' => 'Voici une liste des pages triées suivant leur évaluation par les lecteurs.',
 171+ 'ratedpages-none' => 'Il n’y a aucune page dans cette liste',
 172+ 'ratedpages-graphs' => "données d'évaluation",
 173+);
 174+
 175+/** Franco-Provençal (Arpetan)
 176+ * @author ChrisPtDe
 177+ */
 178+$messages['frp'] = array(
 179+ 'ratedpages-list' => 'Vê-que una lista de les pâges triyês d’aprés lor èstimacion per los liésors.',
 180+ 'ratedpages-none' => 'Y at gins de pâge dens ceta lista.',
 181+ 'ratedpages-graphs' => 'balyês d’èstimacion',
 182+);
 183+
 184+/** Galician (Galego)
 185+ * @author Toliño
 186+ */
 187+$messages['gl'] = array(
 188+ 'ratedpages' => 'Páxinas valoradas polos lectores',
 189+ 'ratedpages-leg' => 'Atopar as páxinas valoradas cun número considerable de votos',
 190+ 'ratedpages-list' => 'Embaixo hai unha lista das páxinas ordenadas pola valoración da reacción dos seus lectores.',
 191+ 'ratedpages-none' => 'Non hai páxinas nesta lista',
 192+ 'ratedpages-graphs' => 'datos das valoracións',
 193+);
 194+
 195+/** Ancient Greek (Ἀρχαία ἑλληνικὴ)
 196+ * @author Omnipaedista
 197+ */
 198+$messages['grc'] = array(
 199+ 'ratedpages-graphs' => 'δεδομένα βαθμώσεως',
 200+);
 201+
 202+/** Swiss German (Alemannisch)
 203+ * @author Als-Holder
 204+ */
 205+$messages['gsw'] = array(
 206+ 'ratedpages' => 'Syte, wu dur Läser bewärtet wore sin',
 207+ 'ratedpages-leg' => 'Syte finde mit ere greßere Aazahl vu Bewärtige',
 208+ 'ratedpages-list' => 'Do het s Lischt vu Syte, wu no dr Bewärtig dur Läser sortiert sin.',
 209+ 'ratedpages-none' => 'In däre Lischt het s keini Syte',
 210+ 'ratedpages-graphs' => 'Bewärtigsdate',
 211+);
 212+
 213+/** Hebrew (עברית)
 214+ * @author DoviJ
 215+ * @author Rotemliss
 216+ */
 217+$messages['he'] = array(
 218+ 'ratedpages-list' => 'להלן רשימת דפים, ממוינים לפי דירוג הקוראים.',
 219+ 'ratedpages-none' => 'אין דפים ברשימה זו',
 220+ 'ratedpages-graphs' => 'מידע הדירוג',
 221+);
 222+
 223+/** Upper Sorbian (Hornjoserbsce)
 224+ * @author Michawiki
 225+ */
 226+$messages['hsb'] = array(
 227+ 'ratedpages' => 'Strony pohódnoćene wot čitarja',
 228+ 'ratedpages-leg' => 'Strony namakać, kotrež dadźa so po ličbje pohódnoćenjow rozrjadować',
 229+ 'ratedpages-list' => 'Slěduje lisćina stronow sortěrowanych po póhodnoćenju wot čitarjow',
 230+ 'ratedpages-none' => 'W tutej lisćinje strony njejsu.',
 231+ 'ratedpages-graphs' => 'Daty pohódnoćenja',
 232+);
 233+
 234+/** Hungarian (Magyar)
 235+ * @author Dani
 236+ * @author Glanthor Reviol
 237+ * @author Samat
 238+ */
 239+$messages['hu'] = array(
 240+ 'ratedpages' => 'Olvasók által értékelt lapok',
 241+ 'ratedpages-leg' => 'Figyelemreméltó számú értékeléssel rendelkező lapok keresése',
 242+ 'ratedpages-list' => 'Alább a lapok olvasói értékelés szerint sorba tett listája látható.',
 243+ 'ratedpages-none' => 'Nem található egyetlen lap sem a listában.',
 244+ 'ratedpages-graphs' => 'értékelési adatok',
 245+);
 246+
 247+/** Interlingua (Interlingua)
 248+ * @author McDutchie
 249+ */
 250+$messages['ia'] = array(
 251+ 'ratedpages-list' => 'Infra es un lista de paginas ordinate per evaluation del lectores.',
 252+ 'ratedpages-none' => 'Il non ha paginas in iste lista',
 253+ 'ratedpages-graphs' => 'datos de evalutation',
 254+);
 255+
 256+/** Indonesian (Bahasa Indonesia)
 257+ * @author Bennylin
 258+ * @author Rex
 259+ */
 260+$messages['id'] = array(
 261+ 'ratedpages-list' => 'Berikut adalah daftar halaman yang diurutkan menurut peringkat yang diberikan pembacanya.',
 262+ 'ratedpages-none' => 'Tidak adalah halaman dalam daftar ini',
 263+ 'ratedpages-graphs' => 'data pemeringkatan',
 264+);
 265+
 266+/** Italian (Italiano)
 267+ * @author Darth Kule
 268+ * @author Pietrodn
 269+ */
 270+$messages['it'] = array(
 271+ 'ratedpages-list' => 'Di seguito è riportato un elenco di pagine ordinate per il loro feedback da parte dei lettori.',
 272+ 'ratedpages-none' => 'Non ci sono pagine in questo elenco',
 273+ 'ratedpages-graphs' => 'dati delle valutazioni',
 274+);
 275+
 276+/** Japanese (日本語)
 277+ * @author Fryed-peach
 278+ */
 279+$messages['ja'] = array(
 280+ 'ratedpages' => '読者評価ページ',
 281+ 'ratedpages-leg' => '相当数の評価がなされたページを探す',
 282+ 'ratedpages-list' => '以下ではページを読者による評価の順に整列して一覧します。',
 283+ 'ratedpages-none' => '表示すべきページはありません',
 284+ 'ratedpages-graphs' => '評価データ',
 285+);
 286+
 287+/** Khmer (ភាសាខ្មែរ)
 288+ * @author Lovekhmer
 289+ * @author គីមស៊្រុន
 290+ */
 291+$messages['km'] = array(
 292+ 'ratedpages-none' => 'មិនមានទំព័រនៅក្នុងបញ្ជីនេះទេ',
 293+);
 294+
 295+/** Korean (한국어)
 296+ * @author Kwj2772
 297+ */
 298+$messages['ko'] = array(
 299+ 'ratedpages-list' => '다음은 독자의 평가에 따라 정렬된 문서의 목록입니다.',
 300+ 'ratedpages-none' => '이 목록에 문서가 없습니다.',
 301+ 'ratedpages-graphs' => '평가 데이터',
 302+);
 303+
 304+/** Ripoarisch (Ripoarisch)
 305+ * @author Purodha
 306+ */
 307+$messages['ksh'] = array(
 308+ 'ratedpages-list' => 'Hee küt en Leß met Sigge. Se es donoh zotteet, wi joot de Lesser se enjeshtoof han.',
 309+ 'ratedpages-none' => 'En dä Leß sin kei Sigge dren.',
 310+ 'ratedpages-graphs' => 'Date vum Enshtoofe',
 311+);
 312+
 313+/** Luxembourgish (Lëtzebuergesch)
 314+ * @author Les Meloures
 315+ * @author Robby
 316+ */
 317+$messages['lb'] = array(
 318+ 'ratedpages' => 'Säiten déi vu Lieser bewäert goufen',
 319+ 'ratedpages-leg' => 'Säite fannen mat enger akzeptabeler Zuel vu Bewäertungen',
 320+ 'ratedpages-list' => 'Hei ass eng Lëscht vu Säiten déi no der Bewäertung vun de Lieser zortéiert sinn.',
 321+ 'ratedpages-none' => 'Et gëtt keng Säiten op dëser Lëscht',
 322+ 'ratedpages-graphs' => 'Bewertungsdaten',
 323+);
 324+
 325+/** Malay (Bahasa Melayu)
 326+ * @author Aviator
 327+ */
 328+$messages['ms'] = array(
 329+ 'ratedpages-list' => 'Yang berikut ialah senarai laman mengikut tertib penilaian pembaca.',
 330+ 'ratedpages-none' => 'Tiada laman dalam senarai ini',
 331+ 'ratedpages-graphs' => 'data penilaian',
 332+);
 333+
 334+/** Erzya (Эрзянь)
 335+ * @author Botuzhaleny-sodamo
 336+ */
 337+$messages['myv'] = array(
 338+ 'ratedpages-graphs' => 'питнень путомадо дата',
 339+);
 340+
 341+/** Dutch (Nederlands)
 342+ * @author Siebrand
 343+ */
 344+$messages['nl'] = array(
 345+ 'ratedpages' => "Door lezers gewaardeerde pagina's",
 346+ 'ratedpages-leg' => "Pagina's weergeven die een relevant aantal keren gewaardeerd zijn",
 347+ 'ratedpages-list' => "Hier staan pagina's gesorteerd naar de waardering die lezers hebben gegeven.",
 348+ 'ratedpages-none' => "Er zijn geen pagina's weer te geven",
 349+ 'ratedpages-graphs' => 'waarderingsgegevens',
 350+);
 351+
 352+/** Norwegian Nynorsk (‪Norsk (nynorsk)‬)
 353+ * @author Harald Khan
 354+ */
 355+$messages['nn'] = array(
 356+ 'ratedpages-list' => 'Nedanfor er ei lista over sider sorterte etter lesarane sine vurderingar av dei.',
 357+ 'ratedpages-none' => 'Det finst ingen sider i denne lista',
 358+ 'ratedpages-graphs' => 'vuderingsdata',
 359+);
 360+
 361+/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
 362+ * @author Harald Khan
 363+ * @author Jon Harald Søby
 364+ */
 365+$messages['no'] = array(
 366+ 'ratedpages-list' => 'Nedenfor er en liste over sider sortert etter lesernes vurdering av dem',
 367+ 'ratedpages-none' => 'Det er ingen sider i denne listen',
 368+ 'ratedpages-graphs' => 'vurderingsdata',
 369+);
 370+
 371+/** Occitan (Occitan)
 372+ * @author Cedric31
 373+ */
 374+$messages['oc'] = array(
 375+ 'ratedpages-list' => 'Vaquí, çaijós, una tièra de paginas triadas en foncion de la notacion de lors lectors.',
 376+ 'ratedpages-none' => 'I a pas cap de pagina dins aquesta tièra',
 377+ 'ratedpages-graphs' => 'donadas de notacion',
 378+);
 379+
 380+/** Polish (Polski)
 381+ * @author Leinad
 382+ */
 383+$messages['pl'] = array(
 384+ 'ratedpages-list' => 'Poniżej znajduje się lista stron posortowanych według ocen wystawionych przez czytelników.',
 385+ 'ratedpages-none' => 'Na tej liście nie ma żadnych stron',
 386+ 'ratedpages-graphs' => 'ocena danych',
 387+);
 388+
 389+/** Piedmontese (Piemontèis)
 390+ * @author Dragonòt
 391+ */
 392+$messages['pms'] = array(
 393+ 'ratedpages' => 'Pàgine votà dai letor',
 394+ 'ratedpages-leg' => 'Treuva le pàgine votà con un discret nùmer ëd vot',
 395+ 'ratedpages-list' => 'Sota a-i é na lista ëd pàgine ordinà për la soa valutassion dij letor.',
 396+ 'ratedpages-none' => 'A-i é pa ëd pàgine an sta lista-sì',
 397+ 'ratedpages-graphs' => 'dat ëd valutassion',
 398+);
 399+
 400+/** Portuguese (Português)
 401+ * @author 555
 402+ * @author Malafaya
 403+ * @author Waldir
 404+ */
 405+$messages['pt'] = array(
 406+ 'ratedpages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
 407+ 'ratedpages-none' => 'Não há páginas nesta listagem',
 408+ 'ratedpages-graphs' => 'dados de avaliações',
 409+);
 410+
 411+/** Brazilian Portuguese (Português do Brasil)
 412+ * @author Eduardo.mps
 413+ */
 414+$messages['pt-br'] = array(
 415+ 'ratedpages-list' => 'Segue-se uma lista de páginas ordenada de acordo com a avaliação dos leitores.',
 416+ 'ratedpages-none' => 'Não há páginas nesta listagem',
 417+ 'ratedpages-graphs' => 'dados de avaliações',
 418+);
 419+
 420+/** Romanian (Română)
 421+ * @author KlaudiuMihaila
 422+ * @author Mihai
 423+ */
 424+$messages['ro'] = array(
 425+ 'ratedpages-list' => 'Mai jos este o listă de pagini sortate după evaluarea venită de la cititori.',
 426+ 'ratedpages-none' => 'Nu există pagini în această listă',
 427+);
 428+
 429+/** Tarandíne (Tarandíne)
 430+ * @author Joetaras
 431+ */
 432+$messages['roa-tara'] = array(
 433+ 'ratedpages-list' => "Sotte ste 'na liste de pàggene arrenghete pe 'u pundegge de le lore lettore.",
 434+ 'ratedpages-none' => "Non ge stonne pàggene jndr'à sta liste",
 435+ 'ratedpages-graphs' => "dete d'u puntegge",
 436+);
 437+
 438+/** Russian (Русский)
 439+ * @author Александр Сигачёв
 440+ */
 441+$messages['ru'] = array(
 442+ 'ratedpages' => 'Страницы, оцененные читателями',
 443+ 'ratedpages-leg' => 'Найти страницы, со значительным числом оценок',
 444+ 'ratedpages-list' => 'Ниже представлен список страниц, упорядоченный по их оценке читателями.',
 445+ 'ratedpages-none' => 'Нет страниц в списке.',
 446+ 'ratedpages-graphs' => 'данные об оценке',
 447+);
 448+
 449+/** Slovak (Slovenčina)
 450+ * @author Helix84
 451+ */
 452+$messages['sk'] = array(
 453+ 'ratedpages' => 'Stránky hodnotené čitateľmi',
 454+ 'ratedpages-leg' => 'Nájsť s väčším množstvom ohodnotení',
 455+ 'ratedpages-list' => 'Toto je zoznam stránok zoradený podľa hodnotenia čitateľov.',
 456+ 'ratedpages-none' => 'V tomto zozname sa nenachádzajú žiadne stránky',
 457+ 'ratedpages-graphs' => 'údaje o hodnotení',
 458+);
 459+
 460+/** Serbian Cyrillic ekavian (Српски (ћирилица))
 461+ * @author Millosh
 462+ * @author Михајло Анђелковић
 463+ */
 464+$messages['sr-ec'] = array(
 465+ 'ratedpages-list' => 'Испод се налази списак сортиран по оценама читалаца.',
 466+ 'ratedpages-none' => 'Нема страна у овом списку.',
 467+);
 468+
 469+/** Serbian Latin ekavian (Srpski (latinica))
 470+ * @author Michaello
 471+ */
 472+$messages['sr-el'] = array(
 473+ 'ratedpages-list' => 'Ispod se nalazi spisak sortiran po ocenama čitalaca.',
 474+ 'ratedpages-none' => 'Nema strana u ovom spisku.',
 475+);
 476+
 477+/** Swedish (Svenska)
 478+ * @author Boivie
 479+ */
 480+$messages['sv'] = array(
 481+ 'ratedpages-list' => 'Nedan finns en lista över sidor sorterade efter deras läsar-feedback-betyg',
 482+ 'ratedpages-none' => 'Det finns inga sidor i denna lista',
 483+ 'ratedpages-graphs' => 'betygsdata',
 484+);
 485+
 486+/** Tagalog (Tagalog)
 487+ * @author AnakngAraw
 488+ */
 489+$messages['tl'] = array(
 490+ 'ratedpages-list' => 'Nasa ibaba ang isang talaan ng mga pahinang inayos ayon sa kanilang kaantasang ibinigay ng mambabasa.',
 491+ 'ratedpages-none' => 'Walang mga pahina sa loob ng talaang ito',
 492+ 'ratedpages-graphs' => 'datong pangpagaantas',
 493+);
 494+
 495+/** Turkish (Türkçe)
 496+ * @author Joseph
 497+ */
 498+$messages['tr'] = array(
 499+ 'ratedpages-list' => 'Aşağıdaki, kullanıcı dönütleri oranlarına göre sıralanmış sayfalar listesidir.',
 500+ 'ratedpages-none' => 'Bu listede hiç sayfa yok',
 501+ 'ratedpages-graphs' => 'veri derecelendiriliyor',
 502+);
 503+
 504+/** Ukrainian (Українська)
 505+ * @author Ahonc
 506+ */
 507+$messages['uk'] = array(
 508+ 'ratedpages-list' => "Нижче поданий список сторінок, відсортованих за оцінкою за допомогою зворотного зв'язку читачів.",
 509+ 'ratedpages-none' => 'У цьому списку нема сторінок',
 510+ 'ratedpages-graphs' => 'дані рейтингу',
 511+);
 512+
 513+/** Veps (Vepsan kel')
 514+ * @author Игорь Бродский
 515+ */
 516+$messages['vep'] = array(
 517+ 'ratedpages-list' => 'Lugijoil järgetud heiden arvsanoiden mödhe lehtpoled (nimikirjutez).',
 518+ 'ratedpages-none' => 'Neciš nimikirjuteses ei ole lehtpolid',
 519+ 'ratedpages-graphs' => 'andmused arvostelendas',
 520+);
 521+
 522+/** Vietnamese (Tiếng Việt)
 523+ * @author Minh Nguyen
 524+ */
 525+$messages['vi'] = array(
 526+ 'ratedpages-list' => 'Đây là danh sách các trang theo thứ tự đánh giá của độc giả.',
 527+ 'ratedpages-none' => 'Danh sách này không có trang nào.',
 528+ 'ratedpages-graphs' => 'dữ liệu đánh giá',
 529+);
 530+
 531+/** Simplified Chinese (‪中文(简体)‬)
 532+ * @author Gzdavidwong
 533+ */
 534+$messages['zh-hans'] = array(
 535+ 'ratedpages-list' => '以下是按读者评分排序的页面列表。',
 536+ 'ratedpages-none' => '本列表没有任何页面。',
 537+ 'ratedpages-graphs' => '评分资料',
 538+);
 539+
 540+/** Traditional Chinese (‪中文(繁體)‬)
 541+ * @author Wrightbus
 542+ */
 543+$messages['zh-hant'] = array(
 544+ 'ratedpages-list' => '以下是按讀者評分排序的頁面清單。',
 545+ 'ratedpages-none' => '本清單沒有任何頁面',
 546+ 'ratedpages-graphs' => '評分資料',
 547+);
 548+
Index: branches/wmf-deployment/extensions/ReaderFeedback/language/RatingHistory.i18n.php
@@ -479,14 +479,17 @@
480480 );
481481
482482 /** Basque (Euskara)
 483+ * @author An13sa
483484 * @author Kobazulo
484485 */
485486 $messages['eu'] = array(
 487+ 'ratinghistory-period' => 'Denbora-tartea:',
486488 'ratinghistory-month' => 'azken hilabetea',
487489 'ratinghistory-3months' => 'azken 3 hilabeteak',
488490 'ratinghistory-year' => 'azken urtea',
489491 'ratinghistory-3years' => 'azken 3 urteak',
490492 'readerfeedback-svg' => 'SVG bezala bistaratu',
 493+ 'ratinghistory-table-votes' => 'Bozkak',
491494 );
492495
493496 /** Persian (فارسی)
@@ -1759,12 +1762,12 @@
17601763 'ratinghistory-table-rating' => 'Arvoind',
17611764 'ratinghistory-table-votes' => 'Äned',
17621765 'ratinghistory-none' => 'Ei ulotu lugijoiden arvsanoid grafikan tehtes.',
1763 - '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>.
 1766+ 'ratinghistory-ratings' => "'''Legend:''' '''(1)''' - Hond; '''(2)''' - Madal; '''(3)''' - Keskmäine; '''(4)''' - Korged; '''(5)''' - Lujas hüvä;",
 1767+ 'ratinghistory-legend' => "Alemba oma ozutadud '''arvsanoiden lugu päiväs''' <font color=\"red\">''(rusked)''</font>, '''päivesenkeskmäine arvsana''' <font color=\"blue\">''(sinine)''</font> da '''nügüdläine keskmäine arvsana''' <font color=\"green\">''(vihand)''</font>.
17641768 '''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.
17651769
1766 -Pordhišt: '''[1]''' — hond; '''[2]''' — madal; '''[3]''' — keskmäine; '''[4]''' — hüvä; '''[5]''' — lujas hüvä;
1767 -
1768 -'''Kodvindoiden lugu päiväs''' <font color=\"red\">''(rusked)''</font> om ozutadud masštabas ''1:\$1''.",
 1770+Pordhišt: '''[1]''' — hond; '''[2]''' — madal; '''[3]''' — keskmäine; '''[4]''' — hüvä; '''[5]''' — lujas hüvä;",
 1771+ 'ratinghistory-graph-scale' => "'''Arvostelendoiden lugu päiväs''' <font color=\"red\">''(red)''</font> ozutadas ''1:\$1''-masštabas.",
17691772 'right-feedback' => 'Kävutagat arvostelendform lehtpoliden arvosteldes',
17701773 );
17711774
Index: branches/wmf-deployment/extensions/ReaderFeedback/language/ReaderFeedback.i18n.php
@@ -32,11 +32,16 @@
3333 'readerfeedback-level-4' => 'Excellent',
3434 'readerfeedback-submit' => 'Submit',
3535 'readerfeedback-main' => 'Only content pages can be rated.',
36 - 'readerfeedback-success' => '\'\'\'Thank you for reviewing this page!\'\'\' ([$3 Comments or questions?]).',
37 - 'readerfeedback-voted' => '\'\'\'It appears that you already rated this page\'\'\' ([$3 Comments or questions?]).',
 36+ 'readerfeedback-success' => '\'\'\'Thank you for reviewing this page!\'\'\' ([$3 comments or questions?]).',
 37+ 'readerfeedback-voted' => '\'\'\'It appears that you already rated this page\'\'\' ([$3 comments or questions?]).',
 38+ 'readerfeedback-error' => '\'\'\'An error has occurred while rating this page\'\'\' ([$3 comments or questions?]).',
3839 'readerfeedback-submitting' => 'Submitting …',
3940 'readerfeedback-finished' => 'Thank you!',
4041 'readerfeedback-tagfilter' => 'Tag:',
 42+ 'readerfeedback-tierfilter' => 'Rating:',
 43+ 'readerfeedback-tier-high' => 'High',
 44+ 'readerfeedback-tier-medium' => 'Moderate',
 45+ 'readerfeedback-tier-poor' => 'Poor',
4146 'tooltip-ca-ratinghist' => 'Reader ratings of this page',
4247 'specialpages-group-feedback' => 'Viewer opinion',
4348 );
@@ -218,9 +223,14 @@
219224 'readerfeedback-main' => 'Адзначацца могуць толькі старонкі са зьместам.',
220225 'readerfeedback-success' => "'''Дзякуем за адзнаку гэтай старонкі!''' ([$3 Камэнтары альбо пытаньні?]).",
221226 'readerfeedback-voted' => "'''Верагодна, Вы ўжо адзначалі гэтую старонку''' ([$3 Камэнтары альбо пытаньні?]).",
 227+ 'readerfeedback-error' => "'''Адбылася памылка пад час вызначэньня рэйтынгу гэтай старонкі''' ([$3 камэнтары альбо пытаньні?]).",
222228 'readerfeedback-submitting' => 'Адпраўка…',
223229 'readerfeedback-finished' => 'Дзякуем!',
224230 'readerfeedback-tagfilter' => 'Метка:',
 231+ 'readerfeedback-tierfilter' => 'Адзнака:',
 232+ 'readerfeedback-tier-high' => 'Высокая',
 233+ 'readerfeedback-tier-medium' => 'Сярэдняя',
 234+ 'readerfeedback-tier-poor' => 'Нізкая',
225235 'tooltip-ca-ratinghist' => 'Адзнакі гэтай старонкі чытачамі',
226236 'specialpages-group-feedback' => 'Меркаваньні чытачоў',
227237 );
@@ -288,9 +298,14 @@
289299 'readerfeedback-main' => 'Može se ocijeniti samo sadržaj stranice.',
290300 'readerfeedback-success' => "'''Hvala Vam za ocijenjivanje ove stranice!''' ([$3 Komentari ili pitanja?]).",
291301 'readerfeedback-voted' => "'''Izgleda da ste već ocijenili ovu stranicu''' ([$3 Komentari ili pitanja?]).",
 302+ 'readerfeedback-error' => "'''Desila se greška pri rejtingu ove stranice''' ([$3 komentari ili pitanja?]).",
292303 'readerfeedback-submitting' => 'Šaljem …',
293304 'readerfeedback-finished' => 'Hvala Vam!',
294305 'readerfeedback-tagfilter' => 'Oznaka:',
 306+ 'readerfeedback-tierfilter' => 'Rejting:',
 307+ 'readerfeedback-tier-high' => 'Visok',
 308+ 'readerfeedback-tier-medium' => 'Umjeren',
 309+ 'readerfeedback-tier-poor' => 'Slab',
295310 'tooltip-ca-ratinghist' => 'Ocjene čitaoca ove stranice',
296311 'specialpages-group-feedback' => 'Mišljenje čitaoca',
297312 );
@@ -346,6 +361,7 @@
347362 'readerfeedback-success' => "'''Děkujeme za posouzení této stránky!''' ([$3 Máte komentář nebo otázku?])",
348363 'readerfeedback-voted' => "'''Zřejmě jste již tuto stránku hodnotili.''' ([$3 Máte komentář nebo otázku?])",
349364 'readerfeedback-submitting' => 'Odesílá se...',
 365+ 'specialpages-group-feedback' => 'Názory čtenářů',
350366 );
351367
352368 /** Danish (Dansk)
@@ -451,9 +467,14 @@
452468 'readerfeedback-main' => 'Jano wopśimjeśowe boki daju se pógódnośiś.',
453469 'readerfeedback-success' => "'''Źěkujomy se za pśeglědowanje toś togo boka!''' ([$3 Komentary abo pšašanja?]).",
454470 'readerfeedback-voted' => "'''Zda se, až sy južo pógódnośił toś ten bok''' ([$3 Komentary abo pšašanja?]).",
 471+ 'readerfeedback-error' => "'''Pśi pogódnośowanju toś togo boka jo zmólka nastała''' ([$3 komentary abo pšašanja?]).",
455472 'readerfeedback-submitting' => 'Wótpósćeła se...',
456473 'readerfeedback-finished' => 'Źěkujomy se!',
457474 'readerfeedback-tagfilter' => 'Toflicka:',
 475+ 'readerfeedback-tierfilter' => 'Pógódnośenje:',
 476+ 'readerfeedback-tier-high' => 'Wusoki',
 477+ 'readerfeedback-tier-medium' => 'Srědny',
 478+ 'readerfeedback-tier-poor' => 'Špatny',
458479 'tooltip-ca-ratinghist' => 'Pógódnośenja cytarjow za toś ten bok',
459480 'specialpages-group-feedback' => 'Měnjenje wobglědowarja',
460481 );
@@ -561,8 +582,17 @@
562583 'readerfeedback-reliability' => 'Fidagarritasuna',
563584 'readerfeedback-npov' => 'Neutraltasuna',
564585 'readerfeedback-presentation' => 'Aurkezpena',
 586+ 'readerfeedback-overall' => 'Guztira',
 587+ 'readerfeedback-level-none' => '(ziurtasun gutxikoa)',
 588+ 'readerfeedback-level-0' => 'Txarra',
 589+ 'readerfeedback-level-1' => 'Baxua',
 590+ 'readerfeedback-level-2' => 'Bidezkoa',
 591+ 'readerfeedback-level-3' => 'Altua',
 592+ 'readerfeedback-level-4' => 'Bikaina',
565593 'readerfeedback-submit' => 'Bidali',
566594 'readerfeedback-finished' => 'Mila esker!',
 595+ 'readerfeedback-tier-high' => 'Altua',
 596+ 'readerfeedback-tier-poor' => 'Txarra',
567597 );
568598
569599 /** Persian (فارسی)
@@ -661,9 +691,14 @@
662692 'readerfeedback-main' => 'Seules les pages de contenu peuvent être évaluées.',
663693 'readerfeedback-success' => "'''Merci d'avoir relu cette page !''' ([$3 Des questions ou des commentaires ?])",
664694 'readerfeedback-voted' => "'''Il semble que vous ayez déjà évalué cette page'''. ([$3 Des questions ou des commentaires ?])",
 695+ 'readerfeedback-error' => "'''Une erreur est survenue lors de l'évaluation de cette page''' ([$3 remarques ou questions ?]).",
665696 'readerfeedback-submitting' => 'Soumission…',
666697 'readerfeedback-finished' => 'Merci !',
667698 'readerfeedback-tagfilter' => 'Balise:',
 699+ 'readerfeedback-tierfilter' => 'Évaluation :',
 700+ 'readerfeedback-tier-high' => 'Bonne',
 701+ 'readerfeedback-tier-medium' => 'Moyenne',
 702+ 'readerfeedback-tier-poor' => 'Mauvaise',
668703 'tooltip-ca-ratinghist' => 'Évaluations de cette page par les lecteurs',
669704 'specialpages-group-feedback' => 'Opinion du lecteur',
670705 );
@@ -716,11 +751,16 @@
717752 'readerfeedback-level-4' => 'Excelente',
718753 'readerfeedback-submit' => 'Enviar',
719754 'readerfeedback-main' => 'Só as páxinas con contido poden ser puntuadas.',
720 - 'readerfeedback-success' => "'''Grazas por revisar esta páxina!''' ([$3 Ten comentarios ou preguntas?]).",
721 - 'readerfeedback-voted' => "'''Parece que xa valorou esta páxina''' ([$3 Ten comentarios ou preguntas?]).",
 755+ 'readerfeedback-success' => "'''Grazas por revisar esta páxina!''' ([$3 ten comentarios ou preguntas?]).",
 756+ 'readerfeedback-voted' => "'''Parece que xa valorou esta páxina''' ([$3 ten comentarios ou preguntas?]).",
 757+ 'readerfeedback-error' => "'''Houbo un erro durante a valoración desta páxina''' ([$3 ten comentarios ou preguntas?]).",
722758 'readerfeedback-submitting' => 'Enviando...',
723759 'readerfeedback-finished' => 'Grazas!',
724760 'readerfeedback-tagfilter' => 'Etiqueta:',
 761+ 'readerfeedback-tierfilter' => 'Valoración:',
 762+ 'readerfeedback-tier-high' => 'Alta',
 763+ 'readerfeedback-tier-medium' => 'Media',
 764+ 'readerfeedback-tier-poor' => 'Baixa',
725765 'tooltip-ca-ratinghist' => 'Valoracións dos lectores desta páxina',
726766 'specialpages-group-feedback' => 'Opinión do lector',
727767 );
@@ -771,9 +811,14 @@
772812 [$3 Kommentar oder Froge?]",
773813 'readerfeedback-voted' => "'''Du hesch schyyns scho ne Bewärtig fir die Syte abgee.'''
774814 [$3 Kommentar oder Froge?]",
 815+ 'readerfeedback-error' => "'''E Fähler isch ufträtte bim Bewärte vu däre Syte''' ([$3 Aamerkige oder Froge?]).",
775816 'readerfeedback-submitting' => '… bitte warte …',
776817 'readerfeedback-finished' => 'Merci!',
777818 'readerfeedback-tagfilter' => 'Tag:',
 819+ 'readerfeedback-tierfilter' => 'Bewärtig:',
 820+ 'readerfeedback-tier-high' => 'Hoch',
 821+ 'readerfeedback-tier-medium' => 'Mittel',
 822+ 'readerfeedback-tier-poor' => 'Nider',
778823 'tooltip-ca-ratinghist' => 'Läserwärtige vu däre Syte',
779824 'specialpages-group-feedback' => 'Meinig vum Läser',
780825 );
@@ -836,9 +881,14 @@
837882 'readerfeedback-main' => 'Jenož nastawki hodźa so pohódnoćić.',
838883 'readerfeedback-success' => "'''Wulki dźak za hódnoćenje tuteje strony!''' ([$3 Komentary abo prašenja?]).",
839884 'readerfeedback-voted' => "'''Zda so, zo sy tutu stronu hižo pohódnoćił''' ([$3 Komentary abo prašenja?]).",
 885+ 'readerfeedback-error' => "'''Při pohódnočenju tuteje strony je zmylk wustupił''' ([$3 komentary abo prašenja?]).",
840886 'readerfeedback-submitting' => 'Sćele so...',
841887 'readerfeedback-finished' => 'Wutrobny dźak!',
842888 'readerfeedback-tagfilter' => 'Taflička:',
 889+ 'readerfeedback-tierfilter' => 'Pohódnoćenje:',
 890+ 'readerfeedback-tier-high' => 'Wysoki',
 891+ 'readerfeedback-tier-medium' => 'Srěni',
 892+ 'readerfeedback-tier-poor' => 'Špatny',
843893 'tooltip-ca-ratinghist' => 'Pohódnoćenja čitarjow tuteje strony',
844894 'specialpages-group-feedback' => 'Měnjenje wobhladowarja',
845895 );
@@ -993,9 +1043,14 @@
9941044 'readerfeedback-main' => '評価の対象となるのは記事のみです。',
9951045 'readerfeedback-success' => "'''評価にご協力いただきありがとうございます!'''([$3 ご意見・お問い合わせ])",
9961046 'readerfeedback-voted' => "'''このページは既に評価されているようです。'''([$3 ご意見・お問い合わせ])",
 1047+ 'readerfeedback-error' => "'''ページ評価中にエラーが発生しました。'''([$3 ご意見・お問い合わせ])",
9971048 'readerfeedback-submitting' => '送信中…',
9981049 'readerfeedback-finished' => 'ありがとうございます!',
9991050 'readerfeedback-tagfilter' => 'タグ:',
 1051+ 'readerfeedback-tierfilter' => '評価:',
 1052+ 'readerfeedback-tier-high' => '高い',
 1053+ 'readerfeedback-tier-medium' => '中',
 1054+ 'readerfeedback-tier-poor' => 'ひどい',
10001055 'tooltip-ca-ratinghist' => 'このページの読者による評価',
10011056 'specialpages-group-feedback' => '読者の意見',
10021057 );
@@ -1095,9 +1150,14 @@
10961151 'readerfeedback-main' => 'Nëmme Säite mat Inhalt kënne bewert ginn.',
10971152 'readerfeedback-success' => "'''Merci datt Dir dës Säit bewert hutt!''' ([$3 Bemierkungen oder Froen?]).",
10981153 'readerfeedback-voted' => "'''Et schéngt wéi wann Dir dës Säit scho bewert hutt''' ([$3 Bemierkungen oder Froen?]).",
 1154+ 'readerfeedback-error' => "'''Beim Bewäerte vun dëser Säit ass e Feeler geschitt''' ([$3 Bemierkungen a Froen?]).",
10991155 'readerfeedback-submitting' => 'Späicheren ...',
11001156 'readerfeedback-finished' => 'Merci!',
11011157 'readerfeedback-tagfilter' => 'Markéierung:',
 1158+ 'readerfeedback-tierfilter' => 'Bewäertung',
 1159+ 'readerfeedback-tier-high' => 'Héich',
 1160+ 'readerfeedback-tier-medium' => 'Duerchschnëttlech',
 1161+ 'readerfeedback-tier-poor' => 'Aarmséileg',
11021162 'tooltip-ca-ratinghist' => 'Lieserbewertunge vun dëser Säit',
11031163 'specialpages-group-feedback' => 'Meenung vun deem dee kuckt',
11041164 );
@@ -1205,9 +1265,14 @@
12061266 [$3 Opmerkingen of vragen?]",
12071267 'readerfeedback-voted' => "'''U hebt al een waardering voor deze pagina opgegeven.'''
12081268 [$3 Opmerkingen of vragen?]",
 1269+ 'readerfeedback-error' => "'''Er is een fout opgetreden bij het waarderen van deze pagina''' ([$3 opmerkingen of vragen?]).",
12091270 'readerfeedback-submitting' => 'Bezig met opslaan…',
12101271 'readerfeedback-finished' => 'Bedankt!',
12111272 'readerfeedback-tagfilter' => 'Label:',
 1273+ 'readerfeedback-tierfilter' => 'Waardering:',
 1274+ 'readerfeedback-tier-high' => 'Hoog',
 1275+ 'readerfeedback-tier-medium' => 'Gemiddeld',
 1276+ 'readerfeedback-tier-poor' => 'Laag',
12121277 'tooltip-ca-ratinghist' => 'Waardering van deze pagina door lezers',
12131278 'specialpages-group-feedback' => 'Mening van de lezer',
12141279 );
@@ -1295,6 +1360,7 @@
12961361 'readerfeedback-main' => 'Sol lo contengut de las paginas pòt èsser notat.',
12971362 'readerfeedback-success' => "'''Mercés per la revision d'aquesta pagina ! ''' ([$3 De questions o de comentaris ? ]).",
12981363 'readerfeedback-voted' => "'''Apareis que ja avètz notat aquesta pagina'''. ([$3 De questions o de comentaris ?]).",
 1364+ 'readerfeedback-error' => "'''Una error s'es producha al moment de l'evaluacion d'aquesta pagina''' ([$3 remarcas o questions ?]).",
12991365 'readerfeedback-submitting' => 'Somission…',
13001366 'readerfeedback-finished' => 'Mercés !',
13011367 'readerfeedback-tagfilter' => 'Balisa :',
@@ -1333,6 +1399,7 @@
13341400 'readerfeedback-main' => 'Tylko strony z treścią mogą być oceniane.',
13351401 'readerfeedback-success' => "'''Dziękujemy za ocenę tej strony!''' ([$3 Komentarze lub pytania?]).",
13361402 'readerfeedback-voted' => "'''Tę stronę prawdopodobnie już oceniałeś''' ([$3 Komentarze lub pytania?]).",
 1403+ 'readerfeedback-error' => "'''Podczas oceniania tej strony wystąpił błąd''' ([$3 komentarze lub pytania?]).",
13371404 'readerfeedback-submitting' => 'Zapisywanie...',
13381405 'readerfeedback-finished' => 'Dziękujemy!',
13391406 'readerfeedback-tagfilter' => 'Znacznik',
@@ -1369,6 +1436,16 @@
13701437 'tooltip-ca-ratinghist' => 'Opinião dos leitores sobre esta página',
13711438 );
13721439
 1440+/** Brazilian Portuguese (Português do Brasil)
 1441+ * @author Luckas Blade
 1442+ */
 1443+$messages['pt-br'] = array(
 1444+ 'readerfeedback' => 'O que você acha desta página?',
 1445+ 'readerfeedback-level-4' => 'Excelente',
 1446+ 'readerfeedback-submit' => 'Enviar',
 1447+ 'readerfeedback-finished' => 'Obrigado!',
 1448+);
 1449+
13731450 /** Romanian (Română)
13741451 * @author Emily
13751452 * @author Firilacroco
@@ -1457,9 +1534,14 @@
14581535 'readerfeedback-main' => 'Оценены могут быть только основные страницы проекта.',
14591536 'readerfeedback-success' => "'''Спасибо за оценку этой страницы!''' ([$3 Есть замечания или вопросы?]).",
14601537 'readerfeedback-voted' => "'''Похоже, вы уже оценивали эту страницу.''' ([$3 Есть замечания или вопросы?]).",
 1538+ 'readerfeedback-error' => "'''Ошибка обработки оценки страницы''' ([$3 вопросы? замечания?]).",
14611539 'readerfeedback-submitting' => 'Отправка…',
14621540 'readerfeedback-finished' => 'Спасибо!',
14631541 'readerfeedback-tagfilter' => 'Метка:',
 1542+ 'readerfeedback-tierfilter' => 'Оценка:',
 1543+ 'readerfeedback-tier-high' => 'Высокая',
 1544+ 'readerfeedback-tier-medium' => 'Средняя',
 1545+ 'readerfeedback-tier-poor' => 'Низкая',
14641546 'tooltip-ca-ratinghist' => 'Читательская оценка этой страницы',
14651547 'specialpages-group-feedback' => 'Мнение читателей',
14661548 );
@@ -1493,9 +1575,14 @@
14941576 'readerfeedback-main' => 'Je možné hodnotiť iba stránky s obsahom.',
14951577 'readerfeedback-success' => "'''Ďakujeme za kontrolu tejto stránky!''' Máte [$3 komentár alebo otázku?].",
14961578 'readerfeedback-voted' => "'''Zdá sa, že ste túto stránku už ohodnotili.''' Máte [$3 komentár alebo otázku?].",
 1579+ 'readerfeedback-error' => "'''Pri hodnotení tejto stránky sa vyskytla chyba''' ([$3 komentáre alebo otázky?]).",
14971580 'readerfeedback-submitting' => 'Odosiela sa...',
14981581 'readerfeedback-finished' => 'Ďakujeme!',
14991582 'readerfeedback-tagfilter' => 'Značka:',
 1583+ 'readerfeedback-tierfilter' => 'Hodnotenie:',
 1584+ 'readerfeedback-tier-high' => 'Vysoké',
 1585+ 'readerfeedback-tier-medium' => 'Stredné',
 1586+ 'readerfeedback-tier-poor' => 'Nízke',
15001587 'tooltip-ca-ratinghist' => 'Hodnotenie tejto stránky čitateľmi',
15011588 'specialpages-group-feedback' => 'Názor čitateľa',
15021589 );
@@ -1694,6 +1781,7 @@
16951782 * @author Игорь Бродский
16961783 */
16971784 $messages['vep'] = array(
 1785+ 'readerfeedback-desc' => "Lehtpolen vahvištoitand laskeb lugijoile avaita heiden mel'pidegid kategorižen arvostelendan formas",
16981786 'readerfeedback' => 'Mitä meletat nece lehtpolen polhe?',
16991787 'readerfeedback-text' => "''Olgat hüväd, arvostelgat nece lehtpol'. Teiden arvastelendad oma lujas kal'hed meile, ned abutadas paremboita sait.''",
17001788 'readerfeedback-reliability' => 'Todesižuz',
@@ -1713,7 +1801,9 @@
17141802 'readerfeedback-voted' => "'''Näguse, tö olet jo arvostelnuded necen lehtpolen.''' ([$3 Om-ik homaičendoid vai küzundoid?]).",
17151803 'readerfeedback-submitting' => 'Oigendamine...',
17161804 'readerfeedback-finished' => 'Kitäm!',
 1805+ 'readerfeedback-tagfilter' => 'Teg:',
17171806 'tooltip-ca-ratinghist' => 'Necen lehtpolen lugijoiden arvsanad',
 1807+ 'specialpages-group-feedback' => "Lugijan mel'pideg",
17181808 );
17191809
17201810 /** Vietnamese (Tiếng Việt)
Index: branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.sql
@@ -21,7 +21,7 @@
2222 CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/reader_feedback_history (
2323 -- Foreign key to page.page_id
2424 rfh_page_id integer unsigned NOT NULL,
25 - rfh_tag char(20) NOT NULL default '',
 25+ rfh_tag varchar(20) NOT NULL default '',
2626 rfh_total integer unsigned NOT NULL default 0,
2727 rfh_count integer unsigned NOT NULL default 0,
2828 -- MW date of the day this average corresponds to
@@ -33,7 +33,7 @@
3434 CREATE TABLE IF NOT EXISTS /*$wgDBprefix*/reader_feedback_pages (
3535 -- Foreign key to page.page_id
3636 rfp_page_id integer unsigned NOT NULL,
37 - rfp_tag char(20) NOT NULL default '',
 37+ rfp_tag varchar(20) NOT NULL default '',
3838 -- Value in last few days (14)
3939 rfp_ave_val real NOT NULL default 0,
4040 -- And said total (used as threshold)
Index: branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedback.php
@@ -23,10 +23,6 @@
2424 exit( 1 );
2525 }
2626
27 -# Number of recent reviews to be a decent sample size
28 -if( !defined('READER_FEEDBACK_SIZE') )
29 - define('READER_FEEDBACK_SIZE',15);
30 -
3127 $wgExtensionCredits['specialpage'][] = array(
3228 'path' => __FILE__,
3329 'name' => 'Reader Feedback',
@@ -56,8 +52,19 @@
5753 );
5854 # How many seconds back should the average rating for a page be based on?
5955 $wgFeedbackAge = 7 * 24 * 3600;
 56+# What number of page votes (for the average above) is considered significant?
 57+# (number of recent reviews to be a decent sample size)
 58+$wgFeedbackSizeThreshhold = 15;
6059 # How long before stats page is updated?
6160 $wgFeedbackStatsAge = 2 * 3600; // 2 hours
 61+# Limit people from spamming the system
 62+# (uses count => seconds tuples)
 63+$wgRateLimits['feedback'] = array(
 64+ 'newbie' => array( 5, 60 ), // for each recent (autoconfirmed) account; overrides 'user'
 65+ 'user' => null, // for each logged-in user
 66+ 'ip' => array( 5, 60 ), // for each anon and recent account
 67+ 'subnet' => null, // ... with final octet removed
 68+);
6269
6370 # URL location for readerfeedback.css and readerfeedback.js
6471 # Use a literal $wgScriptPath as a placeholder for the runtime value of $wgScriptPath
@@ -77,9 +84,9 @@
7885
7986 $wgAutoloadClasses['ReaderFeedback'] = $dir.'ReaderFeedback.class.php';
8087 $wgAutoloadClasses['ReaderFeedbackHooks'] = $dir.'ReaderFeedback.hooks.php';
81 -$wgExtensionMessagesFiles['ReaderFeedback'] = $langDir . 'ReaderFeedback.i18n.php';
8288
8389 # Load reader feedback UI
 90+$wgExtensionMessagesFiles['ReaderFeedback'] = $langDir . 'ReaderFeedback.i18n.php';
8491 $wgAutoloadClasses['ReaderFeedbackPage'] = $dir . 'specialpages/ReaderFeedback_body.php';
8592 $wgAutoloadClasses['ReaderFeedbackXML'] = $dir.'ReaderFeedbackXML.php';
8693
@@ -87,14 +94,10 @@
8895 $wgAutoloadClasses['RatingHistory'] = $dir . 'specialpages/RatingHistory_body.php';
8996 $wgExtensionMessagesFiles['RatingHistory'] = $langDir . 'RatingHistory.i18n.php';
9097
91 -# To list ill-recieved pages
92 -$wgAutoloadClasses['ProblemPages'] = $dir . 'specialpages/ProblemPages_body.php';
93 -$wgExtensionMessagesFiles['ProblemPages'] = $langDir . 'ProblemPages.i18n.php';
94 -$wgSpecialPageGroups['ProblemPages'] = 'feedback';
95 -# To list well-recieved pages
96 -$wgAutoloadClasses['LikedPages'] = $dir . 'specialpages/LikedPages_body.php';
97 -$wgExtensionMessagesFiles['LikedPages'] = $langDir . 'LikedPages.i18n.php';
98 -$wgSpecialPageGroups['LikedPages'] = 'feedback';
 98+# Page list by ratings
 99+$wgAutoloadClasses['RatedPages'] = $dir . 'specialpages/RatedPages_body.php';
 100+$wgExtensionMessagesFiles['RatedPages'] = $langDir . 'RatedPages.i18n.php';
 101+$wgSpecialPageGroups['RatedPages'] = 'feedback';
99102
100103 ######### Hook attachments #########
101104
@@ -125,8 +128,7 @@
126129 if( !empty($wgFeedbackNamespaces) ) {
127130 $list['ReaderFeedback'] = $wgSpecialPages['ReaderFeedback'] = 'ReaderFeedbackPage';
128131 $list['RatingHistory'] = $wgSpecialPages['RatingHistory'] = 'RatingHistory';
129 - $list['ProblemPages'] = $wgSpecialPages['ProblemPages'] = 'ProblemPages';
130 - $list['LikedPages'] = $wgSpecialPages['LikedPages'] = 'LikedPages';
 132+ $list['RatedPages'] = $wgSpecialPages['RatedPages'] = 'RatedPages';
131133 }
132134 return true;
133135 }
Index: branches/wmf-deployment/extensions/ReaderFeedback/ReaderFeedbackXML.php
@@ -2,8 +2,47 @@
33
44 class ReaderFeedbackXML {
55 /**
 6+ * Get a selector of rateable namespaces
 7+ * @param int $selected, namespace selected
 8+ * @param $all Mixed: Value of an item denoting all namespaces, or null to omit
 9+ * @returns string
 10+ */
 11+ public static function getNamespaceMenu( $selected=null, $all=null ) {
 12+ global $wgContLang, $wgFeedbackNamespaces;
 13+ $s = "<label for='namespace'>" . wfMsgHtml('namespace') . "</label>";
 14+ if( $selected !== '' ) {
 15+ if( is_null( $selected ) ) {
 16+ # No namespace selected; let exact match work without hitting Main
 17+ $selected = '';
 18+ } else {
 19+ # Let input be numeric strings without breaking the empty match.
 20+ $selected = intval($selected);
 21+ }
 22+ }
 23+ $s .= "\n<select id='namespace' name='namespace' class='namespaceselector'>\n";
 24+ $arr = $wgContLang->getFormattedNamespaces();
 25+ if( !is_null($all) ) {
 26+ $arr = array( $all => wfMsg( 'namespacesall' ) ) + $arr; // should be first
 27+ }
 28+ foreach( $arr as $index => $name ) {
 29+ # Content pages only (except 'all')
 30+ if( $index !== $all && !in_array($index, $wgFeedbackNamespaces) ) {
 31+ continue;
 32+ }
 33+ $name = $index !== 0 ? $name : wfMsg('blanknamespace');
 34+ if( $index === $selected ) {
 35+ $s .= "\t" . Xml::element("option", array("value" => $index, "selected" => "selected"), $name) . "\n";
 36+ } else {
 37+ $s .= "\t" . Xml::element("option", array("value" => $index), $name) . "\n";
 38+ }
 39+ }
 40+ $s .= "</select>\n";
 41+ return $s;
 42+ }
 43+ /**
644 * Get tag dropdown select
745 * @param int $selected, selected level
 46+ * @returns string
847 */
948 public static function getTagMenu( $selected = '' ) {
1049 wfLoadExtensionMessages( 'ReaderFeedback' );
@@ -16,4 +55,19 @@
1756 return $s;
1857 }
1958
 59+ /**
 60+ * Get rating tier dropdown select
 61+ * @param int $selected, selected tier
 62+ * @returns string
 63+ */
 64+ public static function getRatingTierMenu( $selected = '' ) {
 65+ wfLoadExtensionMessages( 'ReaderFeedback' );
 66+ $s = "<label for='wpRatingTier'>" . wfMsgHtml('readerfeedback-tierfilter') . "</label>&nbsp;";
 67+ $s .= Xml::openElement( 'select', array('name' => 'ratingtier', 'id' => 'wpRatingTier') );
 68+ $s .= Xml::option( wfMsg( "readerfeedback-tier-high" ), 3, $selected===3);
 69+ $s .= Xml::option( wfMsg( "readerfeedback-tier-medium" ), 2, $selected===2 );
 70+ $s .= Xml::option( wfMsg( "readerfeedback-tier-poor" ), 1, $selected===1 );
 71+ $s .= Xml::closeElement('select')."\n";
 72+ return $s;
 73+ }
2074 }

Status & tagging log